ci: guard cmux-tui Linux pool selectors
Fix-forward for #30622 at abf86a4d99b6b1211ea8c3a0612fdfba4f41e1ed.
The cmux-tui package Linux selectors now use the live RUNNER_POOLS.linux value only when it is a non-Blacksmith label, and reject Blacksmith-valued inputs before applying the measured overflow switch. This preserves the owner and fork branches while preventing stale pool values from bypassing the outage fallback.
The compile-runner guard now models the pool branch and the guarded input, covering both outage-switch and fork-routing contracts.
Validation:
python3 -m unittest tests.test_ci_linux_compile_runners tests.test_cmux_tui_artifacts_linux_runner_set tests.test_ci_portable_job_placement -q(46 passed)git diff --checktests.test_ci_blacksmith_linux_failoverretains one unrelated base failure incmux-next-chromium-currency.yml.
Agent session: agent session
![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
Fix-forward for #30622: guards the cmux-tui Linux pool selectors so a stale or Blacksmith-valued pool label can no longer pin jobs to an empty pool instead of the measured overflow fallback.
- Rejects
blacksmith-*values frominputs.linux_runner,vars.LINUX_RUNNER, andvars.RUNNER_POOLS.linuxin the package workflow selectors. - The artifact daemon's Linux picker (
REQUIRE_LIVE_CAPACITY=1) emits the fleet label only when a live online runner carries it; otherwise the daemon job takes the measured Blacksmith fallback. - The live runner read now lists the approved
cmux-fleet-linuxorg group alongsideglaeda-minis, proving fleet registration instead of trusting repository variables or snapshots.