Public: anyone can read this; the crew can change it.
A crew run interrupted by a forge stop twice in a row is not queued a third time, and the forge's home says why #11560
Parked by the crew: the check stayed red through 2 automatic tries (pull #11571 closed; its branch scout/11560-a-crew-run-interrupted-by-a-forge-stop-t at 1a2aaf67d0e9 keeps the work so far). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
try 1: docs/features/stopped-twice.md, src/actions/runs.ts, src/core/runs.ts, src/crew/dispatch.ts, src/http/server.ts, src/web/pages/runs.ts, src/web/studio/h… try 2: docs/features/stopped-twice.md try 3: no files changed
Parked by the crew: the check stayed red through 2 automatic tries (pull #11576 closed; its branch scout/11560-a-crew-run-interrupted-by-a-forge-stop-t at 769af5d64133 keeps the work so far).
Parked twice since a person last spoke here, so it is the planner's now. Every reason:
- the check stayed red through 2 automatic tries (pull #11571 closed; its branch
scout/11560-a-crew-run-interrupted-by-a-forge-stop-tat 1a2aaf67d0e9 keeps the work so far) - the check stayed red through 2 automatic tries (pull #11576 closed; its branch
scout/11560-a-crew-run-interrupted-by-a-forge-stop-tat 769af5d64133 keeps the work so far)
The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.
try 1: src/actions/runs.ts, src/core/runs.ts, src/crew/dispatch.ts, src/http/server.ts, src/web/pages/runs.ts, src/web/studio/held.ts, src/web/studio/home.ts, … try 2: forge.json try 3: forge.json
Split into #11581 (the core rule: a second interruption in a row fails with its reason, with a small in-process test), #11582 (the credit counts the interrupted minutes once) and #11583 (the home line with Try again). Both later pieces wait for #11581. Each is one small pull on named files and stays out of the heavy crew-interrupted suite.
Part of #11539. Today a run interrupted by a restart is queued again each time (
interrupted by a restart; queued again,src/core/runs.ts), so a forge stopped every 90 s loops until its credit is gone.Done looks like:
test/crew-interrupted.test.tscovers: one interruption → queued again; two in a row → failed with the reason, not queued; credit charged once.