Files
passepartout/harness/manifest.org

3.7 KiB

System Manifest (manifest.org)

Overview

The System Manifest defines the structural components of the OpenCortex.

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/communication")
               (:file "harness/communication-validator")
               (:file "harness/memory")
               (:file "harness/context")
               (:file "harness/perceive")
               (:file "harness/reason")
               (:file "harness/act")
               (:file "harness/loop")))

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")
               (:file "tests/llm-gateway-tests")))

TUI System

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

Test Orchestrator

(load (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))

(let ((oc-dir (or (uiop:getenv "OC_DATA_DIR") 
                  (namestring (truename "./")))))
  (push (uiop:ensure-directory-pathname oc-dir) asdf:*central-registry*))

(ql:quickload '(:fiveam :opencortex :opencortex/tui :opencortex/tests) :silent t)

(format t "~%=== Initializing Skills BEFORE loading tests ===~%")
(opencortex:initialize-all-skills)

(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")
                      ("OPENCORTEX-TUI-TESTS" "TUI-SUITE")
                      ("OPENCORTEX-LLM-GATEWAY-TESTS" "LLM-GATEWAY-SUITE")))
  (let ((pkg (find-package (first suite-spec))))
    (when pkg
      (let ((suite-sym (find-symbol (second suite-spec) pkg)))
        (when suite-sym
          (format t "~&--- Suite: ~A ---~%" (first suite-spec))
          (fiveam:run! suite-sym))))))

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