Repository navigation
Commit 17ad1fb
committed
fix(loop): work queued behind a human was reported as a failed run
The other half of the idle deadlock, found by the end-to-end sweep that was
meant to prove the first half fixed.
Only `done` satisfies a dependency, so a task sitting in ready_to_dev whose
dependency was parked in to_scope by the attempt ceiling can never become
executable. AgentWorkRemaining counts ready_to_dev, so it short-circuited the
human-backlog branch directly below it: the loop found nothing schedulable,
found nothing to reclaim, and then spent 31 idle rounds before returning
ErrIdleTimeout — reporting a board that was simply owed to a human as a run that
gave up.
Measured on a live greenfield Go build: T1 and T3 parked by the ceiling, T4 and
T5 queued behind them, and the verdict read "gave up before the board was
finished: idle while agent work still in progress (rounds=31, tasks still
open=2)". The human-backlog path already existed one branch below and already
returns cleanly with an announcement rather than a failure; it was simply
unreachable.
Agent work waiting behind a human is not agent work in progress, so the idle
branch now defers to it. Reclaim still runs first — an orphan left mid-flight by
a finished wave is a different condition and is still re-queued.1 parent 5b2f43d commit 17ad1fb
2 files changed
Lines changed: 62 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
401 | 401 | | |
402 | 402 | | |
403 | 403 | | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
414 | 425 | | |
415 | 426 | | |
416 | 427 | | |
| |||
0 commit comments