tui-tab-bar

TUI tab bar: chat tabs labeled 'coord:N' with wrong numbering — should be '.chat-N' matching task ids

Metadata

Statusdone
Assignedagent-715
Agent identity3184716484e6f0ea08bb13539daf07686ee79d440505f1fdf2de0357707034c3
Created2026-04-27T15:43:59.295676290+00:00
Started2026-04-27T15:45:55.870348589+00:00
Completed2026-04-27T15:59:40.811468031+00:00
Tagseval-scheduled

Description

Description

User report: at the top of the TUI screen, chat tabs render as:

[1] ● coord:1 ✕ │ [2] ● coord:3 ✕ │ [3] ◉ coord:4 ✕ [+]

Two problems:

  1. Deprecated terminology — labels say coord:N, but per CLAUDE.md the words 'coordinator' / 'orchestrator' are deprecated as role-nouns. Chat task ids are .chat-N (e.g. .chat-2, .chat-3, .chat-4 — visible in the graph viz column on the left of the user's screenshot). Tab labels should match the task id: .chat-2, .chat-3, .chat-4.

  2. Wrong numbering — first tab shows coord:1 but no .chat-1 exists in the graph; user has .chat-2, .chat-3, .chat-4. Looks like the tab bar is using a separate stale 1-indexed counter instead of reading the actual chat task id. User said: 'what is 1??? why doesn't it say .chat-4 etc.'

The leading [1]/[2]/[3] is the user-facing tab number (fine to keep as positional shortcut for hotkeys). The label after the dot/circle indicator is what needs to come from the chat task id.

Files likely to touch

  • src/tui/ — wherever the chat tab bar is rendered. Look for tab-label builders that format 'coord:' or use a tab-index-derived integer instead of the chat ref / task id.
  • The chat ref scheme (per memory feedback_chat_ref_vs_task_id): .chat-N is the task id, chat-N (no leading dot) is the chat alias. Tab labels should show the task id form (with leading dot) since that's what wg show / wg list use.

Validation

  • Failing test first: render the tab bar with a fixture chat list of [.chat-2, .chat-3, .chat-4] → assert label strings contain '.chat-2', '.chat-3', '.chat-4' and contain neither 'coord:1' nor any 'coord:' prefix
  • Implementation makes test pass — read tab label from chat task id, not from a positional counter or hardcoded 'coord:' prefix
  • cargo build + cargo test pass with no regressions
  • Manual smoke: open wg tui with multiple chats; tab labels match wg list --status open task ids exactly
  • Grep src/tui/ for any remaining 'coord:' literal in tab/label rendering — none should remain

Depends on

Required by

Log