Metadata
| Status | done |
|---|---|
| Assigned | agent-735 |
| Agent identity | f51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e |
| Model | claude:sonnet |
| Created | 2026-04-27T15:59:20.024427526+00:00 |
| Started | 2026-04-27T16:07:42.461112110+00:00 |
| Completed | 2026-04-27T16:13:29.986839258+00:00 |
| Tags | tui,research,chat-redesign, eval-scheduled |
Description
Description
Audit the current TUI chat UX before we redesign it. The user is moving toward a simpler model:
- Modal input: Ctrl+T toggles in/out of PTY focus; click on PTY also focuses
- In command mode (out of PTY), unmodified single keys do TUI actions: 'n' new chat, 'w' close tab, etc.
- Tabs become an ephemeral view list over '.chat-N' tasks in the graph
- Closing a tab = remove from active list, NOT archive the underlying task
- Last session's tabs persist across TUI restarts
- Click '+' or click a '.chat-N' in graph view also opens a chat tab
Before we implement, audit current state:
-
Keybindings — list every TUI shell-level keybinding (src/tui/) that intercepts before the chat input PTY. Note which collide with editor/readline expectations (Ctrl+N, Ctrl+W, etc.). Note current behavior of 'i' key (user thinks it changes inspector width).
-
'coordinator' vs 'chat' naming — search src/ for user-visible strings still saying 'coordinator' (display names like 'wg-workgraph-coordinator-3', tab labels, status lines, dialog titles, log messages). Also check on-disk paths (.workgraph/chat/, .workgraph/coordinator/, etc.). Note whether 'wg migrate chat-rename' has gaps — does new chat creation still emit 'coordinator-N'?
-
Close-tab flow — find the popup/dialog that appears when closing a chat tab. What does it ask? What does each option do? Does it archive the underlying task? Where is it implemented?
-
Tab list source of truth — is there a persisted active-tabs list? How is the tab list constructed at TUI startup today? Where would we add 'tui_state.json' persistence?
-
Graph viewer integration — in the TUI graph viewer (src/tui/viz_viewer/), is there any existing 'open this task' action on a node? Could we add 'open as chat tab' for '.chat-N' nodes?
Validation
- Report enumerates current TUI shell keybindings with file:line refs
- Report identifies all user-visible 'coordinator' strings still in code
- Report describes the close-tab dialog flow (what it asks, what archives)
- Report says whether tab list is currently persisted, and recommends a path for new tui_state.json
- Report says whether graph viewer can dispatch a 'open chat' action today
- No code changes — research only
Depends on
Required by
- (none)
Log
- 2026-04-27T15:59:20.019433310+00:00 Task paused
- 2026-04-27T16:02:44.703182736+00:00 Task published
- 2026-04-27T16:07:42.461116188+00:00 Spawned by coordinator --executor claude --model sonnet
- 2026-04-27T16:07:52.168662814+00:00 Starting TUI chat UX audit - research-only task
- 2026-04-27T16:11:29.485157359+00:00 Completed code audit - writing findings report
- 2026-04-27T16:13:27.211755550+00:00 Validated: all 5 checklist items addressed in docs/research/tui-chat-ux-audit.md - no code changes made
- 2026-04-27T16:13:29.986843776+00:00 Task pending eval (agent reported done; awaiting `.evaluate-*` to score)
- 2026-04-27T16:15:28.215871132+00:00 PendingEval → Done (evaluator passed; downstream unblocks)