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.
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.
| pushed | repository | audited | kill rate | got through | proven | commit |
|---|---|---|---|---|---|---|
| 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 |
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.
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:
Newest first. Record spans 2026-09-06 to 2026-10-14.
| pushed | scope | reviewer | verifier | findings | repro | verdicts | commit |
|---|---|---|---|---|---|---|---|
| 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 |
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.