You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
igla race: purge the 286 vacuous wave-loop tests from ternary_mac and ternary_gemm, assert real values instead #10377
specs/igla/race/ternary_mac.t27 carries 144 and specs/igla/race/ternary_gemm.t27 carries 142 tests that cannot fail: the wave-loop placeholders test ..._wNNN_batch_depth_invariant_N { /* verify baseline */ } (and the multi-line // verify ... plus assert true form), each paired with an invariant ..._depth: true. They pass with zero runtime asserts. tools/assertionless_spec_tests_baseline.txt only pins them. Follow-up to #10371 (PR #10375), which repaired the two specs and deliberately left this pile in place.
Two more placeholders use the form assert(true) (the w339 pair in each file). The ratchet's matcher does not see that form, but they cannot fail either, and they sit inside the same wave tail.
Boundary
specs/igla/race/ternary_mac.t27
specs/igla/race/ternary_gemm.t27
tools/assertionless_spec_tests_baseline.txt
.trinity/seals/race_igla-race-ternary-mac.json
.trinity/seals/race_igla-race-ternary-gemm.json
User Scenarios
Given a reviewer reading the test list of ternary_mac.t27 or ternary_gemm.t27, when they count the tests, then every test in the file can fail, and the count means something.
Given a change to ternary_mul_wide or ternary_mac_wide that returns a wrong value at an i8 corner, when the spec tests run, then a test fails (not only placeholders passing).
Given the assertionless ratchet, when it runs after this change, then both files are gone from the baseline and the total falls by 286.
Requirements
FR-001: Every test whose body is only comments, assert true or assert(true) in ternary_mac.t27 and ternary_gemm.t27 MUST be deleted, together with its paired invariant ... : true and the wave-loop header comments.
FR-002: The real tests and real invariants MUST stay untouched.
FR-003: Replacement tests MUST assert exact values: the widening kernels at the i8 corners for the MAC, and the hand-worked 2x2 case and the all-ones case of specs/igla/coder/ternary_gemm_gpu.t27 for the GEMM.
FR-004: tools/assertionless_spec_tests_baseline.txt MUST be re-blessed in the same commit with tools/check_assertionless_spec_tests.py --bless.
FR-005: Both seals MUST be regenerated with t27c seal --save on the Railway lab.
FR-006: The change MUST be .t27 and data only; every build and test runs on the Railway lab, not on the Mac.
Success Criteria
python3 tools/check_assertionless_spec_tests.py exits 0 and reports neither file.
t27c test-report on both specs exits 0 with 0 failed and 0 blocked on the Railway lab.
t27b test exits 0 on both specs, with the default overflow mode and with --overflow trap.
t27c seal verifies both seals clean against the files on disk.
Activity
igla race: reseal ternary_mac and ternary_gemm after the purge (refs #…
igla race: record ternary_mac parse debt at 1140 (master's file measu…
igla race: delete 290 vacuous wave-loop tests from ternary_mac and te…