Skip to content

The bit-exactness gate cannot see the compiler it proves things about - #2182

Merged
gHashTag merged 1 commit into
masterfrom
loop/t27-bitexact-gate
Aug 18, 2026
Merged

The bit-exactness gate cannot see the compiler it proves things about#2182
gHashTag merged 1 commit into
masterfrom
loop/t27-bitexact-gate

Conversation

@gHashTag

@gHashTag gHashTag commented Aug 18, 2026

Copy link
Copy Markdown
Owner

.github/workflows/emit-bitexact-gate.yml proves the central claim of this project — one spec, four targets, bit-exact. Its paths: filter lists 11 entries and bootstrap/** is not among them.

All four backends live in one file:

backend bootstrap/src/compiler.rs
gen_zig :3437
gen_verilog :6741
gen_c :10522
gen_rust :14382

31,077 lines — and a PR that rewrites the C emitter merges with the cross-target proof never having run.

Second half: green does not mean proved. tools/verify_multitarget.py:21-23skip() calls sys.exit(0) when t27c, cc or rustc is missing. The workflow builds t27c itself (cargo build --release -p t27c) and GitHub runners ship cc and rustc, so a skip in CI means the environment broke — and exit 0 makes proved indistinguishable from never ran.

Fix

  • add bootstrap/** and cli/** to paths:
  • add --require so a missing prerequisite fails in CI, while a contributor without rustc is still not blocked locally

Related but distinct from #2176, which is about tri not building at all.

Closes #2183

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-18 12:05:02 UTC

Summary

Status Count
Total Open PRs 29
PRs with Failing Checks 12
PRs with All Checks Green 17
READY 9
FAILING 12
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=cd2822f290eb != 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).

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

emit-bitexact-gate.yml proves this project's central claim -- one spec, four
targets, bit-exact. Its paths: filter listed 11 entries and bootstrap/** was not
among them, while all four backends live in one file:

  bootstrap/src/compiler.rs   gen_zig:3437  gen_verilog:6741
                              gen_c:10522   gen_rust:14382     (31,077 lines)

So a PR that rewrote the C emitter merged with the cross-target proof never
having run. Added bootstrap/** and cli/**.

Second half: green did not mean proved. verify_multitarget.py exits 0 when t27c,
cc or rustc is missing. The job builds t27c itself and the runner ships the other
two, so a skip in CI means the environment broke -- and exit 0 makes 'proved'
indistinguishable from 'never ran'. --require turns every skip into a failure and
is now what CI passes; the script stays tolerant without it, so a contributor
lacking rustc is not blocked. Verified both ways.

The path filter was checked with a negative control rather than by eye:
bootstrap/src/compiler.rs, cli/tri/src/main.rs and tools/verify_multitarget.py
match; docs/README.md does not. The first attempt at this edit silently failed on
an indentation mismatch and the control is what caught it.

Closes #2183

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gHashTag
gHashTag force-pushed the loop/t27-bitexact-gate branch from 0590092 to 6df8e5b Compare August 18, 2026 12:05
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-18 12:05:44 UTC

Summary

Status Count
Total Open PRs 29
PRs with Failing Checks 12
PRs with All Checks Green 17
READY 9
FAILING 12
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=cd2822f290eb != 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).

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag merged commit f535521 into master Aug 18, 2026
19 of 20 checks passed
@gHashTag
gHashTag deleted the loop/t27-bitexact-gate branch August 18, 2026 12:15
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.

The bit-exactness gate cannot see the compiler it proves things about

1 participant