Skip to content

sweep every checker, and say what the step actually proves (Refs #2161) - #2598

Merged
gHashTag merged 1 commit into
masterfrom
fix/step-name-is-the-claim
Aug 23, 2026
Merged

sweep every checker, and say what the step actually proves (Refs #2161)#2598
gHashTag merged 1 commit into
masterfrom
fix/step-name-is-the-claim

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

tri gate-sweep selected files matching check_* or *gate*so it measured the naming convention. Thirty checkers live in tools/; thirteen had never been swept, including every verify_*, the fuzzer and the generators. It now takes every non-private .py and lets the reader judge what belongs — the same call this campaign made for gate selection: choose by property, not by what someone called the file.

CRASH: 0 across all thirty.

The thirteen contained five correct skips (all fatal under --require — checked, because a skip that is not is a pass wearing another word), one generator raising FileNotFoundError on the catalog it reads, and one claim.

The claim

The workflow ran a step called:

Prove the trainer LEARNS (XOR 4/4 + nonlinear held-out >=90%, incl. deep 3-layer)

The tool is pure Python. No t27c, no .t27 spec, no iverilog. It generates backprop microcode, runs it on a bit-faithful GF-T interpreter, and asserts on the text of the Verilog it emits. It passes unchanged in a directory containing nothing but itself — which is how the scope was noticed, and is not something reading the step could reveal.

The tool's own docstring was honest and precise. The overclaim lived entirely in the step name — and the step name is the claim most people read. Nobody opens the tool; they read a green check and a sentence, and the sentence said the trainer learns, which a reader takes for the compiler, the RTL, or the board.

Renamed to what it proves, with the reason in a comment above it, and a what this does not establish block added to the tool naming the three claims it is not: that the compiler produces this microcode, that the emitted Verilog simulates, that any of it works on silicon.

An honest tool under an overclaiming name is the most durable kind of wrong number, because every individual artefact is accurate. §90 and §91.

Refs #2161

`tri gate-sweep` selected files matching `check_*` or `*gate*` -- so it
measured the naming convention. Thirty checkers live in tools/; thirteen
had never been swept, including every verify_*, the fuzzer and the
generators. It now takes every non-private .py in tools/ and lets the
reader judge what belongs, which is the same call this campaign made for
gate selection: choose by property, not by what someone called the file.

The thirteen contained five correct skips (all fatal under --require,
checked -- a skip that is not is a pass wearing another word), one
generator raising FileNotFoundError on the catalog it generates from,
and one claim.

  CRASH: 0 across all thirty.

THE CLAIM. emit-bitexact-gate.yml ran a step called

  "Prove the trainer LEARNS (XOR 4/4 + nonlinear held-out >=90%, incl.
   deep 3-layer)"

The tool it runs is pure Python. No t27c, no .t27 spec, no iverilog. It
generates backprop microcode, runs it on a bit-faithful GF-T
INTERPRETER, and asserts on the TEXT of the Verilog it emits. It passes
unchanged in a directory containing nothing but itself, which is how
the scope was noticed and is not something reading the step could
reveal.

The tool's own docstring was honest and precise. The overclaim lived
entirely in the step name -- and the step name is the claim most people
read. Nobody opens the tool; they read a green check and a sentence,
and the sentence said the trainer learns, which a reader takes for the
compiler, the RTL, or the board.

Renamed to what it proves, with the reason above it, and a "what this
does not establish" block added to the tool naming the three claims it
is NOT: that the compiler produces this microcode, that the emitted
Verilog simulates, that any of it works on silicon.

Refs #2161
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

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

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-23 19:58:28 UTC

Summary

Status Count
Total Open PRs 2
PRs with Failing Checks 1
PRs with All Checks Green 1
READY 0
FAILING 1
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=76fdc57c6caa != 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 cd9787b into master Aug 23, 2026
36 of 37 checks passed
@gHashTag
gHashTag deleted the fix/step-name-is-the-claim branch August 23, 2026 20:09
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