Skip to content

fix(ci): restore the bit-exact gate a salvage commit overwrote - #5498

Merged
dmitrii-f-t27 merged 1 commit into
masterfrom
fix/restore-verify-emit-bitexact
Oct 2, 2026
Merged

dmitrii-f-t27 merged 1 commit into
masterfrom
fix/restore-verify-emit-bitexact

Conversation

@dmitrii-f-t27

Copy link
Copy Markdown
Collaborator

What

tools/verify_emit_bitexact.py is restored byte for byte from 38eac3aa^.

The salvage commit 38eac3a (#4812, "commit what the turn left uncommitted") put a bee's unrelated draft over this file. The draft imports MAXWIDTH from gft_backprop_microcode, which has never defined it, so the step "Generated RTL is bit-exact to the GF-T model on the listed topologies, and they synthesize" has failed at import since 2026-09-25. Nobody saw it, because check_specs_generate.py fails one step earlier and the job stops there.

tools/gft_backprop_microcode.py has not changed since 38eac3aa^, so the restored check runs unmodified.

Evidence, on master 756bcff

  • 11 topologies: RTL == model BIT-EXACT over 80 training steps, every output compared per step.
  • ALL ONE-MULTIPLIER: each module keeps one shared smul and one shared sadd.
  • ALL SYNTHESIZE: yosys synth_xilinx maps the three listed topologies (13659 / 17182 / 17388 cells).
  • Negative control: with --require and no t27c it exits 2 (could not run), not 0.

What this does not change

The Emit Bit-Exact job stays red until the 15 specs that newly fail to generate are fixed (#5497 lists them). This removes the second failure behind the first one.

Refs #5497

🤖 Generated with Claude Code

The salvage commit 38eac3a (#4812) committed a bee's unrelated draft over
tools/verify_emit_bitexact.py. The draft imports MAXWIDTH from
gft_backprop_microcode, which has never defined it, so the Emit Bit-Exact
step "Generated RTL is bit-exact to the GF-T model" has failed at import
since 2026-09-25 -- hidden behind the generation step that fails before it.

Restore the file byte for byte from 38eac3a^. gft_backprop_microcode.py has
not changed since, so the check runs unmodified: on 756bcff all 11 topologies
are BIT-EXACT over 80 training steps, every module keeps one shared
multiplier, and the listed topologies synthesize. Without t27c, --require
exits 2 instead of passing.

Refs #5497

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

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

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

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-02 01:08:58 UTC

Summary

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

These columns do not partition: 3 + 46 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

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

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