3.7 KiB
Manifest (org-agent.asd)
Manifest (org-agent.asd)
Architectural Intent: The ASDF Skeleton
The org-agent.asd file is the physical blueprint of the Lisp Machine. It uses Another System Definition Facility (ASDF) to orchestrate the compilation and loading of all harness modules.
Traditional Lisp systems often use complex, non-linear dependency graphs. However, the org-agent harness mandates a strict, linear bootstrap sequence.
1. Strict Serial Loading (:serial t)
The harness uses the :serial t flag. This is a critical design choice that ensures every file is compiled and loaded in the exact order it appears in the :components list. This eliminates "macro-not-found" errors by guaranteeing that the package.lisp and skills.lisp (where the core macros are defined) are always established before any behavioral logic or skills are loaded.
2. Isolation of the Verification Suite
To maintain a "Zero-Overhead" production environment, the testing logic is isolated into a secondary system: :org-agent/tests. This allows the harness to boot in production without loading the FiveAM framework or the voluminous test data, keeping the memory footprint minimal and the attack surface small.
The Build Pipeline
flowchart TD
Org[Literate Org Files] -- Tangle --> Lisp[Source .lisp Files]
Lisp --> ASDF[ASDF Manifest: .asd]
ASDF --> Loader[SBCL Compiler / Loader]
Loader --> Image[Live Harness Image]
Image -- Build --> Binary[Standalone Binary]
Harness System Definition
This system defines the core "Thin Harness." It includes the protocol, the object store, and the functional loop.
(defsystem :org-agent
:name "org-agent"
:author "Amr"
:version "0.1.0"
:license "AGPLv3"
:description "The Probabilistic-Deterministic Lisp Machine Harness"
:depends-on (:usocket ::bordeaux-threads :dexador :uiop :cl-dotenv :cl-ppcre :hunchentoot :ironclad :str :cl-json)
:serial t
:components ((:file "src/package")
(:file "src/skills")
(:file "src/policy")
(:file "src/communication-validator")
(:file "src/communication")
(:file "src/memory")
(:file "src/context")
(:file "src/probabilistic")
(:file "src/deterministic")
(:file "src/loop"))
:build-operation "program-op"
:build-pathname "org-agent-server"
:entry-point "org-agent:main")
Verification Suite Definition
This system contains the empirical tests required by the Engineering Standards. It depends on :org-agent and the FiveAM testing framework.
(defsystem :org-agent/tests
:depends-on (:org-agent :fiveam)
:components ((:file "tests/communication-tests")
(:file "tests/pipeline-tests")
(:file "tests/boot-sequence-tests")
(:file "tests/memory-tests")
(:file "tests/immune-system-tests"))
:perform (test-op (o s)
(uiop:symbol-call :fiveam :run! (uiop:find-symbol* :communication-protocol-suite :org-agent-tests))
(uiop:symbol-call :fiveam :run! (uiop:find-symbol* :pipeline-suite :org-agent-pipeline-tests))
(uiop:symbol-call :fiveam :run! (uiop:find-symbol* :safety-suite :org-agent-safety-tests))
(uiop:symbol-call :fiveam :run! (uiop:find-symbol* :boot-suite :org-agent-boot-tests))
(uiop:symbol-call :fiveam :run! (uiop:find-symbol* :memory-suite :org-agent-memory-tests))
(uiop:symbol-call :fiveam :run! (uiop:find-symbol* :immune-suite :org-agent-immune-system-tests))))