diff --git a/harness/package.org b/harness/package.org index 9aafdb6..4654dac 100644 --- a/harness/package.org +++ b/harness/package.org @@ -152,7 +152,7 @@ The harness maintains a thread-safe circular log buffer to provide context for d #+begin_src lisp :tangle ../library/package.lisp (defvar *system-logs* nil) -(defvar *logs-lock* (bt:make-lock "harness-logs-lock")) +(defvar *logs-lock* (bordeaux-threads:make-lock "harness-logs-lock")) (defvar *max-log-history* 100) #+end_src @@ -167,7 +167,7 @@ The harness maintains a thread-safe circular log buffer to provide context for d #+begin_src lisp :tangle ../library/package.lisp (defvar *skill-telemetry* (make-hash-table :test 'equal)) -(defvar *telemetry-lock* (bt:make-lock "harness-telemetry-lock")) +(defvar *telemetry-lock* (bordeaux-threads:make-lock "harness-telemetry-lock")) #+end_src ** Telemetry Implementation @@ -178,7 +178,7 @@ The system tracks the performance and reliability of individual skills. (defun harness-track-telemetry (skill-name duration status) "Updates performance metrics for a specific skill. Status should be :success or :rejected." (when skill-name - (bt:with-lock-held (*telemetry-lock*) + (bordeaux-threads:with-lock-held (*telemetry-lock*) (let ((entry (or (gethash skill-name *skill-telemetry*) (list :executions 0 :total-time 0 :failures 0)))) (incf (getf entry :executions)) (incf (getf entry :total-time) duration) @@ -218,7 +218,7 @@ Centralized logging function. It simultaneously writes to standard output and th (defun harness-log (msg &rest args) "Centralized logging for the harness." (let ((formatted-msg (apply #'format nil msg args))) - (bt:with-lock-held (*logs-lock*) + (bordeaux-threads:with-lock-held (*logs-lock*) (push formatted-msg *system-logs*) (when (> (length *system-logs*) *max-log-history*) (setq *system-logs* (subseq *system-logs* 0 *max-log-history*)))) diff --git a/library/package.lisp b/library/package.lisp index 2cdc300..dab96ce 100644 --- a/library/package.lisp +++ b/library/package.lisp @@ -126,19 +126,19 @@ (or (getf plist up) (getf plist dn)))) (defvar *system-logs* nil) -(defvar *logs-lock* (bt:make-lock "harness-logs-lock")) +(defvar *logs-lock* (bordeaux-threads:make-lock "harness-logs-lock")) (defvar *max-log-history* 100) (defvar *skills-registry* (make-hash-table :test 'equal) "Global registry of all loaded skills.") (defvar *skill-telemetry* (make-hash-table :test 'equal)) -(defvar *telemetry-lock* (bt:make-lock "harness-telemetry-lock")) +(defvar *telemetry-lock* (bordeaux-threads:make-lock "harness-telemetry-lock")) (defun harness-track-telemetry (skill-name duration status) "Updates performance metrics for a specific skill. Status should be :success or :rejected." (when skill-name - (bt:with-lock-held (*telemetry-lock*) + (bordeaux-threads:with-lock-held (*telemetry-lock*) (let ((entry (or (gethash skill-name *skill-telemetry*) (list :executions 0 :total-time 0 :failures 0)))) (incf (getf entry :executions)) (incf (getf entry :total-time) duration) @@ -166,7 +166,7 @@ (defun harness-log (msg &rest args) "Centralized logging for the harness." (let ((formatted-msg (apply #'format nil msg args))) - (bt:with-lock-held (*logs-lock*) + (bordeaux-threads:with-lock-held (*logs-lock*) (push formatted-msg *system-logs*) (when (> (length *system-logs*) *max-log-history*) (setq *system-logs* (subseq *system-logs* 0 *max-log-history*)))) diff --git a/opencortex.asd b/opencortex.asd index 438a730..8c5e66c 100644 --- a/opencortex.asd +++ b/opencortex.asd @@ -20,16 +20,17 @@ :serial t ; Load files in order listed below :components ((:file "library/package") ; Package definitions, core vars - (:file "library/skills") ; Skill engine, cognitive tools - (:file "library/communication") ; Protocol, framing - (:file "library/communication-validator") ; Schema validation - (:file "library/memory") ; Org-object store, snapshots - (:file "library/gen/org-skill-engineering-standards") ; Enforcement - (:file "library/context") ; Context assembly, query - (:file "library/perceive") ; Stage 1: Sensory normalization - (:file "library/reason") ; Stage 2: Neural + deterministic - (:file "library/act") ; Stage 3: Actuation - (:file "library/loop")) ; Main entry, heartbeat + (:file "library/skills") ; Skill engine, cognitive tools + (:file "library/communication") ; Protocol, framing + (:file "library/communication-validator") ; Schema validation + (:file "library/memory") ; Org-object store, snapshots + (:file "library/gen/org-skill-engineering-standards") ; Enforcement + (:file "library/gen/org-skill-literate-programming") ; LP enforcement + (:file "library/context") ; Context assembly, query + (:file "library/perceive") ; Stage 1: Sensory normalization + (:file "library/reason") ; Stage 2: Neural + deterministic + (:file "library/act") ; Stage 3: Actuation + (:file "library/loop")) ; Main entry, heartbeat :build-operation "program-op" :build-pathname "opencortex-server" @@ -40,36 +41,39 @@ :fiveam) ; Testing framework :components ((:file "library/gen/org-skill-emacs-edit") - (:file "library/gen/org-skill-lisp-utils") - (:file "library/gen/org-skill-tool-permissions") - (:file "tests/communication-tests") - (:file "tests/pipeline-tests") - (:file "tests/act-tests") - (:file "tests/boot-sequence-tests") - (:file "tests/memory-tests") - (:file "tests/immune-system-tests") - (:file "tests/emacs-edit-tests") - (:file "tests/lisp-utils-tests") - (:file "tests/tool-permissions-tests") - (:file "tests/engineering-standards-tests")) + (:file "library/gen/org-skill-lisp-utils") + (:file "library/gen/org-skill-tool-permissions") + (:file "tests/communication-tests") + (:file "tests/pipeline-tests") + (:file "tests/act-tests") + (:file "tests/boot-sequence-tests") + (:file "tests/memory-tests") + (:file "tests/immune-system-tests") + (:file "tests/emacs-edit-tests") + (:file "tests/lisp-utils-tests") + (:file "tests/tool-permissions-tests") + (:file "tests/engineering-standards-tests") + (:file "tests/literate-programming-tests")) - :perform (test-op (o s) - (uiop:symbol-call :fiveam :run! - (uiop:find-symbol* :communication-protocol-suite :opencortex-tests)) - (uiop:symbol-call :fiveam :run! - (uiop:find-symbol* :pipeline-suite :opencortex-pipeline-tests)) - (uiop:symbol-call :fiveam :run! - (uiop:find-symbol* :boot-suite :opencortex-boot-tests)) - (uiop:symbol-call :fiveam :run! - (uiop:find-symbol* :memory-suite :opencortex-memory-tests)) - (uiop:symbol-call :fiveam :run! - (uiop:find-symbol* :immune-suite :opencortex-immune-system-tests)) - (uiop:symbol-call :fiveam :run! - (uiop:find-symbol* :emacs-edit-suite :opencortex-emacs-edit-tests)) -(uiop:symbol-call :fiveam :run! - (uiop:find-symbol* :lisp-utils-suite :opencortex-lisp-utils-tests)) - (uiop:symbol-call :fiveam :run! - (uiop:find-symbol* :engineering-standards-suite :opencortex-engineering-standards-tests)))) + :perform (test-op (o s) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :communication-protocol-suite :opencortex-tests)) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :pipeline-suite :opencortex-pipeline-tests)) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :boot-suite :opencortex-boot-tests)) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :memory-suite :opencortex-memory-tests)) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :immune-suite :opencortex-immune-system-tests)) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :emacs-edit-suite :opencortex-emacs-edit-tests)) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :lisp-utils-suite :opencortex-lisp-utils-tests)) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :engineering-standards-suite :opencortex-engineering-standards-tests)) + (uiop:symbol-call :fiveam :run! + (uiop:find-symbol* :literate-programming-suite :opencortex-literate-programming-tests)))) (defsystem :opencortex/tui :depends-on (:opencortex ; The daemon we're connecting to diff --git a/run-all-tests.lisp b/run-all-tests.lisp index e53a596..144fd92 100644 --- a/run-all-tests.lisp +++ b/run-all-tests.lisp @@ -22,5 +22,7 @@ (fiveam:run! 'OPENCORTEX-LISP-UTILS-TESTS::LISP-UTILS-SUITE)) (when (find-package :OPENCORTEX-ENGINEERING-STANDARDS-TESTS) (fiveam:run! 'OPENCORTEX-ENGINEERING-STANDARDS-TESTS::ENGINEERING-STANDARDS-SUITE)) +(when (find-package :OPENCORTEX-LITERATE-PROGRAMMING-TESTS) + (fiveam:run! 'OPENCORTEX-LITERATE-PROGRAMMING-TESTS::LITERATE-PROGRAMMING-SUITE)) (format t "~%=== ALL TESTS COMPLETE ===~%") \ No newline at end of file