Repository navigation
spec-guards: ring-096 drift and 8 published-figure pins were hidden behind the seal step #6553
Copy link
Copy link
Closed as not planned
Closed as not planned
Copy link
Labels
Description
Refs #6092
spec-guards has not passed on master since 2026-09-16. The seal-currency step failed first, and that hid the steps after it. #6546 fixes the seal step. On that PR the job now gets one step further and fails on failures that were already on master.
Measured on the Railway t27c lab at master a406f41, with t27c built from master:
tools/check_ring_spec_drift.pyexits 1.ring-096-rustagainstspecs/numeric/formats.t27is DRIFTED: 6 functions are shared and 5 have different signatures.- The spec declares stub signatures such as
fn gf16_to_f32(x: u16) -> gf16 { }andfn quantize_value(x: f32, fmt: Format) -> gf16 { }. - gen-rust lowers these to
u16/f32stubs. - The hand ring
rings/ring-096-rust/src/lib.rsusesf64.
- The spec declares stub signatures such as
tools/published_figures.py --checkexits 1. 8 pinned figures have drifted:[]T{}literals,x.len(),x.len,len(x),a::b::c,OP_*,abs(, and test blocks (pinned 14314, measured 15067).- The pins live in the
FIGURESlist intools/published_figures.py.
check_duplicate_declarations.pyanddiagnostic_capacity.pyexit 0. The CONVERGED-pairs step after them was not run here.
Both repairs touch non-t27 files: either the hand ring, or the Python pin table. The alternative is to change the meaning of formats.t27. Under the 2026-10-05 no-foreign-code rule, this needs an owner decision.
Boundary
specs/numeric/formats.t27rings/ring-096-rust/src/lib.rstools/check_ring_spec_drift.pytools/published_figures.py
User Scenarios
- Given the spec-guards pipeline runs on master after chore(seals): re-seal the 3 stale gen-hash seals that keep spec-guards red #6546 lands, When
tools/check_ring_spec_drift.pyexecutes againstspecs/numeric/formats.t27andrings/ring-096-rust/src/lib.rs, Then it exits 0 because the 5 drifted signatures in ring-096-rust match the spec declarations. - Given the spec-guards pipeline runs on master after chore(seals): re-seal the 3 stale gen-hash seals that keep spec-guards red #6546 lands, When
tools/published_figures.py --checkexecutes, Then it exits 0 because the 8 pinned figure counts in the FIGURES table match the freshly measured values.
Requirements
- FR-001: The hand-written ring
rings/ring-096-rust/src/lib.rsMUST align its 5 drifted function signatures with the stub signatures declared inspecs/numeric/formats.t27(e.g.,gf16_to_f32,quantize_valueusingf64per the ring, or the spec changed tof64). - FR-002: The
FIGURESlist intools/published_figures.pyMUST be updated so that all 8 pinned figure counts (including test blocks: pinned 14314 → measured 15067) match the current measured values from the codebase. - FR-003:
tools/check_ring_spec_drift.pyMUST exit 0 when run againstspecs/numeric/formats.t27andrings/ring-096-rust/src/lib.rsafter the signature alignment. - FR-004:
tools/published_figures.py --checkMUST exit 0 after the FIGURES table is updated to the current measured values.
Success Criteria
python tools/check_ring_spec_spec_drift.py specs/numeric/formats.t27 rings/ring-096-rust/src/lib.rsexits 0python tools/published_figures.py --checkexits 0- The spec-guards job on master passes all steps including CONVERGED-pairs (previously hidden)
Reactions are currently unavailable
Activity
github-actions commentedon Oct 11, 2026
Re-filed as #9043.
An attempt claimed this issue on 2026-10-07 and left an empty branch. A dispatch row that has spent its retry ceiling is released once and then keeps its issue for good, which is the right rule for a third identical failure and the wrong outcome for an issue nobody ever attempted twice. The new issue carries the same work, the same boundary, and today's brief.
Closing this one so the swarm can take the work again.