116 lines
6.5 KiB
Org Mode
116 lines
6.5 KiB
Org Mode
#+TITLE: System Definition (org-agent.asd)
|
|
#+AUTHOR: Amr
|
|
#+FILETAGS: :harness:system:
|
|
#+STARTUP: content
|
|
|
|
* 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
|
|
#+begin_src mermaid
|
|
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]
|
|
#+end_src
|
|
|
|
** Harness System Definition
|
|
This system defines the core "Thin Harness." It includes the protocol, the object store, and the functional loop.
|
|
|
|
#+begin_src lisp :tangle ../org-agent.asd
|
|
(defsystem :org-agent
|
|
:name "org-agent"
|
|
:author "Amr"
|
|
:version "0.1.0"
|
|
:license "MIT"
|
|
: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/system-invariants")
|
|
(:file "src/engineering-standards")
|
|
(:file "src/communication-validator")
|
|
(:file "src/communication")
|
|
(:file "src/memory")
|
|
(: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")
|
|
#+end_src
|
|
|
|
** Verification Suite Definition
|
|
This system contains the empirical tests required by the Engineering Standards. It depends on ~:org-agent~ and the ~FiveAM~ testing framework.
|
|
|
|
#+begin_src lisp :tangle ../org-agent.asd
|
|
(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/memory-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* :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* :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* :memory-suite :org-agent-memory-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))))
|
|
#+end_src
|