corral/ledger — the record

Every audit and review corral has recorded, as a hash-linked chain, signed where a key was present. An audit plants faults in a file and runs the project's own tests against each one; a review's findings each carry the script that was executed to test them, and the exit code that came back. Nothing here asks to be believed: re-run any of it.

144ledger entries
3audits
55reviews
219findings
102reproduced by execution
76confirmed by a person
5refuted by a person
52verified by another vendor

Audits

Each audit planted faults in a file and ran the project's own test command against every one. The kill rate is what execution measured, with its 95% interval. A proven gap is a fault the suite missed and a test corral wrote did catch: that test passed on the real code and failed on the fault.

pushedrepositoryauditedkill rate got throughprovencommit
2026-10-14 warpdotdev/warp src/lib.rs 0.32 (11 of 34) 23 22 714c51f1e2
2026-09-08 pallets/flask src/flask/app.py 0.72 (29 of 40) 11 10 36e4a824f3
2026-09-08 pallets/flask src/flask/app.py 0.72 (29 of 40) 11 10 36e4a824f3

What "reproduced" means here

A finding is reproduced only when a script the reviewer wrote was executed and exited 0 — the contract being: exit 0 if and only if the defect is demonstrated. The other outcomes are kept separate on purpose, because collapsing them is how a could-not-measure turns into a measured zero:

A person's verdict is a separate axis from execution, and it wins: a human confirmed/refuted is recorded as its own signed entry and is never clawed back by a later automatic pass.

Decorrelation, 52 times over

A reviewer seat finds; a different model verifies. The rule is enforced, not requested — the verifier is never the reviewer's model. What actually ran:

Seats that ran across this record:

reviewer models
antigravity, antigravity:claude-opus-4-6-thinking, antigravity:gemini-3.1-pro-high, claude-code, claude-code:claude-fable-5-1, claude-sonnet-5, codex, codex:gpt-6-astra, gemini-3.6-flash
verifier models
antigravity, claude-code, claude-code:claude-fable-5-1, claude-haiku-4-5, codex, codex:gpt-6-astra, gemini-3.6-flash
tools + versions
2.1.263 (Claude Code), 2.1.265 (Claude Code), 2.1.267 (Claude Code), 2.1.272 (Claude Code), 2.1.295 (Claude Code), [sh -c 'agy --output-format text --sandbox --dangerously-skip-permissions --print-timeout 15m "$@" -p="$(cat)"' sh {model:--model}], codex-cli 0.152.0, codex-cli 0.153.4, codex-cli 0.154.0, codex-cli 0.156.1, codex-cli 0.160.0
scopes reviewed
.github/workflows, action.yml, cmd/corral, cmd/corral/certify_repo.go, cmd/corral/certify_repo_transparency.go, cmd/corral/ledger.go, cmd/corral/ui_ledger.go, eval, internal/adequacy, internal/advpool, internal/auditpush, internal/auditpush/pubkey.go, internal/brain, internal/certify, internal/certify/review_statement.go, internal/certify/signbuild.go, internal/creds/creds.go, internal/fence, internal/gate, internal/lang, internal/prior, internal/reposcan, internal/review, internal/sandbox, internal/transparency, scripts, site/src/content/docs/docs, src/flask/sessions.py

Reviews

Newest first. Record spans 2026-09-06 to 2026-10-14.

