research-tui-chat

Research: TUI chat UX current state audit

Metadata

Statusdone
Assignedagent-735
Agent identityf51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e
Modelclaude:sonnet
Created2026-04-27T15:59:20.024427526+00:00
Started2026-04-27T16:07:42.461112110+00:00
Completed2026-04-27T16:13:29.986839258+00:00
Tagstui,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:

  1. 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).

  2. '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'?

  3. 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?

  4. 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?

  5. 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

Log