Files
passepartout/harness/manifest.org

4.6 KiB

System Manifest (manifest.org)

Overview

The System Manifest defines the structural components of the OpenCortex. It serves as the primary system definition for ASDF and the test orchestrator.

Implementation

Main System

(defsystem :opencortex
  :name "opencortex"
  :author "Amr Gharbeia"
  :version "0.2.0"
  :license "AGPLv3"
  :description "The Probabilistic-Deterministic Lisp Machine"
  :depends-on (:usocket :bordeaux-threads :dexador :uiop :cl-dotenv :cl-ppcre :hunchentoot :ironclad :str :cl-json :uuid)
  :serial t
  :components ((:file "harness/package")
                (:file "harness/skills")
                (:file "harness/memory")
                (:file "harness/communication")
                (:file "harness/communication-validator")
                (:file "harness/perceive")
                (:file "harness/reason")
                (:file "harness/act")
                (:file "harness/context")
                (:file "harness/loop")
                (:file "skills/org-skill-diagnostics")
                (:file "skills/org-skill-config-manager")
                (:file "skills/org-skill-gateway-manager")
                (:file "skills/org-skill-policy")
                (:file "skills/org-skill-bouncer")
                (:file "skills/org-skill-scribe")
                (:file "skills/org-skill-gardener")
                (:file "skills/org-skill-llm-gateway")
                (:file "skills/org-skill-llama-backend")
                (:file "skills/org-skill-shell-actuator")
                (:file "skills/org-skill-emacs-edit")
                (:file "skills/org-skill-self-edit")
                (:file "skills/org-skill-self-fix")
                (:file "skills/org-skill-lisp-utils")
                (:file "skills/org-skill-literate-programming")
                (:file "skills/org-skill-protocol-validator")
                (:file "skills/org-skill-tool-permissions")
                (:file "skills/org-skill-peripheral-vision")
                (:file "skills/org-skill-cli-gateway")
                (:file "skills/org-skill-engineering-standards")
                (:file "skills/org-skill-credentials-vault")))

Test System

(defsystem :opencortex/tests
  :depends-on (:opencortex :fiveam)
  :components ((:file "tests/pipeline-act-tests")
               (:file "tests/boot-sequence-tests")
               (:file "tests/immune-system-tests")
               (:file "tests/memory-tests")
               (:file "tests/pipeline-perceive-tests")
               (:file "tests/pipeline-reason-tests")
               (:file "tests/peripheral-vision-tests")
               (:file "tests/emacs-edit-tests")
               (:file "tests/engineering-standards-tests")
               (:file "tests/lisp-utils-tests")
               (:file "tests/literate-programming-tests")
               (:file "tests/self-edit-tests")
               (:file "tests/tool-permissions-tests")
               (:file "tests/diagnostics-tests")
               (:file "tests/config-manager-tests")
               (:file "tests/gateway-manager-tests")
               (:file "tests/tui-tests")))

TUI System

(defsystem :opencortex/tui
  :depends-on (:opencortex :croatoan :usocket :bordeaux-threads)
  :components ((:file "harness/tui-client")))

Test Orchestrator

(asdf:load-system :opencortex/tests)
(format t "~%=== Running ALL Test Suites ===~%")

(dolist (suite-spec '(("OPENCORTEX-BOOT-TESTS" "BOOT-SUITE")
                      ("OPENCORTEX-COMMUNICATION-TESTS" "COMMUNICATION-PROTOCOL-SUITE")
                      ("OPENCORTEX-PIPELINE-ACT-TESTS" "PIPELINE-ACT-SUITE")
                      ("OPENCORTEX-MEMORY-TESTS" "MEMORY-SUITE")
                      ("OPENCORTEX-ENGINEERING-STANDARDS-TESTS" "ENGINEERING-STANDARDS-SUITE")
                      ("OPENCORTEX-DIAGNOSTICS-TESTS" "DIAGNOSTICS-SUITE")
                      ("OPENCORTEX-GATEWAY-MANAGER-TESTS" "GATEWAY-SUITE")))
  (let ((pkg (find-package (first suite-spec))))
    (when pkg
      (let ((suite-sym (find-symbol (second suite-spec) pkg)))
        (when suite-sym
          (fiveam:run! suite-sym))))))

(format t "~%=== ALL TESTS COMPLETE ===~%")