refactor: Migrate tests into literate Org files per LP standard
Some checks failed
Deploy-Agent-V15-Stdin / JOB-V15-STDIN (push) Failing after 3s

- 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%)
This commit is contained in:
2026-04-25 19:01:48 -04:00
parent 2cac7a730e
commit 97168ae512
8 changed files with 345 additions and 15 deletions

View File

@@ -219,4 +219,35 @@ Other sensors (heartbeats, interrupts) are processed synchronously to maintain o
| :point-update | Emacs | Sync | Cursor moved to different headline |
| :interrupt | System | Sync | SIGINT received |
| :tool-output | Internal | Sync | Result from cognitive tool |
| :loop-error | Internal | Sync | Error during signal processing |
| :loop-error | Internal | Sync | Error during signal processing |
* Test Suite
These tests verify the Perceive pipeline. Run with:
~(fiveam:run! 'pipeline-perceive-suite)~
#+begin_src lisp :tangle ../tests/pipeline-perceive-tests.lisp
(defpackage :opencortex-pipeline-perceive-tests
(:use :cl :fiveam :opencortex)
(:export #:pipeline-perceive-suite))
(in-package :opencortex-pipeline-perceive-tests)
(def-suite pipeline-perceive-suite
:description "Test suite for Perceive pipeline")
(in-suite pipeline-perceive-suite)
(test test-perceive-gate
"Perceive gate should update the object store and normalize signal."
(clrhash opencortex::*memory*)
(let* ((signal (list :type :EVENT :payload (list :sensor :buffer-update :ast (list :type :HEADLINE :properties (list :ID "test-node" :TITLE "Test") :contents nil))))
(result (perceive-gate signal)))
(is (eq :perceived (getf result :status)))
(is (not (null (gethash "test-node" opencortex::*memory*))))))
(test test-depth-limiting
"Verify that the pipeline terminates runaway feedback loops."
(let ((runaway-signal (list :type :EVENT :depth 11 :payload (list :sensor :heartbeat))))
(is (null (process-signal runaway-signal)))))
#+end_src