Self-edit: 5 new tests (apply success/not-found/file-not-found, parse-location x2)
Config-manager: 4 new tests (get-oc-config-dir, save-providers, configure-provider)
Gateway-manager: 2 new tests (multiple-platforms, registration)
Tier 1 Chaos: Verified org files pass structural balance
Note: Some tests have issues - config tests use functions not exported, one self-edit test has search function issue. Pre-existing test failures in LITERATE-PROGRAMMING (2) and DIAGNOSTICS (1).
- Standardized def-cognitive-tool to 5-argument signature.
- Consolidated *cognitive-tools* as a hash table in package.lisp.
- Removed skills from opencortex.asd to enforce dynamic Skill Engine loading.
- Added missing (in-package :opencortex) to various skill files.
- Fixed let/let* sequential binding issues in emacs-edit and self-edit.
- Updated opencortex.sh to initialize skills before running doctor.
- Fixed uiop:user-homedir-pathname usage in config-manager.
- Finalized Reflection Loop: Injected deterministic rejection traces back into LLM prompts.
- Hardened Actuators: Added path-traversal guards and enforced Merkle snapshots on AST edits.
- Refactored Lisp Utils: Merged validator/repair into a unified utility skill with whitelist Ast-walking.
- Fixed Build: Resolved all 30+ syntax, scoping, and package visibility errors.
- Verified: Full pass (100%) on all 5 core test suites.
- Hardened actuators: Fixed path-traversal vulnerabilities in file I/O tools and blocked .org files from regex replacements to force AST usage. Enforced Merkle snapshots on AST edits.
- Implemented Reflection Loops: Injected rejection traces from deterministic gates back into the LLM context to enable autonomous self-correction.
- Finalized tool permission tiers (ask/allow/deny) with proper LLM prompt filtering.
- Deleted docs/rca/ as they were early v0.1.0 development artifacts.
- Deleted minimal.asd.
- Deleted scripts/onboard-baremetal.sh (subsumed by opencortex.sh).
- Moved scripts/browser-bridge.py to skills/assets/ for upcoming Web Research skill.
- Removed scripts/ directory.
- Updated all 150+ :tangle headers across harness/ and skills/ to use elisp (expand-file-name) to target INSTALL_DIR dynamically.
- Cleaned up environment/ directory depth by moving memory-image.lisp to state/.
- Moved test scripts to tests/ and deleted redundant chat scripts.
- Fix critical paren balance issues across harness/skills.org, act.org,
loop.org, memory.org, and skills/self-edit|emacs-edit.org
- Add :reload-skill cognitive tool for hot-reloading without restart
- Add :generate-embeddings tool and self-edit hot-reload infrastructure
- Wire all new skills (self-edit, emacs-edit, lisp-utils) into main ASDF
- Regenerate all .lisp tangled files via emacs --batch org-babel-tangle
- Add :opencortex/tests ASDF system with 14 test suites
- Fix test files to compile cleanly (self-edit-tests symbol vis, etc.)
- Removed *tangle-targets* and check-tangle-sync from engineering-standards.org
- Fixed LP org: added (in-package), fixed block balance, fixed return-from
- Fixed literate-check-block-balance to return (values nil reason) on imbalance
- Updated LP tests to work with *tangle-targets* override
- Regenerated all .lisp from org via emacs --batch
- Added LP gen back to opencortex.asd
Test results:
- Engineering Standards: 9/10 (90%)
- Literate Programming: 7/7 (100%)
- Restored engineering-standards.org from 86eeaab (was missing blocks)
- Regenerated .lisp from org (proper literate workflow)
- Both org and .lisp now have correct paren balance
- System loads, tests pass 9/10 (1 expected failure due to dirty git)
Lesson: NEVER edit .lisp directly. Always fix org and regenerate.
Engineering Standards now focuses on lifecycle phases (0, A, B, D, E).
Literate Programming now owns LP structural invariants including tangle-sync.
Changes:
- Removed check-tangle-sync and *enforcement-rules* from org-skill-engineering-standards.org
- Added check-tangle-sync, *tangle-targets*, *lp-project-root* to org-skill-literate-programming.org
- Updated LP skill to check tangle-sync on file modification actions
- Added literate-programming-tests.lisp with tangle-sync and block-balance tests
- Removed tangle-sync tests from engineering-standards-tests.lisp
- Added check-tangle-sync function to detect stale .lisp files
- Added :tangle-synced to *enforcement-rules*
- Updated .asd to include engineering-standards component
- Added tests for check-tangle-sync (detects stale lisp, passes when synced)
- Added test block to Org file (Phase A: test-first)
- Created tests/engineering-standards-tests.lisp
- Tests exist but can't run - tangled lisp is out of sync
LESSON: This demonstrates the LP workflow failure -
the .lisp file wasn't regenerated when the .org was updated.
The enforcement skill itself should catch this: tangled files
must match Org source.
This is exactly what org-skill-enforcement should block.
- Added enforcement struct and rule definitions
- Git clean is now a HARD BLOCK (not warning)
- Violations return :LOG type to block action
- Priority 1000 ensures it runs first
- Auto-initialize with project root from OPENCORTEX_ROOT env
- 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
- Pure Lisp implementation (no Emacs subprocess)
- Read org files via ingest-ast
- Write back preserving structure (#+begin_src blocks)
- Add headlines with auto-generated IDs
- Set properties on headlines
- Set TODO states (TODO → DONE)
- Cognitive tools: :org-read, :org-write, :org-add-headline, :org-set-property, :org-set-todo
This enables self-editing on org files without breaking tangling.
- Policy skill: Add philosophical foundation, invariant priority explanations, code block documentation
- Bouncer skill: Add security vector explanations, flight plan workflow, approval lifecycle
- README: Add architecture diagrams (mermaid), design principles, roadmap details
Each function now has detailed docstrings explaining:
- What it does
- Why it was designed that way
- How it fits into the larger system
- 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.