Metadata
| Status | done |
|---|---|
| Assigned | agent-952 |
| Agent identity | f51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e |
| Created | 2026-04-28T21:44:00.605462285+00:00 |
| Started | 2026-04-28T21:51:40.457221641+00:00 |
| Completed | 2026-04-28T22:07:51.062857177+00:00 |
| Tags | eval-scheduled |
| Tokens | 2344867 in / 5609 out |
| Eval score | 0.74 |
| └ blocking impact | 0.80 |
| └ completeness | 0.65 |
| └ constraint fidelity | 0.85 |
| └ coordination overhead | 0.85 |
| └ correctness | 0.75 |
| └ downstream usability | 0.75 |
| └ efficiency | 0.75 |
| └ intent fidelity | 0.88 |
| └ style adherence | 0.80 |
Description
Description
When a codex agent is actively running and producing output (visible in .wg/agents/<id>/output.log), the TUI's live log pane shows empty. Confirmed today on agent-941 (create-agents-md cycle iteration 2): output.log was 28+ lines and growing while the TUI live log pane showed nothing.
User quote: 'if create-agents-md is running i don't see it. the log is completely empty' — followed by 'codex log view... it's busted'
This is distinct from:
tui-detail-view(iteration-specific FLIP score labels)log-raw-view(head/tail summary feature)fix-pty-output(already-fixed PTY doubling)
This is specifically: codex agents' stream isn't being picked up by the TUI's live log pane, while claude agents' streams are. The wg-level log entries (wg show <task> Log section) DO populate correctly for codex — only the live pty/stdout stream rendering in the TUI is missing.
Likely investigation
- Compare how claude vs codex agent streams are tee'd / read by the TUI. Likely
src/tui/log_viewor wherever the live pane subscribes. - Codex CLI emits JSONL on stdout (item.completed / item.started / agent_message etc) — confirm the TUI's parser handles that format. The PTY-doubling fix (
fix-pty-output) handled streaming_text vs finalized message races; this might be a similar handler bypass for codex's structured stream. - Check whether the live pane is reading
output.logdirectly, or subscribing to a stream channel that the codex handler isn't writing to.
Repro
- Start a codex task (any
--model codex:*add) - Open TUI, navigate to the running agent's log pane
- Observe: pane is empty even while
tail -f .wg/agents/<id>/output.logshows active writes
Validation
- Failing test first: render the TUI log pane with a fixture that mimics a running codex agent's output stream; assert non-empty pane content
- Claude tasks' streams continue to render unchanged (regression check)
-
Manual smoke: dispatch a codex task on
codex:gpt-5.5, open TUI live log on the agent — pane shows the codex stream as it arrives - cargo build + cargo test pass
Depends on
Required by
- (none)
Log
- 2026-04-28T21:44:00.566277693+00:00 Task paused
- 2026-04-28T21:44:04.139262037+00:00 Task published
- 2026-04-28T21:44:32.624830596+00:00 Lightweight assignment: agent=Careful Programmer (f5143935), exec_mode=full, context_scope=task, reason=Careful Programmer (0.73 score, 182 tasks) is ideal for precision-critical TUI/stream debugging with regression requirements.
- 2026-04-28T21:44:34.176710439+00:00 Spawned by coordinator --executor claude --model opus
- 2026-04-28T21:44:44.699982878+00:00 Starting investigation: examining TUI log pane code and codex stream handling
- 2026-04-28T21:48:41.071427039+00:00 Root cause identified: parse_raw_stream_line in src/tui/viz_viewer/state.rs only handles claude (assistant/user/system/tool_call) and native (turn) JSONL formats. Codex emits thread.started/turn.started/item.completed/item.started/turn.completed which all return None — so codex agents' raw_stream.jsonl produces zero stream_events and the TUI live log pane shows empty.
- 2026-04-28T21:51:30.854701693+00:00 Task unclaimed: agent 'agent-946' (PID 612167) process exited
- 2026-04-28T21:51:40.457225879+00:00 Spawned by coordinator --executor claude --model opus
- 2026-04-28T22:07:03.258275751+00:00 Validated: 21/21 agent_stream_tests pass (5 new codex tests + 16 existing). Pre-existing config::test_global_config_path failure is unrelated (verified by reverting). cargo build + cargo test pass; updated wg binary installed via cargo install --path .
- 2026-04-28T22:07:42.438085424+00:00 Committed: f3adc29c3 — pushed to remote (wg/agent-946/tui-live-log)
- 2026-04-28T22:07:51.062860864+00:00 Task pending eval (agent reported done; awaiting `.evaluate-*` to score)
- 2026-04-28T22:10:44.761071819+00:00 PendingEval → Done (evaluator passed; downstream unblocks)