Relationships
#4249 datastore v3: in a serve-mode checkout, a run that reports suspended can leave its record at running, so serve refuses to approve it
Opened by stack72 · 11/1/2026
Found while live testing swamp-club#4245; reproduces on main at d1bb1cf23 with no changes from that work.
In a checkout written through serve (format 3 filesystem datastore, serverAddress set), run a workflow with a manual_approval step several times with swamp workflow run NAME --json. The command prints status suspended with approvalRequired and exits 0, but on some runs the local workflow-runs record and swamp workflow history get stay at status running, with the gate pending. Nothing is logged at debug level, and it does not catch up after a delay.
Observed on main: runs 1, 3 and 4 of four stayed running and run 2 was suspended. On the 4245 branch the first run after serve starts usually landed and later ones did not, so it looks intermittent rather than ordered.
Impact: approve or reject sent to serve answers that the run is not suspended (status running). The stuck run is later reaped as interrupted when serve restarts.
Expected: the suspended record lands before the command reports suspended, or the command reports that it did not.
Triaged
Click a lifecycle step above to view its details.
Sign in to post a ripple.