tests: fix dead test suite (export list, stale duplicates, 14/14 pass)
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s

This commit is contained in:
2026-05-05 09:36:17 -04:00
parent 94b939f61a
commit 11383a29d4
9 changed files with 91 additions and 109 deletions

View File

@@ -56,15 +56,20 @@
#:context-get-skill-telemetry #:context-get-skill-telemetry
#:telemetry-track #:telemetry-track
#:context-assemble-global-awareness #:context-assemble-global-awareness
#:context-awareness-assemble
#:context-query #:context-query
#:process-signal #:process-signal
#:loop-process #:loop-process
#:perceive-gate #:perceive-gate
#:probabilistic-gate #:loop-gate-perceive
#:consensus-gate #:probabilistic-gate
#:act-gate #:consensus-gate
#:reason-gate #:act-gate
#:dispatch-gate #:loop-gate-act
#:reason-gate
#:loop-gate-reason
#:cognitive-verify
#:dispatch-gate
#:register-pre-reason-handler #:register-pre-reason-handler
#:inject-stimulus #:inject-stimulus
#:stimulus-inject #:stimulus-inject
@@ -105,29 +110,29 @@
#:literate-check-block-balance #:literate-check-block-balance
#:check-tangle-sync #:check-tangle-sync
#:*tangle-targets* #:*tangle-targets*
#:utils-org-read-file #:org-read-file
#:utils-org-write-file #:org-write-file
#:utils-org-add-headline #:org-headline-add
#:utils-org-set-property #:org-property-set
#:utils-org-set-todo #:org-todo-set
#:utils-org-find-headline-by-id #:org-find-headline-by-id
#:utils-org-find-headline-by-title #:org-find-headline-by-title
#:utils-org-generate-id #:org-id-generate
#:utils-org-id-format #:org-id-format
#:utils-org-ast-to-org #:org-ast-to-org
#:utils-org-modify #:org-modify
#:utils-lisp-validate #:lisp-validate
#:utils-lisp-check-structural #:lisp-structural-check
#:utils-lisp-check-syntactic #:lisp-syntactic-check
#:utils-lisp-check-semantic #:lisp-semantic-check
#:utils-lisp-eval #:lisp-eval
#:utils-lisp-format #:lisp-format
#:utils-lisp-list-definitions #:lisp-list-definitions
#:utils-lisp-structural-extract #:lisp-extract
#:utils-lisp-structural-wrap #:lisp-structural-wrap
#:utils-lisp-structural-inject #:lisp-inject
#:utils-lisp-structural-slurp #:lisp-slurp
#:utils-lisp-register #:lisp-register
#:get-oc-config-dir #:get-oc-config-dir
#:prompt-for #:prompt-for
#:save-secret #:save-secret
@@ -151,9 +156,8 @@
#:*provider-cascade* #:*provider-cascade*
#:vault-get-secret #:vault-get-secret
#:vault-set-secret #:vault-set-secret
#:memory-objects-by-attribute #:memory-objects-by-attribute
#:deterministic-verify #:find-headline-missing-id))
#:find-headline-missing-id))
(in-package :passepartout) (in-package :passepartout)

View File

