Metadata
| Status | done |
|---|---|
| Assigned | agent-1269 |
| Agent identity | f51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e |
| Model | claude:sonnet |
| Created | 2026-04-30T16:18:25.920149448+00:00 |
| Started | 2026-04-30T16:23:16.773801125+00:00 |
| Completed | 2026-04-30T16:56:06.306269970+00:00 |
| Tags | fix,tui,ux,chat, eval-scheduled |
| Eval score | 0.76 |
| └ blocking impact | 0.80 |
| └ completeness | 0.75 |
| └ coordination overhead | 0.80 |
| └ correctness | 0.75 |
| └ downstream usability | 0.75 |
| └ efficiency | 0.75 |
| └ style adherence | 0.75 |
Description
Description
The TUI's 'Chat with Agent' picker pane shows entries that aren't chat tasks. User screenshot 2026-04-30 shows fix-new-chat-3 (abandoned · §1.2k) 1h listed in the picker alongside .chat-31 (open · ⌁50) — fix-new-chat-3 is a regular fix task that was abandoned, not a chat agent.
User quote: 'this is not quite right...'
Likely cause
The picker is filtering by something too permissive — probably 'show all tasks' or 'show recent tasks' rather than 'show tasks tagged chat-loop' or 'show tasks with id matching .chat-*'.
Fix
Filter the picker to chat-task-id pattern (.chat-* prefix) AND/OR chat-loop tag. Exclude:
- Regular tasks (fix-, audit-, design-, etc.)
- Abandoned tasks
- Done tasks (unless we explicitly want history — separate UX choice)
Confirm what the current criterion is in the picker code, then tighten it.
Validation
-
Failing test or repro: open the chat picker. Pre-fix: shows non-chat tasks. Post-fix: only
.chat-*tasks appear. - Abandoned tasks no longer appear regardless of name pattern
- Regular .chat-N tasks still appear correctly
- cargo build + cargo test pass
- cargo install --path . was run before claiming done
Depends on
Required by
- (none)
Log
- 2026-04-30T16:18:25.905566541+00:00 Task paused
- 2026-04-30T16:19:08.467464113+00:00 Task published
- 2026-04-30T16:19:27.934803340+00:00 Lightweight assignment: agent=Careful Programmer (f5143935), exec_mode=full, context_scope=task, reason=Careful Programmer role is ideal for localized TUI filter bug fix; Careful tradeoff suits correctness-critical UI logic; strong track record (0.79, 423 tasks).
- 2026-04-30T16:23:16.773804351+00:00 Spawned by coordinator --executor claude --model sonnet
- 2026-04-30T16:23:27.885594708+00:00 Starting: searching for chat picker code in TUI
- 2026-04-30T16:36:16.565363422+00:00 Found bug: picker excludes Abandoned but not Done/Failed — fixing to use !is_terminal()
- 2026-04-30T16:40:26.869132910+00:00 Running cargo build to verify compilation
- 2026-04-30T16:54:43.936406354+00:00 Committed 74063e3d1 — pushed to remote. cargo install --path . completed.
- 2026-04-30T16:55:13.025065347+00:00 Validated: chat picker excludes Done/Failed/Abandoned tasks; only active sessions appear. Tests pass (57 in tui_chat_tests, 0 failures). Pre-existing test_global_config_path failure is unrelated to this change.
- 2026-04-30T16:56:06.306274799+00:00 Task pending eval (agent reported done; awaiting `.evaluate-*` to score)
- 2026-04-30T17:02:09.642750280+00:00 PendingEval → Done (evaluator passed; downstream unblocks)