wai-formal-verification: two proof shards that had outgrown where they ran #602
Loading…
Reference in a new issue
No description provided.
Delete branch "ci/proof-shards-to-96"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
wai-formal-verification: two proof shards that had outgrown where they ran
A model checker that runs out of time has refuted nothing and proved nothing.
It is the one failure mode a proof gate must not reach by accident, and this
workflow reached it:
kani (isqrt512)failed after 1 h 59 m 46 s againstits own 120-minute budget, on a
linuxrunner with 15 GiB shared by two jobs.The workflow already recorded this failure for a sibling shard, in the comment
above its own matrix: the rans64 totality proof (k26) peaks near 28 GiB, CBMC
ran out of memory on
linux, and it was given a shard of its own onmacos.What that comment then claimed -- "every other shard has run to completion on
the linux runner" -- is what
isqrt512has now falsified. The same box, thesame cause, a different symptom: an allocation error the first time, a timeout
the second.
And the destination of the first move has since become the fleet's most
contended host.
macosis served by a Mac Studio carrying two CI labels, aninference server and a 30-process simulation sweep, measured at load 185 on 32
cores. A 28 GiB harness and a two-hour budget are precisely the workloads that
die first there.
Both shards move to
macos-proofs: a 28-core, 96 GB Mac Studio measured at load~6, with a runner of capacity 1 so a harness never shares the machine.
The label is deliberately narrow, and that is the point. That host has the
Command Line Tools but no full Xcode, no Metal compiler, no node, no Playwright
browsers and no Java. Several hosts already answer the general
macoslabelwith different provisioning, which is how a missing tool arrives as what looks
like a code failure.
macos-proofspromises only what the box has -- rustup,git, curl, cores and memory -- and these shards install their own prover and
cache it.
Also moved, one line: this workflow's
does this change touch itgate, fromlinux-arm64tolinux. Every job here declares that gate inneeds, so onlinux-arm64it waits behind the queue it is rationing -- which would have leftthis change unable to verify itself. #598 makes the same move for all 55 gates;
the two diffs are identical on this line.
What this does not claim: that the proofs are faster, or that the timeout was a
proof problem. Nothing about the harnesses changed. They are being given a
machine where the measured budget is the one they were written against.
Co-Authored-By: Claude Opus 5 [email protected]
🤖 Generated with Claude Code