Files
passepartout/harness/manifest.org

3.6 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 ===~%