ci: require a real Release result for nightly admission
Problem
release-compile-fast was named cmux-next Release compile (Xcode 26) even when its client lacked --release. In that case it reported verdict=unavailable and exited successfully, while the Mac fallback could be refused. The promotion guard matches only the job name and success, so a commit could be promoted without any Release compile (for example dfe61743e1, run 40070427727).
Change
- Rename the fleet wrapper to
cmux-next Release compile (fleet fast check). - Add a small admission job with the stable gate name that runs only when the fleet wrapper's verdict is
pass. - Keep the existing Mac fallback as the same stable gate name when the fleet check is unavailable or fails.
- Add a workflow regression assertion covering the exact-name/pass-only contract.
This complements #24822, which handles a no-verdict fallback route in the adjacent Release job conditions. Together they preserve the fallback while ensuring promotion never treats an unavailable wrapper as a Release compile.
Changelog
- Fixed: promotion admission cannot be satisfied by an unavailable fast-check wrapper.
Validation: targeted tests.test_cmux_next_checks_workflow passes all new and relevant gate tests; two pre-existing base-red routing assertions remain red (GeneratedFilesRunner.test_the_session_lane_label_comes_after_the_fork_clause, PathRoutingStructure.test_bot_attempt_three_drops_stale_owned_pool_placement). actionlint reports the existing base workflow-dispatch limit (11 inputs, unrelated to this diff). git diff --check passes.
Agent-Session: 01a16a6a-b5f9-7fe3-8cde-3987dc52cd17
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Prevents nightly promotion from treating an unavailable fast-check wrapper as a Release compile. The wrapper used the stable gate name cmux-next Release compile (Xcode 26) even without a --release client, reporting verdict=unavailable while exiting successfully, so promotion could be satisfied without any real Release compile. The wrapper now has a distinct job name, and a new admission job with the stable gate name runs only when the wrapper reports a pass verdict.
- Renames the fleet wrapper to
cmux-next Release compile (fleet fast check). - Adds an admission job with the stable gate name that requires the wrapper's
verdict == 'pass'. - Keeps the Mac fallback on the same stable gate name when the fast check is unavailable or fails.
- Adds a workflow regression test covering the exact-name/pass-only contract.