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

FALSEWORK scanned 2,948 Python files of the CAIN-42 ecosystem for code that fakes a result: 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 findings2,82996.0%
PARTIAL — a MEDIUM or HIGH finding1194.0%
STUB — a CRITICAL finding00.0%

178 findings, by kind:

checkfindings
bare_except_pass168
placeholder_marker7
unparseable_source1
hardcoded_success_claim1
unconditional_verdict1

KEYSTONE so far: 16 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): 3 fix(es) proved, 13 not proved, 0 nothing to fix, 12 not run (the Claude API was unavailable; retried automatically). 111 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_FIXapplied in 1342208f: self-audit derives its verdict from the phases actually run
10cain/interop/benchmark.pyhardcoded_success_claimVERIFIED_FIXapplied 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_FIXapplied 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

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: 159 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); all 4 CRITICAL findings of the raw scan were there), and 1 finding reviewed by hand as a false alarm (a random fault-injection target in a soak test).

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: 68 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
cain/substrate/demo_refresh.py38bare_except_passMEDIUM
platform-gateway/demo_refresh.py38bare_except_passMEDIUM
scripts/cain42_site/check_links.py33bare_except_passMEDIUM
scripts/review_package/publish_live.py34bare_except_passMEDIUM
scripts/architecture_reality_map.py29bare_except_passMEDIUM
scripts/legacy/clean_routes.py1unparseable_sourceMEDIUM
scripts/cain42_bft/multi_region_bench.py51bare_except_passMEDIUM
scripts/cain42_evolution/bench_reality.py88bare_except_passMEDIUM
scripts/ironclad/prompt8/sign_manifest.py49bare_except_passMEDIUM
scripts/ironclad/prompt8/sign_manifest.py58bare_except_passMEDIUM
scripts/cluster13/cain_enforcement_path_validator_13.py80bare_except_passMEDIUM
scripts/bft_verifiable_run.py96bare_except_passMEDIUM
scripts/bft_verifiable_run.py102bare_except_passMEDIUM
scripts/bench_clawx23.py56bare_except_passMEDIUM
cain/runtime/runtime.py88bare_except_passMEDIUM
cain/runtime/runtime.py97bare_except_passMEDIUM
scripts/cain42_bft/pbft_ab_bench.py82bare_except_passMEDIUM
cain/substrate/tenant_budgets.py74bare_except_passMEDIUM
platform-gateway/service_health.py106bare_except_passMEDIUM
platform-gateway/cain_evolution_receipt_42.py135bare_except_passMEDIUM
platform-gateway/cain_evolution_receipt_42.py151bare_except_passMEDIUM
scripts/cain42_site/accept_external_reproduction.py159bare_except_passMEDIUM
cain/config.py46bare_except_passMEDIUM
cain/config.py60bare_except_passMEDIUM
cain/config.py72bare_except_passMEDIUM
cain/config.py74bare_except_passMEDIUM
cain/config.py149bare_except_passMEDIUM
cain/genesis/skill_reproduction.py122bare_except_passMEDIUM
cain/genesis/skill_reproduction.py132bare_except_passMEDIUM
cain/genesis/skill_reproduction.py142bare_except_passMEDIUM
cain/genesis/skill_reproduction.py148bare_except_passMEDIUM
cain/genesis/skill_reproduction.py166bare_except_passMEDIUM
scripts/cluster12/standalone_verifier_12.py166bare_except_passMEDIUM
scripts/cluster13/standalone_verifier_13.py168bare_except_passMEDIUM
cain/e23/transport_tcp.py150bare_except_passMEDIUM
scripts/cluster11/cain_hardware_attestation_11.py76bare_except_passMEDIUM
scripts/cain42_bft/pbft_qc_evidence_run.py105bare_except_passMEDIUM
scripts/cain42_bft/pbft_dag_cluster_run.py71bare_except_passMEDIUM
scripts/cain42_bft/pbft_dag_cluster_run.py174bare_except_passMEDIUM
scripts/cain42_reality_map_2026.py82bare_except_passMEDIUM
cain/substrate/continuity_stage.py199bare_except_passMEDIUM
cain/cain_heap_firewall.py224bare_except_passMEDIUM
platform-gateway/cain_lab_public.py133bare_except_passMEDIUM
scripts/cain42_bft/clean_room_verifier.py186placeholder_markerMEDIUM
scripts/cluster11/forensic_baseline_11.py96bare_except_passMEDIUM
scripts/cluster11/standalone_verifier_11.py192bare_except_passMEDIUM
scripts/cain42_bft/cain_mr_restore_drill.py84bare_except_passMEDIUM
cain/formal/execution_identity.py171bare_except_passMEDIUM
cain/formal/execution_identity.py182bare_except_passMEDIUM
scripts/ops/disk_retention.py122bare_except_passMEDIUM
scripts/cain42_bft/pbft_proof_package_run.py118bare_except_passMEDIUM
scripts/cain42_mesh/build_mesh_evidence.py198bare_except_passMEDIUM
cain/cain_adi_shield.py156bare_except_passMEDIUM
platform-gateway/cain_adi_shield.py156bare_except_passMEDIUM
scripts/cain42_bft/hourly_proof.py183bare_except_passMEDIUM
cain/mcpgate_guard_stack_hosted.py162bare_except_passMEDIUM
scripts/cain42_bft/multi_region_evidence_run.py77bare_except_passMEDIUM
scripts/cain42_bft/multi_region_evidence_run.py87bare_except_passMEDIUM
cain/cain_pqc_attestation.py128bare_except_passMEDIUM
platform-gateway/cain_pqc_attestation.py128bare_except_passMEDIUM
platform-gateway/cain_state_continuity_42.py168bare_except_passMEDIUM
platform-gateway/cain42_epoch10_evidence_builder.py113bare_except_passMEDIUM
cain/substrate/cain_cluster_security_properties.py240bare_except_passMEDIUM
platform-gateway/cain_cluster_security_properties.py240bare_except_passMEDIUM
scripts/cain42_bft/cain_mr_multi_loss_drill.py101bare_except_passMEDIUM
scripts/cain42_bft/multi_region_ops_drill.py89bare_except_passMEDIUM
scripts/cain42_bft/multi_region_ops_drill.py104bare_except_passMEDIUM
scripts/build_review_core_bundle.py203bare_except_passMEDIUM
scripts/cluster8/cain_constitution_cli.py81bare_except_passMEDIUM
cain/substrate/events.py230bare_except_passMEDIUM
cain/substrate/events.py235bare_except_passMEDIUM
platform-gateway/events.py230bare_except_passMEDIUM
platform-gateway/events.py235bare_except_passMEDIUM
scripts/cluster5/forensic_baseline.py87bare_except_passMEDIUM
cain/substrate/cain_frontier_api.py59bare_except_passMEDIUM
platform-gateway/cain_frontier_api.py59bare_except_passMEDIUM
cain/substrate/cain_identity_layer_42.py129bare_except_passMEDIUM
platform-gateway/cain_identity_layer_42.py129bare_except_passMEDIUM
scripts/cluster9/cain_autonomy_cli.py57bare_except_passMEDIUM
cain/substrate/changelog_generator.py312bare_except_passMEDIUM
platform-gateway/changelog_generator.py312bare_except_passMEDIUM
platform-gateway/cain_action_proof_epoch6.py275bare_except_passMEDIUM
scripts/cain42_evolution/soak_convergence.py57bare_except_passMEDIUM
scripts/cain42_evolution/soak_convergence.py114bare_except_passMEDIUM
scripts/cain42_evolution/soak_convergence.py170bare_except_passMEDIUM
platform-gateway/cain_state_store_42.py78bare_except_passMEDIUM
platform-gateway/cain_state_store_42.py192bare_except_passMEDIUM
scripts/stress_test_top100_products.py244bare_except_passMEDIUM
scripts/stress_test_top100_products.py248bare_except_passMEDIUM
scripts/stress_test_top100_products.py340bare_except_passMEDIUM
platform-gateway/cain_frontier_lab_api.py67bare_except_passMEDIUM
scripts/ip/verify_all_cain42_inventions.py208bare_except_passMEDIUM
scripts/epoch14_run.py52bare_except_passMEDIUM
scripts/sovereign/evidence_pipeline_e8.py118bare_except_passMEDIUM
cain/memory.py139bare_except_passMEDIUM
scripts/cluster10/cain_sovereignty_cli.py68bare_except_passMEDIUM
cain/cain_plugin_sentinel.py98bare_except_passMEDIUM
cain/cain_plugin_sentinel.py230bare_except_passMEDIUM
cain/cain_plugin_sentinel.py392bare_except_passMEDIUM
cain/cain_plugin_sentinel.py402bare_except_passMEDIUM
scripts/review_package/build_v2_core_bundle.py471bare_except_passMEDIUM
scripts/sovereign/evidence_pipeline_e5.py65bare_except_passMEDIUM
cain/customer_cli.py338bare_except_passMEDIUM
cain/cain_swarm_quarantine.py294bare_except_passMEDIUM
cain/cain_swarm_quarantine.py296bare_except_passMEDIUM
cain/interop/benchmark.py112hardcoded_success_claimMEDIUM
scripts/sovereign/evidence_pipeline.py72bare_except_passMEDIUM
scripts/sovereign/evidence_pipeline_e6.py66bare_except_passMEDIUM
cain/substrate/cain_mcp_discovery.py159placeholder_markerMEDIUM
cain/substrate/cain_mcp_discovery.py198placeholder_markerMEDIUM
cain/substrate/cain_mcp_discovery.py237placeholder_markerMEDIUM
cain/substrate/cain_mcp_discovery.py306placeholder_markerMEDIUM
cain/substrate/cain_universal_wrapper.py228bare_except_passMEDIUM
platform-gateway/cain_system_gateway.py367bare_except_passMEDIUM
platform-gateway/bin/cain.py390bare_except_passMEDIUM
scripts/cluster9/cain_trust_autonomy_9_engine.py136bare_except_passMEDIUM
scripts/business/build_canonical_top100_registry.py180bare_except_passMEDIUM
cain/substrate/cain_capability.py203placeholder_markerMEDIUM
scripts/ironclad/release_gate_engine.py167bare_except_passMEDIUM
cain/cain_extension_hypervisor.py508bare_except_passMEDIUM
cain/cain_extension_hypervisor.py658bare_except_passMEDIUM
cain/cain_expert_chatbot.py287bare_except_passMEDIUM
cain/substrate/cain_expert_chatbot.py287bare_except_passMEDIUM
platform-gateway/cain_expert_chatbot.py287bare_except_passMEDIUM
cain/insurance.py149bare_except_passMEDIUM
cain/worm_export.py256bare_except_passMEDIUM
scripts/cluster10/cain_trust_sovereignty_10_engine.py164bare_except_passMEDIUM
scripts/cluster10/cain_trust_sovereignty_10_engine.py172bare_except_passMEDIUM
scripts/cluster7/cain_trust_fabric_7_engine.py601unconditional_verdictMEDIUM
scripts/cluster5/cluster_evolution_engine.py460bare_except_passMEDIUM
cain/substrate/agent_passport.py645bare_except_passMEDIUM
platform-gateway/agent_passport.py645bare_except_passMEDIUM
cain/quarantine.py569bare_except_passMEDIUM
cain/quarantine.py886bare_except_passMEDIUM
cain/quarantine.py992bare_except_passMEDIUM
cain/substrate/cain_simulation.py496bare_except_passMEDIUM
platform-gateway/cain_simulation.py496bare_except_passMEDIUM
scripts/cluster6/cain_trust_fabric_6_engine.py498bare_except_passMEDIUM
cain/substrate/cain_drift_api.py527bare_except_passMEDIUM
cain/substrate/cain_drift_api.py755bare_except_passMEDIUM
cain/substrate/cain_drift_api.py820bare_except_passMEDIUM
cain/substrate/cain_drift_api.py885bare_except_passMEDIUM
cain/substrate/cain_drift_api.py946bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1007bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1227bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1235bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1243bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1251bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1259bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1267bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1275bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1283bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1291bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1299bare_except_passMEDIUM
cain/substrate/cain_drift_api.py1307bare_except_passMEDIUM
cain/substrate/cluster_api.py103bare_except_passMEDIUM
platform-gateway/cluster_api.py103bare_except_passMEDIUM
cain/substrate/cain_planner.py572bare_except_passMEDIUM
platform-gateway/cain_planner.py572bare_except_passMEDIUM
cain/continuum/hosted_pipeline.py288bare_except_passMEDIUM
cain/continuum/hosted_pipeline.py895bare_except_passMEDIUM
cain/continuum/hosted_pipeline.py957bare_except_passMEDIUM
cain/substrate/cain_sentinel.py943bare_except_passMEDIUM
cain/substrate/onboarding.py1539bare_except_passMEDIUM
cain/substrate/onboarding.py1633bare_except_passMEDIUM
platform-gateway/onboarding.py1539bare_except_passMEDIUM
platform-gateway/onboarding.py1633bare_except_passMEDIUM
cain/substrate/security_integration.py1707bare_except_passMEDIUM
cain/substrate/security_integration.py1731bare_except_passMEDIUM
platform-gateway/security_integration.py1707bare_except_passMEDIUM
platform-gateway/security_integration.py1731bare_except_passMEDIUM
cain/substrate/cain_drift.py1091placeholder_markerMEDIUM
cain/substrate/cain_cluster.py167bare_except_passMEDIUM
cain/substrate/cain_cluster.py183bare_except_passMEDIUM
cain/substrate/cain_cluster.py199bare_except_passMEDIUM
cain/substrate/cain_cluster.py1798bare_except_passMEDIUM
cain/substrate/trust_graph.py1732bare_except_passMEDIUM
platform-gateway/trust_graph.py1732bare_except_passMEDIUM