From f28363dc458c9ba1df61faf62efcc716ac45bb75 Mon Sep 17 00:00:00 2001 From: Amr Gharbeia Date: Wed, 6 May 2026 21:50:40 -0400 Subject: [PATCH] =?UTF-8?q?version:=200.3.0=20=E2=86=92=200.4.0=20in=20han?= =?UTF-8?q?dshake,=20TUI,=20manifest,=20architecture=20doc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ARCHITECTURE.org | 2 +- lisp/core-communication.lisp | 2 +- lisp/gateway-tui-main.lisp | 2 +- org/core-communication.org | 4 ++-- org/core-manifest.org | 2 +- org/gateway-tui-main.org | 2 +- passepartout.asd | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/ARCHITECTURE.org b/docs/ARCHITECTURE.org index 6325f63..9a07efd 100644 --- a/docs/ARCHITECTURE.org +++ b/docs/ARCHITECTURE.org @@ -118,7 +118,7 @@ For the design rationale, see Design Decisions: Token Economics and Performance All communication between the daemon and its gateways (TUI, CLI, Emacs) uses length-prefixed plists over TCP: ``` -00002C(:TYPE :EVENT :PAYLOAD (:ACTION :handshake :VERSION "0.3.0")) +00002C(:TYPE :EVENT :PAYLOAD (:ACTION :handshake :VERSION "0.4.0")) ``` The 6-character hex prefix encodes the payload length. The payload is a ~prin1~-serialized plist. ~*read-eval*~ is bound to nil on the receiving end to prevent code injection. diff --git a/lisp/core-communication.lisp b/lisp/core-communication.lisp index ffaae50..d644083 100644 --- a/lisp/core-communication.lisp +++ b/lisp/core-communication.lisp @@ -62,7 +62,7 @@ (let ((stream (usocket:socket-stream socket))) (handler-case (progn - (format stream "~a" (frame-message (make-hello-message "0.3.0"))) + (format stream "~a" (frame-message (make-hello-message "0.4.0"))) (finish-output stream) (loop (let ((msg (read-framed-message stream))) diff --git a/lisp/gateway-tui-main.lisp b/lisp/gateway-tui-main.lisp index 609ef85..f0e6c93 100644 --- a/lisp/gateway-tui-main.lisp +++ b/lisp/gateway-tui-main.lisp @@ -274,7 +274,7 @@ (st :connected) t) (bt:make-thread (lambda () (reader-loop (st :stream))) :name "tui-reader") - (add-msg :system (format nil "* Connected v~a *" "0.3.0")) + (add-msg :system (format nil "* Connected v~a *" "0.4.0")) (return-from connect-daemon t)) (usocket:connection-refused-error (c) (when (= attempt 3) diff --git a/org/core-communication.org b/org/core-communication.org index 6ebebaf..41844c8 100644 --- a/org/core-communication.org +++ b/org/core-communication.org @@ -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.3.0")) + 00002C(:TYPE :EVENT :PAYLOAD (:ACTION :handshake :VERSION "0.4.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.3.0"))) + (format stream "~a" (frame-message (make-hello-message "0.4.0"))) (finish-output stream) (loop (let ((msg (read-framed-message stream))) diff --git a/org/core-manifest.org b/org/core-manifest.org index 4e007e2..2860c3d 100644 --- a/org/core-manifest.org +++ b/org/core-manifest.org @@ -22,7 +22,7 @@ Components are loaded in sequence (~:serial t~): package first (defines the publ (defsystem :passepartout :name "Passepartout" :author "Amr Gharbeia" - :version "0.3.0" + :version "0.4.0" :license "AGPLv3" :description "The Probabilistic-Deterministic Lisp Machine" :depends-on (:usocket :bordeaux-threads :dexador :uiop :cl-dotenv :cl-ppcre :hunchentoot :ironclad :str :cl-json :uuid) diff --git a/org/gateway-tui-main.org b/org/gateway-tui-main.org index de81361..fb73c5e 100644 --- a/org/gateway-tui-main.org +++ b/org/gateway-tui-main.org @@ -311,7 +311,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.3.0")) + (add-msg :system (format nil "* Connected v~a *" "0.4.0")) (return-from connect-daemon t)) (usocket:connection-refused-error (c) (when (= attempt 3) diff --git a/passepartout.asd b/passepartout.asd index 25e24ba..85d0dce 100644 --- a/passepartout.asd +++ b/passepartout.asd @@ -1,7 +1,7 @@ (defsystem :passepartout :name "Passepartout" :author "Amr Gharbeia" - :version "0.3.0" + :version "0.4.0" :license "AGPLv3" :description "The Probabilistic-Deterministic Lisp Machine" :depends-on (:usocket :bordeaux-threads :dexador :uiop :cl-dotenv :cl-ppcre :hunchentoot :ironclad :str :cl-json :uuid)