CAIN-42 Evolution 18 of 42: execution truth (2026-10-12)
CAIN-42 NOW CHECKS WHAT AN AGENT'S ACTION ACTUALLY DID, NOT WHAT THE AGENT SAYS IT DID, AND SAYS EXACTLY HOW WELL IT KNOWS.
Project Sovereign Reality, evolution 18 of 42. Not to be confused with the earlier "Evolution 18" spatial-autonomy work in the Top 100.
What it does
- Two observer processes that are not the agent and not CAIN's enforcer watch every governed file action. Each has its own signing key; one compares the state before and after, the other records kernel file events. Each signs what it saw, bound to that one action.
- Each declared effect gets a level: unavailable, self-reported, instrumented, externally observed, independently corroborated, or conflicting. A missing observation is never read as "nothing happened".
- The approver signs the exact file (device, inode, content digest, parent directory), not just its path. The action runs through descriptors pinned to that file, so a swapped file or a planted symbolic link cannot redirect it. Revocation and expiry are checked again right before the write.
- A crash between the action and its evidence is reported as an ambiguous outcome and never retried. A repair counts as "fully rolled back" only when observers see every changed file back in its approved state.
- A verifier with no CAIN code re-derives the level and the verdict from the signed records and rejects any receipt that claims more than they show.
What was measured
- 82 of 82 adversarial scenarios executed against real files and real observer processes, in 15 categories; the stated property held in 82, 0 errors, 0 skipped: 39 attacks prevented (checked on disk), 38 detected, 3 honest actions verified, 2 documented limits shown.
- Each of 26 security checks was weakened in turn: 26 of 26 weakenings were caught by a scenario.
- 100 Evolution 18 tests and 316 tests including the earlier evolutions' suites: all pass.
- Cost (synthetic, one host): 10.592 ms median per fully observed action on a small folder (97.2 per second), 29.334 ms on a 1,000-file folder; the previous, unobserved path took 0.56 ms.
Check it yourself
Download verify_execution_truth.py (Python 3 and the cryptography package only; no CAIN imports) and a receipt from fixtures/, then run:
python3 verify_execution_truth.py fixtures/valid.receipt.json fixtures/valid.anchors.json
Expected: "verdict": "VERIFIED", exit code 0. The other fixtures are an incomplete, a contradictory, a replayed, a reordered, a tampered and a causally mislinked receipt; fixtures/index.json lists the verdict each must get.
Status
| Label | Value |
|---|---|
| IMPLEMENTED | YES |
| TESTED (local, real files, real observer processes) | YES |
| ON THE LIVE SERVER | YES (deploy/20261012T185710Z), not yet called by any live request |
| INDEPENDENTLY_REPRODUCED | NO |
| EXTERNALLY_REVIEWED | NO |
| WIRED_TO_MCPGATE | NO |
| PRODUCTION_RELEASE | NOT APPROVED |
Limits, stated plainly
- Observes file effects under one folder on one host. Network traffic, child processes and memory are not observed, and a write outside the folder is not detected (the receipt says so).
- The observers share the host kernel and user account with the agent. "Independent" means a separate process, key and method, not tamper-proof hardware.
- Tools that take a plain path instead of the pinned path get no race protection. An honest tool that writes through a memory mapping is reported as conflicting.
- Written and tested by the CAIN-42 project itself. Nobody outside has reproduced or reviewed it.
IP register
Register v50 adds 6 mechanism families (211 in total). Standalone net IP base, BASE scenario: 16,731,010, rising at each implementation step: 16,620,130 → 16,659,730 → 16,699,330 → 16,709,890 → 16,720,450 → 16,731,010. FIRME AI company value (v45), BASE: 19,213,010 investor / 20,213,010 strategic. Internal analytical scenario, NOT an appraisal, NOT a financing valuation, NOT a guarantee.
Files
- FINAL_REPORT.md
- architecture.md
- baseline.md
- benchmark_results.json
- causal_evidence_spec.md
- formal_assurance.md
- ip_register_delta.md
- limitations_and_open_risks.md
- mutation_results.json
- observer_trust_model.md
- performance_results.json
- performance_results.md
- release_gates.md
- research_manifest.json
- research_prior_art.md
- test_plan.md
- test_results.md
- threat_model.md
- top100_delta.md
- valuation_reconciliation.md
- RESULTS.json
- manifest.json (SHA-256 of every file)
Source commit 87384975. Implementation source is not published.