{
  "projectionSchemaVersion": 1,
  "sourceSessionFile": "frozen-source-integrity-after.json",
  "sourceSha256": "d11f4e058412483ccaec1c5420a143adf36a434b7b2c8034baa1d85a4a4d83c2",
  "projectionRule": "Operational metadata only; absolute local paths projected to basenames, embedded local paths omitted; raw questions/prompts/native conversations/AX/CLI excluded",
  "projectionOmissions": [],
  "data": {
    "checkedAt": "2026-10-18T05:25:31.454801+00:00",
    "files": [
      {
        "group": "method_file_sha256",
        "file": "COMPARISON-PROTOCOL.md",
        "expected": "d7a2ecc9f65770cb1fe05c5d6c936f0c5c8a7603ad8d77259e55bb357c8b5474",
        "actual": "d7a2ecc9f65770cb1fe05c5d6c936f0c5c8a7603ad8d77259e55bb357c8b5474",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "PAIRED-ANALYSIS.md",
        "expected": "cc09572414393b465dc5cc3388272c2027a2c423d0ab1b729e6f9fa255f32282",
        "actual": "cc09572414393b465dc5cc3388272c2027a2c423d0ab1b729e6f9fa255f32282",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "SCORING.md",
        "expected": "2d0b2201a894bb663f5f71a6c2464bcf7d53138b84b83de153ed9bf18f553259",
        "actual": "2d0b2201a894bb663f5f71a6c2464bcf7d53138b84b83de153ed9bf18f553259",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "common_grade.py",
        "expected": "e9b95ce6b5a821c0ab703c60de388f7604d919d62cfe13ac544cfbcb95c14c5f",
        "actual": "e9b95ce6b5a821c0ab703c60de388f7604d919d62cfe13ac544cfbcb95c14c5f",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "consumed-v14-controls.json",
        "expected": "2d7971b4f92c22712b837ac60ca8b702a56ff41c0748f70188d53df1bb10e9af",
        "actual": "2d7971b4f92c22712b837ac60ca8b702a56ff41c0748f70188d53df1bb10e9af",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "engineering-review-followup.json",
        "expected": "e85921ff15eda64b052df7d331844719295616ad36a43b5ebb47e757ec6782d3",
        "actual": "e85921ff15eda64b052df7d331844719295616ad36a43b5ebb47e757ec6782d3",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "engineering-review.json",
        "expected": "1563d64d3f8a757d19c9029af15cb749dc44d7f245994289916cee91998b63eb",
        "actual": "1563d64d3f8a757d19c9029af15cb749dc44d7f245994289916cee91998b63eb",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "native-control.py",
        "expected": "dd552d5bca14227be3833dcd63687ac9154aafd29a40f4813b929229682cfc4a",
        "actual": "dd552d5bca14227be3833dcd63687ac9154aafd29a40f4813b929229682cfc4a",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "native-duplicate.applescript",
        "expected": "15df26771ac91a43ed44554affa5f358a0f39581d55ca2e6b4921b8ceef4ed6f",
        "actual": "15df26771ac91a43ed44554affa5f358a0f39581d55ca2e6b4921b8ceef4ed6f",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "native-rename-clone.applescript",
        "expected": "1b271b307c49b92a085cfb38cb2f5a3cf9ac7fb75d5aae02371b72e99fcb07a6",
        "actual": "1b271b307c49b92a085cfb38cb2f5a3cf9ac7fb75d5aae02371b72e99fcb07a6",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "native-study.mjs",
        "expected": "c2eb99fa6dbb92ac9459b8ff1eebc13ac4f2145563df1ab24a49684fb1ba0f36",
        "actual": "c2eb99fa6dbb92ac9459b8ff1eebc13ac4f2145563df1ab24a49684fb1ba0f36",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "native-ui.mjs",
        "expected": "de41f85c2cf490e682c21c9bce7b8ee87406be5b81b4551cf4425cf083e138a5",
        "actual": "de41f85c2cf490e682c21c9bce7b8ee87406be5b81b4551cf4425cf083e138a5",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "native-user-template.txt",
        "expected": "6445968866a12a80297f52f1c97afe07ce1b425d349544f648a2faf294943b5e",
        "actual": "6445968866a12a80297f52f1c97afe07ce1b425d349544f648a2faf294943b5e",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "native_capture.py",
        "expected": "5517b3dcf7dee4dc4fcf209e05961c967b68d1eba212a37fc7fac0fcca3a4556",
        "actual": "5517b3dcf7dee4dc4fcf209e05961c967b68d1eba212a37fc7fac0fcca3a4556",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "paired_analysis.py",
        "expected": "3f9d31a285e55d6c5c83b360b5e2d36e174733470e9ce2638e5ef3c444be6ca5",
        "actual": "3f9d31a285e55d6c5c83b360b5e2d36e174733470e9ce2638e5ef3c444be6ca5",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "postmeasurement.py",
        "expected": "a11a2dd93ff574bd55ccc39cc92bbcb15079028e73c169790496cff3b43e4e41",
        "actual": "a11a2dd93ff574bd55ccc39cc92bbcb15079028e73c169790496cff3b43e4e41",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "prepare_comparison.py",
        "expected": "485c071e983d7707e767b5dd80d509e08a294f444296caab466086823f66a784",
        "actual": "485c071e983d7707e767b5dd80d509e08a294f444296caab466086823f66a784",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "run_kingy_session.py",
        "expected": "e21d7c97bc87407370f87ae3184d4d247998dc6d4cbee024d7ba225186a68909",
        "actual": "e21d7c97bc87407370f87ae3184d4d247998dc6d4cbee024d7ba225186a68909",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "seal_measurement.py",
        "expected": "2c0e10682d92512f5405284c7141d6700a4ba7a716d3873f0b43760279de6144",
        "actual": "2c0e10682d92512f5405284c7141d6700a4ba7a716d3873f0b43760279de6144",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "test_common_grade.py",
        "expected": "a2872ad08989bcd713b7e0f1cf31609b7415ccdb342e229290209b7b4c729102",
        "actual": "a2872ad08989bcd713b7e0f1cf31609b7415ccdb342e229290209b7b4c729102",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "test_cross_page_repair.py",
        "expected": "2bd6d99cab35b4ef42412238a1a4e8ea0e7c59243e6b5dee4675c2864d262a50",
        "actual": "2bd6d99cab35b4ef42412238a1a4e8ea0e7c59243e6b5dee4675c2864d262a50",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "test_exact_source_repair.py",
        "expected": "7600bf0c9503438ab32ce290721af740584619eb69e71de2b393731e5bb758d8",
        "actual": "7600bf0c9503438ab32ce290721af740584619eb69e71de2b393731e5bb758d8",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "test_measurement_infrastructure.py",
        "expected": "f89e921117704375fa5e01c5c0bede2e986342e6576672de0bba3da9b5a49b49",
        "actual": "f89e921117704375fa5e01c5c0bede2e986342e6576672de0bba3da9b5a49b49",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "test_native_capture.py",
        "expected": "f0178f50d665e5e523c549f1b6247b003f45eb6773452ea90b731f7a52e4e490",
        "actual": "f0178f50d665e5e523c549f1b6247b003f45eb6773452ea90b731f7a52e4e490",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "test_native_control.py",
        "expected": "f504e1f32f60e57b445f744d9a385bfb20472b26cbbb1abb5bb1d7b0b9f88354",
        "actual": "f504e1f32f60e57b445f744d9a385bfb20472b26cbbb1abb5bb1d7b0b9f88354",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "test_paired_analysis.py",
        "expected": "2a87d8a6627563a01321a9f56846f009ba7c8d6c3ac50413e7490ca14fd2825f",
        "actual": "2a87d8a6627563a01321a9f56846f009ba7c8d6c3ac50413e7490ca14fd2825f",
        "matches": true
      },
      {
        "group": "method_file_sha256",
        "file": "test_v15_grade.py",
        "expected": "607b412a1f015cfd4ba4921ccc867663c97900632a2c0ab2acc328c1b3428bfb",
        "actual": "607b412a1f015cfd4ba4921ccc867663c97900632a2c0ab2acc328c1b3428bfb",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/runner.py",
        "expected": "ac8d1ccb48ebe017f7e2794392598967695ef3186fcf4d3889dfd579e8479458",
        "actual": "ac8d1ccb48ebe017f7e2794392598967695ef3186fcf4d3889dfd579e8479458",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/start_server.py",
        "expected": "7f54900199a61c495bf5f6753a5caa13b529f86061d56ec2fca5a63be3844b2a",
        "actual": "7f54900199a61c495bf5f6753a5caa13b529f86061d56ec2fca5a63be3844b2a",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/prepare_model.py",
        "expected": "2a66acb34c1bf136b087179dbc2c5f676156bb31d971ed33b82b05e77c12f576",
        "actual": "2a66acb34c1bf136b087179dbc2c5f676156bb31d971ed33b82b05e77c12f576",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/evaluate.py",
        "expected": "8daa63c6ceb93111fd898683d40712a414ebda0fdf08b6a165638250871e4152",
        "actual": "8daa63c6ceb93111fd898683d40712a414ebda0fdf08b6a165638250871e4152",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/offline.sb",
        "expected": "e5462ef1daae3785012cb8e4fa05b89105bf4ac4d98be9580a8c357365a4f54f",
        "actual": "e5462ef1daae3785012cb8e4fa05b89105bf4ac4d98be9580a8c357365a4f54f",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/requirements.txt",
        "expected": "3ec8922905dc4e3a10c3b46bd7fba023c37ffc309d51c6bed2a13ec3e98177fd",
        "actual": "3ec8922905dc4e3a10c3b46bd7fba023c37ffc309d51c6bed2a13ec3e98177fd",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/SCORING.md",
        "expected": "2d0b2201a894bb663f5f71a6c2464bcf7d53138b84b83de153ed9bf18f553259",
        "actual": "2d0b2201a894bb663f5f71a6c2464bcf7d53138b84b83de153ed9bf18f553259",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/README.md",
        "expected": "b6be0bf726188ef1a87ddfde1165a3bb929bf9b4b638e5b222dd94eb73d3f321",
        "actual": "b6be0bf726188ef1a87ddfde1165a3bb929bf9b4b638e5b222dd94eb73d3f321",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/LICENSE.txt",
        "expected": "7b5272ed8db5e81567ea2a9624ab25c04db44dc168db692c760a61f4d392100c",
        "actual": "7b5272ed8db5e81567ea2a9624ab25c04db44dc168db692c760a61f4d392100c",
        "matches": true
      },
      {
        "group": "source_file_sha256",
        "file": "workflow-v15-r6/common_grade.py",
        "expected": "e9b95ce6b5a821c0ab703c60de388f7604d919d62cfe13ac544cfbcb95c14c5f",
        "actual": "e9b95ce6b5a821c0ab703c60de388f7604d919d62cfe13ac544cfbcb95c14c5f",
        "matches": true
      }
    ],
    "allPass": true,
    "frozenSourceFiles": 37,
    "nativePreparationTransportAmendedOutsideFrozenSources": true
  }
}
