ci(nightly): route legacy identity target through fleet Linux

Merged
TE
5d ago
+201-123

Nightly run 41279553524 waited 25 minutes for Blacksmith-32 to run legacy-identity-target, which then finished in 14 seconds. This job now gets a fresh fleet placement after its build/publication prerequisites, rather than reusing the early signing pick.

Leo's request (2026-11-01): "Route it through the fleet-first picker (GCP pool, or GitHub-hosted Ubuntu under the light-job exception, since it's a 14 s light job) with Blacksmith only as overflow, add it to the CI pin test, and land it on review."

The new light picker reads live runner inventory and a fresh queue snapshot. It emits the canonical fleet Linux pool only when its registered members are Linux and an online, idle runner exists beyond queued demand. Fresh but unavailable capacity gets a bounded 180-second admission window; missing or stale observations immediately retain overflow. The existing moving Linux picker chooses Blacksmith overflow with a measured 4-vCPU default and a separate retry route. Failed-job retries cannot reuse an old fleet observation.

legacy-identity-target retains its release-next environment and release App credential. It is not declared hosted-light and never accepts arbitrary LINUX_RUNNER labels or a shared Mac. Only its routing picker gets the existing hosted-light exception and routing App key. No secret scope or runner trust policy changes. The existing fork Ubuntu branches are preserved; the credentialed job remains restricted to this repository and nightly-next.

The workflow uses equivalent YAML anchors to fit the existing 508,000-byte guard; parsed workflow equality was checked for anchor-only edits. Current workflow: 507,931 bytes. This metadata control does not compile and needs no DerivedData or shared compile cache.

Validation: 253 of 254 focused routing, placement, trust, fork, and size tests pass. The one failure (platform-dev-secrets.yml:27 fork routing) reproduces identically on base 1982cb11cee2e5a0aa7e806bba09aa06a108ed07. The three existing visual-advisory step-coverage registry errors also match that base exactly. Static prepush gate and diff whitespace check pass. Broad verify-local reports pre-existing localization parity/package-group debt outside this diff; no native or web source changed.

PerformanceBeforeAfterDeltaEvidence
Legacy control queue25 minFresh fleet admission, at most 180 s before available overflow selectionProduction result pendingRun 41279553524; placement deadline tests
Control execution14 sUnchanged payloadNo execution speed claimRun 41279553524
Blacksmith minutes/dayNot measured for this isolated controlFleet placement can remove its paid execution; default overflow drops 32 to 4 vCPUProduction measurement pendingExisting runners.json measurement; no paid-capacity assumption

Agent session: agent session