|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to the PanLL eNSAID project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +### Added (2026-02-12) |
| 11 | +- **Tauri Backend Implementation**: All 3 backend commands now fully implemented |
| 12 | + - `validate_inference`: Real constraint parsing with forbidden patterns and type checking |
| 13 | + - `get_vexation_index`: Decay-based vexation tracking with 2-minute sliding window |
| 14 | + - `submit_feedback`: JSON file persistence with timestamps |
| 15 | +- **OrbitalSync Module**: Full synchronization implementation wired into update loop |
| 16 | + - Divergence calculation between Pane-L and Pane-N content |
| 17 | + - Stability tracking with latency penalty computation |
| 18 | + - Drift aura color indication (indigo/violet/amber) |
| 19 | +- **Contractiles Module**: Adaptive contract evaluation wired into update loop |
| 20 | + - Contract enforcement levels (Strict/Warn/Adaptive) |
| 21 | + - Orbital stability and vexation ceiling contracts |
| 22 | + - Contract adaptation based on system state |
| 23 | +- **AntiCrash Validation**: Real constraint validation logic |
| 24 | + - Type constraint checking with reserved keyword detection |
| 25 | + - Logic constraint validation with contradiction detection |
| 26 | + - Security constraint checking for suspicious patterns |
| 27 | +- **ARIA Accessibility**: Complete accessibility attribute support |
| 28 | + - 5 new ARIA functions in Tea_Vdom (ariaLabel, ariaLive, ariaExpanded, ariaHidden, role) |
| 29 | + - 12 ARIA attributes across 5 components (PaneL, PaneN, PaneW, Vexometer, FeedbackOTron) |
| 30 | +- **VDOM Diffing**: Efficient virtual DOM diffing implementation |
| 31 | + - `diff()` function for comparing old and new VDOMs |
| 32 | + - `patch()` and `applyPatch()` for minimal DOM updates |
| 33 | + - `previousVdom` tracking in renderState |
| 34 | +- **Test Coverage**: 33+ new tests across 6 test suites |
| 35 | + - OrbitalSync: 7 tests (hash, divergence, stability, aura color) |
| 36 | + - Contractiles: 5 tests (defaults, contract evaluation) |
| 37 | + - Update: 11 tests (pane updates, vexometer, view, autosave) |
| 38 | + - EventChain: +5 edge case tests (empty, invalid, coercion) |
| 39 | + - Storage: +5 round-trip tests (persistence, clear/load) |
| 40 | + - AntiCrash: 6 validation tests |
| 41 | + |
| 42 | +### Changed (2026-02-12) |
| 43 | +- **ReScript Configuration**: Changed module format from `es6` to `es6-global` for Tauri compatibility |
| 44 | +- **Documentation**: Updated completion percentage from 95% to honest 80% |
| 45 | + - README.adoc: Updated badges (80% complete, 36+ passing tests) |
| 46 | + - ROADMAP.adoc: Updated status and marked features complete |
| 47 | + - STATE.scm: Updated focus, summary, and session history |
| 48 | +- **Build Performance**: ReScript compilation now completes in 109ms |
| 49 | +- **Model Types**: Moved syncState and contractile types to Model.res to break circular dependencies |
| 50 | + |
| 51 | +### Removed (2026-02-12) |
| 52 | +- Duplicate subscription files (src/Subscriptions.res, src/subscriptions/Keyboard.res) |
| 53 | + |
| 54 | +### Fixed (2026-02-12) |
| 55 | +- Circular dependency between OrbitalSync/Contractiles and Model modules |
| 56 | +- Type inference issues with record literals (added explicit type annotations) |
| 57 | +- Array API usage (replaced non-existent `Array.makeBy` with `Array.fromInitializer`) |
| 58 | +- Unused variable warnings (prefixed with `_`) |
| 59 | +- ReScript compilation errors |
| 60 | + |
| 61 | +## [0.1.0] - 2026-02-09 |
| 62 | + |
| 63 | +### Added |
| 64 | +- Custom TEA (The Elm Architecture) implementation |
| 65 | +- Three-pane parallel layout (Pane-L, Pane-N, Pane-W) |
| 66 | +- Tauri 2.0 backend with command bindings |
| 67 | +- Event-chain import from panic-attack |
| 68 | +- Anti-Crash token gating |
| 69 | +- Vexometer component |
| 70 | +- Feedback-O-Tron component |
| 71 | +- 33 passing tests with Deno |
| 72 | +- RSR compliance (AI manifest, SCM files) |
| 73 | + |
| 74 | +### Changed |
| 75 | +- Migrated from npm to Deno for test execution |
| 76 | +- Deferred official rescript-tea migration to v0.2.0 |
| 77 | + |
| 78 | +## [0.0.1] - 2026-02-07 |
| 79 | + |
| 80 | +### Added |
| 81 | +- Initial project setup |
| 82 | +- Basic ReScript configuration |
| 83 | +- Tauri project scaffolding |
| 84 | +- .machine_readable/ directory with 6 SCM files |
| 85 | + - STATE.scm, META.scm, ECOSYSTEM.scm |
| 86 | + - AGENTIC.scm, NEUROSYM.scm, PLAYBOOK.scm |
| 87 | +- AI manifest (0-AI-MANIFEST.a2ml) |
| 88 | +- Documentation structure |
| 89 | + |
| 90 | +[Unreleased]: https://github.com/hyperpolymath/panll/compare/v0.1.0...HEAD |
| 91 | +[0.1.0]: https://github.com/hyperpolymath/panll/compare/v0.0.1...v0.1.0 |
| 92 | +[0.0.1]: https://github.com/hyperpolymath/panll/releases/tag/v0.0.1 |
0 commit comments