Development record
the-restart-reads-the-forge-and-the
Summary
What the restart path still owes after spc-2611041706004822. The record, the listing and the take-over have landed: a successor lists every run from what it wrote down, collects before it restarts, and starts nothing twice. What remains reads what the listing does not yet: a pull request's state on the forge and the records a crashed copy stranded, and each agent's own process from the launch ledger in place of the process that started it. iss-2610110915210571, which the closed spec's step 2 named, was fixed by d7c05e9cb before this branch, with its test; this work added the stop's clearing of a judgement and the listing that names one, and the record is resolved naming that commit. The intent stays planned until this spec closes.
Footprint
- packages: internal/core/implement/loop/resume.go
- tests: internal/core/implement/loop/resume_test.go
Steps
- Open pull requests a crash left drifting (AFTER)
- priority: AFTER
- login: none
- needs: none
- packages: internal/core/implement/loop/resume.go
- tests: internal/core/implement/loop/resume_test.go The listing names each pull request from the state without a network read; reading the forge for its queue state (iss-2610241414414823) and sweeping records a crashed copy stranded (iss-2610241107435264) are later.
- Each agent's own process, from the launch ledger (AFTER)
- priority: AFTER
- login: none
- needs: none
- packages: internal/core/implement/loop/resume.go
- tests: internal/core/implement/loop/resume_test.go Once itd-2611031342011261 lands, an agent is alive or lost by the process its ledger entry names rather than by the process that started it.
Frontmatter
| id | spc-2611050505250705 |
|---|---|
| type | spec |
| lifecycle | open |
.abcd/development/specs/open/spc-2611050505250705-the-restart-reads-the-forge-and-the.md
open on GitHub ↗ · commit history ↗
References1
- itd-2611041549461012A session that takes over a run steps on from what abcd wrote downimplements
mentions5
- iss-2610110915210571A drain that an outage stops while it waits on a host judgement keeps its judging entry: that move prints 'awaiting the host judgement' beside 'ended: the run gave up', and a --judgement given afterwards is refused. Nothing wrong is written, but the drain both claims to wait and refuses the answer.
- iss-2610241107435264A crashed copy strands records it reserved but never pushed, and nothing says so. After the 2026-10-24 crash, origin holds expired reservations whose footprints name records that exist nowhere on origin. Under reservation iss-2610222001116066 they are:
- iss-2610241414414823When a copy crashes, its open pull requests stay open and drift: by 2026-10-24 two of them (#1110 and #1116) conflicted with main after 89 and 128 commits, and nothing noticed or repaired them. A session had to find them, merge main into each by hand, resolve the conflicts and queue them, while the work they carried (a major issue's fix among it) stayed unmerged.
- itd-2611031342011261abcd keeps a per-session ledger of every agent it launches
- spc-2611041706004822A session that takes over a run steps on from what abcd wrote down