Files
passepartout/literate/system-definition.org

6.5 KiB

System Definition (org-agent.asd)

System Definition (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 "MIT"
  :description "The Probabilistic-Deterministic Lisp Machine Harness"
  :depends-on (:usocket :cl-json :bordeaux-threads :dexador :uiop :cl-dotenv :cl-ppcre :hunchentoot :ironclad :str)
  :serial t
  :components ((:file "src/package")
               (:file "src/skills")
               (:file "src/system-invariants")
               (:file "src/engineering-standards")
               (:file "src/communication-validator")
               (:file "src/communication")
               (:file "src/object-store")
               (:file "src/embedding")
               (:file "src/embedding-logic")
               (:file "src/context")
               (:file "src/context-logic")
               (:file "src/probabilistic")
               (:file "src/credentials-vault")
               (:file "src/llm-gateway")
               (:file "src/deterministic")
               (:file "src/lisp-validator")
               (:file "src/self-fix")
               (:file "src/lisp-repair")
               (:file "src/bouncer")
               (:file "src/verification-logic")
               (:file "src/loop")
               (:file "src/gateway-telegram")
               (:file "src/gateway-signal")
               (:file "src/gateway-matrix")
               (:file "src/playwright"))
  :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/peripheral-vision-tests")
               (:file "tests/lisp-validator-tests")
               (:file "tests/boot-sequence-tests")
               (:file "tests/object-store-tests")
               (:file "tests/immune-system-tests")
               (:file "tests/task-orchestrator-tests")
               (:file "tests/self-fix-tests")
               (:file "tests/lisp-repair-tests")
               (:file "tests/bouncer-tests")
               (:file "tests/formal-verification-tests")
               (:file "tests/llm-gateway-tests")
               (:file "tests/gateway-telegram-tests")
               (:file "tests/gateway-signal-tests")
               (:file "tests/gateway-matrix-tests")
               (:file "tests/playwright-tests")
               (:file "tests/chaos-qa"))
  :perform (test-op (o s) 
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :harness-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* :vision-suite :org-agent-peripheral-vision-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* :object-store-suite :org-agent-object-store-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :immune-suite :org-agent-immune-system-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :task-orchestrator-suite :org-agent-task-orchestrator-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :self-fix-suite :org-agent-self-fix-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :lisp-repair-suite :org-agent-lisp-repair-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :bouncer-suite :org-agent-bouncer-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :formal-verification-suite :org-agent-formal-verification-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :llm-gateway-suite :org-agent-llm-gateway-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :shell-actuator-suite :org-agent-shell-actuator-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :gateway-telegram-suite :org-agent-gateway-telegram-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :gateway-signal-suite :org-agent-gateway-signal-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :gateway-matrix-suite :org-agent-gateway-matrix-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :playwright-suite :org-agent-playwright-tests))
             (uiop:symbol-call :fiveam :run! (uiop:find-symbol* :chaos-suite :org-agent-chaos-qa))))