- Fix unbalanced parens in org-skill-policy.org (8 blocks)
- Add org-skill-engineering-standards.lisp scaffolding
- Add org-skill-self-fix.lisp helper
- Add test runners and tool-permissions tests
Note: Some fixes may be over-corrections. Full structural audit needed.
- New skill hooks into :syntax-error and :repair-request events
- Deterministic paren balancing (fast fix)
- Surgical file edits with memory rollback on failure
- :self-edit and :balance-parens cognitive tools
- 9 new tests, all 93 tests passing
- Add command history with ↑↓ arrow navigation
- Add multi-line input support (Shift+Enter)
- Add UI chrome: borders, help bar, status bar
- Add slash commands: /help, /exit, /clear
- Style messages with emoji prefixes (🤔💬🔧✅)
- Format incoming messages with format-incoming function
- Fix input rendering with conditional bold attributes
BREAKING: Removed :serial t from ASDF to avoid position tracking bug.
Skills now load after other modules. Tools added with eval-when wrapper.
New cognitive tools: reload-skill, read-file, write-file, replace-string
- Add save-memory-to-disk and load-memory-from-disk to memory.lisp
- Integrate auto-save into heartbeat (every N intervals)
- Load memory on daemon startup, save on graceful shutdown/SIGINT
- Add exports to package.lisp
NOTE: Hash table serialization requires object walker for complex structures.
Current implementation fails on load due to unreadable objects.
- Relax validate-communication-protocol-schema to accept :REQUEST messages without
:target when :source is present in :meta (reason-gate infers target from source).
- This preserves 'equality of clients' — gateways don't duplicate routing logic.
- Add communication-validator to ASD components.
- Fixes TCP CLI gateway integration: clients can now connect and receive responses.
- Verified with test client: 13/13 skills load, Perceive gate processes messages.
- load-skill-from-org now only collects #+begin_src lisp blocks that have a
:tangle directive pointing to a runtime .lisp file, excluding tests/ paths.
- validate-lisp-syntax falls back to a basic reader check when
lisp-validator-validate is not yet fboundp, breaking the circular dependency
between the harness loader and the validator skill.
- Verified full boot: 13/13 skills load successfully, including the new
skill-lisp-validator (priority 900) and skill-policy (priority 500).