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.
Added a guard to skip file copying if SCRIPT_DIR and INSTALL_DIR are identical,
preventing the 'same file' error when running in local development mode.
- 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.
- Moved vector search out of v0.2.0 (blocking the TUI release).
- Re-architected as 'Asynchronous Embedding Gateway' in v0.3.0.
- Supports Ollama, llama.cpp, and OpenAI based on .env configuration.
- Operates via a background worker thread to prevent Merkle GC churn during active text editing.
- Embedded run-all-tests.lisp into harness/package.org.
- Deleted the tests/ directory and orphaned Python test scripts, as all other test files are correctly tangled from their parent org files.
- 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.
Flatten refactor: library/ -> harness/ and library/gen/ -> skills/
opencortex.asd updated with new paths. README.org rewritten with
simplified pitch.
Critical fixes in harness/skills.org (source of truth):
- COSINE-SIMILARITY: Fixed let* binding list paren mismatch
- parse-skill-metadata: Fixed ID extraction block closes
- load-skill-from-org: Fixed handler-case and nested let closes
- def-cognitive-tool :replace-string: Removed extra closing paren
- boot-sequence-tests: Fixed let/unwind-protect nesting
Note: .lisp files are generated from .org via org-babel-tangle at
install time; fixes must always be made in .org and retangled.
Skills derived from opencortex-contrib imported via earlier commits.
- 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.
- Restore balanced org-skill-engineering-standards.lisp from 86eeaab (was broken in HEAD)
- Remove broken org-skill-literate-programming.lisp from asd (paren imbalance since introduction)
- Update run-all-tests.lisp to load files manually (works around ASDF loading issues)
- Test suite now runs: 9/10 pass (1 expected failure due to dirty git tree)
The LP skill gen file has had a paren imbalance since commit 31acf34 - it was never properly tested.
- Fix bt:make-lock -> bordeaux-threads:make-lock in package.org
- Add org-skill-literate-programming gen file to main components
- Add literate-programming-tests to test components
- Add test-op entries for both new suites
- Add run! calls in run-all-tests.lisp
Test suite has pre-existing ASDF loading issue in this environment.
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
- Add test suites inline in harness/communication.org
- Add test suites inline in harness/perceive.org, reason.org, act.org
- Add test suites inline in harness/skills.org, memory.org, loop.org
- Tests now live alongside code, not in separate .lisp files
- Each test block has prose explaining its purpose
Test results: 84/84 pass (100%)