Commit Graph

10 Commits

Author SHA1 Message Date
Hermes
757541c83b fix: close defun on-key with missing paren, complete cl-tty TUI migration
- Added missing closing paren for defun on-key in org/channel-tui-main.org
  line 616 (was 7 trailing ), now 8)
- Replaced #\) character literal with (code-char 41) to avoid reader
  ambiguity with paren-delimiter counting
- All 3 TUI org files tangled and verified compilable
- passepartout/tui loads without errors under SBCL 2.5.2
2026-05-12 21:35:14 +00:00
06aff97b4e v0.7.2: message search mode — navigate, highlight, jump — TDD
Search mode activated by /search <query>. State fields: :search-mode,
:search-query, :search-matches, :search-match-idx. Up/Down arrows
navigate between matches, Enter jumps to current match, Escape exits.

search-highlight wraps matching substrings in **bold** for markdown
rendering. View-chat shows search header bar with match count and
current position.

- channel-tui-state: 4 search state fields in init-state
- channel-tui-main: modified /search handler, search-mode key handlers
  (Up/Down/Enter/Escape), 3 new tests (activate, escape, nav)
- channel-tui-view: search-highlight fn, search header bar,
  highlighted content in count+render loops
- TUI Main: 97/98 (1 pre-existing flake)  View: 29/29
2026-05-08 21:02:45 -04:00
df09ac321d v0.7.2: gate-trace wiring, HITL panels, /identity command — TDD
Gate trace: wired into view-chat, renders below agent messages in dim.
Collapsed-gates state field for Tab toggle (deferred to Croatoan test).

HITL panels: on-daemon-msg detects :approval-required events, renders
styled panel messages with :panel flag. View-chat renders with :hitl
theme color (magenta). /approve and /deny add confirmation messages.

/identity: opens ~/memex/IDENTITY.org in emacsclient -c -a '', auto-reloads.

- channel-tui-view: gate-trace in view-chat, HITL panel styling
- channel-tui-state: :collapsed-gates, :hitl theme, :panel attr
- channel-tui-main: HITL panel detection, /identity handler
- View: 29/29  TUI Main: 83/84 (1 pre-existing flake)
2026-05-08 17:40:40 -04:00
4e87cf6a03 v0.7.2: wire gate-trace-lines into view-chat — TDD
Gate trace lines rendered below each agent message in dim color.
Collapsed-gates state field for Tab toggle (default: visible).
Uses passepartout::gate-trace-lines for colored entries.

- channel-tui-view: view-chat renders gate-trace after message content
- channel-tui-state: :collapsed-gates field in init-state
- View tests: 29/29 (1 new state-field test)
2026-05-08 17:21:01 -04:00
e3e62140ff v0.7.1: Streaming + Markdown + URLs + Interrupt — TDD
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 2s
Stream-chunk protocol: SSE streaming via provider-openai-stream,
cascade-stream with fboundp guard in think(). TUI renders live.

Stream interrupt: Esc during streaming marks [interrupted], finalizes msg.
SSE cancel infrastructure: *stream-cancel* check in read loop.

Markdown inline: **bold**, *italic*, `code` via parse-markdown-spans.
Code blocks: parse-markdown-blocks + syntax-highlight (keywords/strings/fns).
URL detection + Tab-to-activate: https:// URLs in dim, Tab opens.

Watchdog: 30s stall detection via Dexador read-timeout.
[streaming] indicator in status bar.

Pre-existing TUI test fixes (7): first→aref, nil→zerop, add-msg arg.

Core: 65/65  Neuro: 13/13  TUI View: 22/22  TUI Main: 65/65
Total: 165 tests, 0 failures.
2026-05-08 14:29:53 -04:00
f508dec080 v0.7.0: scroll notify + autocomplete — TDD
Some checks failed
Deploy (Gitea) / deploy (push) Has been cancelled
Scroll notification: :scroll-notify flag in add-msg when scrolled up.
Autocomplete: @ file paths, /theme subcommand defaults, /focus dirs.
4 new TDD tests (6 assertions), 100% pass.
Core: 135/135 (100%).

Remaining deferred: scroll pads (needs Croatoan terminal), setup wizard (v0.8.0).
2026-05-08 11:09:07 -04:00
30913bf327 v0.7.0: key bindings — TDD (RED→GREEN)
Ctrl+U clear line, Ctrl+W delete word, Ctrl+A/E home/end,
Ctrl+L redraw, Ctrl+D quit empty, Ctrl+X+E editor.
2 TDD tests (3 assertions), 100% pass.

Fixed paren bug in init-state (:dirty outside list).
2026-05-08 11:05:49 -04:00
c8964d0249 v0.7.0: char-width + status bar fix — TDD (RED→GREEN)
char-width: contract 5, 4 tests (6 assertions), 100% pass
  ASCII=1, CJK/Hangul/Kana/halfwidth=2, combining marks=0, tab=8
  Pure Lisp, ~25 lines, no deps. Used by word-wrap for unicode.

status bar: contract 6, timestamp right-aligned at (- w 12)
  Fixes overlap where focus map and timestamp both drew at :y 2 :x 1
2026-05-08 10:54:27 -04:00
55e0c962f4 passepartout: v0.7.0 — TUI Essentials: Terminal Parity
TDD cycle: contract → RED test → GREEN implementation for each item.

- Unicode width (char-width): 6 tests, 11 assertions. ASCII/CJK/emoji/combining.
- Status bar fix: timestamp right-aligned, focus at :x 1. No overlap.
- Ctrl key bindings: Ctrl+D/Q/L/U/W, Ctrl+A/E, Ctrl+X+E. 6 tests.
- External editor: Ctrl+X prefix state tracking + Ctrl+E chord.
- Deeper autocomplete: /theme subcommand, /focus directory, @ file paths.
- Scroll notification: :scroll-notify flag set when scrolled up on new msg.
- Pre-existing tests: messages init-state assertion fixed (nil→vectorp).

Remaining: scroll pads (needs Croatoan terminal), setup wizard (v0.8.0).
2026-05-08 10:45:05 -04:00
924bf8f479 passepartout: v0.5.0 hotfix 2 — daemon stable
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 2s
- Restore (in-package :passepartout) to core-reason
- Move *VAULT-MEMORY* back to core-skills
- Fix ASDF and defstruct/defpackage ordering
- Increase daemon timeout to 120s
- Handshake: 0.5.0

Verified: daemon processes messages, TUI clean, gate trace works
2026-05-07 20:14:51 -04:00