diff --git a/CHANGELOG.org b/CHANGELOG.org index a627257..29c2049 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -5,6 +5,88 @@ All notable changes to Passepartout, extracted from [[file:docs/ROADMAP.org][ROADMAP.org]] DONE items with LOGBOOK timestamps. +* v0.7.1 — Streaming + Markdown Rendering +:LOGBOOK: +- Released [2026-05-08 Fri] +:END: + +** Streaming (SSE + TUI) + +- ~provider-openai-stream~: SSE streaming via Dexador ~:want-stream t~, parses ~data:~ lines +- ~parse-sse-line~: extracts content from SSE lines, returns ~:done~ for ~[DONE]~ +- ~cascade-stream~: streaming cascade called from ~think()~ via ~fboundp~ guard +- TUI ~on-daemon-msg~ handles ~:stream-chunk~ frames: appends live, stamps time on final chunk +- Esc during streaming: appends ~[interrupted]~, finalizes message, sends cancel event +- ~[streaming]~ indicator in status bar when ~:streaming-text~ is non-nil +- SSE cancel infrastructure: ~*stream-cancel*~ check in read loop (thread-safe for v0.7.2) + +** Watchdog + +- 30s stall detection via Dexador ~read-timeout~; injects ~[Response stalled]~ message on timeout + +** Markdown Rendering + +- ~parse-markdown-spans~: detects ~**bold**~, ~*italic*~, ~`code`~, ~https://~ URLs — returns (text . attrs) segments +- ~parse-markdown-blocks~: splits text at ~```~ boundaries, extracts language tag + content +- ~render-styled~: renders styled segments to Croatoan window with ~:bold~, ~:underline~, ~:bgcolor~ +- ~syntax-highlight~: colors Lisp code — strings green, comments dim, keywords purple, function calls peach +- ~view-chat~ wired: agent messages render markdown, others remain plain +- Tab-to-activate URLs: Tab on empty input extracts URL from last agent message; second Tab confirms + +** Bug Fixes + +- Fixed 7 pre-existing TUI test failures: ~first~→~aref~ (car on vectors), ~nil~→~zerop~ (empty vector) +- Fixed ~add-msg~ extra argument STYLE-WARNING in ~/theme~ handler + +** Test Suite + +- Core: 65/65 (100%) +- Neuro-provider: 13/13 (100%) +- TUI View: 22/22 (100%) +- TUI Main: 65/65 (100%) +- Total: 165 tests, 0 failures + +* v0.7.0 — TUI Essentials: Terminal Parity +:LOGBOOK: +- Released [2026-05-08 Fri] +:END: + +** TDD from Contract + +Every item followed contract → RED test → GREEN implementation → recorded. + +** Unicode Width Awareness + +- ~char-width~: ASCII/CJK/emoji/combining marks/tab/null. 30 lines, pure Lisp +- 6 TDD tests, 11 assertions + +** Readline/Ctrl Key Bindings + +- Ctrl+D quit, Ctrl+U clear line, Ctrl+W delete word, Ctrl+A/E home/end +- Ctrl+L redraw, Ctrl+X+E external editor (~$EDITOR~ fallback), Ctrl+C interrupt +- 6 TDD tests, all pass + +** Status Bar Fix + +- Timestamp right-aligned at ~(- w 12)~ on line 2, focus info at ~:x 1~ — no overlap + +** Scroll Notification + +- ~:scroll-at-bottom~ and ~:scroll-notify~ state flags +- ~add-msg~ sets ~:scroll-notify~ when user is scrolled up on new message +- 2 TDD tests + +** Deeper Autocomplete + +- ~/theme ~ subcommand completion, ~/focus ~ directory completion +- ~@path~ file path completion from ~memex/projects/~ (Org + Lisp files) +- 2 TDD tests + +** Test Suite + +- Core: 135/135 (100%) +- TUI: 39/46 (7 pre-existing failures fixed in v0.7.1) + * v0.6.0 — Time Awareness :LOGBOOK: - Released [2026-05-08 Thu] diff --git a/docs/ROADMAP.org b/docs/ROADMAP.org index 19dcabc..07775f9 100644 --- a/docs/ROADMAP.org +++ b/docs/ROADMAP.org @@ -27,6 +27,7 @@ When a version's state changes (DONE → tested → released), update these loca 3. ~~.env.example~ — update version references as needed 4. ~lisp/core-transport.lisp~ — update the ~make-hello-message~ version string 5. ~passepartout~ (bash entry point) — update version reference +6. ~CHANGELOG.org~ — add new version entry with DONE items, LOGBOOK release date, and feature summaries On release: 1. Tag the release on GitHub