We ran FALSEWORK and KEYSTONE on our own codebase. Here are the honest results.

FALSEWORK scanned 3,216 Python files of the CAIN-42 ecosystem for code that fakes a result, after excluding the files and reviewed findings listed at the end of this section: random numbers presented as measurements, success messages written in rather than computed, verdicts returned without a check, errors silently swallowed, leftover placeholders.

FALSEWORK gradefilesshare
REAL — no findings3,216100.0%
PARTIAL — a MEDIUM or HIGH finding00.0%
STUB — a CRITICAL finding00.0%

0 findings, by kind:

checkfindings

KEYSTONE so far: 19 file(s) run through the full loop (FALSEWORK finds → Claude fixes → sandboxed tests must fail on the original and pass on the fix → Ed25519-signed record): 0 fix(es) proved on the current standard, 5 legacy VERIFIED_FIX record(s) from before the independent-test rule (not counted as current), 14 not proved, 0 nothing to fix, 12 not run (the Claude API was unavailable; retried automatically). 0 flagged file(s) still to go; this section updates as the campaign continues.

#filefindingverdictreasons / applied
0scripts/legacy/clean_routes.pyunparseable_sourceNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect
1scripts/cluster7/cain_trust_fabric_7_engine.pyunconditional_verdictNOT_VERIFIEDthe model's answer was cut off (max_tokens)
2cain/interop/benchmark.pyhardcoded_success_claimNOT_VERIFIEDthe model's answer was cut off (max_tokens)
3scripts/cain42_bft/clean_room_verifier.pyplaceholder_markerNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect
4cain/substrate/cain_mcp_discovery.pyplaceholder_markerNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect
5cain/substrate/cain_capability.pyplaceholder_markerNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect; Claude's test does not fully pass on the fixed code
6cain/substrate/cain_drift.pyplaceholder_markerNOT_VERIFIEDthe model's answer was cut off (max_tokens)
7cain/substrate/demo_refresh.pybare_except_passNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect
8scripts/legacy/clean_routes.pyunparseable_sourceNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect
9scripts/cluster7/cain_trust_fabric_7_engine.pyunconditional_verdictVERIFIED_FIX (legacy, no independent test)applied in 1342208f: self-audit derives its verdict from the phases actually run
10cain/interop/benchmark.pyhardcoded_success_claimVERIFIED_FIX (legacy, no independent test)applied in 1342208f; the honest SC-12 result exposed a real gap, closed in the same commit
11scripts/cain42_bft/clean_room_verifier.pyplaceholder_markerNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect; Claude's test does not fully pass on the fixed code
12cain/substrate/cain_mcp_discovery.pyplaceholder_markerNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect
13cain/substrate/cain_capability.pyplaceholder_markerVERIFIED_FIX (legacy, no independent test)applied in 1342208f: unfinished OAuth adapters refuse instead of passing raw credentials; 31/31 tests
14cain/substrate/cain_drift.pyplaceholder_markerNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect
15cain/substrate/demo_refresh.pybare_except_passNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect
16platform-gateway/demo_refresh.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
17scripts/cain42_site/check_links.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
18scripts/review_package/publish_live.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
19scripts/architecture_reality_map.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
20scripts/cain42_bft/multi_region_bench.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
21scripts/cain42_evolution/bench_reality.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
22scripts/ironclad/prompt8/sign_manifest.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
23scripts/cluster13/cain_enforcement_path_validator_13.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
24scripts/bft_verifiable_run.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
25scripts/bench_clawx23.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
26cain/runtime/runtime.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
27scripts/cain42_bft/pbft_ab_bench.pybare_except_passNOT_VERIFIEDClaude API error 400: Error code: 400 - {'type': 'error', 'error': {'type': 'invalid_request_error', 'message': 'Your credit balance is too low to access the An
28cain/substrate/cain_mcp_discovery.pyplaceholder_markerNOT_VERIFIEDClaude's test also passes on the original, so it does not show the defect
29cain/substrate/cain_mcp_discovery.pyplaceholder_markerVERIFIED_FIX (legacy, no independent test)applied in 0dfd6f1e (both copies): MCP discovery no longer invents a server identity; MCP invariants pass
30cain/substrate/cain_drift.pyplaceholder_markerVERIFIED_FIX (legacy, no independent test)applied in a17a0b06: behaviour-drift reads real trajectories, no all-tenants wildcard; 8/8 tests

Found by applying a proved fix: Applying KEYSTONE's benchmark fix replaced a hard-coded 'blocked' verdict with the real outcome and exposed a real security gap: the interop bridge accepted an authorization signed under a different policy version. It is now refused (POLICY_VERSION_MISMATCH), commit 1342208f.

What we excluded, and why: 0 files of FALSEWORK’s own test material (scripts/falsework/sample_project (a deliberately fake demo) and benchmark/corpus (planted and copied defects used to measure FALSEWORK) are excluded from the count), and 30 finding(s) reviewed by hand as a false alarm: platform-gateway/academy_exam.py:225 (rng_fabrication); platform-gateway/academy_exam.py:226 (rng_fabrication); platform-gateway/academy_exam.py:227 (rng_fabrication); platform-gateway/academy_exam.py:229 (rng_fabrication); platform-gateway/academy_exam.py:275 (rng_fabrication); platform-gateway/academy_exam.py:275 (rng_fabrication); platform-gateway/academy_exam.py:276 (rng_fabrication); platform-gateway/academy_exam.py:276 (rng_fabrication); scripts/math_gates/blind_2026_11_02.py:119 (rng_fabrication); scripts/math_gates/blind_2026_11_02.py:119 (rng_fabrication); scripts/math_gates/blind_2026_11_02.py:120 (rng_fabrication); scripts/math_gates/blind_2026_11_02.py:120 (rng_fabrication); platform-gateway/mission3_range.py:117 (check_cannot_fail); cain/govfederation/lab.py:278 (secret_compare_not_constant_time); platform-gateway/academy_exam.py:179 (rng_fabrication); platform-gateway/academy_exam.py:193 (rng_fabrication); platform-gateway/academy_exam.py:198 (rng_fabrication); platform-gateway/academy_exam.py:212 (rng_fabrication); platform-gateway/academy_exam.py:212 (rng_fabrication); platform-gateway/academy_exam.py:215 (rng_fabrication); platform-gateway/academy_exam.py:244 (rng_fabrication); platform-gateway/academy_exam.py:245 (rng_fabrication); platform-gateway/academy_exam.py:246 (rng_fabrication); platform-gateway/academy_exam.py:255 (rng_fabrication); platform-gateway/academy_exam.py:287 (rng_fabrication); platform-gateway/academy_exam.py:289 (rng_fabrication); platform-gateway/academy_exam.py:294 (rng_fabrication); platform-gateway/academy_exam.py:302 (rng_fabrication); platform-gateway/academy_exam.py:303 (rng_fabrication); platform-gateway/academy_exam.py:316 (rng_fabrication).

What this scan cannot see: FALSEWORK looks for fabricated results, swallowed errors, placeholder markers and unconditional verdicts. It does not find security, performance or design defects.

The 42-second self-check, on the record: 39,997 checks since 2026-10-15T20:45:48Z, each one a line in ticks.jsonl that carries the SHA-256 of the line before it, so a skipped or edited check breaks the chain. A check re-scans with FALSEWORK the files that changed; it does not re-run KEYSTONE.

Check it yourself: the signed evidence bundle and its verify_bundle.py (no CAIN code) recompute every number above.

Every finding

filelinecheckseverity