{
  "product": "InFinBot",
  "release": "2026-10-13-recovery-4",
  "files": [
    {
      "path": "ACCEPTANCE_EVIDENCE.json",
      "sha256": "4b4f2aff979342a5306936d3752fd0171070d73581f5fd70368284be9bfa9d14",
      "size_bytes": 2462
    },
    {
      "path": "BACKUP_RECOVERY.txt",
      "sha256": "25dfd9c7d3ed82faab3dd605b4398ce5d89bf9ad3f3c83b19a8cb1de4476dc26",
      "size_bytes": 4586
    },
    {
      "path": "DATAMINE_ACCEPTANCE.txt",
      "sha256": "5fabe4e5fe656d74c438a8b0a4f0e49646c85dcacf9124caac07f985a1ffef2a",
      "size_bytes": 6876
    },
    {
      "path": "START_HERE.txt",
      "sha256": "9b5694ad543ac1f1fcf0c8fcde56d8aefa7aaacb9053d51516f330116037db56",
      "size_bytes": 9940
    },
    {
      "path": "admin_vault_audit.py",
      "sha256": "fef7173bd72fde3a1943c52c1caff9b15461e697993cc17d910abe1bf48f94f3",
      "size_bytes": 3797
    },
    {
      "path": "audit_live_cycle.py",
      "sha256": "ba56ed9bcc5c3ce5918535b19bb35ce6604aa49f70aca9951cf6759c028ecfa2",
      "size_bytes": 5885
    },
    {
      "path": "audit_weekend_one.py",
      "sha256": "afa0ac20f8962a652dfccaadd3c1dbc8e36ccada2ea04aabee5080f37f45b5b9",
      "size_bytes": 1784
    },
    {
      "path": "consigliere_server.py",
      "sha256": "9cf95f33e7c7719d9d9d051bb18ec5e5db2eb3d54001617c21bbecb30ee88e26",
      "size_bytes": 5262
    },
    {
      "path": "data_paths.py",
      "sha256": "43748456086b3299dece0f55236d336532f67734e5b863da5b0a801b163e22a1",
      "size_bytes": 1046
    },
    {
      "path": "datamine_adapter.py",
      "sha256": "84ce1ac037d93240250a8efe7b64825cc892440ff1858abcc1bee0b01d3ee910",
      "size_bytes": 12135
    },
    {
      "path": "feed_probe.py",
      "sha256": "fbd9c7c7478e8a9d8985f7d66b94ba3f7ee58ac8d762bef3ae2116e11e2e4ad9",
      "size_bytes": 6043
    },
    {
      "path": "fleet_dashboard.py",
      "sha256": "b076cc177578a700bfa871fe4a790af2a9c4d5eec1d110b09193b4b77a2257a4",
      "size_bytes": 15185
    },
    {
      "path": "foresixa_licensing_server.py",
      "sha256": "a023bef89dfa6b4ed1aa2b7aa72580612417211360e4d8cebcde4a8b6c235889",
      "size_bytes": 6654
    },
    {
      "path": "generated/__init__.py",
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "size_bytes": 0
    },
    {
      "path": "generated/archive_tax_reports.py",
      "sha256": "0b4cf0d36f3595eccf2e1d47dc1dc4a2fd06bfd3412a39dd09cd04c9163c5651",
      "size_bytes": 12035
    },
    {
      "path": "generated/install_tax_archive_schedule.py",
      "sha256": "a296e30188ee8da35a554551c2c1d4ccd77e9e2cf612619cf746d5569092bbaf",
      "size_bytes": 5439
    },
    {
      "path": "generated/secure_backup_vault.py",
      "sha256": "53cb2883bb3684473388d7bb2a05a6520b24483e7c4fc963a1aee7251b3a1453",
      "size_bytes": 12895
    },
    {
      "path": "generated/verify_ledger_json.py",
      "sha256": "2d966abfa4ea4b46af41643b4454885ec1b12053ba1a07a35a92caa8aa0b1d41",
      "size_bytes": 6362
    },
    {
      "path": "generated/worker_performance_ranker.py",
      "sha256": "a32af2f9630a76133a02bcf6e94e6290d94ad5c1954f096a16fbdf06de46bad0",
      "size_bytes": 9210
    },
    {
      "path": "infinbot_acceptance.py",
      "sha256": "a5bcb4ae6bdbfbae3055bc3771e7856f9ec30b36471bf78e92be250b37529d10",
      "size_bytes": 10466
    },
    {
      "path": "infinbot_archive_job.py",
      "sha256": "22711ddfa0bdf413b5c5d4fcdb1c029546a00a57b4920bfcb6f9d0a47a34096b",
      "size_bytes": 865
    },
    {
      "path": "infinbot_backup.py",
      "sha256": "039096e9b4e991ded0498b5d6a3d0fd7d2aa96758651bc833836df10d2b02413",
      "size_bytes": 3424
    },
    {
      "path": "infinbot_common.py",
      "sha256": "8afaceb435425fed19e2961f71cd29628dd90cf1da7aee91bf38451fec441bcb",
      "size_bytes": 3594
    },
    {
      "path": "infinbot_dashboard.html",
      "sha256": "878599fc672158c1c8d85cdd6c7b6a6549e7d4f5527c087d6d85c733c9a0e155",
      "size_bytes": 2903
    },
    {
      "path": "infinbot_dashboard_server.py",
      "sha256": "7d2a2627609b00a5583ba412b20afc2e6165105912a4b4f0875a085c34a66888",
      "size_bytes": 1338
    },
    {
      "path": "infinbot_gateway_check.py",
      "sha256": "4d0f07bd86b390199e1cc89b1395159aa38cebc699976de8aeadb414baba3ccb",
      "size_bytes": 1940
    },
    {
      "path": "infinbot_notify_check.py",
      "sha256": "2aae8cce0dfb403bb57499db74dbb54be48a26778122c937f092b12ba6f9189f",
      "size_bytes": 1795
    },
    {
      "path": "infinbot_observer_window.py",
      "sha256": "7a6efb4a2041e979b728fcaa3d30d8a3380464c9ec142dccfac2e2b022956b44",
      "size_bytes": 1426
    },
    {
      "path": "infinbot_schedule.py",
      "sha256": "7e4301e87b6016b41cccbeb84c6f11839ca8dcc479de216be70b38c41acbf125",
      "size_bytes": 3630
    },
    {
      "path": "infinbot_secret_audit.py",
      "sha256": "28c4b1a88052f416f4a7896c7a48d5173b3d77f012fa23b4d03d76e0df6dd769",
      "size_bytes": 2973
    },
    {
      "path": "infinbot_setup.py",
      "sha256": "7bf4e50de8d1ac871abfbad5f2c7ec6d8059f04dacd53fb9b57852a17af526ad",
      "size_bytes": 4427
    },
    {
      "path": "infinbot_start.py",
      "sha256": "008e648a98de83494f369d007230dd651901ceb320726d66c41e6d79712d2ce2",
      "size_bytes": 2650
    },
    {
      "path": "init_commercial_tenants.sql",
      "sha256": "882c09fa061f5312d03d210ee28863498acc717055e1fe86a6099feac8947b5e",
      "size_bytes": 869
    },
    {
      "path": "init_license_controls.sql",
      "sha256": "dc4012a0a18fd4883751188841c29e7d2c5cb015596b3cc65a1112dfbf2c50d5",
      "size_bytes": 3490
    },
    {
      "path": "init_score_ledger.sql",
      "sha256": "478b08450445b740b2a3a42b7df4451b15f3df500267ea42d3a4d5fa19d792cc",
      "size_bytes": 2386
    },
    {
      "path": "install_infinbot.py",
      "sha256": "4d723f24084ee2f3fd36b3cd1fe6e1ee4947fb2f69101223b483cb364af8633b",
      "size_bytes": 3057
    },
    {
      "path": "ledger_reporting.py",
      "sha256": "54ba2c52d90a12adf73515fbcfb7aa0d816cf17ad6edfb1173e6e7ae6b10dd2b",
      "size_bytes": 3222
    },
    {
      "path": "licensing_controls.py",
      "sha256": "e7dcce76ac3f8d3ef463cd666f4bf9cbb1705bf38771406aa8c87ce80ee6dd22",
      "size_bytes": 16912
    },
    {
      "path": "portfolio_performance_ranker.py",
      "sha256": "3e1e72e976b8e1e3a58e59e9847d303c67b974eacdd762512d34a952d5cdcaa4",
      "size_bytes": 4699
    },
    {
      "path": "rebalance_engine.py",
      "sha256": "0774be76e7d750b4a94b01dfc1f69bf6d7f923bfb5a967fc6f905c10d4dcbc5e",
      "size_bytes": 4739
    },
    {
      "path": "requirements-infinbot.txt",
      "sha256": "281660199302cd04c78471569e66ec6e5c74ab37ceb09eb7a1890aae2c9e1786",
      "size_bytes": 38
    },
    {
      "path": "risk_state.py",
      "sha256": "0303db8045ae55b903ae2144786853bf5a5c7401fa6ee1697b749687302949ec",
      "size_bytes": 3297
    },
    {
      "path": "runtime/worker.py",
      "sha256": "cada0e0e8e42c574f5b5763fe0cff0fb22d38426f223756adef553f4b32b3142",
      "size_bytes": 1391
    },
    {
      "path": "score_validator.py",
      "sha256": "f518b4d09f6458309b1fe9e242041079828e19f775ac9cb5982cc6d173f7d487",
      "size_bytes": 14507
    },
    {
      "path": "score_validator_v3.py",
      "sha256": "3b5c6ae0e301b1ad7af8daa2d7f2f8725fbd6d1bde1a64e214b0d33928405719",
      "size_bytes": 756
    },
    {
      "path": "score_validator_v4.py",
      "sha256": "995228a5ca9f16a5d86bc68eb429ffc029e472d7817707a42259b7f4c9c5049b",
      "size_bytes": 532
    },
    {
      "path": "telemetry_notifier.py",
      "sha256": "472b1f8aeb08553ca9bcaf9db5f4fa42a9d1cea2db9f84dc69ad831764471db5",
      "size_bytes": 5169
    },
    {
      "path": "test_backup_recovery.py",
      "sha256": "f1cc928937c995f1cf89e90cec334ad49653ae5cbe9b9a78ec1531dad6181edf",
      "size_bytes": 6928
    },
    {
      "path": "tests/__init__.py",
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "size_bytes": 0
    },
    {
      "path": "tests/test_backup_drill.py",
      "sha256": "568959de606615b1fdd5144688140b2837d33917437a5ff51edd22013a91ed02",
      "size_bytes": 6323
    },
    {
      "path": "tests/test_datamine.py",
      "sha256": "ea360086efac4ef80b4ed65cd58acf7fc235e7b8d5201f6b12983641f54877e3",
      "size_bytes": 7619
    },
    {
      "path": "tests/test_infinbot.py",
      "sha256": "efe3058cf622d60558a52dd7f521b7f9a4166f07523d8dbfe60f8f41b9754d48",
      "size_bytes": 20396
    },
    {
      "path": "verify_keychain_token.py",
      "sha256": "5c03576f4c3f2f1c2a2f22783bd5e14789c61d633dcb49d075917ea1057380ba",
      "size_bytes": 721
    },
    {
      "path": "verify_live_feeds_standalone.py",
      "sha256": "279ccc623d6d8fd39d149532fae96b57d1f42754d40d0ab209d1490e1a57b9c9",
      "size_bytes": 17872
    },
    {
      "path": "worker_controls.py",
      "sha256": "5320fc1c84c0b00d657e7108fcf07519c9d9b6d83961634a27d7a24fd5372d61",
      "size_bytes": 1338
    }
  ],
  "tested_dependencies": {
    "websockets": "16.0",
    "cryptography": "50.0.1"
  }
}
