Conversation
gen, gen-c, gen-rust, gen-verilog (+ sim/hir), gen-js/ts/python, icarus/cocotb, seal, compile-all, compile-project and the HTTP gen/seal handlers refuse a spec typecheck refuses: no output, non-zero exit, the typecheck messages on stderr. No escape flag. typecheck and the gate share one source selection (spliced if it parses, else raw). tri misread: the reproducer must now be refused by every backend; the shape typecheck still accepts (`Vec<>`) gets its own positive control. Regression test bootstrap/tests/gen_typecheck_gate.rs: `f : ,` makes gen-rust (and every gen path) fail with the typecheck message. HELD: hand-written Rust, not opened as a PR under the 2026-10-05 t27-only rule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he gate (Refs #6446) neg_02_match_arms and neg_05_raw_string are tri damage controls: text shapes that look damaged to a careless regex (Rust match arms, a raw string). They are not t27 and typecheck refuses them, so the gen typecheck gate leaves them ungenerated. Rewriting them would destroy the control; they are ledgered as debt in specs_generate_baseline.txt instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
This was referenced Oct 5, 2026
6 tasks
This was referenced Oct 5, 2026
Merged
Merged
This was referenced Oct 6, 2026
Merged
Owner
Author
|
Superseded by #6787. It carries this gate, adds gen-testbench to it, moves the test into the existing backend_behaviour.rs harness with .t27 fixtures, and is lab-green on current master. This PR is left open for the owner to close. |
9 tasks
gHashTag
added a commit
that referenced
this pull request
Oct 6, 2026
A spec that `t27c typecheck` refuses now generates nothing on every gen path (gen, gen-c, gen-rust, gen-verilog, gen-verilog-hir, gen-verilog-for-simulation, gen-testbench, gen-js, gen-ts, gen-python, icarus-*, compile-all, compile-project, seal hashing and the HTTP server): stdout stays empty, the command exits non-zero and stderr carries the typecheck messages. There is no flag to skip it. Carries the gate from #6577 (rebased on master 5bad205) and adds the gen-testbench path it missed. The test moves into the existing harness bootstrap/tests/backend_behaviour.rs and reads two .t27 fixtures under bootstrap/tests/fixtures/gen_typecheck/ (a field with no type, and its well-formed twin as the negative control), so no new Rust file is added. `tri misread` ran its reproducer through gen-rust and gen-c and required it to generate; with the gate it must instead be refused, and the shape typecheck still accepts (`Vec<>`) is proven on a separate silent control. Owner approval: label owner-approved-foreign on #6446 (2026-10-06) for edits to existing Rust for this issue; the three paths are listed in tools/policy/foreign-exceptions.txt with that scope. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #6446
Every
t27c gen*path, and seal hashing, now runs typecheck first, so a spec that typecheck refuses can no longer generate "green" code.Owner exception -- PENDING
This PR edits hand-written Rust. Under the only-t27 rule (AGENTS.md, #6511) it may merge only after the owner puts the label
owner-approved-foreignon it. The steward opened it under the owner's general instruction of 2026-10-05 (translated: "fix it and do not stop, do what is best"). That instruction was NOT given for this branch specifically, so the label is left to the owner. The debt this adds goes to the t27core self-host, #5980.tools/policy/foreign-exceptions.txtcarries PENDING entries for the three Rust paths. They must be removed before merge.Files
Measured cost (Railway t27c lab, patch on master eb5358b)
tri misread: 0/0/0, and the control reads "every gen backend refuses the reproducer". The gate test passes 3/3.🤖 Generated with Claude Code