Skip to content

corpus: report all four backends, not two (Refs #2161) - #2738

Merged
gHashTag merged 4 commits into
masterfrom
w699-corpus4
Aug 27, 2026
Merged

corpus: report all four backends, not two (Refs #2161)#2738
gHashTag merged 4 commits into
masterfrom
w699-corpus4

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

corpus describes itself as "the only corpus metric that does not lie" and measured two of the four backends. The Rust backend had no compile gate anywhere in this repository, and neither did C — which is how an empty match for every switch, a dropped body for every for, and a u64 typed as int all shipped with a green exit.

Two stages added, mirroring the existing Zig block:

gen-rust -> rustc --edition 2021 --crate-type lib --emit=metadata
gen-c    -> cc -fsyntax-only -std=gnu11

and one row the two-backend table could not show: how many specs satisfy all four toolchains. That is what "one spec, four targets" claims, and until now nothing counted it.

On a 39-spec sample

generates Zig        22    ... and Zig accepts it       12  30.8%
generates Rust       22    ... and rustc accepts it      0   0.0%
generates C          22    ... and cc accepts it         1   2.6%
generates Verilog    22    ... and iverilog accepts      7  17.9%
Zig AND Verilog accept      6  15.4%
ALL FOUR accept             0   0.0%

Zero is the number this change exists to print.

It is a sample, not the corpus, and the row carries its own denominator so it says so.

The BOTH backends accept label is now Zig AND Verilog accept — with four columns the word both no longer names anything, and leaving it would have made the new rows read as a subset of it.

Refs #2161

`corpus` describes itself as "the only corpus metric that does not lie"
and measured Zig and Verilog. The Rust backend had no compile gate
anywhere in this repository and neither did C -- which is how an empty
`match` for every `switch`, a dropped body for every `for`, and a `u64`
typed as `int` all shipped with a green exit.

Two stages added, mirroring the existing Zig block:

    gen-rust -> rustc --edition 2021 --crate-type lib --emit=metadata
    gen-c    -> cc -fsyntax-only -std=gnu11

and one row the two-backend table could not show: how many specs satisfy
ALL FOUR toolchains. That is what "one spec, four targets" claims, and
until now nothing counted it.

On a 39-spec sample:

    generates Zig        22    ... and Zig accepts it       12  30.8%
    generates Rust       22    ... and rustc accepts it      0   0.0%
    generates C          22    ... and cc accepts it         1   2.6%
    generates Verilog    22    ... and iverilog accepts      7  17.9%
    Zig AND Verilog accept      6  15.4%
    ALL FOUR accept             0   0.0%

The `BOTH backends accept` label is now `Zig AND Verilog accept`, because
with four columns "both" no longer names anything.

Zero is the number this change exists to print. It is a sample, not the
corpus, and the row says so by carrying its own denominator.
@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-27 19:36:41 UTC

Summary

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

Seal Status

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

PR Dashboard

Generated at: 2026-08-27 19:49:49 UTC

Summary

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

Seal Status

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

📓 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-27 20:07:27 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)=024051760b49 != 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 f663005 into master Aug 27, 2026
32 of 33 checks passed
@gHashTag
gHashTag deleted the w699-corpus4 branch August 27, 2026 20:19
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