Commit Graph
1 Commits
Author SHA1 Message Date
Nick 1e85064944 feat(tui+runtime): chat-live P1 — the face talks through the real core
PTY PROOF: clean RUNE_HOME -> gate card (no provider configured) ->
model list -> digit selects (record persisted) -> typed message -> real
Ollama reply lands complete in the lane -> checkpoint holds user+
assistant msg_ids. The face talks.

F1-F4 + mutex: channel honoring (chat lands in chat, not task), stale
canary stub killed + supervised real core on 8376 (ensure_core.py,
identity sanity), timeout budget >=330s all three legs, bridge polls
channel chat beside task. Thread-safety: dispatch_lock mutex (canary
overlap probe was RED pre-fix, 35/0 post, 4-way concurrency pytest,
rogue-mutant teeth).

8-role bubble structure per the design-intent contracts: user right/
assistant left, thinking collapsed, dark bg. Fresh-state: gate card
with real model list, no default, record persisted, chat gated until
selection. Full module green (32 pkgs + 4 with new content), race-
clean. Identity line: runtime lib:connected.

KNOWN: chatpane contrast fails WCAG on the dark bg (1.35:1 assistant
invisible) — visual round build wave lifts every role to >=4.5:1 per
direction; identity line clips chat token at 100 cols; ordinary
sentences can't be typed on the chat pane while chain keys r/t/p/y/
route to chrome — the selection law's pending-input surfaces need
unbinding in the visual round. These are DESIGN findings, not defects.
2026-10-18 01:41:10 +01:00