dispatch_workflow: response-decode error returned after the workflow already fired → false-negative re-dispatch risk #7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: HIGH (silent-wrong with side-effect)
Symptom (reproduced live 2026-06-17)
dispatch_workflow(workflow="api-tests.yml", ref="<branch>")returns:But the workflow DID fire — verified: run
id=6567 / #4915 "API tests"was created at 08:33Z on the branch tip, a third run beyond the two original push runs. The POST landed; only the run-info read-back failed to decode.Why this is dangerous
The error makes the caller believe the dispatch failed → it re-fires → duplicate runs. Combined with the
list_workflow_runsstale-page bug (separate issue), the fresh run is also invisible in the listing, so the caller can't even confirm it landed.Fix — already written, just unmerged
Commit
d8e1700on branchfix/dispatch-tolerate-runinfo-decodefixes this correctly: it treats anyDispatchWorkflowResponsedecode error the same as the existing 204 path (dispatch landed, handle unreadable → fall back to the Actions-list summary). Needs a PR → merge tomain+ release. No code rewrite required.Found by the forgejo-mcp tool-call forensic audit, 2026-06-17.