{
  "schemaVersion": "kingy-native-readiness-independent-review/1.0.0",
  "reviewedAt": "2026-10-15T21:03:10.376183+00:00",
  "approved": true,
  "addonSha256": "2a2677756062487abe54fe0e65dde9194b6f8ab3de34723e1a86dc985110c8f9",
  "addonFreezeSha256": "b14f1df8baec70f274dc9288175f597a695341b3c38792c83037a8260b11f3d8",
  "sourceFilesUnchanged": true,
  "noFreshReferenceOrQualityReads": true,
  "tests": {
    "passed": 15,
    "failed": 0,
    "resultsSha256": "d76b8be94984a120d2ff7bfb27bb5980faf9edb30f74a9f3ee01c721f1f24877",
    "testSourceSha256": "d27b47b46ba32fd2956cf5032dff712290ec6f25e5760b3f8a148a6dbf29a722",
    "method": "in-memory filesystem, binding, timers, clock and receipts; no real conversations or live app"
  },
  "frozenSourceChecks": [
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/runner.py",
      "expected": "911298ba21797fe0704874ed85c8f306193de2a69d130ea7ebb32b18bb9064f7",
      "actual": "911298ba21797fe0704874ed85c8f306193de2a69d130ea7ebb32b18bb9064f7"
    },
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/start_server.py",
      "expected": "7f54900199a61c495bf5f6753a5caa13b529f86061d56ec2fca5a63be3844b2a",
      "actual": "7f54900199a61c495bf5f6753a5caa13b529f86061d56ec2fca5a63be3844b2a"
    },
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/prepare_model.py",
      "expected": "2a66acb34c1bf136b087179dbc2c5f676156bb31d971ed33b82b05e77c12f576",
      "actual": "2a66acb34c1bf136b087179dbc2c5f676156bb31d971ed33b82b05e77c12f576"
    },
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/evaluate.py",
      "expected": "8daa63c6ceb93111fd898683d40712a414ebda0fdf08b6a165638250871e4152",
      "actual": "8daa63c6ceb93111fd898683d40712a414ebda0fdf08b6a165638250871e4152"
    },
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/offline.sb",
      "expected": "e5462ef1daae3785012cb8e4fa05b89105bf4ac4d98be9580a8c357365a4f54f",
      "actual": "e5462ef1daae3785012cb8e4fa05b89105bf4ac4d98be9580a8c357365a4f54f"
    },
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/requirements.txt",
      "expected": "3ec8922905dc4e3a10c3b46bd7fba023c37ffc309d51c6bed2a13ec3e98177fd",
      "actual": "3ec8922905dc4e3a10c3b46bd7fba023c37ffc309d51c6bed2a13ec3e98177fd"
    },
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/SCORING.md",
      "expected": "ebc5601d23f5bfd3a35f3c1e9a5a3b601a249733adb2fd2d86dd285c6bbb2e82",
      "actual": "ebc5601d23f5bfd3a35f3c1e9a5a3b601a249733adb2fd2d86dd285c6bbb2e82"
    },
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/README.md",
      "expected": "dbf81f9089550d2353bb71fd489575adb9ac8a45d291bef39ce6c921a2d610cc",
      "actual": "dbf81f9089550d2353bb71fd489575adb9ac8a45d291bef39ce6c921a2d610cc"
    },
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/LICENSE.txt",
      "expected": "7b5272ed8db5e81567ea2a9624ab25c04db44dc168db692c760a61f4d392100c",
      "actual": "7b5272ed8db5e81567ea2a9624ab25c04db44dc168db692c760a61f4d392100c"
    },
    {
      "scope": "candidate",
      "file": "workflow-v15-r5/common_grade.py",
      "expected": "67a805ba214d547c5a92c01964e66424c78feabcf106bb321c332bf6687eb91f",
      "actual": "67a805ba214d547c5a92c01964e66424c78feabcf106bb321c332bf6687eb91f"
    },
    {
      "scope": "method",
      "file": "COMPARISON-PROTOCOL.md",
      "expected": "a0638194c552ef306b218d1c43a3c6adb3798507e02406c792496ef7072e3069",
      "actual": "a0638194c552ef306b218d1c43a3c6adb3798507e02406c792496ef7072e3069"
    },
    {
      "scope": "method",
      "file": "INTEGRATION.md",
      "expected": "d7931ff20e160b67ffd228bd9e82755ad4e23244b60073c6f11bf3eb10b16972",
      "actual": "d7931ff20e160b67ffd228bd9e82755ad4e23244b60073c6f11bf3eb10b16972"
    },
    {
      "scope": "method",
      "file": "PAIRED-ANALYSIS.md",
      "expected": "cc09572414393b465dc5cc3388272c2027a2c423d0ab1b729e6f9fa255f32282",
      "actual": "cc09572414393b465dc5cc3388272c2027a2c423d0ab1b729e6f9fa255f32282"
    },
    {
      "scope": "method",
      "file": "SCORING.md",
      "expected": "ebc5601d23f5bfd3a35f3c1e9a5a3b601a249733adb2fd2d86dd285c6bbb2e82",
      "actual": "ebc5601d23f5bfd3a35f3c1e9a5a3b601a249733adb2fd2d86dd285c6bbb2e82"
    },
    {
      "scope": "method",
      "file": "common_grade.py",
      "expected": "67a805ba214d547c5a92c01964e66424c78feabcf106bb321c332bf6687eb91f",
      "actual": "67a805ba214d547c5a92c01964e66424c78feabcf106bb321c332bf6687eb91f"
    },
    {
      "scope": "method",
      "file": "common_grade.v14-origin.py",
      "expected": "9010e01b4e4f32434165bcfa4f94c159bcfa61d852f0496142f2c425c83d0de7",
      "actual": "9010e01b4e4f32434165bcfa4f94c159bcfa61d852f0496142f2c425c83d0de7"
    },
    {
      "scope": "method",
      "file": "consumed-v14-controls.json",
      "expected": "2d7971b4f92c22712b837ac60ca8b702a56ff41c0748f70188d53df1bb10e9af",
      "actual": "2d7971b4f92c22712b837ac60ca8b702a56ff41c0748f70188d53df1bb10e9af"
    },
    {
      "scope": "method",
      "file": "gui-input-worker.py",
      "expected": "6f16d916a00e09d27658e3c4a0b995e890573f60276850c9c410cf0226966481",
      "actual": "6f16d916a00e09d27658e3c4a0b995e890573f60276850c9c410cf0226966481"
    },
    {
      "scope": "method",
      "file": "native-action.applescript",
      "expected": "7d2f225c7050331c86a98117f3e1053e6ce0cb0047e65e4f3b2502c7efd9938b",
      "actual": "7d2f225c7050331c86a98117f3e1053e6ce0cb0047e65e4f3b2502c7efd9938b"
    },
    {
      "scope": "method",
      "file": "native-activate.applescript",
      "expected": "66a32853dbdc3d8ede371587fc4902a9bb2316dd28320477d9c0f83ea5cc2d4b",
      "actual": "66a32853dbdc3d8ede371587fc4902a9bb2316dd28320477d9c0f83ea5cc2d4b"
    },
    {
      "scope": "method",
      "file": "native-bindings-direct.mjs",
      "expected": "c9de7c991e4af52ec412e7481ca2a55ce6ba4ca38726acca5859ac01a5c6fd04",
      "actual": "c9de7c991e4af52ec412e7481ca2a55ce6ba4ca38726acca5859ac01a5c6fd04"
    },
    {
      "scope": "method",
      "file": "native-bindings-template-menu-r10.mjs",
      "expected": "81ab4897bda21871499573b27157b70840166404005297d1fa900f3e2a8dacc2",
      "actual": "81ab4897bda21871499573b27157b70840166404005297d1fa900f3e2a8dacc2"
    },
    {
      "scope": "method",
      "file": "native-bindings-verified-fields.mjs",
      "expected": "f3eaf45d2b7d8f2b1fb0b55530c886c6826d6a0177c2bdaa22c13bb22eae13e9",
      "actual": "f3eaf45d2b7d8f2b1fb0b55530c886c6826d6a0177c2bdaa22c13bb22eae13e9"
    },
    {
      "scope": "method",
      "file": "native-control-freeze.json",
      "expected": "2c187429ee5c112a14386af85d3161419af6e9c43a06639f8aa1f53f45820247",
      "actual": "2c187429ee5c112a14386af85d3161419af6e9c43a06639f8aa1f53f45820247"
    },
    {
      "scope": "method",
      "file": "native-folder-path.applescript",
      "expected": "1a997fab541bede541866779e12881e8f57ab256740c0153946497223a594c3e",
      "actual": "1a997fab541bede541866779e12881e8f57ab256740c0153946497223a594c3e"
    },
    {
      "scope": "method",
      "file": "native-input.applescript",
      "expected": "09d7ab7e1f369fcef7d65d32ac4cdcdf00edc61ef91ae73535e68961ced7d8f0",
      "actual": "09d7ab7e1f369fcef7d65d32ac4cdcdf00edc61ef91ae73535e68961ced7d8f0"
    },
    {
      "scope": "method",
      "file": "native-study-direct.mjs",
      "expected": "47c3c177ca48202590a1bc0675c66353b7f95d725d42db999df14a173e3ac022",
      "actual": "47c3c177ca48202590a1bc0675c66353b7f95d725d42db999df14a173e3ac022"
    },
    {
      "scope": "method",
      "file": "native-study-native-context-r8.mjs",
      "expected": "4e73cca549f4add470f83b48888691644a1a2d2b42f92eb7f52270dcffd4ace8",
      "actual": "4e73cca549f4add470f83b48888691644a1a2d2b42f92eb7f52270dcffd4ace8"
    },
    {
      "scope": "method",
      "file": "native-study-ui-authorized.initial-preflight.mjs",
      "expected": "e7aea4b5ba6b61745a2a14af2f295b792311b730ada7b0461657186a3d4d6c7e",
      "actual": "e7aea4b5ba6b61745a2a14af2f295b792311b730ada7b0461657186a3d4d6c7e"
    },
    {
      "scope": "method",
      "file": "native-study-ui-authorized.mjs",
      "expected": "43bddb501b5af2b60dd8e7ad5d2f14e8befa644658b0fa0af981025a6b195e25",
      "actual": "43bddb501b5af2b60dd8e7ad5d2f14e8befa644658b0fa0af981025a6b195e25"
    },
    {
      "scope": "method",
      "file": "native-study-ui-recovery.mjs",
      "expected": "81d4238113f702582ce05309b8baf05dccdb08a6e0c09402a06bf4978ff407b4",
      "actual": "81d4238113f702582ce05309b8baf05dccdb08a6e0c09402a06bf4978ff407b4"
    },
    {
      "scope": "method",
      "file": "native-study-ui.mjs",
      "expected": "67300ecd207a82bd146e0d369058a31d9002fd0ff8614fb974c8cba7b6cbe5c6",
      "actual": "67300ecd207a82bd146e0d369058a31d9002fd0ff8614fb974c8cba7b6cbe5c6"
    },
    {
      "scope": "method",
      "file": "native-tree.applescript",
      "expected": "7023ff3220931b49ff67f2aa7647e7bbb6f02762c548ed96e5598dc93ec7ea64",
      "actual": "7023ff3220931b49ff67f2aa7647e7bbb6f02762c548ed96e5598dc93ec7ea64"
    },
    {
      "scope": "method",
      "file": "native-ui-authorized.before-coordinate-focus.mjs",
      "expected": "28012d43da84c44c35485ad703c0cf00f1e4c13e0ef8e651c57bff8e63ca3888",
      "actual": "28012d43da84c44c35485ad703c0cf00f1e4c13e0ef8e651c57bff8e63ca3888"
    },
    {
      "scope": "method",
      "file": "native-ui-authorized.before-inline-rename-paste.mjs",
      "expected": "63a938ef5ade3ac0a81e4bc77e43598fa39dda18a1d5d5b53fb6d8f9618710f2",
      "actual": "63a938ef5ade3ac0a81e4bc77e43598fa39dda18a1d5d5b53fb6d8f9618710f2"
    },
    {
      "scope": "method",
      "file": "native-ui-authorized.initial-preflight.mjs",
      "expected": "18c76d9fac7575858c6fcfa87a18696bd854ba05ef44d0e0a5f3da2f5bff562b",
      "actual": "18c76d9fac7575858c6fcfa87a18696bd854ba05ef44d0e0a5f3da2f5bff562b"
    },
    {
      "scope": "method",
      "file": "native-ui-authorized.mjs",
      "expected": "23c639b9f7e673d6fc583a05ff9f2ee34ef2aab20c110e9a758f3bc3f1a37401",
      "actual": "23c639b9f7e673d6fc583a05ff9f2ee34ef2aab20c110e9a758f3bc3f1a37401"
    },
    {
      "scope": "method",
      "file": "native-ui-direct.mjs",
      "expected": "f52557adcb92be5fdef921ff9a6ec51dbb9689dc86874fc32950a1c0f72eb4f4",
      "actual": "f52557adcb92be5fdef921ff9a6ec51dbb9689dc86874fc32950a1c0f72eb4f4"
    },
    {
      "scope": "method",
      "file": "native-ui-helper-v2.mjs",
      "expected": "e10ada3b1e66454db9713a6a1720c25a9d6199d948eb4236b7df1e0340cabe29",
      "actual": "e10ada3b1e66454db9713a6a1720c25a9d6199d948eb4236b7df1e0340cabe29"
    },
    {
      "scope": "method",
      "file": "native-ui-helper.mjs",
      "expected": "e10ada3b1e66454db9713a6a1720c25a9d6199d948eb4236b7df1e0340cabe29",
      "actual": "e10ada3b1e66454db9713a6a1720c25a9d6199d948eb4236b7df1e0340cabe29"
    },
    {
      "scope": "method",
      "file": "native-ui-input-recovery.mjs",
      "expected": "f947928df6272ef2a8189594265998aac1bebaa8227ef807741e93fcc3920e65",
      "actual": "f947928df6272ef2a8189594265998aac1bebaa8227ef807741e93fcc3920e65"
    },
    {
      "scope": "method",
      "file": "native-ui-native-context-r8.mjs",
      "expected": "a80cd4939caf0b54d66aebe83de1e8e8d13232b9b10a9b189eaea2ddc2cd3dc7",
      "actual": "a80cd4939caf0b54d66aebe83de1e8e8d13232b9b10a9b189eaea2ddc2cd3dc7"
    },
    {
      "scope": "method",
      "file": "native-user-template.txt",
      "expected": "6445968866a12a80297f52f1c97afe07ce1b425d349544f648a2faf294943b5e",
      "actual": "6445968866a12a80297f52f1c97afe07ce1b425d349544f648a2faf294943b5e"
    },
    {
      "scope": "method",
      "file": "native-visible-template-preparation-scroll-r2.mjs",
      "expected": "577e5fa61b3b01cae073ba53e359d3e41f7a7791d09975bd85b37bc7cd7eac3f",
      "actual": "577e5fa61b3b01cae073ba53e359d3e41f7a7791d09975bd85b37bc7cd7eac3f"
    },
    {
      "scope": "method",
      "file": "native-warmup.mjs",
      "expected": "cbb293b9c9afdcd9d2b76b25b3434a1118551a144ddd90234a367cebf0c2e54b",
      "actual": "cbb293b9c9afdcd9d2b76b25b3434a1118551a144ddd90234a367cebf0c2e54b"
    },
    {
      "scope": "method",
      "file": "native_capture.py",
      "expected": "08842be13de188fc5fa8c7a333f714435bd7af6bbb037c0f0c4d686bfd15893e",
      "actual": "08842be13de188fc5fa8c7a333f714435bd7af6bbb037c0f0c4d686bfd15893e"
    },
    {
      "scope": "method",
      "file": "open-template-menu-point.applescript",
      "expected": "307a1e42eeb163245ad3e31052650c4e422d334009b851150e221cd8b45ee399",
      "actual": "307a1e42eeb163245ad3e31052650c4e422d334009b851150e221cd8b45ee399"
    },
    {
      "scope": "method",
      "file": "paired_analysis.py",
      "expected": "3f9d31a285e55d6c5c83b360b5e2d36e174733470e9ce2638e5ef3c444be6ca5",
      "actual": "3f9d31a285e55d6c5c83b360b5e2d36e174733470e9ce2638e5ef3c444be6ca5"
    },
    {
      "scope": "method",
      "file": "postmeasurement.py",
      "expected": "5412933b74ee67dd5877a53643548948c585fc15c333c4906e5c8e718e66c1bc",
      "actual": "5412933b74ee67dd5877a53643548948c585fc15c333c4906e5c8e718e66c1bc"
    },
    {
      "scope": "method",
      "file": "prepare-native-menu.py",
      "expected": "519378195debdf876029478deeaf4304278608769b4fe10a577ca7601e08ce8e",
      "actual": "519378195debdf876029478deeaf4304278608769b4fe10a577ca7601e08ce8e"
    },
    {
      "scope": "method",
      "file": "prepare_comparison.py",
      "expected": "f10db244c3a7f89ebdeec1c636d2d58179c60e9859a03dbfbfbb28df4fb9b18b",
      "actual": "f10db244c3a7f89ebdeec1c636d2d58179c60e9859a03dbfbfbb28df4fb9b18b"
    },
    {
      "scope": "method",
      "file": "run_kingy_session.py",
      "expected": "9e8e702e3967ab53f501de1145f26c98ff9582ae7867ab8853cd17f91babf1e2",
      "actual": "9e8e702e3967ab53f501de1145f26c98ff9582ae7867ab8853cd17f91babf1e2"
    },
    {
      "scope": "method",
      "file": "test_common_grade.py",
      "expected": "a2872ad08989bcd713b7e0f1cf31609b7415ccdb342e229290209b7b4c729102",
      "actual": "a2872ad08989bcd713b7e0f1cf31609b7415ccdb342e229290209b7b4c729102"
    },
    {
      "scope": "method",
      "file": "test_cross_page_repair.py",
      "expected": "2bd6d99cab35b4ef42412238a1a4e8ea0e7c59243e6b5dee4675c2864d262a50",
      "actual": "2bd6d99cab35b4ef42412238a1a4e8ea0e7c59243e6b5dee4675c2864d262a50"
    },
    {
      "scope": "method",
      "file": "test_exact_source_repair.py",
      "expected": "91d3e7d25d201123becabf2e90995cfe83bcd88f85c590b7e4aa83dbc92172f0",
      "actual": "91d3e7d25d201123becabf2e90995cfe83bcd88f85c590b7e4aa83dbc92172f0"
    },
    {
      "scope": "method",
      "file": "test_measurement_infrastructure.py",
      "expected": "368af6edb7bbc65f6776e1211ffa48af79d7e37a45c4c2da901c346fbf0d6652",
      "actual": "368af6edb7bbc65f6776e1211ffa48af79d7e37a45c4c2da901c346fbf0d6652"
    },
    {
      "scope": "method",
      "file": "test_native_capture.py",
      "expected": "d4b737c82e89d1552148b63dd748b3eec0a5baa8925acc1e95195b60f75cd6de",
      "actual": "d4b737c82e89d1552148b63dd748b3eec0a5baa8925acc1e95195b60f75cd6de"
    },
    {
      "scope": "method",
      "file": "test_paired_analysis.py",
      "expected": "2a87d8a6627563a01321a9f56846f009ba7c8d6c3ac50413e7490ca14fd2825f",
      "actual": "2a87d8a6627563a01321a9f56846f009ba7c8d6c3ac50413e7490ca14fd2825f"
    },
    {
      "scope": "method",
      "file": "test_v15_grade.py",
      "expected": "607b412a1f015cfd4ba4921ccc867663c97900632a2c0ab2acc328c1b3428bfb",
      "actual": "607b412a1f015cfd4ba4921ccc867663c97900632a2c0ab2acc328c1b3428bfb"
    },
    {
      "scope": "method",
      "file": "verify_native_artifacts.py",
      "expected": "da8837b8a4d2206a5a0ded60d776c9fb60a7566ac1a27814285d40df308e8c20",
      "actual": "da8837b8a4d2206a5a0ded60d776c9fb60a7566ac1a27814285d40df308e8c20"
    }
  ],
  "nativeControlFreezeSha256": "2c187429ee5c112a14386af85d3161419af6e9c43a06639f8aa1f53f45820247",
  "approvedBoundary": {
    "session": "B1",
    "afterOriginal": 20,
    "beforeOriginal": 21,
    "candidateCorpusPromptsScorerUnchanged": true,
    "submissionAlreadyMadeForAffectedOriginal": false
  },
  "findings": [
    "Only an observed Duplicate control triggers the added wait; all other controls, including Send, delegate directly without added waits.",
    "The original binding is invoked once. It retains its own fresh-control identity verification. The wrapper never retries Duplicate or performs another UI action.",
    "Readiness requires exactly one new native record, exact owned Copy name, zero messages, ten files and empty input; all original frozen clone/hash/model/prompt/capture guards still run afterwards.",
    "Acknowledgment uses a monotonic10-second deadline. Time is checked after awaited reads and before ready return; late data fails instead of being accepted. Sleep is capped to remaining time.",
    "One exclusive preparation receipt records every attempted wait with addon hash, action acknowledgment, polling count, elapsed timing, ready flags and failure reason, without input or message contents.",
    "The acknowledgment clock starts after the underlying click returns; Send and the complete-query timing boundary remain unchanged."
  ],
  "limitations": [
    "A slow filesystem read can settle after10seconds; its result is rejected, never accepted as ready. This is a readiness acceptance deadline, not cancellation of underlying local I/O.",
    "Existing blank orphan copies require separate reconciliation before reuse or another preparation attempt.",
    "This is a preparation-only transport amendment at a disclosed boundary, not evidence of product quality or model reliability."
  ],
  "preservedRejectedVersion": {
    "source": "duplicate-readiness-r1.mjs",
    "pin": "addon-freeze-r1.json",
    "controls": "controls-r1.json",
    "review": "independent-review-r1-rejected.json"
  },
  "liveUiActions": 0,
  "modelCalls": 0,
  "realConversationReads": 0,
  "freshQuestionReads": false,
  "freshAnswerReads": false
}
