refactor: Flatten directory structure library->harness, library/gen->skills

This commit is contained in:
2026-04-27 08:41:26 -04:00
parent 43dbe3cf2d
commit 664ba8243d
68 changed files with 637 additions and 666 deletions

View File

@@ -1,43 +0,0 @@
(defpackage :opencortex-act-tests
(:use :cl :fiveam :opencortex))
(in-package :opencortex-act-tests)
(def-suite act-suite
:description "Verification of the Act Gate and Symbolic Guard.")
(in-suite act-suite)
(test test-act-gate-symbolic-guard-bypass
"Verify that opencortex:act-gate proceeds normally when no skill intercepts."
(clrhash opencortex::*skills-registry*)
(let* ((signal (list :type :EVENT :status nil :depth 0 :approved-action '(:target :cli :payload (:text "Hello"))))
(result (opencortex:act-gate signal)))
(is (eq :acted (getf signal :status)))
(is (null result))))
(test test-act-gate-symbolic-guard-interception
"Verify that opencortex:act-gate intercepts actions when a skill returns a LOG/EVENT."
(clrhash opencortex::*skills-registry*)
;; Register a mock skill that acts like a symbolic guard
(opencortex::defskill :mock-bouncer
:priority 200
:trigger (lambda (ctx) t)
:deterministic (lambda (action ctx)
(declare (ignore action ctx))
'(:type :LOG :payload (:text "BLOCKED BY SYMBOLIC GUARD"))))
(let* ((signal (list :type :EVENT :status nil :depth 0 :approved-action '(:target :shell :payload (:cmd "ls"))))
(result (opencortex:act-gate signal)))
(is (eq :acted (getf signal :status)))
(is (not (null result)))
(is (eq :LOG (getf result :type)))
(is (search "BLOCKED BY SYMBOLIC GUARD" (getf (getf result :payload) :text)))
;; The approved action in signal should be NIL'd out
(is (null (getf signal :approved-action)))))
(test test-act-gate-symbolic-guard-pass-through
"Verify that opencortex:act-gate allows actions when skills permit them."
(clrhash opencortex::*skills-registry*)
(let* ((signal (list :type :EVENT :status nil :depth 0 :approved-action '(:target :cli :payload (:text "Allowed"))))
(result (opencortex:act-gate signal)))
(is (eq :acted (getf signal :status)))
(is (equal '(:target :cli :payload (:text "Allowed")) (getf signal :approved-action)))))

View File

@@ -44,4 +44,4 @@
(progn
(opencortex::load-skill-from-org tmp-skill)
(is (not (null (gethash "org-skill-jail-test" opencortex::*skills-registry*)))))
(uiop:delete-file-if-exists tmp-skill)))))
(uiop:delete-file-if-exists tmp-skill))))

View File

@@ -24,10 +24,10 @@
:priority 200
:trigger (lambda (ctx) t)
:deterministic (lambda (action ctx)
(list :type :LOG :payload '(:text "BLOCKED BY SYMBOLIC GUARD"))))
(list :type :LOG :payload (:text "BLOCKED BY SYMBOLIC GUARD"))))
(let* ((signal (list :type :EVENT :status nil :depth 0 :approved-action '(:target :shell :payload (:cmd "ls"))))
(result (opencortex:act-gate signal)))
(is (eq :acted (getf signal :status)))
(is (not (null result)))
(is (eq :LOG (getf result :type)))
(is (search "BLOCKED BY SYMBOLIC GUARD" (getf (getf result :payload) :text)))))
(is (search "BLOCKED BY SYMBOLIC GUARD" (getf (getf result :payload) :text))))))