What
Every Verus proof target fails on main, and has since at least b03a1797:
| run |
sha |
result |
| 2026-09-15T19:49 |
283224d8 |
failure |
| 2026-09-15T16:21 |
e6c65cfb |
failure |
| 2026-09-15T15:53 |
de266599 |
failure |
| 2026-09-13T08:37 |
39f802cd |
failure |
| 2026-09-11T17:42 |
69ed42cc |
failure |
| 2026-09-11T12:12 |
b03a1797 |
failure |
Executed 19 out of 19 tests: 19 fail locally.
It is not the proofs
Each target fails in 0.1 s — they never run. The root error is
environmental:
error[E0463]: can't find crate for `core`
error[E0463]: can't find crate for `std`
The Verus toolchain on the runner cannot resolve the Rust standard library, so
every target dies during compilation before any verification happens.
Why this matters more than a red tick
This is the exact failure #364 and #377 were built to prevent. #364 enforced the
track after discovering "19 proofs were defined and NONE ever ran"; #377 found
the new gate "has never passed — and it was hiding 2 broken ones". The gate
now exists and is red, which is strictly better than green-and-empty — but the
outcome for the verification posture is the same: the Verus track is
currently evidence of nothing, and has been for four days.
Verus is not in the required-contexts set, so it has not blocked any merge
during that window.
Where to start
The failure is in toolchain resolution, not in any proof, so it is likely one
of: a rules_verus toolchain pin that no longer resolves its Rust sysroot, a
runner image change, or a --platforms/sysroot mismatch introduced when the
gate moved. Compare a passing run from before 2026-09-11 against 283224d8 —
the proofs themselves are unchanged across that boundary, which narrows it to
the environment.
Related: #397 — //:falcon-cascade has not built under Bazel since #393, so
the cascade's witness MC/DC coverage is also not being produced. Two toolchain
gates on main are currently dark.
Falsification
Wrong if bazel test //:relay_primitives_verus_test passes on current main in
CI.
What
Every Verus proof target fails on main, and has since at least
b03a1797:283224d8e6c65cfbde26659939f802cd69ed42ccb03a1797It is not the proofs
Each target fails in 0.1 s — they never run. The root error is
environmental:
The Verus toolchain on the runner cannot resolve the Rust standard library, so
every target dies during compilation before any verification happens.
Why this matters more than a red tick
This is the exact failure #364 and #377 were built to prevent. #364 enforced the
track after discovering "19 proofs were defined and NONE ever ran"; #377 found
the new gate "has never passed — and it was hiding 2 broken ones". The gate
now exists and is red, which is strictly better than green-and-empty — but the
outcome for the verification posture is the same: the Verus track is
currently evidence of nothing, and has been for four days.
Verusis not in the required-contexts set, so it has not blocked any mergeduring that window.
Where to start
The failure is in toolchain resolution, not in any proof, so it is likely one
of: a
rules_verustoolchain pin that no longer resolves its Rust sysroot, arunner image change, or a
--platforms/sysroot mismatch introduced when thegate moved. Compare a passing run from before 2026-09-11 against
283224d8—the proofs themselves are unchanged across that boundary, which narrows it to
the environment.
Related: #397 —
//:falcon-cascadehas not built under Bazel since #393, sothe cascade's witness MC/DC coverage is also not being produced. Two toolchain
gates on main are currently dark.
Falsification
Wrong if
bazel test //:relay_primitives_verus_testpasses on current main inCI.