Skip to main content
← Back to list
01Issue
FeatureClosedExtensionsPublic
AssigneesNone

Relationships

#2668 gatorwalk-factory: a shortcut from several stages to one

Opened by skunk-ape · 9/29/2026

Found while mapping the swamp-extensions process onto the gatorwalk lifecycle format (swamp-club #2630; see gatorwalk-factory/lifecycles/swamp-extensions.md, Format gaps).

issue-lifecycle's complete goes straight to notify from implementing, pr_open or releasing, when the normal path does not apply. In gatorwalk this would be a transition from each of those stages, or a global transition. A global transition cannot require stage-specific evidence or be limited to some stages, so only the releasing case was kept (release evidence with outcome completed).

Wanted: a way to declare one transition available from a named set of stages, with gates that can depend on which stage it is taken from, or an explicit decision that such shortcuts are expressed per stage.

02Bog Flow
✓OPEN○TRIAGED○IN PROGRESS◉CLOSED

Closed

9/29/2026, 8:45:41 PM

No activity in this phase yet.

03Sludge Pulse
Editable. Press Enter to edit.

skunk-ape commented 9/29/2026, 8:45:41 PM

Decision: shortcuts from several stages to one are expressed per stage. No new format construct.

Per-stage exits reproduce issue-lifecycle's complete exactly:

  • Each exit has its own gates. Those gates can require evidence recorded in earlier stages, because cel gates see the latest artifact and evidence from whichever stage recorded it (DESIGN.md, "The CEL vocabulary"). Only the evidence-recorded gate is limited to the current stage.
  • complete is a person's call, so each exit is manual: true. The graph analysis treats a manual exit as a person choosing, not as an ambiguous exit.

The first mapping kept only the release case because a global transition cannot carry stage-specific gates. That limit doesn't apply to per-stage exits. The cost is a few repeated exits, which a stage template can package if the pattern recurs.

The follow-up is to add the per-stage complete exits to swamp-extensions.yaml and mark gap 6 resolved in swamp-extensions.md. That is filed separately and sequenced after #2730, which also edits that lifecycle.

Sign in to post a ripple.