Craft's release gate requires Mobile E2E Testing from the exact release SHA, but mobile-e2e.yml puts release commits and ordinary main pushes in the same concurrency group. A newer push can replace the pending release run even though cancel-in-progress is false. Main CI already isolates release SHAs in commit 16169be3; the required mobile workflow does not.
Observed at source 806d3d52ec876dccc441bee70b2d922ebbf1a072: release 0.0.421's Mobile run 41393707644 is pending behind source-fix run 41392462905. We are preserving those runs, holding newer source pushes, and have not canceled or bypassed either gate. This is a reproducible queue-policy defect, not a claim that this mobile run has already been canceled.
The maintained workflow expression test should demonstrate that the release SHA's group currently equals an ordinary main push's group. GitHub documents replacement of the existing pending run in a shared single-slot group: https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/control-workflow-concurrency
Acceptance:
- Give each release commit a mobile acceptance group that later main pushes and other release SHAs cannot replace.
- Preserve ordinary main queue behavior, pull request supersession, focused-scope separation, and the complete exact-SHA release gate.
- Reuse the established CI release-commit recognition policy and existing workflow expression tests. Do not add dispatch retries, bypass native gates, broaden focused checks into release acceptance, or change runner/test budgets.
- Verify source workflow tests, lint, and the actual required native gate on a subsequent release. Retain the original pending 0.0.421 acceptance evidence separately.
Related owning-source work: https://github.com/craft-native/craft/issues/434 and https://github.com/craft-native/craft/issues/435 . Delivery tracking: https://github.com/stacksjs/the-settlers-iii-remake/issues/15 and https://github.com/stacksjs/stacks/issues/2958 .