CAIN-42 CAIN Studio

CAIN-42 evidence library

NULLIUS verifiers, release 2026-10-27

Evidence bundle: 0 claims, 0 of 0 invariants held.

Last reviewed 2026-10-27

SHA-256 manifest

The bundle's own README

NULLIUS verifiers, release 2026-10-27#

Three clean-room verifiers. Each one is a single Python file with zero CAIN imports. It needs Python 3 and the cryptography package. It exits 0 only when the evidence proves the claim against the public keys you pin.

FileChecksSample evidence to try it on
verify_mission_journal.pyan Evolution 16 mission journal/evidence/evolution-16-durable-mission-runtime/sample/
verify_execution_truth.pyEvolution 18 execution-truth receipts/proof/bundle/sovereign-reality-evolution18-2026-10-12/fixtures/
verify_launchpad.pyan Evolution 14 Launchpad deployment export/evidence/evolution-14-sovereign-launchpad/sample_deployment_export/

Check the files against SHA256SUMS before you run them.

What changed since the copies inside the 2026-10-12 bundles#

The earlier copies are left unchanged inside their bundles and auditor-kit releases, because those releases record their hashes. Use these files instead. A live audit on 2026-10-27 found the following.

published replayed fixture, which must be FAILED, came back VERIFIED. It now takes several receipts and keeps one record of receipt and authorization ids across them: python3 verify_execution_truth.py R1.json R2.json ANCHORS.json.

enforcer chooses which observations to include. An enforcer that dropped the one anchored sensor that saw an undeclared write got VERIFIED. Now, if any sensor you anchored did not report, the result is INCOMPLETE (ANCHORED_SENSOR_DID_NOT_REPORT).

still gave VERIFIED. Examples: a step's visible action (for instance to delete_everything), its state and action_digest, the gate's signed receipt, each record's digest, the dispatch decision id, the order of the history, the export schema and the deployment id. Every one of these is now checked against the signed records. The changes still accepted are only these: one witness statement out of four (three still meet the threshold of 3), the producer's free-text note, an under-claimed quorum flag, a reordering of history sequence numbers that keeps them strictly increasing, and the producer's paging window, which the output now labels as unverified.

with a traceback. It now gives a clean FAILED. Nothing was ever accepted.

The mission-journal verifier passed every other attack: 132 single-digit edits, truncation against the witnessed head, reordering, duplication, a swapped trust file, and the same attacks under python -O.

What VERIFIED does not mean#

These verifiers check the evidence against the keys you pin. They do not check the channel you got the keys from, whether a signer told the truth, or anything that happened outside the recorded run. The verifiers were written by the same project as the systems they check, and no third party has reproduced these results.

Try CAIN-42 on your own agents

Create a free account and every new account starts with a 30-day trial of the full platform. Or try the sandbox first, with no account at all.

Create a free account →  ·  Try the sandbox  ·  See the whole ecosystem