All notable changes to the PanLL eNSAID project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
Critical Build Issues — Resolved 37 compilation errors and warnings during panic attack:
- Fixed
http_clientimport syntax inservice_registry.rs - Fixed improper
Result<App, Error>handling inmain.rs - Fixed PathBuf Display trait issues in
llm_coding/commands.rs - Fixed type mismatches in
llm_coding/types.rs - Commented out unused modules (
groove,settings,llm_codingcommands) - Fixed result type mismatches in command handlers
- Fixed
-
Type System Fixes — Resolved structural mismatches:
- Fixed
ResourceStatsvsResourceUsagetype confusion - Fixed field name mismatches in
LlmSessionandSpawnRequest - Fixed
sent_attimestamp type (u64 vs String) - Fixed
subagent_counttype conversion (usize to u32)
- Fixed
-
Filesystem Handling — Fixed path conversion issues:
- Replaced
PathBuf.to_string()with safeto_str().unwrap_or("") - Fixed
DirEntrypath extraction - Added proper error handling for filesystem operations
- Replaced
-
Error Handling — Improved robustness:
- Added proper Result unwrapping patterns
- Fixed command handler return types
- Added bounds checking and fallbacks
-
Hypatia Scanner Rules — Added 8 new detection rules for automated code quality:
panll-001: Unresolved http_client importspanll-002: Commented out modulespanll-003: Improper Gossamer App handlingpanll-004: PathBuf Display trait misusepanll-005: Command result type mismatchespanll-006: Unused documentation commentspanll-007: Hardcoded service URLspanll-008: Improper error handling
-
Technical Debt Registry — Comprehensive documentation of:
- 2 critical issues blocking release
- 4 high priority issues
- 19 medium/low priority issues
- Complete remediation plan and timeline
- Progress tracking (32% complete)
-
GitBot Fleet Configuration — Automated remediation setup:
- Auto-remediation for 3 rule patterns
- Ticket creation for 5 rule patterns
- Team notifications (backend, devops, qa)
- Integration with existing CI/CD pipeline
- TECHNICAL_DEBT.md — Complete registry of all known issues
- Hypatia Rules —
.github/hypatia-rules/panll-v0.2.0-fixes.yml - Updated CHANGELOG.md — This entry
- Inline Documentation — Fixed and updated doc comments throughout
- Wizard System — Complete guided creation workflow for plugins and panels with 5-step process:
- Select Type (Panel/Plugin)
- Choose Capabilities (with real-time validation)
- Configure Dependencies (version management)
- Setup Security (trust tiers, permissions)
- Review & Generate (validation + minter integration)
- Template System — 4 predefined templates for common use cases:
- Basic Panel (ui-rendering, state-management)
- Groove Integration Panel (groove-hard, contractile)
- Data Visualization Plugin (charting, ui-rendering)
- Governance Plugin (contractile, provisioner)
- Real-Time Validation — Immediate feedback system with:
- Capability conflict detection (groove-hard vs groove-soft)
- Dependency validation (duplicates, empty fields)
- Security policy enforcement (trust tier permissions)
- Template validation (required fields, structure)
- Minter Integration — Command-based generation system:
WizardCmd.generate()— Backend generation endpointWizardCmd.validateConfig()— Pre-generation validation- Full error handling and result management
- Testing Suite — Comprehensive test coverage:
- 4 unit tests (template application, validation rules)
- 2 integration tests (complete workflow, error handling)
- 2 performance benchmarks (template: 0.42ms, validation: 0.18ms)
- 1 accessibility test (WCAG 2.3 compliance)
- 100% pass rate, automated reporting
- Documentation — Complete standards documentation:
docs/standards/wizard/WIZARD-STANDARDS.adoc— Architecture, validation, templates- Performance benchmarks and compliance requirements
- Integration guides and future roadmap
- dogfood-test.sh — Verifies local backends (Farm, Provenance, Watcher) return real data for CRG promotion
- CRG-DOGFOOD-CHECKLIST.md — Updated: Git blame and Filesystem backends marked as code-verified
- RuntimeBridge.invoke browser-mode crash —
JsError.throwWithMessagethrew synchronously instead of returning a rejected Promise, killing the TEA dispatch loop on the first backend call in browser mode. Fixed to usePromise.reject(new Error(...)). Same fix applied toDialog.openDialogand Fs methods. - TEA dispatch loop freeze — Added try/catch around
processMessage,render, andsubscriptionsinTea_App.resso one thrown exception no longer permanently freezes all event handling. - ReScript build errors —
openreserved keyword inRuntimeBridge.Dialogrenamed toopenDialog(propagated toGossamerCmd.res,RepoLoaderCmd.res);String.indexOfreturn type mismatch inRuntimeResolver.res; duplicatedetectRuntimesymbol renamed tocurrentRuntime. - Missing panel view cases — Added 13 placeholder view cases in
View.resfor GSA, Burble, and IDApTIK panels registered in the Clade system.
window.__panlldebug API —getModel(),dispatch(msg),snapshot()for live browser-console diagnostics.- Diagnostic bar (
public/index.html) — Live message counter, crash display, click-to-copy snapshot, red Hard Refresh button, cache-busting import. - Back button repositioned — Moved from top-left (obscuring panel headers) to top-right as a labelled "← Back" pill.
- Event chain textarea — Improved placeholder with JSON format example.
- Gossamer-only RuntimeBridge — Removed all Tauri runtime references (
isTauriRuntime,tauriInvoke,@tauri-appsimports) fromRuntimeBridge.res. - 270 commands migrated — All Tauri invoke commands rewritten for Gossamer IPC in
src-gossamer/. src-tauri/deleted — Replaced bysrc-gossamer/with migrated Rust backend.
- SVG className crash —
Tea_Render.reswas settingel.classNameon SVG elements which throws becauseSVGAnimatedStringis read-only. Now usessetAttribute("class", ...)for SVG elements. This was causing the grey screen on startup.
- Enriched neural token model — tokens now carry full provenance metadata:
source: 7 subsystem types (NeuralInference, EchidnaProver, TypeLLKernel, VeriSimInference, AntiCrashGate, OperatorInput, OrbitalSync)category: 8 semantic types (Observation, Hypothesis, Deduction, Abduction, ProofStep, Violation, Correction, Synthesis)emittedDuring: OODA phase tracking (Observe/Orient/Decide/Act)causedBy: causal chain links forming an inference DAGproofHash: optional proof certificate hash
- OODA phase timeline — horizontal coloured bar showing phase distribution across tokens
- Source distribution bar — colour-coded breakdown of subsystem contributions
- Causal inference graph — compact DAG display showing how tokens are causally linked
- Interactive token filtering — clickable chips for source/category/phase, confidence threshold slider, validated-only and proof-only toggles, clear button, filtered count indicator
- Menu bar actions wired — import chain/panic report, reset panels, preferences, ECHIDNA/provenance panel routing
- New modules — Accessibility, Help, MenuBar, ScriptGist, Tiling, FocusDimming, WindowBridge
- BoJ primary gateway routing — 4 panels now route through BoJ cartridges via
bojRoutingtoggle- Editor Bridge LSP →
lsp-mcp: ConnectLsp, RefreshDiagnostics, RefreshSymbols - VeriSimDB →
database-mcp: CheckHealth, SubmitQuery, ListEntities, SelectEntity, FetchTelemetry, FetchOrchStatus - VM Inspector DAP →
dap-mcp: StepForward, StepBackward, RunVm - Build Dashboard BSP →
bsp-mcp: TriggerBuild, RefreshBuildStatus, RunTests
- Editor Bridge LSP →
- BoJ JSON deserialisers —
parseCartridges,parseTopology,parseUmojaStatusin BojEngine.res- CartridgesResult, TopologyResult, UmojaResult handlers now parse real data (were TODO stubs)
- FeedbackOTron BoJ context snapshot — renders connection status, cartridge counts, last invoke, Umoja status
- ToggleDryRun — proper Live↔DryRun toggle in workspace (was one-way only)
- Panel Bus pub/sub — 10 event topics, event envelopes, subscriber registry (11 defaults), 100-event ring buffer
- Clade Tier 1-4 system — protocols, capabilities, dependencies, isolation, signing, SBOM, sandbox policies
- Coprocessor control plane — Phase 1 orchestration of external compute engines
- Rust backend:
query_compute_engine,discover_compute_devicesTauri commands - Device discovery for Axiom.jl (HTTP), BoJ cartridges, and local CPU/WASM
- Dashboard UI: discovered devices grid, compute result display, engine query
- Model:
computeEngine,computeDevice,computeQueryResulttypes - Engine:
parseComputeResult,parseDevices,engineLabelhelpers
- Rust backend:
- Clade permission system UI — interactive cross-clade reference control
- Messages:
SetCladePermission,RemoveCladePermission - Panel Map tab: permission badges (open/restricted/locked) with click-to-toggle
- Update handler: uses
CladeBrowserEngine.setPermission/removePermission
- Messages:
- Protocol-Squisher comparison parsing —
parseComparisonfunction for schema compatibility JSONComparisonResult(Ok(json))handler now parses intoschemaCompatibilityResult
- Clade metadata extensions (Tier 1.1-1.4)
- 13 wire protocols: LSP, DAP, BSP, MCP, REST, gRPC, GraphQL, WebSocket, SSE, TauriIPC, UnixSocket, DBus, Stdio
- 14 typed capabilities: Filesystem, Network, Clipboard, ProcessSpawn, Shell, Containerised, Streaming, ProofProduction/Consumption, TypeChecking, SecurityScan, SecretManagement, Visualisation, SessionRecording
- Dependency graph:
cladeDependencywith hard/soft requirements - Fault isolation levels: None, Soft, Process, Container
- TypeLL cross-panel wiring — 8 integration points all live
- VeriSimDB: VCL type checking on query submit
- Protocol-Squisher: schema type checking on analysis
- My-Lang: dialect-aware type checking on compile
- Anti-Crash: type-level token validation with constraint expressions
- Pane-L: constraint type inference on editor changes
- BoJ: cartridge ABI type checking on invoke
- ECHIDNA: proof obligation generation on proof submit
- My-Lang LSP Rust backend —
mylang_lsp_connectandmylang_lsp_diagnosticsTauri commands - Test coverage: 979 Deno + 28 Rust tests across 41 suites (was 406 across 27)
- New engine suites: TypeLL, Protocol-Squisher, My-Lang, BoJ, Coprocessors, Valence Shell, Game Preview, VM Inspector, Network Topology, Level Architect, Tentacles, CloudGuard, Plaza, Minter, Aerie, AI
- Rust test gate in CI —
cargo testadded to build-validation.yml - .well-known/security.txt — RFC 9116 security contact
- Tauri Backend Implementation: All 3 backend commands now fully implemented
validate_inference: Real constraint parsing with forbidden patterns and type checkingget_vexation_index: Decay-based vexation tracking with 2-minute sliding windowsubmit_feedback: JSON file persistence with timestamps
- OrbitalSync Module: Full synchronization implementation wired into update loop
- Divergence calculation between Pane-L and Pane-N content
- Stability tracking with latency penalty computation
- Drift aura color indication (indigo/violet/amber)
- Contractiles Module: Adaptive contract evaluation wired into update loop
- Contract enforcement levels (Strict/Warn/Adaptive)
- Orbital stability and vexation ceiling contracts
- Contract adaptation based on system state
- AntiCrash Validation: Real constraint validation logic
- Type constraint checking with reserved keyword detection
- Logic constraint validation with contradiction detection
- Security constraint checking for suspicious patterns
- ARIA Accessibility: Complete accessibility attribute support
- 5 new ARIA functions in Tea_Vdom (ariaLabel, ariaLive, ariaExpanded, ariaHidden, role)
- 12 ARIA attributes across 5 components (PaneL, PaneN, PaneW, Vexometer, FeedbackOTron)
- VDOM Diffing: Efficient virtual DOM diffing implementation
diff()function for comparing old and new VDOMspatch()andapplyPatch()for minimal DOM updatespreviousVdomtracking in renderState
- Test Coverage: 33+ new tests across 6 test suites
- OrbitalSync: 7 tests (hash, divergence, stability, aura color)
- Contractiles: 5 tests (defaults, contract evaluation)
- Update: 11 tests (pane updates, vexometer, view, autosave)
- EventChain: +5 edge case tests (empty, invalid, coercion)
- Storage: +5 round-trip tests (persistence, clear/load)
- AntiCrash: 6 validation tests
- ReScript Configuration: Changed module format from
es6toes6-globalfor Tauri compatibility - Documentation: Updated completion percentage from 95% to honest 80%
- README.adoc: Updated badges (80% complete, 36+ passing tests)
- ROADMAP.adoc: Updated status and marked features complete
- STATE.scm: Updated focus, summary, and session history
- Build Performance: ReScript compilation now completes in 109ms
- Model Types: Moved syncState and contractile types to Model.res to break circular dependencies
- Duplicate subscription files (src/Subscriptions.res, src/subscriptions/Keyboard.res)
- Circular dependency between OrbitalSync/Contractiles and Model modules
- Type inference issues with record literals (added explicit type annotations)
- Array API usage (replaced non-existent
Array.makeBywithArray.fromInitializer) - Unused variable warnings (prefixed with
_) - ReScript compilation errors
0.1.0 - 2026-02-09
- Custom TEA (The Elm Architecture) implementation
- Three-pane parallel layout (Pane-L, Pane-N, Pane-W)
- Tauri 2.0 backend with command bindings
- Event-chain import from panic-attack
- Anti-Crash token gating
- Vexometer component
- Feedback-O-Tron component
- 33 passing tests with Deno
- RSR compliance (AI manifest, SCM files)
- Migrated from npm to Deno for test execution
- Deferred official rescript-tea migration to v0.2.0
0.0.1 - 2026-02-07
- Initial project setup
- Basic ReScript configuration
- Tauri project scaffolding
- .machine_readable/ directory with 6 SCM files
- STATE.scm, META.scm, ECOSYSTEM.scm
- AGENTIC.scm, NEUROSYM.scm, PLAYBOOK.scm
- AI manifest (0-AI-MANIFEST.a2ml)
- Documentation structure