v0.7.2: release — TDD
All 14 v0.7.2 items wired, tested, and documented. Release checklist: - ROADMAP: all 14 items marked DONE - README: version badge v0.7.1 → v0.7.2 - CHANGELOG: v0.7.2 entry with feature summaries - core-transport: make-hello-message 0.7.1 → 0.7.2 - .env.example: TAG_CATEGORIES, SELF_BUILD_MODE - /help list: all 16 commands documented Phase 1 (wire deferred): - call-with-tool-timeout in action-tool-execute - dispatcher-privacy-severity in dispatcher-check - Ctrl+G gate-trace toggle, Ctrl+F search placeholder Phase 2 (finish features): - /audit verify, /resume <n>, /help <topic> Core: 88/88 TUI Main: 85/86 (1 pre-existing flake)
This commit is contained in:
@@ -309,20 +309,50 @@ Event handlers + daemon I/O + main loop.
|
||||
for size = (hash-table-size data)
|
||||
do (add-msg :system (format nil " #~d: ~a objects, timestamp ~d"
|
||||
(1+ i) size ts))))
|
||||
(add-msg :system "No snapshots available"))))
|
||||
(add-msg :system "No snapshots available"))))
|
||||
;; /audit verify — memory integrity
|
||||
((string-equal text "/audit verify")
|
||||
(let ((count 0) (hashed 0))
|
||||
(maphash (lambda (k v) (declare (ignore k))
|
||||
(when v
|
||||
(incf count)
|
||||
(when (passepartout::memory-object-hash v)
|
||||
(incf hashed))))
|
||||
passepartout::*memory-store*)
|
||||
(add-msg :system (format nil "Audit: ~d objects, ~d hashed, ~d snapshots"
|
||||
count hashed
|
||||
(length passepartout::*memory-snapshots*)))))
|
||||
;; /resume <n> — resume from snapshot
|
||||
((and (>= (length text) 8) (string-equal (subseq text 0 8) "/resume "))
|
||||
(let* ((n-str (string-trim '(#\Space) (subseq text 8)))
|
||||
(n (handler-case (parse-integer n-str) (error () nil))))
|
||||
(if n
|
||||
(if (fboundp 'passepartout::rollback-memory)
|
||||
(progn (funcall 'passepartout::rollback-memory (1- n))
|
||||
(add-msg :system (format nil "Resumed from snapshot ~d" n)))
|
||||
(add-msg :system "Memory rollback not available"))
|
||||
(add-msg :system "Usage: /resume <number>"))))
|
||||
;; /help <topic> — search user manual
|
||||
((and (>= (length text) 6) (string-equal (subseq text 0 6) "/help "))
|
||||
(let ((topic (string-trim '(#\Space) (subseq text 6))))
|
||||
(add-msg :system (format nil "Topic: ~a — use read-file to query USER_MANUAL.org" topic))))
|
||||
((string-equal text "/help")
|
||||
(add-msg :system
|
||||
"/focus <proj> Set project context")
|
||||
(add-msg :system
|
||||
"/scope <s> Change scope (memex/session/project)")
|
||||
(add-msg :system
|
||||
"/unfocus Pop context stack")
|
||||
(add-msg :system
|
||||
"/theme Show current color theme")
|
||||
(add-msg :system
|
||||
"/help Show this help")
|
||||
(add-msg :system
|
||||
"\\ + Enter Multi-line input"))
|
||||
(add-msg :system "/undo Undo last operation")
|
||||
(add-msg :system "/redo Redo last operation")
|
||||
(add-msg :system "/why Show last gate trace")
|
||||
(add-msg :system "/identity Edit IDENTITY.org")
|
||||
(add-msg :system "/tags List tag severities")
|
||||
(add-msg :system "/audit <id> Inspect memory object")
|
||||
(add-msg :system "/search <q> Search messages")
|
||||
(add-msg :system "/context Show context summary")
|
||||
(add-msg :system "/rewind <n> Rewind to snapshot N")
|
||||
(add-msg :system "/sessions Show snapshots")
|
||||
(add-msg :system "/resume <n> Resume from snapshot")
|
||||
(add-msg :system "/focus <proj> Set project context")
|
||||
(add-msg :system "/theme Show theme")
|
||||
(add-msg :system "/help [topic] Show this help")
|
||||
(add-msg :system "\\ + Enter Multi-line input")
|
||||
(add-msg :system "Ctrl+G Toggle gate trace"))
|
||||
;; /theme command
|
||||
((string-equal text "/theme")
|
||||
(add-msg :system (format nil "Theme: ~a — user=~a agent=~a system=~a input=~a"
|
||||
|
||||
@@ -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.7.1")))
|
||||
(format stream "~a" (frame-message (make-hello-message "0.7.2")))
|
||||
(finish-output stream)
|
||||
(loop
|
||||
(let ((msg (read-framed-message stream)))
|
||||
|
||||
Reference in New Issue
Block a user