Summary
TUI worker status never finalizes. After a feature completes, controller.workers[...] entries stay status="running" forever, so the WorkerScreen shows ghost "running" workers.
Evidence (dogfood campaign — Pilot-surfaced)
- A no-TUI build returned
phase=done while ('e2e','running') lingered in controller.workers.
- Caught directly by the Textual Pilot driver. This is the only TUI-state defect found across the whole campaign (every gate was otherwise fully driveable with no crashes and no state-vs-display mismatches).
Why it matters
Operators see workers that appear to still be running after the feature is done — a misleading state display.
Proposed fix
Finalize every WorkerLog on phase/run completion — set a terminal status (e.g. done/failed) so no worker is left running once its phase ends.
Acceptance criteria
Source: dogfood/ITERATION_REPORT.md MINOR-8; TUI/gate findings section.
Summary
TUI worker status never finalizes. After a feature completes,
controller.workers[...]entries staystatus="running"forever, so the WorkerScreen shows ghost "running" workers.Evidence (dogfood campaign — Pilot-surfaced)
phase=donewhile('e2e','running')lingered incontroller.workers.Why it matters
Operators see workers that appear to still be running after the feature is done — a misleading state display.
Proposed fix
Finalize every
WorkerLogon phase/run completion — set a terminal status (e.g.done/failed) so no worker is leftrunningonce its phase ends.Acceptance criteria
status="running"once the controller reportsphase=done.runningworkers.Source:
dogfood/ITERATION_REPORT.mdMINOR-8; TUI/gate findings section.