release: v0.7.2 — checklist complete
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 3s

Release checklist:
- ROADMAP: v0.7.2 section DONE with LOGBOOK, all 14 items DONE
  with LOGBOOK timestamps, Pads marked DONE
- README: 16 new Stable capability rows for v0.7.2 features,
  fixed streaming version (v0.7.1)
- CHANGELOG: v0.7.2 entry with all feature summaries
- core-transport: make-hello-message "0.7.2"
- .env.example: TAG_CATEGORIES, SELF_BUILD_MODE

Core: 92/92  TUI Main: 104/104  TUI View: 29/29  Neuro: 13/13
This commit is contained in:
2026-05-08 21:54:55 -04:00
parent b3ce9056de
commit 138f909a33

View File

@@ -1187,7 +1187,10 @@ The TUI is the main UI for v1.0.0. Competitive analysis of Claude Code, OpenCode
*** TODO TUI-based setup wizard — deferred to v0.8.0 *** TODO TUI-based setup wizard — deferred to v0.8.0
*** TODO Pads for chat scrolling — deferred to v0.7.2 (needs Croatoan terminal for testing) *** DONE Pads for chat scrolling — Page Up/Down by 10 lines
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
** v0.7.1: TUI — Streaming + Markdown Rendering ** v0.7.1: TUI — Streaming + Markdown Rendering
:LOGBOOK: :LOGBOOK:
@@ -1243,10 +1246,16 @@ Replace literal markdown syntax with styled text using Croatoan attributes:
Implementation: a ~render-styled~ wrapper that takes a list of ~(text . plist-of-attributes)~ segments and emits sequential ~add-string~ calls at correct x positions. ~50 lines. The markdown parser is ~80 lines of regex-based block/span detection. Total: ~130 lines. Implementation: a ~render-styled~ wrapper that takes a list of ~(text . plist-of-attributes)~ segments and emits sequential ~add-string~ calls at correct x positions. ~50 lines. The markdown parser is ~80 lines of regex-based block/span detection. Total: ~130 lines.
** v0.7.2: TUI — Gate Trace + HITL + Search ** v0.7.2: TUI — Gate Trace + HITL + Search
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
Gate trace data is already stored per-message (~:gate-trace~ field in ~add-msg~) but never rendered. HITL approval requires typing raw text that happens to match ~/approve~ — no TUI-internal command handling. Context visibility and session control close the audit trail: the user can inspect what the LLM sees and undo what went wrong. These are Passepartout's architectural differentiators that remain invisible to users. Gate trace data is already stored per-message (~:gate-trace~ field in ~add-msg~) but never rendered. HITL approval requires typing raw text that happens to match ~/approve~ — no TUI-internal command handling. Context visibility and session control close the audit trail: the user can inspect what the LLM sees and undo what went wrong. These are Passepartout's architectural differentiators that remain invisible to users.
*** DONE Gate trace visualization *** DONE Gate trace visualization
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-gate-trace :ID: id-v062-gate-trace
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1262,6 +1271,9 @@ Render gate trace lines below each agent message in dim:
Gate trace data format (already in messages): ~(:gate-trace ((:gate "dispatcher-path" :result :passed) (:gate "dispatcher-shell" :result :blocked :reason "rm -rf pattern") (:gate "dispatcher-network" :result :approval)))~. ~50 lines. Gate trace data format (already in messages): ~(:gate-trace ((:gate "dispatcher-path" :result :passed) (:gate "dispatcher-shell" :result :blocked :reason "rm -rf pattern") (:gate "dispatcher-network" :result :approval)))~. ~50 lines.
*** DONE HITL inline command handling *** DONE HITL inline command handling
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-hitl-inline :ID: id-v062-hitl-inline
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1277,6 +1289,9 @@ Gate trace data format (already in messages): ~(:gate-trace ((:gate "dispatcher-
~60 lines. ~60 lines.
*** DONE Message search (/search or Ctrl+F) *** DONE Message search (/search or Ctrl+F)
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-search :ID: id-v062-search
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1289,6 +1304,9 @@ Gate trace data format (already in messages): ~(:gate-trace ((:gate "dispatcher-
~80 lines. ~80 lines.
*** DONE Context visibility command (~/context~) *** DONE Context visibility command (~/context~)
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-context :ID: id-v062-context
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1304,6 +1322,9 @@ Show the user exactly what the agent sees — the assembled system prompt trimme
- ~40 lines. - ~40 lines.
*** DONE Session rewind, fork, and resume — Merkle-root-based *** DONE Session rewind, fork, and resume — Merkle-root-based
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-session-rewind :ID: id-v062-session-rewind
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1322,6 +1343,9 @@ Passepartout's Merkle tree makes session control more powerful than Claude Code'
- ~200 lines total (~30 daemon snapshot-at-turn, ~150 TUI commands + confirmation dialogs, ~20 session registry persistence). - ~200 lines total (~30 daemon snapshot-at-turn, ~150 TUI commands + confirmation dialogs, ~20 session registry persistence).
*** DONE Safe-tool allowlist — read-only operations auto-approve *** DONE Safe-tool allowlist — read-only operations auto-approve
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-safe-tools :ID: id-v062-safe-tools
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1336,6 +1360,9 @@ Claude Code and Hermes both have safe-tool allowlists that skip HITL for read-on
- This is Claude Code's ~isAutoModeAllowlistedTool()~ pattern — 20 lines in ~security-dispatcher.lisp~ - This is Claude Code's ~isAutoModeAllowlistedTool()~ pattern — 20 lines in ~security-dispatcher.lisp~
*** DONE Agent identity file — ~/memex/IDENTITY.org~ *** DONE Agent identity file — ~/memex/IDENTITY.org~
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-identity :ID: id-v062-identity
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1351,6 +1378,9 @@ Claude Code has ~CLAUDE.md~ (always-loaded instructions hierarchy). OpenClaw has
~30 lines in ~core-reason.lisp~ + ~20 lines TUI command. ~30 lines in ~core-reason.lisp~ + ~20 lines TUI command.
*** DONE Undo/redo per operation — ~/undo~, ~/redo~ *** DONE Undo/redo per operation — ~/undo~, ~/redo~
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-undo :ID: id-v062-undo
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1365,6 +1395,9 @@ Session rewind (above) restores the Merkle root to a prior turn boundary. This i
~20 lines on top of existing Merkle snapshot infrastructure. ~20 lines on top of existing Merkle snapshot infrastructure.
*** DONE Expand /context debugging — similarity trace + dropped nodes *** DONE Expand /context debugging — similarity trace + dropped nodes
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-context-debug :ID: id-v062-context-debug
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1377,6 +1410,9 @@ The ~/context~ command (above) shows what the model sees. Add two deeper views:
~60 lines of rendering on existing data. ~60 lines of rendering on existing data.
*** DONE Tool execution hardening — timeouts + write verification *** DONE Tool execution hardening — timeouts + write verification
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-tool-hardening :ID: id-v062-tool-hardening
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1390,6 +1426,9 @@ Existing tools are thin wrappers with no error recovery. Claude Code has per-too
~60 lines total. ~60 lines total.
*** DONE Tag stack — categories + severity tiers *** DONE Tag stack — categories + severity tiers
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-tag-stack :ID: id-v062-tag-stack
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1405,6 +1444,9 @@ The privacy tag filter (~dispatcher-check-privacy-tags~) is binary: a tag matche
~50 lines in ~security-dispatcher.lisp~ + ~20 lines TUI command. ~50 lines in ~security-dispatcher.lisp~ + ~20 lines TUI command.
*** DONE Merkle provenance audit — ~/audit <node-id>~ *** DONE Merkle provenance audit — ~/audit <node-id>~
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-audit :ID: id-v062-audit
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1419,6 +1461,9 @@ Every Passepartout memory object has content-addressed identity via Merkle hashi
~30 lines on existing Merkle infrastructure. ~30 lines on existing Merkle infrastructure.
*** DONE Self-help — agent can answer questions about itself *** DONE Self-help — agent can answer questions about itself
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-self-help :ID: id-v062-self-help
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]
@@ -1432,6 +1477,9 @@ Passepartout's documentation, source code, and state all live in the same Org fi
~30 lines for system prompt injection + ~20 lines for /help routing. ~30 lines for system prompt injection + ~20 lines for /help routing.
*** DONE Agent identity injection — system prompt knows its own config *** DONE Agent identity injection — system prompt knows its own config
:LOGBOOK:
- State "DONE" from "TODO" [2026-05-08 Fri]
:END:
:PROPERTIES: :PROPERTIES:
:ID: id-v062-agent-identity :ID: id-v062-agent-identity
:CREATED: [2026-05-08 Fri] :CREATED: [2026-05-08 Fri]