fix: skill loader preserves test-package in-package forms, un-jail security-dispatcher
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s
- skill-package-forms-strip: only strip (in-package :passepartout), preserving test-package declarations. This allows embedded test code to evaluate in the correct package, fixing 7 previously-unreachable test suites (vault, perms, policy, validator, lisp, org, archivist). - Remove security-dispatcher from skill-topological-sort exclusion: dispatcher was never loaded (neither via ASDF nor skill system). Test package was previously NIL; now loads properly. Test results: 146 pass, 16 fail (was 80P 1F). Remaining failures are pre-existing test code bugs (variable access across jailed packages, cleanup errors) now exposed by the fix.
This commit is contained in:
@@ -96,7 +96,6 @@
|
||||
(string= n "core-loop-act")
|
||||
(string= n "core-loop")
|
||||
(string= n "core-manifest")
|
||||
(string= n "security-dispatcher")
|
||||
(string= n "system-model-router")
|
||||
(string= n "system-model-explorer")
|
||||
(string= n "gateway-tui"))))
|
||||
@@ -154,13 +153,15 @@
|
||||
(error (c) (values nil (format nil "~a" c)))))
|
||||
|
||||
(defun skill-package-forms-strip (code-string)
|
||||
"Removes in-package forms so symbols get defined in skill package."
|
||||
"Removes (in-package :passepartout) forms only — preserves test-package
|
||||
declarations so embedded test code evaluates in the correct package."
|
||||
(let ((lines (uiop:split-string code-string :separator '(#\Newline)))
|
||||
(result ""))
|
||||
(dolist (line lines)
|
||||
(let ((trimmed (string-trim '(#\Space #\Tab) line)))
|
||||
(unless (uiop:string-prefix-p "(in-package" trimmed)
|
||||
(setf result (concatenate 'string result line (string #\Newline))))))
|
||||
(if (uiop:string-prefix-p "(in-package :passepartout)" trimmed)
|
||||
(setf result (concatenate 'string result (string #\Newline)))
|
||||
(setf result (concatenate 'string result line (string #\Newline))))))
|
||||
result))
|
||||
|
||||
(defun tangle-target-extract (line)
|
||||
|
||||
Reference in New Issue
Block a user