Skip to content

Six stray semicolons, three specs recovered, and two edits withdrawn - #2924

Merged
gHashTag merged 2 commits into
masterfrom
stray-semicolon-typos
Aug 30, 2026
Merged

Six stray semicolons, three specs recovered, and two edits withdrawn#2924
gHashTag merged 2 commits into
masterfrom
stray-semicolon-typos

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

The census's work queue had two rows needing no owner decision: a closing
brace with nothing open (4 specs) and a statement terminated twice (2). Both
probed first — struct X { };, } else { }; and print(x);; each fail, and
each parses with the extra semicolon removed.

The census names the first occurrence, not the population

Fixing the one line it points at moved each error a few lines forward and
recovered nothing — because the same typo repeats. Fixing every occurrence
of the same form:

spec semicolons removed
specs/bus/pubsub.t27 2
specs/fpga/testbench/mac_tb.t27 6
specs/fpga/testbench/uart_tb.t27 5
before after
specs that parse 615 618
regressions 0
lines changed 21, each exactly one character shorter
declarations touched 0

Two edits withdrawn

hybrid_arithmetic.t27 and relay_observer.t27 took the same repair, advanced
seven lines each, and still do not parse — they hit a different construct.
The edits also made their seals stale and turned check_seal_coverage.py red.

An edit that buys no measurable change and costs a re-seal is not a repair, so
both are reverted. The gate caught that, not my judgement — I would have
shipped them.

The ledger caught it immediately

The corpus ratchet reported the three fixed specs as UNEXPECTED PASS on the
first run — #2913's lesson working.
Entries removed, max_entries 150 → 147, RATCHET: CLEAN.

git grep over the three spec names found four more files that mention them
(docs/reports/CORPUS-*.tsv, conformance/*.json, architecture/graph_v2.json).
None is read by any gate — they are snapshots, not ledgers.

A note on one red

tri ledgers audit reported red mid-iteration because a ledger had uncommitted
changes and the command refuses to run in that state — it rewrites and restores
what it touches. That is the guard, not a failure. It passes on a clean tree.

Gates, run locally

specs generate 0 · verilog widths 0 · specs parse 0 · conflict markers 0 ·
seal coverage 0 · seals fresh 0 · types ratchet 0 · skill check 0 ·
ledgers audit 0 · cargo test -p tri 0 · bootstrap test ratchet 0 ·
corpus ratchet CLEAN.

bootstrap/src/compiler.rs is untouched, so FROZEN_HASH does not move.

Refs #2864

The census's work queue had two rows needing no owner decision: a closing brace
with nothing open (4 specs) and a statement terminated twice (2). Both probed
first -- `struct X { };`, `} else { };` and `print(x);;` each fail, and each
parses with the extra semicolon removed.

The census names only the FIRST occurrence, because that is all the compiler
reports. Fixing that one line moved each error a few lines forward and recovered
nothing. Fixing every occurrence of the same form:

  specs/bus/pubsub.t27              2
  specs/fpga/testbench/mac_tb.t27   6
  specs/fpga/testbench/uart_tb.t27  5

  specs that parse   615 -> 618, zero regressions
  21 lines changed, every one exactly one character shorter, no declaration
  touched

TWO EDITS WITHDRAWN. `hybrid_arithmetic.t27` and `relay_observer.t27` took the
same repair, advanced seven lines each, and still do not parse -- they hit a
different construct. The edits also made their seals stale and turned
`check_seal_coverage.py` red. An edit that buys no measurable change and costs a
re-seal is not a repair, so both are reverted. The gate caught that, not my
judgement.

The corpus ratchet caught the three fixed specs immediately as UNEXPECTED PASS
-- #2913's lesson working. Entries removed, max_entries 150 -> 147, RATCHET
CLEAN. `git grep` over the three names found four more files that mention them;
none is read by any gate, so they are snapshots rather than ledgers.

`tri ledgers audit` refuses to run while a ledger is uncommitted, which it did
mid-iteration. That is the guard, not a failure.

`bootstrap/src/compiler.rs` untouched; FROZEN_HASH does not move.

Refs #2864

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gHashTag
gHashTag enabled auto-merge (squash) August 30, 2026 00:06
@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-30 00:06:25 UTC

Summary

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

Seal Status

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

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-30 00:07:30 UTC

Summary

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

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=82e020cf95b2 != 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 7515a99 into master Aug 30, 2026
27 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.

2 participants