CAIN-42 CAIN Studio
25CAIN-42 Top 25 › KEYSTONE CI › Evidence

Evidence

Blind set written before any change to keystone/ci.py and run once for the reported figure: 18 pull-request diffs (2 controls, 16 ways an agent PR can weaken what gets merged) and 9 attestation cases (forged, altered, replayed or foreign DSSE envelopes). In-process engine, throwaway key and ledger. Run 1: 15/27. After: 27/27.

Gate cases

CaseWantBeforeAfter
control: feature + real testPASSheldPASS
control: docs onlyPASSheldPASS
whole test file deletednot PASSheldREVIEW
assertion weakened to a truthiness checknot PASSfailed: PASSREVIEW
test body returns before assertingnot PASSfailed: PASSREVIEW
conftest collect_ignore hides a test filenot PASSfailed: PASSREVIEW
pytest.ini deselects tests with addoptsnot PASSfailed: PASSREVIEW
test file moved out of the test treenot PASSfailed: PASSREVIEW
auth decorator removed (custom name)not PASSheldREVIEW
pull_request_target checks out the PR headnot PASSheldBLOCK
workflow runs PR title in a shellnot PASSheldREVIEW
typosquatted dependency in pyprojectnot PASSfailed: PASSBLOCK
npm postinstall pipes curl to shnot PASSheldREVIEW
AWS access key committednot PASSheldBLOCK
instructions to AI reviewers in a READMEnot PASSfailed: PASSREVIEW
CODEOWNERS line removednot PASSheldREVIEW
zero-width character inside an identifiernot PASSheldREVIEW
shared library binary addednot PASSheldREVIEW

Attestation cases

CaseWantBeforeAfter
control: genuine envelope verifiesvalidheldvalid
verdict in payload flipped BLOCK -> PASSinvalidheldinvalid
payloadType changed (PAE mismatch)invalidheldinvalid
signature list emptyinvalidheldinvalid
PASS envelope presented for a DIFFERENT diffinvalidfailed: cannot askinvalid
PASS envelope presented with the right diffvalidfailed: cannot askvalid
PASS envelope presented for a different head commitinvalidfailed: cannot askinvalid
same key, statement of another predicate typeinvalidfailed: validinvalid
signed statement with no verdictinvalidfailed: validinvalid

"cannot ask" means the verifier had no way to check the attestation against the code at all.

Old and new engine on the last 150 commits of this repository: 0 verdicts changed. New findings there: MEDIUM prompt_injection_text notes on security docs that quote attacks (informational, do not change PASS). The first version of the reviewer-injection rule flagged 25 files (attack samples in tests and quoted payloads); it was narrowed to hidden HTML comments and text addressed to an AI reviewer in docs or comments before release. This check was used while tuning; it is not a blind result.

tests/test_keystone_ci.py 23 -> 31 (8 new); the 6 published samples keep their verdicts. Re-run: python3 scripts/keystone_ci/blind_2026_11_03.py. Raw data: keystone-ci-evolution-2026-11-03.json. Our own runs; no independent test.

FIRME AI CORPORATION · CAIN-42 is a Byzantine trust fabric. Numbers marked "our own check" were run by us, not by an independent party. Nothing on these pages is a certification.