Release v0.3.0 — Event Orchestration, Human-in-the-Loop, Daily-Driver TUI
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s
Test results: 86 pass, 0 fail across 21 suites. TUI integration: 7/7 pass. Features: - 9-vector deterministic dispatcher gates (secrets, paths, shells, network) - Human-in-the-Loop Flight Plan workflow for blocked actions - Event Orchestrator: unified hooks + cron + tier-based routing - Context Manager: stack-based project scoping with persistence - Model-Tier Routing: per-slot provider cascades with privacy filter - Memory Scope Segmentation: memex/session/project with scope-aware retrieval - Asynchronous Embedding Gateway: provider-agnostic vectors with cron job - TUI Experience: scrollback, history, status bar, themes, tab completion - v0.2.x Backfill Remediation: 14 stale/todo/stub items resolved - Multi-distro deployment: Debian + Fedora, systemd, Docker - 31 literate Org files with full prose Fixes: - CLI test: fiveam:is t -> pass/fail handler-case - Cascade-parsing integration test: load provider before checking - Version strings 0.2.0 -> 0.3.0 in core-communication, tui-main, architecture
This commit is contained in:
@@ -10,7 +10,7 @@ The Communication Protocol defines how Passepartout speaks to the outside world.
|
||||
|
||||
Every message is an S-expression (plist) prefixed with a 6-character hex length:
|
||||
|
||||
00002C(:TYPE :EVENT :PAYLOAD (:ACTION :handshake :VERSION "0.2.0"))
|
||||
00002C(:TYPE :EVENT :PAYLOAD (:ACTION :handshake :VERSION "0.3.0"))
|
||||
|
||||
This is a deliberate rejection of JSON, Protocol Buffers, or any other serialization format. The message format is Lisp-native because:
|
||||
|
||||
@@ -151,7 +151,7 @@ The daemon sends a handshake message on connection, then enters a read loop, inj
|
||||
(let ((stream (usocket:socket-stream socket)))
|
||||
(handler-case
|
||||
(progn
|
||||
(format stream "~a" (frame-message (make-hello-message "0.2.0")))
|
||||
(format stream "~a" (frame-message (make-hello-message "0.3.0")))
|
||||
(finish-output stream)
|
||||
(loop
|
||||
(let ((msg (read-framed-message stream)))
|
||||
|
||||
@@ -55,9 +55,9 @@ The CLI Gateway is the simplest interface to Passepartout — raw stdin/stdout o
|
||||
(fiveam:test test-gateway-cli-input-format
|
||||
"Contract 1: gateway-cli-input injects a properly formed signal without error."
|
||||
(handler-case
|
||||
(progn (gateway-cli-input "hello") (fiveam:is t))
|
||||
(progn (gateway-cli-input "hello") (fiveam:pass))
|
||||
(error (c)
|
||||
(fiveam:is nil "gateway-cli-input crashed: ~a" c))))
|
||||
(fiveam:fail "gateway-cli-input crashed: ~a" c))))
|
||||
#+end_src
|
||||
|
||||
** Load-Time Sanity Check
|
||||
|
||||
@@ -241,7 +241,7 @@ Event handlers + daemon I/O + main loop.
|
||||
(st :connected) t)
|
||||
(bt:make-thread (lambda () (reader-loop (st :stream)))
|
||||
:name "tui-reader")
|
||||
(add-msg :system (format nil "* Connected v~a *" "0.2.0"))
|
||||
(add-msg :system (format nil "* Connected v~a *" "0.3.0"))
|
||||
(return-from connect-daemon t))
|
||||
(usocket:connection-refused-error (c)
|
||||
(when (= attempt 3)
|
||||
|
||||
Reference in New Issue
Block a user