Relationships
⊘ blocked by #2774#2775 gatorwalk-factory: restart at triage keeping what was recorded (gap 7)
Opened by skunk-ape · 9/30/2026
This closes gap 7 in lifecycles/swamp-extensions.md:212-215. #2734 and #2732 put it off.
The difference
- issue-lifecycle:
startfrom any phase puts the lifecycle back attriagingand keeps every resource. The plan, reviews and verification stay readable, and the nexttriageandplanbuild on them. It poststriage_startedagain (extensions/models/issue_lifecycle.ts:914-990). Its status moves are no-ops once the issue is further along (changelog 2026.09.25.1). - gatorwalk:
resetstarts a new era. Earlier products, approvals and dispatches stay recorded but "belong to the old era, so no gate sees them" (DESIGN.md:306-308). CEL, bindings andcontext.injectsee nothing from before. No entry is posted for a reset (swamp-extensions.md:148-149).
Why it matters
In the pilot, reset is the only way back from a wrong classification once past reproduce. It throws away the plan and reviews the next pass should build on. The Lab history also shows nothing about the restart.
Fix direction
This may be possible in the YAML with no format change: a global, manual restart to triage behind a human-approval gate, like abandon. It stays in the era, so everything recorded remains visible, and entering triage posts triage_started again.
Decisions for the implementer:
- Cycle limits. Global transitions are exempt from cycle limits (
DESIGN.md:302-305, :408-410). They were meant as escape hatches, andrestartwould make them a loop. Decide whether that is acceptable or whether a non-terminal global target should count againsttriage'smaxCycles. Check what the graph analysis reports for it (escape-onlyand the count pass). - Stale era-wide products. CEL
evidence[...]reads the latest record in the era from any stage (swamp-extensions.yaml:26-29). Check every CEL gate pastimplementfor one that an oldverificationorconformancecould satisfy after a restart.attest.completeandmerge.completeare only reachable after a freshverify.passed, but show that in a test. - Reset or restart. If a format change is preferred, it could be
resetwith akeepoption. Say why.
Done when
- A walk test restarts from
implementtotriage. The earlier plan and review are readable and injected, the next exits still need fresh products this cycle, and no complete exit opens on stale ones. validatepasses with no new errors.- Gap 7 is marked resolved, and the Phases table row for
startreads "Fits".
Closed
No activity in this phase yet.
skunk-ape commented 10/5/2026, 7:08:04 PM
Closing with stagecraft's first release (@swamp/stagecraft 2026.10.02.1). This was a design gap recorded before launch and nothing in use has asked for it. If it matters in practice it will resurface from actual use, and this issue can be reopened or refiled with the case that needs it.
Sign in to post a ripple.