ci(nightly): retry secret-free Mac jobs on the fleet pool
Leo: "why are changes to these not in my current nightly". The freshness rule is that each feed's newest published source stays within 30 minutes of its branch's newest landing.
A failed-jobs rerun retains the old picker result. Run 41253243235, attempt 2, queued its DMG image on the Blacksmith alternate after the app build and notarization succeeded. The three secret-free Mac jobs now rejoin the configured owned nightly pool, then the owned side pool, before Blacksmith once on attempt 2 retaining attempt 1's picker. Later reruns retain the existing Blacksmith alternate, so an unavailable fleet can overflow. Fresh picks keep precedence, the fleet switch still applies, and Xcode selection follows the chosen route. The secret-bearing DMG signer is unchanged.
The affected jobs compile nothing and reuse the built app and DMG artifacts; their existing warm-source exemptions still apply. Prior art: #26891 established current-attempt owned selection and matching Xcode pins; the existing legacy verify already has a pooled fallback. #27444 concerns classic's separate picker and is not changed here.
Validation: fleet tests pending. Regression cases execute all three runner and Xcode expressions for stale/fresh picks, attempts 2/3/4, disabled fleet routing, missing nightly/side pools, other branches, and forks.
Performance:
| Metric | Before | After | Delta | Harness |
|---|---|---|---|---|
| Secret-free Mac jobs forced to Blacksmith on a stale-picker rerun with a configured fleet pool | 3 | 0 | -3 | runner-expression regression cases |
| Blacksmith minutes/day | Not measured | Not yet measured after deployment | No measured claim | No new build or test work; eligible reruns move to fleet |
Agent session: agent session
🤖 Generated with Claude Code
![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
Fixes nightly CI reruns so secret-free Mac jobs on nightly-next with fleet routing enabled rejoin the owned fleet pool on attempt 2 instead of queuing on the Blacksmith alternate with attempt 1's stale picker.
On a failed-jobs rerun, attempt 2 now uses the configured owned or side pool runner and the matching PR Xcode pin. Attempts 3+ keep the existing Blacksmith overflow, and fresh runs keep their normal pool selection. Adds regression tests covering stale and fresh picks, attempts 2/3/4, disabled fleet routing, missing pools, other branches, and forks.