pushedscopereviewerverifier findingsreproverdictscommit
2026-10-08 cmd/corral/ui_ledger.go codex:gpt-6-astra claude-code:claude-fable-5-1 ≠ 2 0 2✓ b663803169
2026-10-08 cmd/corral/certify_repo_transparency.go claude-code:claude-fable-5-1 codex:gpt-6-astra ≠ 4 1 4✓ b663803169
2026-10-08 internal/creds/creds.go codex:gpt-6-astra claude-code:claude-fable-5-1 ≠ 1 1 1✓ b663803169
2026-10-08 internal/certify/signbuild.go claude-code:claude-fable-5-1 codex:gpt-6-astra ≠ 4 3 3✓ 1✗ b663803169
2026-10-08 internal/auditpush/pubkey.go codex:gpt-6-astra claude-code:claude-fable-5-1 ≠ 1 0 1✓ b663803169
2026-09-24 internal/adequacy codex:gpt-6-astra none 2 2 2✓ 954c320247
2026-09-15 internal/gate claude-code:claude-fable-5-1 codex:gpt-6-astra ≠ 7 3 7✓ 6951ca4c11
2026-09-15 internal/transparency codex:gpt-6-astra claude-code:claude-fable-5-1 ≠ 1 1 1✓ 6951ca4c11
2026-09-12 internal/transparency claude-code antigravity ≠ 8 3 382df06437
2026-09-12 internal/gate antigravity codex ≠ 5 4 382df06437
2026-09-12 internal/gate claude-code antigravity ≠ 8 6 459add6e04
2026-09-12 internal/transparency codex claude-code ≠ 2 1 459add6e04
2026-09-09 internal/sandbox antigravity:claude-opus-4-6-thinking codex ≠ 5 0 9f824f73d1
2026-09-09 internal/adequacy antigravity:gemini-3.1-pro-high claude-code ≠ 1 1 9f824f73d1
2026-09-08 internal/fence antigravity:gemini-3.1-pro-high codex ≠ 1 1 e39ec399a5
2026-09-08 internal/fence antigravity:gemini-3.1-pro-high codex ≠ 2 1 e39ec399a5
2026-09-08 internal/advpool claude-code codex ≠ 5 2 91d433696a
2026-09-08 internal/reposcan claude-code codex ≠ 6 3 91d433696a
2026-09-08 action.yml claude-code codex ≠ 5 2 2b02f27989
2026-09-08 cmd/corral/certify_repo.go claude-code codex ≠ 5 2 2b02f27989
2026-09-08 internal/auditpush claude-code codex ≠ 5 2 2b02f27989
2026-09-08 cmd/corral/ledger.go claude-code codex ≠ 6 1 441da802c8
2026-09-08 scripts claude-code codex ≠ 9 1 441da802c8
2026-09-08 internal/auditpush claude-code codex ≠ 7 3 441da802c8
2026-09-08 scripts claude-code codex ≠ 9 5 5b173fbc66
2026-09-08 eval claude-code codex ≠ 8 4 cf9f18e59c
2026-09-08 internal/auditpush claude-code codex ≠ 4 1 cf9f18e59c
2026-09-08 .github/workflows claude-code codex ≠ 9 1 895208db30
2026-09-08 site/src/content/docs/docs claude-code codex ≠ 8 7 895208db30
2026-09-08 internal/auditpush claude-code codex ≠ 10 3 895208db30
2026-09-08 src/flask/sessions.py claude-code codex ≠ 5 0 1✓ 36e4a824f3
2026-09-07 internal/adequacy gemini-3.6-flash claude-code ≠ 1 1 1✓ de0d9860ee
2026-09-07 internal/certify claude-code gemini-3.6-flash ≠ 6 3 6✓ de0d9860ee
2026-09-07 internal/auditpush gemini-3.6-flash codex ≠ 2 2 2✓ de0d9860ee
2026-09-07 internal/review codex gemini-3.6-flash ≠ 2 2 2✓ de0d9860ee
2026-09-07 cmd/corral claude-code codex ≠ 7 4 7✓ de0d9860ee
2026-09-07 internal/lang codex claude-code ≠ 2 2 2✓ de0d9860ee
2026-09-07 internal/reposcan claude-code codex ≠ 5 3 4✓ de0d9860ee
2026-09-07 internal/review claude-code codex ≠ 8 4 6✓ 5ea687f383
2026-09-07 internal/prior gemini-3.6-flash claude-code ≠ 1 1 1✓ 5ea687f383
2026-09-07 internal/sandbox gemini-3.6-flash codex ≠ 1 1 1✓ 5ea687f383
2026-09-07 internal/adequacy claude-code gemini-3.6-flash ≠ 6 3 4✓ 5ea687f383
2026-09-07 internal/auditpush codex claude-code ≠ 1 1 1✓ 5ea687f383
2026-09-07 internal/adequacy codex gemini-3.6-flash ≠ 1 0 201253a6e5
2026-09-07 internal/advpool gemini-3.6-flash claude-code ≠ 1 1 1✓ 201253a6e5
2026-09-07 internal/adequacy codex gemini-3.6-flash ≠ 0 0 201253a6e5
2026-09-07 internal/auditpush claude-code codex ≠ 6 3 6✓ 06d2cbb600
2026-09-07 internal/prior claude-code codex ≠ 6 2 6✓ 4218eedc47
2026-09-07 internal/brain claude-sonnet-5 gemini-3.6-flash ≠ 2 1 1✓ 1✗ 7c24528488
2026-09-07 internal/brain gemini-3.6-flash claude-haiku-4-5 ≠ 0 0 7c24528488
2026-09-07 internal/certify/review_statement.go claude-sonnet-5 gemini-3.6-flash ≠ 3 1 1✓ 2✗ 03ed0ba6f6
2026-09-07 internal/certify/review_statement.go gemini-3.6-flash claude-haiku-4-5 ≠ 0 0 1e6eb2a5f3
2026-09-06 internal/review gemini-3.6-flash claude-haiku-4-5 ≠ 1 1 1✓ d56a788529
2026-09-06 cmd/corral/ledger.go gemini-3.6-flash none 1 1 1✓ 82dc300e39
2026-09-06 internal/prior gemini-3.6-flash none 1 0 1✗ 82dc300e39

Verify it yourself

The record is a git branch, so there is nothing to trust and nothing to install to read it:

git clone https://github.com/pdbethke/corralai.git corralai
cd corralai
git fetch origin corral/ledger
git checkout corral/ledger      # 144 gzipped JSON entries under scans/

# walk the chain: every hash against its bytes, every link against its predecessor,
# and every signature against the ledger's published key
corral ledger verify --pub 909429443700441a9f662c07c5f1b7110333fd7fb94fb21e8991e40f2cb6dc09 .

That key is the repository's published LEDGER_PUBKEY, and it is the key this page checked the signatures against. Leave out --pub and corral uses your local certify key if you have one, which did not sign this record, or checks no signatures at all if you do not. Hash and link integrity need no key: any reader can confirm from the files alone that no entry was edited and none removed from the middle.