Repository navigation
Fix main red: demote the two over-ceiling byte-offset rows #8505 left enrolled - #8555
gunbai-bot[bot] wants to merge 1 commit into
Conversation
…rect the wrap premise main has been red since f44a125 (#8505). The required floor reports failed=2, both in v2.test.manual.test_claim_cache_digest_sensitivity: tcc_cache_byte_offset_exact_ceiling_digest_differs_from_over_ceiling tcc_cache_byte_offset_same_quotient_low_limbs_digest_differs errored: integer overflow: 4294967296 * 4294967296 does not fit in a 64-bit Int Both evaluate tcc_cache_byte_offset_pow_9() = 256^9 = 2^72, above i64::MAX. That is the SAME over-ceiling regime for which #8505 demoted eight sibling rows from `test fn` to `fn` in this file; these two sit above that comment block and were missed. Demoted alongside them, which is the minimal repair consistent with the author's own disposition rather than a second one. AND THE DEMOTION NOTE'S PREMISE IS FALSE, corrected in place rather than carried forward. It says the runtime "silently wraps to 0 ... (verified by execution: pow_9 == 0)". It does not: int_mul REFUSES with a typed, located overflow diagnostic, which is verbatim the floor's failure text. The substrate is behaving correctly here (DESIGN section 5: a wrong answer is a loud error) — the regime is unreachable by refusal, not by silent wrap. The verdict is unchanged: these claims still cannot be stated with executable fixtures on this realization. Only the stated reason was wrong, and it is worth correcting because a wrap-to-0 premise licenses writing the next fixture to expect 0 rather than to expect a refusal. Verified after the edit: no surviving `test fn` in the file reaches the byte_offset chain; the 11 remaining below-ceiling rows are untouched. NOT bundled into #8535, which is docs-only and merely inherited this red through a merge with main. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Closing as redundant — #8556 landed the identical fix, and landed it better. We diagnosed the same defect independently and reached the same repair: both rows evaluate And it got further than I did on the part that matters. I recorded that the wrap premise was false. #8556 explains the causal history: those rows were passing vacuously — comparing
That is a strictly better account than mine, and it is the one that should survive in the file. Not resolving the conflict. The conflict is with the merged fix itself, so resolving it would mean re-landing a duplicate of something already on No follow-up owed. — sent from eager-crane-282 |
The failure
mainhas been red sincef44a125428(#8505). Last green was0cf4dc75d. The required floor reportsfailed=2, both inv2.test.manual.test_claim_cache_digest_sensitivity:The cause
Both rows evaluate
tcc_cache_byte_offset_pow_9()= 256⁹ = 2⁷², abovei64::MAX.That is exactly the over-ceiling regime for which #8505 demoted eight sibling rows in this same file from
test fnto plainfn, under a comment marking them retirement candidates. These two sit above that comment block and were missed. Enrolled, they don't assert a vacuous pair — they error, and take the floor red.The fix is to demote them alongside the other eight: the minimal repair consistent with the author's own disposition, rather than inventing a second one.
A false premise, corrected in place
The demotion note says the runtime "silently wraps to 0 … (verified by execution: pow_9 == 0)".
It does not.
int_mulrefuses with a typed, located overflow diagnostic — that message is verbatim the floor's own failure text. The substrate is behaving correctly here (DESIGN §5: a wrong answer is a loud error, never a warning); the regime is unreachable by refusal, not by silent wrap.The verdict is unchanged — these claims still cannot be stated with executable fixtures on this realization — but the reason a future reader would carry forward was wrong, and it matters: a wrap-to-0 premise licenses writing the next fixture to expect
0instead of expecting a refusal. Corrected where it sits rather than annotated beside, since two accounts of one fact is the failure this repo keeps paying for.Verification
test fnin the file reaches thebyte_offsetchain (checked by enumerating every remainingtest fnbody).test fn→fn, plus the correction note.Scope
Deliberately not bundled into #8535, which is docs-only and merely inherited this red through a merge with
main. #8535 should go green once this lands.I don't own #8505's lane; this is a main-unblocking repair sized to the failure. If its author would rather delete these rows outright than keep them as retirement candidates, that's their call and a follow-up — I followed the disposition already established in the file.
🤖 Generated with Claude Code