version: 0.3.0 → 0.4.0 in handshake, TUI, manifest, architecture doc
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 2s

This commit is contained in:
2026-05-06 21:50:40 -04:00
parent a593b76015
commit f28363dc45
7 changed files with 8 additions and 8 deletions

View File

@@ -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.

View File

@@ -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)))

View File

@@ -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)

View File

@@ -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)))

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)