GRO-NASS
format 1.0-draft · numbers as of 2026-09-21 · bench: 2388 public repositories, 43773 commits replayed · from the record

The numbers

repositories benched
2,388
of
2,547 visited, 157 declined for a stated reason
interval
exact — a count of rows, not a sample
as of
2026-09-21 (EDT)
query
q-bench
commits replayed
43,773
of
across 2,388 repositories, their own recent history
interval
exact — a sum of per-repository counts
as of
2026-09-21 (EDT)
query
q-bench
substantive refusal rate
45.2%
of
19,781 of 43,773 commits · excludes prereg_parser and no_stamps, which refused 68,748 more
interval
95% CI 44.7–45.7%
as of
2026-09-21 (EDT)
query
q-bench
GRO-NASS · RECORD · FORMAT 1.0-draft SIGNED · CHAINED · 2026

Every number on this page comes from public repositories that nobody here chose — the mirror takes them from the GitHub archive, an npm feed and a search for AI commit trailers, visits each one once, and replays its own recent history through the gate. So these are measurements of what the gate says about strangers' code. They are not a measure of those repositories' quality, not a judgement of the people who wrote them, and not a forecast of what the gate would say about a repository somebody is paid to maintain. No repository is named anywhere on this site.

What the headline leaves out

prereg_parser and no_stamps are excluded from the refusal rate and from every table below. Between them they refused 68,748 commits. Neither is about the change: one refuses a commit whose message carries no pre-registration block, the other refuses a vendor stamp. On somebody else's history both fire on nearly every commit, because what they measure is when the gate arrived, not what the commit did.

What the scanner hit, by class

Scanner hits by rule class — hits, not defects · as of 2026-09-21 (EDT) · precision is how many hits are real, and no class has been measured yet
classscanner hitsprecision
silent-catch214,724UNMEASURED
fetch-no-timeout60,390UNMEASURED
secret-in-log600UNMEASURED
money-write-no-idempotency221UNMEASURED
unbounded-zod-input95UNMEASURED
pii-in-log23UNMEASURED

A hit is a place a rule fired on somebody's staged bytes. Whether it was worth firing is the rule's precision, and measuring that means reading the hits by hand and counting how many were real. Until that is done and the number is on the record, this column says UNMEASURED — which is a different claim from a low number, and a very different one from a high one.

The desk

What the install could do on each desk, as fractions of the desks that reported · as of 2026-09-21 (EDT) · every desk here is the same Linux box — this says nothing about Windows or macOS
probeworkedshare
git2,388/2,388100.0%
home2,388/2,388100.0%
hook_shell2,180/2,38891.3%
key_dir2,388/2,388100.0%
link2,388/2,388100.0%
package_manager1,911/2,38880.0%
spawn2,388/2,388100.0%
And what the install settled for, by its own word for it · as of 2026-09-21 (EDT) · one row per repository, 2,388 desks reported
modedesksshare
full1,73772.7%
partial61725.8%
report-only341.4%

By the model the commit says wrote it

Commits and refusals by model — declared by trailer, not verified · as of 2026-09-21 (EDT) · a commit carrying two trailers is counted under both, so these rows do not sum to the commit total
model — declared by trailer, not verifiedcommitsrefusedrate
claude-trailer25,1709,79738.9%
cursor1,80388048.8%
copilot49117034.6%
claude-code43321549.7%
codex34311633.8%
devin25612247.7%
gemini893842.7%
aider7228.6%

Nothing here checked that a model wrote anything. A commit trailer is a string the committing tool puts in the message, anybody can write one by hand, and a commit written by a model whose tool writes no trailer appears in none of these rows. 28,592 commits carry a trailer this table recognises, against 43,773 replayed in total.

repositories reached by trailer search
3.7%
of
94 of 2,547 repositories; the rest came from the archive and the npm feed
interval
95% CI 3.0–4.5%
as of
2026-09-21 (EDT)
query
q-bench

That share is of repositories, not of commits: how a repository was reached has one value per row, while a commit can carry two trailers and be counted twice. The other two feeds — the archive and the npm feed — select on no AI signal at all, which is what keeps this bench from being a survey of repositories that advertise themselves.