{
  "schema": "cain42.proof.build_manifest.v1",
  "generated": "2026-09-29T02:40:03Z",
  "project": "CAIN-42",
  "component": "hosted gateway (cainstudio.online, mcpgate.online, clawx.click APIs)",
  "version": {
    "cain45": "45.4.0",
    "cain45.l5": "42.4.0"
  },
  "release": "git dbf63fdaa565 (chore(provenance): manifest regenerated from a clean checkout of HEAD (23b53c3); VERIFIED, 762 files, same node key 178a262b6a4a1119)",
  "git_commit": "dbf63fdaa565db675ec11bed75e3cfdca83b8f36",
  "build": {
    "type": "NONE: CPython runs the source files directly (no compile, no package, no container)",
    "build_timestamp": null,
    "compiler": "none (CPython compiles to bytecode at import time)"
  },
  "runtime": {
    "python": "3.14.4",
    "implementation": "cpython"
  },
  "os": {
    "name": "Ubuntu 26.04.1 LTS",
    "kernel": "7.0.0-30-generic",
    "architecture": "x86_64"
  },
  "container_digest": "NOT APPLICABLE: systemd service, not a container",
  "artifact": {
    "what": "the gateway's source files (platform-gateway/, cain/, cain45/ *.py)",
    "algorithm": "sha256 over canonical JSON [{path, sha256}] sorted by path",
    "files": 1006,
    "tree_sha256": "984d8fdae37f01357a85acce162b502b2bfa86be8b2587f2a894f64ebaaec48d",
    "entries_sha256": "984d8fdae37f01357a85acce162b502b2bfa86be8b2587f2a894f64ebaaec48d"
  },
  "artifact_vs_commit": {
    "files": 1006,
    "identical_to_commit": 990,
    "modified_vs_commit": [
      "cain45/l5/spatial_physical.py"
    ],
    "untracked": [
      "platform-gateway/cain_dual_custody_store.py",
      "platform-gateway/cain_enterprise_authorization.py",
      "platform-gateway/cain_enterprise_cli.py",
      "platform-gateway/cain_enterprise_identity.py",
      "platform-gateway/cain_enterprise_incident_response.py",
      "platform-gateway/cain_enterprise_policy_engine.py",
      "platform-gateway/cain_enterprise_telemetry.py",
      "platform-gateway/cain_enterprise_tenancy.py",
      "platform-gateway/cain_l5_gateway.py",
      "platform-gateway/cain_proof_carrying_authority.py",
      "platform-gateway/cain_security_kernel.py",
      "platform-gateway/routers/authority.py",
      "platform-gateway/routers/break_glass.py",
      "platform-gateway/routers/enterprise.py",
      "platform-gateway/routers/l5_governance.py"
    ]
  },
  "frontend_html": {
    "files": 46,
    "tree_sha256": "7e6ab2deb9c0f3a625bb3dddd8d9b88b8bca763dce3c3b99e6310eb40d063217"
  },
  "dependencies": {
    "count": 177,
    "sbom": "SBOM.cdx.json"
  },
  "test_suite_version": {
    "files": 475,
    "tree_sha256": "52008e8793273b52f86acfca7da0cf302483a8070694b7699a818992ddaed547"
  },
  "verifier_versions": {
    "scripts/cain42_bft/verify_byzantine_bundle.py": "6c23f6b068077fd0f2e1b8272f90ee4ed744526b36cd6ce9a2fec00749a2f8f2",
    "scripts/cain42_bft/verify_byzantine_evidence.py": "83d026aee9611c7abb2c7d176e2257d0afd6fa4ab97899f28ac2528414e4e24e",
    "scripts/cain42_bft/verify_cain42_authoritative_state.py": "cef1a46cace311a2cd67a6f801891c9fc85a06761ee4790f4b00e75e49a2422b",
    "scripts/cain42_bft/verify_claims.py": "d7105e3a3c916d4fbb4b7deade36e7b52e81a9eff5023342d9bc54eb25df44e2",
    "scripts/cain42_bft/verify_dag_bundle.py": "f544555b9275d412bdd2b459cf780d351058b3755792f44dfb7f8377a5d58fd5",
    "scripts/cain42_bft/verify_decision_record.py": "78051196a7a7a7e288020d037366fad0a3c4f83c176d8b4469687c50547a64c6",
    "scripts/cain42_bft/verify_host_loss_bundle.py": "0f26f9c82d40d9c3da44d878ee25ecfab59413475765515475a314019a15b6cf",
    "scripts/cain42_bft/verify_hosted_decision.py": "e3a4ceff12c81987af5672cf047ab9935e0e0d95a1ec7b61bf14e39091b1f3f1",
    "scripts/cain42_bft/verify_hourly_proofs.py": "0618d8d62c0b2ced032a44957bb739af70f6f7d0f0f2a25ddac02dc40c67e30d",
    "scripts/cain42_bft/verify_multi_region_bundle.py": "7e5815cbf62c9cf7bbd3adfefefbbed8fb44ceb4b0cd149f8c7ac4f2cbf2b167",
    "scripts/cain42_bft/verify_pbft_qc_bundle.py": "ba452ce42528f11f7f5235727a65cae25a34072bc52b4711fd72581615d06009",
    "scripts/cain42_bft/verify_release_manifest.py": "4353e1d0c31b2b50248c3c531ce20825f82eb90ee66223331932745719a7a0ec",
    "scripts/cain42_bft/verify_restore_validation.py": "0a8fb1138df6b35ee0b6cb651a23e9ce29c4b47fa75b5669d08d4547f984ebc4",
    "scripts/cain42_bft/verify_security_boundary.py": "0d56430670c5539c76a09298927d2862264b462e0c0d9389c637c2570eee9c70",
    "scripts/cain42_bft/verify_soak.py": "8d9f0a48faf4fea54c38c3795d8b76103cf3dfb3bc92ffe0709a5c9825c7141d",
    "scripts/cain42_l5/verify_adaptive_bundle.py": "f8a9c356c140196a660efa43c214e3e3a9c0005e031dbca3f73767799afc66c8",
    "scripts/cain42_l5/verify_authority_bundle.py": "af668d98f62bd7fc64a27c8525133f3e56b08397fa6e715d13b1f1f42da3afbc",
    "scripts/cain42_l5/verify_authority_bundle_engine_b.py": "0996d6ca0ca6b65b17196bb051e09d168b94fa5d0a375ed44c86beee9492479a",
    "scripts/cain42_l5/verify_hosted_evolution_run.py": "7e1a0271b43f343f52658b32741ebdd5ef5092d1ee8424c447e2061df8d37a6e",
    "scripts/cain42_l5/verify_hosted_governor_run.py": "e07672365742b6b916c15b711d18ef2a5551a4e4b7d95d48278b91c764930561",
    "scripts/cain42_l5/verify_l5_bundle.py": "18bbb8b53749aed5b987d2d79d838336f3cd4aca7f6a9c5adb0de519bb01c2e9",
    "scripts/cain42_l5/verify_l5_unified.py": "231435515c65bea6e2285ab658024fef05e788a3f9b7509b06ec51643e833418",
    "scripts/cain42_l5/verify_multisource.py": "cdc761850f37d9d6ad0eb9bd14d6eecf3b11cf1058702659b65b8b5b45ed7245",
    "scripts/cain42_l5/verify_system_bundle.py": "bfe8a4b017f9c762444214b42814487c859c24398980c5cee2446bb87377df4f",
    "scripts/cain42_proof/verify_proof_fabric.py": "c5788943a71a73a049a1eb3616a5ad98092c12b03f8f1bc09b7a1188b56dc816",
    "scripts/cain42_site/verify_all.py": "6e0864e280568b116f5909a0041fdcae3f61419832c1804e627b214e34f1c065",
    "scripts/cain42_trust/verify_trust_integrity_run.py": "45b98bc0ac2ef600ae5210059512ebf07b94f24adfa1ce228672289926df6b0c",
    "scripts/cain45/verify_cain45_zod.py": "2695e2faea451abc5d699e436f449958c93de492146caa7632d156a73f0568a4",
    "scripts/cain45/verify_e10.py": "55ac18fe642a053e6d33ad679ac6ad803a0f266cf746fb4ad8e335b7558eb70a",
    "scripts/cain45/verify_e11.py": "152f0893533b38a1d6cb576472e5fe16cfdccf8e30fa7f94e96fccea945fabf8",
    "scripts/cain45/verify_e12.py": "7083bc85a4d0ef404e6906c78b06a84890b4006733dca8c4108fa6163781fc3a",
    "scripts/cain45/verify_e13.py": "35f69d601739db665731162faa042a686ccb369697884e5c94a68f2964844cf5",
    "scripts/cain45/verify_e14.py": "1159acc0e6c07f1d625549567d0cfd2fa67648e080d976ea3b038ef0bf5448e7",
    "scripts/cain45/verify_e15.py": "6763e4047a122a227caca5c4d2e5b140fbcb555e3580fdcbccec6095f43ab095",
    "scripts/cain45/verify_e6_lease.py": "8ddcee34f1b1bbedd4682229079d3d458cc58006a51ab49ad1b8bc576d4e8b70",
    "scripts/cain45/verify_e7_e8.py": "a97a13f6c9138115259f2dead141f01e790be05c3619c5f217b67ae881fec74e",
    "scripts/cain45/verify_e7_lease.py": "26bac3bae9673597e41a63fa40f523f2347977c54c00c67d90e400c610168039",
    "scripts/cain45/verify_e7_seccomp.py": "899b06025e58649a9663eac5a32ac2aa0e50dc492725cc62c6a4aab54829215a",
    "scripts/cain45/verify_e8_governance.py": "0fd608899c72c9209b797f23be415ee2076e0301c160ce2e32f52939b1210958",
    "scripts/cain45/verify_e9.py": "6807b757f5df8fbe4228d777f18cff8436c88701ad9a0c0c7499b918339cdf05",
    "scripts/cain45/verify_world_model.py": "e7e9d0d0c882961d1550f435a4c7e735e6ee1efd194299b04276ac78d39d1892",
    "scripts/cain45/verify_zod_replay.py": "e602e36809f449894ff38f671ffb814b2886b85c0071ccb4e6558ccf98caa856",
    "scripts/verify_bft_evidence.py": "cc447dfe5e73becdf7e6ee1c52c3e022c08a506cd663508a3e63430f7fecc15d",
    "scripts/verify_cluster_evidence.py": "5c4aa86828bdedb47255421c80cb4860bfc53cbfc3a14ec2ae402df31fc64884",
    "scripts/verify_daily_package.py": "4240ed414f99facdb8bd025831dbe96135d22e5a4583627ce9c8e0f56cd23638",
    "scripts/verify_epoch10_all.py": "16c71f982ecdb5083350eaf75d29d15cc54e722deb7470e7b57c2c80120f5b7a",
    "scripts/verify_epoch10_sites.py": "91141242c88800346249b7e36a348bb14091bf2e40ab2c06ada528e71ecdac32",
    "scripts/verify_frontier_bundle.py": "0a6b1053515a92b3750bd9f0f3a986b7292281ac10f7947a06b028a415d52056",
    "scripts/verify_frontier_trust_bundle.py": "6c056795facffac12fa23cf4f499a45d2a43d7305a0bf078104d2b55cddeab98"
  },
  "reproducibility": "PARTIAL: identical bytes are reproducible from the commit plus the listed modified/untracked files, with repository access; the source is not published (operator directive), so a stranger can check hashes and signatures but cannot rebuild the artifact"
}
