Skip to content

verilog widths: why_card and deps_card edge buffers are exact widths, ledgered (Closes #10774) - #10776

Closed
gHashTag wants to merge 1 commit into
masterfrom
fix/verilog-widths-t27f-cards
Closed

gHashTag wants to merge 1 commit into
masterfrom
fix/verilog-widths-t27f-cards

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #10774

What

Two ledger rows in tools/verilog_width_baseline.txt, one each for specs/t27f/why_card.t27 and specs/t27f/deps_card.t27. Each row carries its arithmetic. Nothing else changes.

Why this is a ledger row and not a spec or compiler fix

Master's Verilog widths (absurd-width ledger) check has been red since #10719 and #10725 merged (seen on #10387, job 117853026643). I measured both specs on the Railway lab with a t27c built from master:

  • In each spec the only absurd signal from t27c gen-verilog is reg [2097151:0] edges;. It comes from main's stdin buffer var edges : [262144]u8. 262144 * 8 = 2,097,152 bits, so the width is exact. 2^21 - 1 here is a byte count times eight, not a mask or a u21 max leaking into a width, and t27c inferred it correctly.
  • The buffer holds the whole t27c use-edges --specs-dir specs output. On master that output is 2,490 lines and 138,986 bytes, already more than 131,072 bytes (2^20 bits, the gate). A buffer small enough to pass the gate would make both cards refuse the real corpus, and the corpus only grows.
  • Both mains are host text plumbing: they read fd 0 with std.c.read, call getenv, and print an ffmpeg filter graph to stderr. They have no hardware form.

Precedent: specs/claw/suggest_feed.t27 (#10373, issue #10365) is already in the ledger for the same [262144]u8 -> [2097151:0] arithmetic. specs/t27f/token_floor.t27 (#10443) is the t27f precedent for a host renderer's working memory. The new rows follow their form.

Verification (Railway lab, master 797bd09 + this diff, t27c built from master)

  • tools/check_verilog_widths.py --require: scanned 2346 spec(s) ... OK: 6 known, 0 new.
  • t27c test-report specs/t27f/why_card.t27: pass 10, FAIL 0, vacuous passes 0 of 10
  • t27c test-report specs/t27f/deps_card.t27: pass 17, FAIL 0, vacuous passes 0 of 17

🤖 Generated with Claude Code

… ledgered (Closes #10774)

Master's absurd-width check has been red since #10719 and #10725. Measured
on the lab: the only absurd signal in either spec is main's stdin buffer
`edges : [262144]u8` = 2,097,152 bits -> [2097151:0], which is exact, not
an accident. It holds the whole `t27c use-edges` output, already 138,986
bytes (past the 2^20-bit gate), so the buffer cannot shrink under the gate.
Both mains are host text plumbing with no hardware form, the same class as
suggest_feed.t27 (#10373) and token_floor.t27 (#10443).

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

Copy link
Copy Markdown
Owner Author

Superseded by #10767, which merged first and ledgered the same two specs (why_card, deps_card) with the same arithmetic. Merging master into this branch leaves no diff. Lab check on master 4d8f1aa with a master-built t27c: check_verilog_widths.py --require -> OK: 6 known, 0 new. (2346 specs).

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-19 02:24:48 UTC

Summary

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

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

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).

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.

verilog widths: why_card and deps_card stdin edge buffers are exact 2^21-bit widths, not an accident

1 participant