v0.3.0 finish: TUI tests, embedding wiring, gateway :configured, focus commands, export cleanup
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 2s

- TUI: Fix stale contract (remove handle-return/*incoming-msgs*), rewrite
  10->13 tests (38 checks, 100% pass). Export missing symbols from TUI
  package. Fix view-chat contract arity.
- Gateway messaging: Add :configured key to registry (boolean, nil default).
  Fix contract to match (vault-based, not env-var-based).
- Async Embedding Gateway: Add *embedding-backend* var, embeddings-compute
  function. Modify ingest-ast to populate vectors on new objects.
  Add EMBEDDING_PROVIDER env var support. Add Contract + 4 tests (8 checks).
- Context Manager: Add /focus, /scope, /unfocus commands to TUI on-key
  handler. Commands degrade gracefully when context-manager not loaded.
- Export hygiene: Remove 30+ ghost exports (undefined symbols). Remove
  duplicate/mismatched names. Exports now match actual definitions.
This commit is contained in:
2026-05-05 17:42:03 -04:00
parent 035aac45e3
commit cd86509e3a
13 changed files with 572 additions and 176 deletions

View File

@@ -20,7 +20,7 @@ This replaces the old ~gateway-manager~ skill. The Telegram/Signal platform code
** Contract
1. (gateway-registry-initialize): populates ~*gateway-registry*~ with
~:configured~ status per platform based on env vars.
~:configured~ key per platform (boolean, set when linked).
2. (messaging-link platform &key token): stores the token in the vault
and starts the gateway's polling thread.
3. (messaging-unlink platform): removes the token and stops the thread.
@@ -142,11 +142,13 @@ This replaces the old ~gateway-manager~ skill. The Telegram/Signal platform code
(setf (gethash "telegram" *gateway-registry*)
(list :poll-fn #'telegram-poll
:send-fn #'telegram-send
:default-interval 3))
:default-interval 3
:configured nil))
(setf (gethash "signal" *gateway-registry*)
(list :poll-fn #'signal-poll
:send-fn #'signal-send
:default-interval 5)))
:default-interval 5
:configured nil)))
(defun gateway-configured-p (platform)
"Returns T if a platform has a stored token."
@@ -292,9 +294,14 @@ This replaces the old ~gateway-manager~ skill. The Telegram/Signal platform code
(in-suite messaging-suite)
(test test-gateway-registry-initialize
"Contract 1: gateway-registry-initialize populates the registry."
"Contract 1: gateway-registry-initialize populates the registry with :configured key."
(clrhash passepartout::*gateway-registry*)
(gateway-registry-initialize)
(is (not (zerop (hash-table-count passepartout::*gateway-registry*))))
(is (getf (gethash "telegram" passepartout::*gateway-registry*) :configured)))
(let ((entry (gethash "telegram" passepartout::*gateway-registry*)))
(is (getf entry :poll-fn))
(is (getf entry :send-fn))
(is (getf entry :default-interval))
;; :configured key exists and is boolean (nil by default until linked)
(is (eq nil (getf entry :configured)))))
#+end_src