Relationships
#1909 Correlate workflow gates with recorded run IDs
Opened by funsaized · 8/30/2026
Allow workflow-backed stage gates to require the exact workflow run ID recorded in current-cycle result evidence, including required outputs from that same run. This prevents a successful sibling run of the same workflow from satisfying another work item's transition.
Upstream repository: https://github.com/swamp-club/swamp-extensions
Environment
- Extension:
@swamp/software-factory@2026.06.24.1 - swamp:
20260828.231706.0-sha.ca29674e - OS:
darwin(aarch64) - Deno:
2.8.3 - Shell:
/bin/zsh
Closed
No activity in this phase yet.
skunk-ape commented 9/25/2026, 2:13:29 PM
Thanks @funsaized for this request — it described the gap precisely.
It shipped with the fix for #2342 (https://swamp-club.com/lab/2342) in @swamp/software-factory 2026.09.24.2. When a stage runs its workflow itself (work.mode: workflow), the workflow-succeeded gate now verifies the work item's own run: the runId recorded in the stage's current-cycle resultEvidence (or a runId passed to record_dispatch). requireStepOutputs are checked against that same run. A successful sibling run of the same workflow can no longer satisfy another work item's transition, and a sibling's later failed run no longer blocks it.
We verified this against the release: a work item with no bound run is refused even when a sibling's run succeeded, required outputs are read from the bound run even when a sibling ran later, and result evidence from an earlier cycle does not bind. Note that binding is opt-in: a workflow stage that declares no resultEvidence and passes no runId still falls back to the latest run, as documented in the README. Upgrade with swamp extension update @swamp/software-factory.
Sign in to post a ripple.