{
  "passed": true,
  "node_checks": 33,
  "python_tests": 20,
  "node_output": "PASS approved customer1\nPASS reject foodsafe\nPASS reject sys\nPASS reject dataset\nPASS reject wrongtbs\nPASS reject port\nPASS reject instance\nPASS reject build\nPASS reject host\nPASS reject flags\nPASS reject missingflags\nPASS reject wrongprobe\nPASS reject unsafePassword\nPASS reject missingEnv\nPASS reject swapped source backup\nPASS reject mutated destination\nPASS approved rehearsal pair1\nPASS approved rehearsal pair3\nPASS reject cross rehearsal suffix\nPASS every-session guard includes all flags\nPASS existing-object isolation proof accepted\nPASS missing-object isolation evidence rejected\nPASS cross-payload role evidence rejected\nPASS missing table is not permission denial\nPASS real permission denial recognized\nPASS smallint identity limit65535\nPASS identity max cannot reach nextseed\nPASS full capability with unique boundary accepted\nPASS legacy capability missing unique probe rejected\nPASS arbitrary probe error is not unique rejection\nPASS actual importer rejects guardfail\nPASS actual importer rejects nonempty\nPASS actual importer rejects tamper before connection\n{\"passed\":true,\"checks\":33}\n",
  "python_output": "test_cross_dataset_binding_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_cross_host_binding_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_cross_probe_binding_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_cross_statement_mapping_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_finalize_optimized_python_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_finalize_rejects_cross_target_run (test_runtime_python.RuntimeTests) ... ok\ntest_incomplete_identity_binding_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_insufficient_lob_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_missing_client_packagehash_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_missing_probe_object_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_old_probe_missing_unique_test_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_prepare_cannot_switch_to_rehearsal_port (test_runtime_python.RuntimeTests) ... ok\ntest_prepare_first_exact_and_no_database_execution (test_runtime_python.RuntimeTests) ... ok\ntest_prepare_refuses_existing_private (test_runtime_python.RuntimeTests) ... ok\ntest_prepare_refuses_foodsafe_names (test_runtime_python.RuntimeTests) ... ok\ntest_prepare_second_exact (test_runtime_python.RuntimeTests) ... ok\ntest_prepare_swapped_source_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_prepare_tampered_payload_rejected (test_runtime_python.RuntimeTests) ... ok\ntest_unique_rejection_requires_exact_code (test_runtime_python.RuntimeTests) ... ok\ntest_valid_binding (test_runtime_python.RuntimeTests) ... ok\n\n----------------------------------------------------------------------\nRan 20 tests in 0.768s\n\nOK\n",
  "syntax_checks": [
    {
      "file": "import_dm.cjs",
      "exit_code": 0
    },
    {
      "file": "test_runtime_contract.cjs",
      "exit_code": 0
    },
    {
      "file": "capture_role_evidence.cjs",
      "exit_code": 0
    },
    {
      "file": "target_contract.cjs",
      "exit_code": 0
    },
    {
      "file": "probe_target.cjs",
      "exit_code": 0
    },
    {
      "file": "identity_clones.cjs",
      "exit_code": 0
    },
    {
      "file": "payload_contract.cjs",
      "exit_code": 0
    },
    {
      "file": "session_guard.cjs",
      "exit_code": 0
    }
  ],
  "script_sha256": {
    "prepare_target.py": "6039be5c4611677ee34f88dfe58802f9db8f9b6a554da6787dcb390a67bf95ee",
    "import_dm.cjs": "ecbdd90ebe94f8cb4c8400e9f7452df30bfa3bf6372efcbf7e70d3901e417cf1",
    "test_runtime_contract.cjs": "a67a4473f85f6a309ed56b920a5f815532f04339d82681889938ccc2c1602188",
    "capture_role_evidence.cjs": "d3684a47ae10eac31f2a0481d9da2a645d56865313bb9c902234cbb5dce95101",
    "target_contract.py": "5c516d38d8e494d68a72f95ee41cbcc9e9ca1ee141edde235c18b32ed42dd753",
    "target_contract.cjs": "168ec240ef8acb61f9c7f9826ddb4f700f118924ab4ceb6959ad66ee7bc235b2",
    "probe_target.cjs": "18c96ae00b4e12d04ddb9d6bf6eff85ec5bccd000d01d564169db395b79fac76",
    "test_runtime_python.py": "f7c0403eb8e0ec4ecf35fb66d6433b20df2f273ecb12679949ec5bd4aaedae04",
    "identity_clones.cjs": "7a4b93089f6a830543928519d6006727eb477c7124b5d1962419b003bd724376",
    "payload_contract.cjs": "f2252f70e806dd0f661ce4a6be422b179e28d406464ce8560090ed185bef8675",
    "bind_probe.py": "e4f894698510020224fcfb5708cdf02ddf5b622710933eef1aa4a8f611903f8f",
    "finalize_identity.py": "e57de414d737ef6bff8db3413261ecb9594148118389fb5e7f6cf06cee84d567",
    "session_guard.cjs": "490fc499dd5b29568eb818a6aac0d429dd26df0441af1571244ed151f8929a1f",
    "capture_roles.py": "cd629783d52b35a920d27cce8fec81c913937f97a1f45115a8049ec38a009f1d"
  },
  "limitations": [
    "No new live DM write rehearsal by runtime-tool author; root will execute final frozen package in isolated DM",
    "Synthetic JSONB and binary unique probes test capability only; never represented as additional business schema tables",
    "Config hashes are integrity checks, not cryptographic signatures; trust externally verified release checksum"
  ]
}
