Metadata
| Status | done |
|---|---|
| Assigned | agent-715 |
| Agent identity | 3184716484e6f0ea08bb13539daf07686ee79d440505f1fdf2de0357707034c3 |
| Created | 2026-04-27T15:43:59.295676290+00:00 |
| Started | 2026-04-27T15:45:55.870348589+00:00 |
| Completed | 2026-04-27T15:59:40.811468031+00:00 |
| Tags | eval-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:
-
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. -
Wrong numbering — first tab shows
coord:1but no.chat-1exists 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-Nis 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 whatwg show/wg listuse.
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 opentask ids exactly - Grep src/tui/ for any remaining 'coord:' literal in tab/label rendering — none should remain
Depends on
Required by
- (none)
Log
- 2026-04-27T15:43:59.289685339+00:00 Task paused
- 2026-04-27T15:44:28.895707599+00:00 Task published
- 2026-04-27T15:45:55.870352236+00:00 Spawned by coordinator --executor claude --model opus
- 2026-04-27T15:46:09.083300808+00:00 Starting work — checking TUI tab bar rendering code
- 2026-04-27T15:54:27.691536669+00:00 Failing test added (passed cid in [.chat-2, .chat-3, .chat-4] fixture). Fix: list_coordinator_ids_and_labels now uses format_chat_task_id() instead of 'coord:N'. Smoke scenario tui_chat_switch_keystrokes.sh updated to grep .chat-N + reject any coord:N regression.
- 2026-04-27T15:59:19.814612222+00:00 Committed: 78099f3bf — pushed to remote
- 2026-04-27T15:59:40.811482317+00:00 Task pending eval (agent reported done; awaiting `.evaluate-*` to score)
- 2026-04-27T16:01:08.681878949+00:00 PendingEval → Done (evaluator passed; downstream unblocks)