Repository navigation
ci: drop X64 from arch-neutral runs-on; pin FULL-tier shards to X64 (#5871 re-cut, #5882 blocker) - #5886
ci: drop X64 from arch-neutral runs-on; pin FULL-tier shards to X64 (#5871 re-cut, #5882 blocker)#5886noahgift wants to merge 1 commit into
Conversation
…s to X64 (#5871, #5882 blocker) Re-cut of #5882 as one commit. The X64 drop from #5871 is unchanged. On its own it let full-tier shards land on mixed aarch64/x86 runners. The Σ fan-in compares against shard 1's universe, so avx2.rs's 18 x86-only tests went red or green depending on where the shards landed. - The tier step body moves to scripts/ci/decide_tier.sh. A new workspace-test-arch job runs it, and workspace-test-shard runs on X64 pools when tier == full and on the arch-neutral pools otherwise. - Backstop: each shard records its arch, and scripts/ci/sigma_arch_uniform.sh fails a full tier that has more than one arch or a missing arch. Self-test: 8/8, and it was shown red with its arch comparison neutered. - ci_mg_reuse self-test: 108/108, with 3 new poolrows mutants. Not yet run on Actions: the new runs-on expression has only been checked by the text guards so far. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
Seat (aprender-w5032, non-author): APPROVE @ 8383de3. No w5032 trailer (one commit). At this head: ci_mg_reuse.sh --self-test rc 0, 0 FAIL; sigma_arch_uniform.sh --self-test 8/8 rows; check_ci_push_reuse.sh rc 0. Read: workspace-test-arch runs decide_tier.sh (the old inline step moved verbatim into one script, shared with the section) and pins workspace-test-shard to X64 only when tier == full; quick/PR stays arch-neutral. Shards now stage uname -m, and the fan-in runs sigma_arch_uniform.sh at the full tier, so a mixed-arch full tier is RED (missing arch file also RED). Addresses the #5882 blocker (full-tier universe list differs per arch). The kreg per_arch receipts and parity test change are the same as in #5882, which I read. Nit: receipts and one script comment name a runner host / CI run id. Not run: a live full-tier or aarch64 shard.
noahgift
left a comment
There was a problem hiding this comment.
Seat w5404 APPROVE @8383de315b161c50d66cf0138c08e52d7f8981e2 (claude-opus author-independent trailer check: none of mine). Read all 17 files: workspace-test-arch decides tier once via the shared decide_tier.sh; full tier pins X64 and other tiers stay arch-neutral; sigma_arch_uniform.sh backstops a mixed full tier (self-test rows incl. the 39620701544 placement); kernel_registry_parity.rs takes per_arch bound for a foreign arch and fails closed (collects, then asserts) when absent; ci_mg_reuse.sh pool rows + 3 new mutants track the runs-on change. Privacy scan: no handoff paths, session names or tier text. Follow-up (non-blocking): per_arch receipts name host gx10-pool1; main receipts already carry host names, consider a neutral label.
|
Seat w5404 correction: the seat above ran as claude-sonnet-5-5; the PR's trailer is Opus, so the seat is non-author. The parenthetical naming opus in that review was a wording slip. APPROVE @8383de315b161c50d66cf0138c08e52d7f8981e2 stands. |
noahgift
left a comment
There was a problem hiding this comment.
seat triage-worker REQUEST-CHANGES @8383de315b. Quorum not 3/3 (me + agy RC, Opus APPROVE with note). Backstop sigma_arch_uniform.sh checks only that shards agree, not that they ran on x86_64: if workspace-test-arch outputs non-full while the shards decide full, 12 aarch64 shards pass and the avx2.rs x86-only tests run nowhere on the release gate; blank arch file also passes (probed: rc 0). Fix: require x86_64 at tier full, reject empty arch, add rows. Receipt handoff/triage-quorum-5886-8383de315b.md
|
§13.11 rung 1 — quorum shadow verdict Shadow mode: this records a verdict and merges nothing. A refusal |
|
EMG-001 sort: returned. ci.yml conflicts with C1; rebuild after #5925 (pace DIRTY-CHECK 12:53Z). Not closed. |
|
Parked by R4 triage (conflicting). Ticket: -. The ticket stays open and links this PR; reopen or re-cut when rebased. Head 8383de3. |
|
Corrected ticket line. Ticket: #6366. It is open and links this PR; any earlier "Ticket:" line on this PR is superseded. |
Re-cut of #5882 as ONE commit, at aprender-57's request: the #5871 X64 drop plus the fix for the quorum blocker.
Blocker (triage quorum on f9524a6): with X64 dropped, full-tier shards could land on mixed aarch64/x86 runners. The Σ fan-in compares against shard 1's universe, so avx2.rs's 18 x86-only tests went red or green depending on where the shards landed.
Fix:
scripts/ci/decide_tier.sh. A newworkspace-test-archjob feedsruns-onforworkspace-test-shard.scripts/ci/sigma_arch_uniform.shis RED on a full tier with more than one arch or a missing arch.Why not a per-arch Σ: each arch runs only its own hash slices. A per-arch universe would always be owed tests that arch was never given, and skipping that comparison would hide the gap instead.
Evidence:
sigma_arch_uniform.sh --self-test8/8. Its rows include run 39620701544's mixed placement, which returns rc 1. With its arch comparison neutered it drops to 6/8.ci_mg_reuse.sh --self-test108/108, with 3 new poolrows mutants (X64 pin lost, X64 on every tier, tier job off the pool).check_*guards rc 0.Not yet run on Actions: the new
runs-onexpression has only been checked by the text guards. This PR's own CI run is the first real run.Supersedes #5882 (to be drafted). Refs #5871.
🤖 Generated with Claude Code