@@ -117,12 +117,6 @@
(actuator-initialize) (actuator-initialize)
(skill-initialize-all) (skill-initialize-all)
;; Check for configured LLM providers
(when (zerop (hash-table-count *probabilistic-backends*))
(log-message "WELCOME: No LLM providers configured. Run 'passepartout tui' and press F2 to set up.")
(log-message "WELCOME: Supported providers: openrouter, openai, anthropic, groq, gemini, deepseek, nvidia")
(log-message "WELCOME: For free tier, start with OPENROUTER_API_KEY at https://openrouter.ai"))
;; Run proactive doctor before starting services ;; Run proactive doctor before starting services
(diagnostics-startup-run) (diagnostics-startup-run)
@@ -145,11 +139,6 @@
(return)) (return))
(sleep sleep-interval)))) (sleep sleep-interval))))
(defun providers-configured-p ()
"Returns T if at least one probabilistic backend is registered."
(and (boundp '*probabilistic-backends*)
(> (hash-table-count *probabilistic-backends*) 0)))
(eval-when (:compile-toplevel :load-toplevel :execute) (eval-when (:compile-toplevel :load-toplevel :execute)
(ql:quickload :fiveam :silent t)) (ql:quickload :fiveam :silent t))
@@ -164,7 +153,7 @@
(test loop-error-injection (test loop-error-injection
"Verify that a crash in think/decide triggers a :loop-error stimulus." "Verify that a crash in think/decide triggers a :loop-error stimulus."
(clrhash passepartout::*skills-registry*) (clrhash passepartout::*skill-registry*)
(passepartout:defskill :evil-skill (passepartout:defskill :evil-skill
:priority 100 :priority 100
:trigger (lambda (ctx) (eq (getf (getf ctx :payload) :sensor) :user-input)) :trigger (lambda (ctx) (eq (getf (getf ctx :payload) :sensor) :user-input))

View File

@@ -9,14 +9,14 @@
(defun standards-lisp-verify (code) (defun standards-lisp-verify (code)
"Enforces Lisp structural and semantic standards using utils-lisp." "Enforces Lisp structural and semantic standards using utils-lisp."
(let ((result (utils-lisp-validate code :strict t))) (let ((result (lisp-validate code :strict t)))
(if (eq (getf result :status) :success) (if (eq (getf result :status) :success)
t t
(error (getf result :reason))))) (error (getf result :reason)))))
(defun standards-lisp-format (code) (defun standards-lisp-format (code)
"Ensures Lisp code adheres to formatting standards." "Ensures Lisp code adheres to formatting standards."
(utils-lisp-format code)) (lisp-format code))
(defskill :passepartout-programming-standards (defskill :passepartout-programming-standards
:priority 100 :priority 100

View File

@@ -81,15 +81,20 @@ The package definition. All public symbols are exported here.
#:context-get-skill-telemetry #:context-get-skill-telemetry
#:telemetry-track #:telemetry-track
#:context-assemble-global-awareness #:context-assemble-global-awareness
#:context-awareness-assemble
#:context-query #:context-query
#:process-signal #:process-signal
#:loop-process #:loop-process
#:perceive-gate #:perceive-gate
#:probabilistic-gate #:loop-gate-perceive
#:consensus-gate #:probabilistic-gate
#:act-gate #:consensus-gate
#:reason-gate #:act-gate
#:dispatch-gate #:loop-gate-act
#:reason-gate
#:loop-gate-reason
#:cognitive-verify
#:dispatch-gate
#:register-pre-reason-handler #:register-pre-reason-handler
#:inject-stimulus #:inject-stimulus
#:stimulus-inject #:stimulus-inject
@@ -130,29 +135,29 @@ The package definition. All public symbols are exported here.
#:literate-check-block-balance #:literate-check-block-balance
#:check-tangle-sync #:check-tangle-sync
#:*tangle-targets* #:*tangle-targets*
#:utils-org-read-file #:org-read-file
#:utils-org-write-file #:org-write-file
#:utils-org-add-headline #:org-headline-add
#:utils-org-set-property #:org-property-set
#:utils-org-set-todo #:org-todo-set
#:utils-org-find-headline-by-id #:org-find-headline-by-id
#:utils-org-find-headline-by-title #:org-find-headline-by-title
#:utils-org-generate-id #:org-id-generate
#:utils-org-id-format #:org-id-format
#:utils-org-ast-to-org #:org-ast-to-org
#:utils-org-modify #:org-modify
#:utils-lisp-validate #:lisp-validate
#:utils-lisp-check-structural #:lisp-structural-check
#:utils-lisp-check-syntactic #:lisp-syntactic-check
#:utils-lisp-check-semantic #:lisp-semantic-check
#:utils-lisp-eval #:lisp-eval
#:utils-lisp-format #:lisp-format
#:utils-lisp-list-definitions #:lisp-list-definitions
#:utils-lisp-structural-extract #:lisp-extract
#:utils-lisp-structural-wrap #:lisp-structural-wrap
#:utils-lisp-structural-inject #:lisp-inject
#:utils-lisp-structural-slurp #:lisp-slurp
#:utils-lisp-register #:lisp-register
#:get-oc-config-dir #:get-oc-config-dir
#:prompt-for #:prompt-for
#:save-secret #:save-secret
@@ -176,9 +181,8 @@ The package definition. All public symbols are exported here.
#:*provider-cascade* #:*provider-cascade*
#:vault-get-secret #:vault-get-secret
#:vault-set-secret #:vault-set-secret
#:memory-objects-by-attribute #:memory-objects-by-attribute
#:deterministic-verify #:find-headline-missing-id))
#:find-headline-missing-id))
#+end_src #+end_src
** Package Implementation ** Package Implementation

View File

@@ -312,7 +312,7 @@ Verifies that the immune system (error handling) correctly catches and reports e
(test loop-error-injection (test loop-error-injection
"Verify that a crash in think/decide triggers a :loop-error stimulus." "Verify that a crash in think/decide triggers a :loop-error stimulus."
(clrhash passepartout::*skills-registry*) (clrhash passepartout::*skill-registry*)
(passepartout:defskill :evil-skill (passepartout:defskill :evil-skill
:priority 100 :priority 100
:trigger (lambda (ctx) (eq (getf (getf ctx :payload) :sensor) :user-input)) :trigger (lambda (ctx) (eq (getf (getf ctx :payload) :sensor) :user-input))

View File

@@ -47,18 +47,13 @@ Note: not every harness or skill file has a corresponding test file. Tests exist
#+begin_src lisp #+begin_src lisp
(defsystem :passepartout/tests (defsystem :passepartout/tests
:depends-on (:passepartout :fiveam) :depends-on (:passepartout :fiveam)
:components ((:file "tests/pipeline-act-tests") :components ((:file "tests/programming-org-tests")
(:file "tests/programming-lisp-tests")
(:file "tests/boot-sequence-tests") (:file "tests/boot-sequence-tests")
(:file "tests/communication-tests") (:file "tests/model-explorer-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/tui-tests") (:file "tests/tui-tests")
(:file "tests/utils-org-tests") (:file "tests/llm-gateway-tests")
(:file "tests/utils-lisp-tests") (:file "tests/doctor-tests")))
(:file "tests/llm-gateway-tests")))
#+end_src #+end_src
** TUI System ** TUI System

View File

@@ -8,7 +8,7 @@ The *REPL Skill* provides persistent Lisp evaluation, inspection, and debugging
* Phase A: Demand (Thinking) * Phase A: Demand (Thinking)
** Why a REPL? ** Why a REPL?
The utils-lisp-eval function provides one-shot evaluation but: The lisp-eval function provides one-shot evaluation but:
- No state persistence between calls - No state persistence between calls
- No variable inspection - No variable inspection
- No debugging capabilities - No debugging capabilities

View File

@@ -47,13 +47,13 @@ Run the appropriate chaos tier before reflecting code back to Org:
**** Phase E: Reflect Back to Org **** Phase E: Reflect Back to Org
1. Copy the working function into its own ~#+begin_src lisp~ block in the Org file 1. Copy the working function into its own ~#+begin_src lisp~ block in the Org file
2. Update the prose to match what the function actually does (arguments, return, rationale) 2. Update the prose to match what the function actually does (arguments, return, rationale)
3. Before closing Phase E, run ~(utils-lisp-validate (uiop:read-file-string "path/to/file.lisp") :strict t)~ in the REPL — never external scripts or manual paren-counting 3. Before closing Phase E, run ~(lisp-validate (uiop:read-file-string "path/to/file.lisp") :strict t)~ in the REPL — never external scripts or manual paren-counting
4. Verify the Org file tangles correctly 4. Verify the Org file tangles correctly
5. Tangle, commit, update GTD 5. Tangle, commit, update GTD
**** Syntax Error Protocol **** Syntax Error Protocol
If a LOADER ERROR or reader-error occurs: If a LOADER ERROR or reader-error occurs:
1. Run ~(utils-lisp-validate (uiop:read-file-string "file.lisp") :strict t)~ in the REPL — never Python, never grep, never manual counting 1. Run ~(lisp-validate (uiop:read-file-string "file.lisp") :strict t)~ in the REPL — never Python, never grep, never manual counting
2. Fix the error in the Org file (since the code was prototyped in REPL first, this should be rare) 2. Fix the error in the Org file (since the code was prototyped in REPL first, this should be rare)
3. Retangle and re-evaluate 3. Retangle and re-evaluate
@@ -104,7 +104,7 @@ CLOSED: [2026-05-02 Sat 18:00]
#+begin_src lisp #+begin_src lisp
(defun standards-lisp-verify (code) (defun standards-lisp-verify (code)
"Enforces Lisp structural and semantic standards using utils-lisp." "Enforces Lisp structural and semantic standards using utils-lisp."
(let ((result (utils-lisp-validate code :strict t))) (let ((result (lisp-validate code :strict t)))
(if (eq (getf result :status) :success) (if (eq (getf result :status) :success)
t t
(error (getf result :reason))))) (error (getf result :reason)))))
@@ -115,7 +115,7 @@ CLOSED: [2026-05-02 Sat 18:00]
#+begin_src lisp #+begin_src lisp
(defun standards-lisp-format (code) (defun standards-lisp-format (code)
"Ensures Lisp code adheres to formatting standards." "Ensures Lisp code adheres to formatting standards."
(utils-lisp-format code)) (lisp-format code))
#+end_src #+end_src
#+end_src #+end_src

View File

@@ -11,7 +11,6 @@
(:file "lisp/core-communication") (:file "lisp/core-communication")
(:file "lisp/core-memory") (:file "lisp/core-memory")
(:file "lisp/core-context") (:file "lisp/core-context")
(:file "lisp/security-dispatcher")
(:file "lisp/core-loop-perceive") (:file "lisp/core-loop-perceive")
(:file "lisp/core-loop-reason") (:file "lisp/core-loop-reason")
(:file "lisp/core-loop-act") (:file "lisp/core-loop-act")
@@ -19,23 +18,14 @@
(defsystem :passepartout/tests (defsystem :passepartout/tests
:depends-on (:passepartout :fiveam) :depends-on (:passepartout :fiveam)
:components ((:file "tests/pipeline-act-tests") :components ((:file "tests/programming-org-tests")
(:file "tests/programming-lisp-tests")
(:file "tests/boot-sequence-tests") (:file "tests/boot-sequence-tests")
(:file "tests/communication-tests") (:file "tests/model-explorer-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/tui-tests") (:file "tests/tui-tests")
(:file "tests/utils-org-tests")
(:file "tests/utils-lisp-tests")
(:file "tests/llm-gateway-tests") (:file "tests/llm-gateway-tests")
(:file "tests/model-explorer-tests"))) (:file "tests/doctor-tests")))
(defsystem :passepartout/tui (defsystem :passepartout/tui
:depends-on (:passepartout :croatoan :usocket :bordeaux-threads) :depends-on (:passepartout :croatoan :usocket :bordeaux-threads)
:serial t :components ((:file "lisp/gateway-tui")))
:components ((:file "lisp/gateway-tui-model")
(:file "lisp/gateway-tui-view")
(:file "lisp/gateway-tui-main")))