- 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.)
- 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.
- 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%)
- 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
- loop.org: Explain metabolic pipeline, error recovery, heartbeat
- reason.org: Document dual-engine architecture (probabilistic + deterministic)
- act.org: Detail actuation, actuator pattern, feedback loop
- perceive.org: Explain signal normalization, async vs sync processing
- manifest.org: Add ASDF system design, boundary contract
Each function now has its own code block with detailed docstrings explaining:
- What the function does
- Why it was designed that way
- How it fits into the larger system
- Parameter descriptions
- Return values
- 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).