Skip to content

feat(queen): a compiler defect names its stage, and the compiler is one file - #4767

Merged
gHashTag merged 1 commit into
masterfrom
feat/boundary-compiler-defects
Sep 24, 2026
Merged

gHashTag merged 1 commit into
masterfrom
feat/boundary-compiler-defects

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #4766

bootstrap/src/compiler.rs is 1.79 MB and holds the lexer, the parser, the typechecker and every generator. An issue reporting that t27c parse accepts a body of zero statements, or that gen-c emits 0 bad;, is about that file — and says so by naming the stage, which is how a person writes it and why every path rule here read it as naming nothing:

  • "gen-c: null has no C spelling — 68 errors"
  • "The lexer turns 0o777 into 0"
  • "The emitter dropped every x as T cast: 645 in 67 specs"

44 of the 286 were this; the run wrote 59 once the other rules applied alongside.

They will conflict with one another, because they really do all touch one file. The Queen runs them one at a time — correct, and not what "unreachable" meant.

The board

yesterday now
open issues without a boundary 565 of 649 237 of 580

What the remaining 237 are — counted, not guessed

62 Wave Loop N — … run logs
57 formal: … (Prop. N) proof notes
rest defect reports whose fix location is a judgement

A boundary answers which files does this work own. A report of what happened owns none, and #3225 — "fourteen specs parse, typecheck and emit a field with no type" — names fourteen specs while the fix is in neither them nor any file it mentions. Inventing a boundary there is the one move that makes things worse: it reserves files the work does not own and blocks whoever really owns them.

🤖 Generated with Claude Code

…ne file

`bootstrap/src/compiler.rs` is 1.79 MB and holds the lexer, the parser, the
typechecker and every generator. An issue reporting that `t27c parse` accepts
a body of zero statements, or that `gen-c` emits `0 bad;`, is about that file -
and says so by naming the STAGE rather than the path, which is how a person
writes it and why every path rule here read it as naming nothing.

"gen-c: `null` has no C spelling", "The lexer turns 0o777 into 0", "The emitter
dropped every `x as T` cast: 645 in 67 specs" - 44 of the 286 issues still
without a boundary were this.

They will conflict with one another, because they really do all touch one
file. The Queen runs them one at a time; that is correct, and it is not what
"unreachable" meant.

A run log (`Wave Loop N`) and a proof note (`formal: ... Prop. N`) are not
compiler defects, and --self-test pins that they are not.

Closes #4766

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@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-09-24 04:43:23 UTC

Summary

Status Count
Total Open PRs 34
PRs with Failing Checks 31
PRs with All Checks Green 3
READY 3
FAILING 31
PENDING 0
NO CHECKS YET 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=403499176a5d != 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 30c7f61 into master Sep 24, 2026
24 of 30 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.

A compiler defect names its stage, not its file - and the compiler is one file

1 participant