Skip to content

fix(dupe-bodies): rem_int calls arena_heap's is_pow2 instead of copying it (Refs #10431) - #10453

Merged
gHashTag merged 1 commit into
masterfrom
fix/dupe-is-pow2-rem-int
Oct 18, 2026
Merged

gHashTag merged 1 commit into
masterfrom
fix/dupe-is-pow2-rem-int

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

What

Master's "Duplicate Body Ratchet" has been red since 89254d2: a body written under is_pow2 is now copied [2] time(s) and was in no ledger.

Cause: cc598ec (#10431) added ri_is_pow2 to specs/tri/t27b/conformance/rem_int.t27 as a byte-for-byte copy of specs/ml/arena_heap.t27's is_pow2.

Fix

Remove the copy instead of ledgering it. rem_int.t27 now has use ml::arena_heap; and asserts on is_pow2 directly, the same way libm_logf.t27 uses tri::t27b::libm. The 7 asserts are unchanged. The duplicate-body ledger is untouched (corpus 686 -> 684 bodies, 197 -> 196 groups).

The seal of rem_int was re-saved with t27c seal --save (no --force); its closure now holds arena_heap.

Verified on the Railway lab

  • python3 tools/dupe_scan.py: ok, no new duplicate body and no known group grew
  • t27c check: OK
  • t27c test-report on rem_int.t27: 8/8 pass, 0 vacuous (12 runtime asserts in the corpus test); arena_heap.t27 10/10
  • t27b build --elf accepts rem_int.t27 (the lab is x86_64, so t27b test itself runs in the arm64 t27b native CI job)

Refs #10431

🤖 Generated with Claude Code

…ng it (Refs #10431)

cc598ec (#10431) added `ri_is_pow2` to specs/tri/t27b/conformance/rem_int.t27
as a byte-for-byte copy of specs/ml/arena_heap.t27's `is_pow2`. That is a new
duplicate body no ledger holds, so the Duplicate Body Ratchet has been red on
master since 89254d2.

rem_int now says `use ml::arena_heap;` and asserts on `is_pow2` itself, the way
libm_logf.t27 uses tri::t27b::libm. The 7 asserts are unchanged; the ledger is
not touched (the corpus goes 686 -> 684 bodies, 197 -> 196 groups).

Seal of rem_int re-saved through `t27c seal --save` (its closure now holds
arena_heap). On the Railway lab: dupe_scan ok, `t27c check` ok,
`t27c test-report` 8/8 pass (12 runtime asserts in the corpus test), and
`t27b build --elf` accepts the file.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-18 12:35:41 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 50
PRs with All Checks Green 0
READY 0
FAILING 50
PENDING 0
NO CHECKS YET 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=fad12492937a != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit a3ea554 into master Oct 18, 2026
32 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant