zorya-classifier 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/NOTICE.md +2 -0
  2. package/README.md +18 -6
  3. package/dist/app/cli-arguments.d.ts +40 -0
  4. package/dist/app/cli-arguments.js +67 -0
  5. package/dist/app/create-classifier.d.ts +19 -0
  6. package/dist/app/create-classifier.js +226 -14
  7. package/dist/app/extraction-files.d.ts +9 -0
  8. package/dist/app/extraction-files.js +28 -0
  9. package/dist/cli.js +58 -14
  10. package/dist/entities/boundary-view.d.ts +29 -0
  11. package/dist/entities/boundary-view.js +1 -0
  12. package/dist/entities/contracts.d.ts +77 -1
  13. package/dist/entities/contracts.js +7 -0
  14. package/dist/entities/cutout-raster.d.ts +7 -0
  15. package/dist/entities/cutout-raster.js +1 -0
  16. package/dist/entities/object-proposals.d.ts +53 -0
  17. package/dist/entities/object-proposals.js +8 -0
  18. package/dist/entities/representation.d.ts +225 -0
  19. package/dist/entities/representation.js +33 -0
  20. package/dist/entities/segmentation-metadata.d.ts +11 -0
  21. package/dist/entities/segmentation-metadata.js +1 -0
  22. package/dist/entities/segmentation-verification.d.ts +30 -0
  23. package/dist/entities/segmentation-verification.js +1 -0
  24. package/dist/entities/segmentation.d.ts +159 -0
  25. package/dist/entities/segmentation.js +5 -0
  26. package/dist/entities/whole-object.d.ts +128 -0
  27. package/dist/entities/whole-object.js +7 -0
  28. package/dist/features/choice.d.ts +1 -1
  29. package/dist/features/choice.js +2 -2
  30. package/dist/features/segmentation/box-check.d.ts +10 -0
  31. package/dist/features/segmentation/box-check.js +299 -0
  32. package/dist/features/segmentation/mask.d.ts +6 -0
  33. package/dist/features/segmentation/mask.js +89 -0
  34. package/dist/features/segmentation/packed-mask.d.ts +5 -0
  35. package/dist/features/segmentation/packed-mask.js +53 -0
  36. package/dist/index.d.ts +6 -1
  37. package/dist/infrastructure/boundary-view.d.ts +2 -0
  38. package/dist/infrastructure/boundary-view.js +263 -0
  39. package/dist/infrastructure/openrouter-common.d.ts +8 -8
  40. package/dist/infrastructure/openrouter-vision.d.ts +3 -0
  41. package/dist/infrastructure/openrouter-vision.js +5 -0
  42. package/dist/infrastructure/raster.d.ts +10 -1
  43. package/dist/infrastructure/raster.js +99 -4
  44. package/dist/infrastructure/segmentation/box-presentation.d.ts +2 -0
  45. package/dist/infrastructure/segmentation/box-presentation.js +136 -0
  46. package/dist/infrastructure/segmentation/cutout-raster.d.ts +3 -0
  47. package/dist/infrastructure/segmentation/cutout-raster.js +79 -0
  48. package/dist/infrastructure/segmentation/grabcut/index.d.ts +13 -0
  49. package/dist/infrastructure/segmentation/grabcut/index.js +118 -0
  50. package/dist/infrastructure/segmentation/grabcut/worker-inference.d.ts +47 -0
  51. package/dist/infrastructure/segmentation/grabcut/worker-inference.js +260 -0
  52. package/dist/infrastructure/segmentation/index.d.ts +2 -0
  53. package/dist/infrastructure/segmentation/index.js +2 -0
  54. package/dist/infrastructure/segmentation/mobile-sam/index.d.ts +58 -0
  55. package/dist/infrastructure/segmentation/mobile-sam/index.js +472 -0
  56. package/dist/infrastructure/segmentation/mobile-sam/worker-inference.d.ts +149 -0
  57. package/dist/infrastructure/segmentation/mobile-sam/worker-inference.js +845 -0
  58. package/dist/infrastructure/segmentation/native-child.d.ts +23 -0
  59. package/dist/infrastructure/segmentation/native-child.js +297 -0
  60. package/dist/infrastructure/segmentation/native-protocol.d.ts +923 -0
  61. package/dist/infrastructure/segmentation/native-protocol.js +242 -0
  62. package/dist/infrastructure/segmentation/native-worker.d.ts +1 -0
  63. package/dist/infrastructure/segmentation/native-worker.js +93 -0
  64. package/dist/infrastructure/segmentation/probe-backend.d.ts +1 -0
  65. package/dist/infrastructure/segmentation/probe-backend.js +31 -0
  66. package/dist/infrastructure/segmentation/proposal-presentation.d.ts +3 -0
  67. package/dist/infrastructure/segmentation/proposal-presentation.js +371 -0
  68. package/dist/infrastructure/segmentation/verify-asset.d.ts +4 -0
  69. package/dist/infrastructure/segmentation/verify-asset.js +32 -0
  70. package/dist/infrastructure/text-representation.d.ts +23 -0
  71. package/dist/infrastructure/text-representation.js +226 -0
  72. package/dist/infrastructure/vision-chat.d.ts +1 -1
  73. package/dist/infrastructure/vision-chat.js +13 -4
  74. package/dist/openai-compatible.d.ts +3 -0
  75. package/dist/openai-compatible.js +4 -0
  76. package/dist/openrouter.d.ts +2 -2
  77. package/dist/openrouter.js +1 -1
  78. package/dist/processes/boundary-state.d.ts +12 -0
  79. package/dist/processes/boundary-state.js +196 -0
  80. package/dist/processes/classify.d.ts +2 -1
  81. package/dist/processes/classify.js +21 -3
  82. package/dist/processes/extract-from-region.d.ts +19 -0
  83. package/dist/processes/extract-from-region.js +415 -0
  84. package/dist/processes/extract.d.ts +25 -0
  85. package/dist/processes/extract.js +223 -0
  86. package/dist/processes/locate.d.ts +2 -1
  87. package/dist/processes/locate.js +84 -11
  88. package/dist/processes/proposal-location.d.ts +19 -0
  89. package/dist/processes/proposal-location.js +396 -0
  90. package/dist/processes/whole-object.d.ts +7 -0
  91. package/dist/processes/whole-object.js +272 -0
  92. package/dist/segmentation.d.ts +10 -0
  93. package/dist/segmentation.js +4 -0
  94. package/dist/shared/input-budget.d.ts +7 -0
  95. package/dist/shared/input-budget.js +21 -0
  96. package/docs/0.2.0-plan.md +190 -0
  97. package/docs/README.ru.md +18 -5
  98. package/docs/acceptance.md +116 -3
  99. package/docs/api.md +8 -4
  100. package/docs/architecture.md +20 -7
  101. package/docs/benchmarks.md +10 -0
  102. package/docs/categorical-presence-port.md +26 -0
  103. package/docs/evidence/v02/baseline.json +1043 -0
  104. package/docs/evidence/v02/boundary-variants.md +17 -0
  105. package/docs/evidence/v02/box-confirmation-dev40/README.md +15 -0
  106. package/docs/evidence/v02/box-confirmation-dev40/component-refinement.json +246 -0
  107. package/docs/evidence/v02/box-confirmation-dev40/evaluation.json +1663 -0
  108. package/docs/evidence/v02/box-confirmation-dev40/provenance.json +130 -0
  109. package/docs/evidence/v02/box-confirmation-dev40/report.json +127 -0
  110. package/docs/evidence/v02/box-confirmation-dev40-freeze-20261020-v1.json +230 -0
  111. package/docs/evidence/v02/box-confirmation-method-selection-20261020-v1.json +85 -0
  112. package/docs/evidence/v02/box-heldout-cancelled-before-dispatch-20261021-v1.json +32 -0
  113. package/docs/evidence/v02/box-heldout-combined-seal-20261021-v1.json +89 -0
  114. package/docs/evidence/v02/box-heldout-evaluator-truth-seal-20261021-v1.json +61 -0
  115. package/docs/evidence/v02/box-heldout-exclusion-audit-20261020-v1.json +81 -0
  116. package/docs/evidence/v02/box-heldout-map-seal-20261021-v1.json +48 -0
  117. package/docs/evidence/v02/box-heldout-photo-seal-20261020-v1.json +62 -0
  118. package/docs/evidence/v02/box-heldout-run-freeze-20261021-v1.json +61 -0
  119. package/docs/evidence/v02/box-heldout-source-review-20261020-v1.json +134 -0
  120. package/docs/evidence/v02/box-heldout-ui-seal-20261020-v1.json +44 -0
  121. package/docs/evidence/v02/calculator-proof-root-review-20261020-v1.json +63 -0
  122. package/docs/evidence/v02/categorical-dev40-freeze.json +94 -0
  123. package/docs/evidence/v02/categorical-dev40-preserve.json +460 -0
  124. package/docs/evidence/v02/categorical-dev40-target-only.json +460 -0
  125. package/docs/evidence/v02/categorical-heldout-admission-20261020-v3.json +215 -0
  126. package/docs/evidence/v02/categorical-heldout-admission-20261020-v4.json +270 -0
  127. package/docs/evidence/v02/categorical-heldout-dispatch-authorization-20261020-v4.json +79 -0
  128. package/docs/evidence/v02/categorical-heldout-predispatch-20261020-v3.json +57 -0
  129. package/docs/evidence/v02/categorical-heldout-producer-source-map-v4.json +262 -0
  130. package/docs/evidence/v02/categorical-heldout-producer-source-map.json +263 -0
  131. package/docs/evidence/v02/categorical-heldout-run-freeze-20261020-v3.json +35 -0
  132. package/docs/evidence/v02/categorical-heldout-run-freeze-20261020-v4.json +35 -0
  133. package/docs/evidence/v02/categorical-heldout-v4/README.md +35 -0
  134. package/docs/evidence/v02/categorical-heldout-v4/candidate-evaluation.json +2812 -0
  135. package/docs/evidence/v02/categorical-heldout-v4/candidate-physical-receipts.json +15261 -0
  136. package/docs/evidence/v02/categorical-heldout-v4/candidate-provenance.json +131 -0
  137. package/docs/evidence/v02/categorical-heldout-v4/control-evaluation.json +855 -0
  138. package/docs/evidence/v02/categorical-heldout-v4/control-physical-receipts.json +4402 -0
  139. package/docs/evidence/v02/categorical-heldout-v4/control-provenance.json +31 -0
  140. package/docs/evidence/v02/categorical-heldout-v4/mask-normalized-exploratory.json +682 -0
  141. package/docs/evidence/v02/categorical-heldout-v4/paired-qualification.json +21 -0
  142. package/docs/evidence/v02/categorical-heldout-v4/report.json +258 -0
  143. package/docs/evidence/v02/categorical-presence-dev6.json +144 -0
  144. package/docs/evidence/v02/categorical-presence-dev6.md +18 -0
  145. package/docs/evidence/v02/categorical-vision-method-selection.json +90 -0
  146. package/docs/evidence/v02/checked-region-component-v1/README.md +7 -0
  147. package/docs/evidence/v02/checked-region-component-v1/evidence.json +311 -0
  148. package/docs/evidence/v02/checked-region-resource-interrupted-2b0d09f.json +102 -0
  149. package/docs/evidence/v02/checked-region-segmentation-resource-4df544c-receipt.json +167 -0
  150. package/docs/evidence/v02/checked-region-segmentation-resource-4df544c-root-review.json +58 -0
  151. package/docs/evidence/v02/checked-region-segmentation-resource-987ac32-receipt.json +158 -0
  152. package/docs/evidence/v02/ci-012b935.json +17 -0
  153. package/docs/evidence/v02/ci-0c365cb.json +372 -0
  154. package/docs/evidence/v02/ci-185bde8.json +32 -0
  155. package/docs/evidence/v02/ci-24f849f.json +95 -0
  156. package/docs/evidence/v02/ci-25c19cd.json +375 -0
  157. package/docs/evidence/v02/ci-2922caf.json +375 -0
  158. package/docs/evidence/v02/ci-29357d7.json +29 -0
  159. package/docs/evidence/v02/ci-32aa90d.json +24 -0
  160. package/docs/evidence/v02/ci-35e3064.json +376 -0
  161. package/docs/evidence/v02/ci-4331b1b.json +384 -0
  162. package/docs/evidence/v02/ci-43b7426.json +376 -0
  163. package/docs/evidence/v02/ci-450439c.json +373 -0
  164. package/docs/evidence/v02/ci-46283fe.json +29 -0
  165. package/docs/evidence/v02/ci-4c9c09f.json +34 -0
  166. package/docs/evidence/v02/ci-5579646.json +27 -0
  167. package/docs/evidence/v02/ci-6f9cc15.json +127 -0
  168. package/docs/evidence/v02/ci-7c1051f.json +27 -0
  169. package/docs/evidence/v02/ci-9837888.json +34 -0
  170. package/docs/evidence/v02/ci-987ac32.json +29 -0
  171. package/docs/evidence/v02/ci-9d00fe5.json +25 -0
  172. package/docs/evidence/v02/ci-9f85acc.json +127 -0
  173. package/docs/evidence/v02/ci-be275a6.json +201 -0
  174. package/docs/evidence/v02/ci-c107ddf.json +372 -0
  175. package/docs/evidence/v02/ci-c35f67d.json +127 -0
  176. package/docs/evidence/v02/ci-c5eddd8.json +32 -0
  177. package/docs/evidence/v02/ci-d2042e0.json +372 -0
  178. package/docs/evidence/v02/ci-d684259.json +375 -0
  179. package/docs/evidence/v02/ci-e0c190b.json +127 -0
  180. package/docs/evidence/v02/ci-e551253.json +372 -0
  181. package/docs/evidence/v02/ci-f9d4633.json +29 -0
  182. package/docs/evidence/v02/dev1-proposal-evaluation.md +13 -0
  183. package/docs/evidence/v02/dev2-mobile-sam-proposal-oracle.md +21 -0
  184. package/docs/evidence/v02/dev2-proposal-evaluation.md +21 -0
  185. package/docs/evidence/v02/fresh-development.md +16 -0
  186. package/docs/evidence/v02/fresh-native-numeric/artifact-hashes.json +9 -0
  187. package/docs/evidence/v02/fresh-native-numeric/evaluation-root-v1.json +568 -0
  188. package/docs/evidence/v02/fresh-native-numeric/run-manifest.json +342 -0
  189. package/docs/evidence/v02/fresh-native-numeric/summary.json +5654 -0
  190. package/docs/evidence/v02/fresh-native-outline-axis/artifact-hashes.json +9 -0
  191. package/docs/evidence/v02/fresh-native-outline-axis/evaluation-root-v1.json +568 -0
  192. package/docs/evidence/v02/fresh-native-outline-axis/run-manifest.json +378 -0
  193. package/docs/evidence/v02/fresh-native-outline-axis/summary.json +5605 -0
  194. package/docs/evidence/v02/fresh-text/README.md +23 -0
  195. package/docs/evidence/v02/fresh-text/ascii-contours-v1/classify-followup-run-manifest.json +405 -0
  196. package/docs/evidence/v02/fresh-text/ascii-contours-v1/classify-followup-summary.json +1646 -0
  197. package/docs/evidence/v02/fresh-text/ascii-contours-v1/evaluation.json +568 -0
  198. package/docs/evidence/v02/fresh-text/ascii-contours-v1/original-run-manifest.json +404 -0
  199. package/docs/evidence/v02/fresh-text/ascii-contours-v1/original-summary.json +4416 -0
  200. package/docs/evidence/v02/fresh-text/ascii-luma-v1/classify-followup-run-manifest.json +405 -0
  201. package/docs/evidence/v02/fresh-text/ascii-luma-v1/classify-followup-summary.json +1646 -0
  202. package/docs/evidence/v02/fresh-text/ascii-luma-v1/evaluation.json +568 -0
  203. package/docs/evidence/v02/fresh-text/ascii-luma-v1/original-run-manifest.json +404 -0
  204. package/docs/evidence/v02/fresh-text/ascii-luma-v1/original-summary.json +4647 -0
  205. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/classify-followup-run-manifest.json +405 -0
  206. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/classify-followup-summary.json +846 -0
  207. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/evaluation.json +568 -0
  208. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/original-run-manifest.json +404 -0
  209. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/original-summary.json +1789 -0
  210. package/docs/evidence/v02/fresh-text/no-image-control/evaluation.json +568 -0
  211. package/docs/evidence/v02/fresh-text/no-image-control/original-run-manifest.json +404 -0
  212. package/docs/evidence/v02/fresh-text/no-image-control/original-summary.json +3953 -0
  213. package/docs/evidence/v02/fresh-text/palette-grid-v1/classify-followup-run-manifest.json +405 -0
  214. package/docs/evidence/v02/fresh-text/palette-grid-v1/classify-followup-summary.json +1646 -0
  215. package/docs/evidence/v02/fresh-text/palette-grid-v1/evaluation.json +568 -0
  216. package/docs/evidence/v02/fresh-text/palette-grid-v1/original-run-manifest.json +404 -0
  217. package/docs/evidence/v02/fresh-text/palette-grid-v1/original-summary.json +3974 -0
  218. package/docs/evidence/v02/fresh-text/pixel-rle-v1/classify-followup-run-manifest.json +405 -0
  219. package/docs/evidence/v02/fresh-text/pixel-rle-v1/classify-followup-summary.json +1646 -0
  220. package/docs/evidence/v02/fresh-text/pixel-rle-v1/evaluation.json +568 -0
  221. package/docs/evidence/v02/fresh-text/pixel-rle-v1/original-run-manifest.json +404 -0
  222. package/docs/evidence/v02/fresh-text/pixel-rle-v1/original-summary.json +4945 -0
  223. package/docs/evidence/v02/fresh-text/report.json +284 -0
  224. package/docs/evidence/v02/fresh-text/svg-contours-v1/classify-followup-run-manifest.json +405 -0
  225. package/docs/evidence/v02/fresh-text/svg-contours-v1/classify-followup-summary.json +846 -0
  226. package/docs/evidence/v02/fresh-text/svg-contours-v1/evaluation.json +568 -0
  227. package/docs/evidence/v02/fresh-text/svg-contours-v1/original-run-manifest.json +404 -0
  228. package/docs/evidence/v02/fresh-text/svg-contours-v1/original-summary.json +2189 -0
  229. package/docs/evidence/v02/heldout-evaluation-20261020.md +37 -0
  230. package/docs/evidence/v02/heldout-input-derivation.md +18 -0
  231. package/docs/evidence/v02/integration-0c365cb.json +90 -0
  232. package/docs/evidence/v02/integration-25c19cd.json +52 -0
  233. package/docs/evidence/v02/integration-35e3064.json +41 -0
  234. package/docs/evidence/v02/integration-4331b1b.json +42 -0
  235. package/docs/evidence/v02/integration-4c9c09f.json +46 -0
  236. package/docs/evidence/v02/integration-8010aad.json +48 -0
  237. package/docs/evidence/v02/integration-c1aa640.json +41 -0
  238. package/docs/evidence/v02/integration-eea1790.json +46 -0
  239. package/docs/evidence/v02/integration-fa82e65.json +42 -0
  240. package/docs/evidence/v02/jpeg-transport-offline.json +268 -0
  241. package/docs/evidence/v02/jpeg-transport-offline.md +7 -0
  242. package/docs/evidence/v02/local-archive-cleanup.json +59 -0
  243. package/docs/evidence/v02/native-base64-after.json +30 -0
  244. package/docs/evidence/v02/native-base64-before.json +32 -0
  245. package/docs/evidence/v02/native-checked-region-windows-46283fe.json +248 -0
  246. package/docs/evidence/v02/native-checked-region-windows-987ac32.json +141 -0
  247. package/docs/evidence/v02/native-grabcut-windows-4c494a3-run2.json +148 -0
  248. package/docs/evidence/v02/native-grabcut-windows-4c494a3-run3.json +148 -0
  249. package/docs/evidence/v02/native-grabcut-windows-4c494a3.json +56 -0
  250. package/docs/evidence/v02/native-proposal-windows-0c365cb.json +148 -0
  251. package/docs/evidence/v02/native-proposal-windows-450439c.json +156 -0
  252. package/docs/evidence/v02/native-proposal-windows-4c9c09f-retry1.json +147 -0
  253. package/docs/evidence/v02/native-proposal-windows-4c9c09f.json +52 -0
  254. package/docs/evidence/v02/native-region-windows-efc9318.json +163 -0
  255. package/docs/evidence/v02/native-windows-eea1790-baseline.json +198 -0
  256. package/docs/evidence/v02/native-windows-eea1790.json +228 -0
  257. package/docs/evidence/v02/ordinary-luna-axis/run-manifest.json +99 -0
  258. package/docs/evidence/v02/ordinary-luna-axis/summary.json +811 -0
  259. package/docs/evidence/v02/owned-temp-cleanup-20261020-v1.json +28 -0
  260. package/docs/evidence/v02/presentation-paired-20261020.json +1438 -0
  261. package/docs/evidence/v02/proposal-resource-soak-261dc23.json +201 -0
  262. package/docs/evidence/v02/proposal-resource-soak-261dc23.md +15 -0
  263. package/docs/evidence/v02/proposal-resource-soak-450439c-receipt.md +13 -0
  264. package/docs/evidence/v02/reconstructed-c03-box.json +41 -0
  265. package/docs/evidence/v02/region-seeded-dev-v1/README.md +17 -0
  266. package/docs/evidence/v02/region-seeded-dev-v1/evaluation.json +260 -0
  267. package/docs/evidence/v02/region-seeded-dev-v2/README.md +15 -0
  268. package/docs/evidence/v02/region-seeded-dev-v2/evaluation.json +232 -0
  269. package/docs/evidence/v02/region-seeded-dev-v3-candidate-only/README.md +9 -0
  270. package/docs/evidence/v02/region-seeded-dev-v3-candidate-only/control-identity-failure.json +22 -0
  271. package/docs/evidence/v02/region-seeded-dev-v3-candidate-only/evaluation.json +160 -0
  272. package/docs/evidence/v02/region-seeded-dev-v3-control-r2/README.md +9 -0
  273. package/docs/evidence/v02/region-seeded-dev-v3-control-r2/attempt-accounting.json +55 -0
  274. package/docs/evidence/v02/region-seeded-dev-v3-control-r2/evaluation.json +136 -0
  275. package/docs/evidence/v02/region-seeded-development-control-r2-freeze-20261021.json +132 -0
  276. package/docs/evidence/v02/region-seeded-development-freeze-20261021-v1.json +167 -0
  277. package/docs/evidence/v02/region-seeded-development-freeze-20261021-v2.json +186 -0
  278. package/docs/evidence/v02/region-seeded-development-freeze-20261021-v3.json +205 -0
  279. package/docs/evidence/v02/region-seeded-heldout-cancelled-before-dispatch-20261021-v2.json +20 -0
  280. package/docs/evidence/v02/region-seeded-heldout-dispatch-authorization-20261021-v3.json +47 -0
  281. package/docs/evidence/v02/region-seeded-heldout-readiness-audit-20261021-v3.json +125 -0
  282. package/docs/evidence/v02/region-seeded-heldout-run-freeze-20261021-v2.json +234 -0
  283. package/docs/evidence/v02/region-seeded-heldout-run-freeze-20261021-v3.json +357 -0
  284. package/docs/evidence/v02/region-seeded-heldout-v3/README.md +19 -0
  285. package/docs/evidence/v02/region-seeded-heldout-v3/evaluation-summary.json +445 -0
  286. package/docs/evidence/v02/region-seeded-method-selection-20261021-v2.json +66 -0
  287. package/docs/evidence/v02/region-seeded-method-selection-20261021-v3.json +120 -0
  288. package/docs/evidence/v02/region-segmentation-resource-0ba4c87-receipt.json +156 -0
  289. package/docs/evidence/v02/resource-soak-linux-8010aad.json +125 -0
  290. package/docs/evidence/v02/screen-v2-terminal-evaluation.md +22 -0
  291. package/docs/evidence/v02/seed-outline/run-manifest.json +59 -0
  292. package/docs/evidence/v02/seed-outline/summary.json +487 -0
  293. package/docs/evidence/v02/seed-unbounded/run-manifest.json +80 -0
  294. package/docs/evidence/v02/seed-unbounded/summary.json +730 -0
  295. package/docs/evidence/v02/segmentation/README.md +21 -0
  296. package/docs/evidence/v02/segmentation/component-comparison-summary.json +240 -0
  297. package/docs/evidence/v02/segmentation/provenance/MOBILE-SAM-LICENSE.txt +201 -0
  298. package/docs/evidence/v02/segmentation/provenance/OPENCV-LICENSE.txt +202 -0
  299. package/docs/evidence/v02/segmentation/provenance/mobile-sam-download-receipt.json +29 -0
  300. package/docs/evidence/v02/segmentation/provenance/mobile-sam-graph-audit.json +214 -0
  301. package/docs/evidence/v02/segmentation/provenance/mobile-sam-model-metadata.json +166 -0
  302. package/docs/evidence/v02/split-choice-noul-dev6.json +72 -0
  303. package/docs/evidence/v02/split-choice-noul-dev6.md +11 -0
  304. package/docs/evidence/v02/supported-vision-screen-20261020.md +65 -0
  305. package/docs/evidence/v02/wesnoth-1.16.11-minimap-projection-source-audit.md +56 -0
  306. package/docs/evidence/v02/wesnoth-proof-root-review-20261020-v1.json +76 -0
  307. package/docs/operations.md +6 -0
  308. package/docs/plan.md +2 -0
  309. package/docs/publishing.md +10 -1
  310. package/docs/research/text-transport-audit.md +66 -0
  311. package/docs/v02-usage.md +162 -0
  312. package/docs/vision-results.md +29 -2
  313. package/package.json +30 -5
@@ -0,0 +1,232 @@
1
+ {
2
+ "schema": "region-seeded-dev-v2-public-evidence",
3
+ "status": "development-admission-passed",
4
+ "releaseQualified": false,
5
+ "freeze": {
6
+ "file": "region-seeded-development-freeze-20261021-v2.json",
7
+ "sha256": "4f8846aa3ca82462d5fff83ac7dbab8925a090bc85b90d45a6eb9b3433f270dc",
8
+ "producerSourceSha256": "99beadec729003691c6861166b4738db2cc1ee92699040c98254468b24c998e9",
9
+ "requireClassifiedPresence": true,
10
+ "gates": {
11
+ "completeCases": 40,
12
+ "positives": 30,
13
+ "verifiedNegatives": 10,
14
+ "maximumFalseSeedLocations": 0,
15
+ "maximumFalseExtractions": 0,
16
+ "minimumPositiveSeedHits": 1,
17
+ "minimumMaskDerivedBoxMatches": 1,
18
+ "minimumExactCanvasMaskIoU08": 1
19
+ }
20
+ },
21
+ "inputs": [
22
+ {
23
+ "stratum": "photo",
24
+ "cases": 20,
25
+ "inputSha256": "6c9ed29d8586c7887ae0861fc853baf203cb43790df4959390da4b5cc9ac679a",
26
+ "truthSha256": "793e26845deaa2cb56748ef270b8cb02877218d680068573f02e5af92b26af6a"
27
+ },
28
+ {
29
+ "stratum": "controlled-ui",
30
+ "cases": 10,
31
+ "inputSha256": "6013a54bebba277f6457765cd8ef78e12e2dd5bab4453a752967233ebb429bfc",
32
+ "truthSha256": "c7944190e1cadab695f2688351df10a14132986040dafb72794bb1df4571abfe"
33
+ },
34
+ {
35
+ "stratum": "controlled-map",
36
+ "cases": 10,
37
+ "inputSha256": "b04ba6cac5b39c927281f61e4af7dcc7a5c5c2272a637aa9676ab3009fbd5d15",
38
+ "truthSha256": "874971d3e9344f7c54207064115257e5c802260d2a996a53f96bb6a68b2afad3"
39
+ }
40
+ ],
41
+ "candidate": {
42
+ "profileId": "native-luna-presence-first-region-seeded-sam-dev-v2",
43
+ "variant": "region-seeded-sam",
44
+ "runId": "v02-region-seeded-dev-2026-10-20T221925301Z-95745556",
45
+ "manifestRawSha256": "e5cb1bbee2a72a32b2a2d65cbca75bbcb0fb6309220399662f6e288dd07ff51e",
46
+ "summaryRawSha256": "20741658e039172934e0edd3b555e49d8e30367a68855107581bb1478af5e131",
47
+ "summaryCanonicalSha256InCompletionSeal": "d9d9a1e4e956fcae3b08088b47cd9373c530755da033d14ee06e4750eaa15ca1",
48
+ "completionRawSha256": "243812213d44cc348c706ba42a73f84a5adc11a37f9255867d472ce8b4caada5",
49
+ "variantSha256": "4ccbd0960d0984033dca1b49b84108abd5a81b6e55e02e9aef3e02018cead4f7",
50
+ "sourceBeforeAndAfterSha256": "99beadec729003691c6861166b4738db2cc1ee92699040c98254468b24c998e9",
51
+ "route": "openai/gpt-6-luna-decisions",
52
+ "nativeAssetManifestMethod": "mobile-sam-seed-point-v1",
53
+ "legacyRunnerRegionSeededAssetLabel": "mobile-sam-seed-region-v1",
54
+ "actualSegmentationResultMethod": "mobile-sam-seed-point-v1",
55
+ "nativeBackend": "MobileSAM CPU",
56
+ "nativeEncoderSha256": "580f5fb648ea1062c0aabc26217aed56921985f03f0cbbd852bba81d760cc749",
57
+ "nativeDecoderSha256": "8976b90a87ba50a6a72217a5ff994f7d25ce16f2229fcc1ed259e1294c622ffe",
58
+ "denominator": 40,
59
+ "classification": {
60
+ "correct": 35,
61
+ "denominator": 40,
62
+ "accuracy": 0.875,
63
+ "unanswered": 0
64
+ },
65
+ "strata": {
66
+ "photo": {
67
+ "cases": 20,
68
+ "positive": 16,
69
+ "verifiedNegative": 4,
70
+ "classificationCorrect": 17,
71
+ "extractionStatuses": {
72
+ "extracted": 10,
73
+ "failed": 6,
74
+ "unknown": 3,
75
+ "not-found": 1
76
+ },
77
+ "seedLocated": 10,
78
+ "positiveSeedBoxIntersections": 10,
79
+ "falseSeedLocations": 0,
80
+ "maskDerivedBoxMatches": 5,
81
+ "falseExtractions": 0
82
+ },
83
+ "controlledUi": {
84
+ "cases": 10,
85
+ "positive": 7,
86
+ "verifiedNegative": 3,
87
+ "classificationCorrect": 8,
88
+ "extractionStatuses": {
89
+ "extracted": 5,
90
+ "unknown": 4,
91
+ "not-found": 1
92
+ },
93
+ "seedLocated": 5,
94
+ "positiveSeedBoxIntersections": 1,
95
+ "falseSeedLocations": 0,
96
+ "maskDerivedBoxMatches": 0,
97
+ "falseExtractions": 0
98
+ },
99
+ "controlledMap": {
100
+ "cases": 10,
101
+ "positive": 7,
102
+ "verifiedNegative": 3,
103
+ "classificationCorrect": 10,
104
+ "extractionStatuses": {
105
+ "extracted": 7,
106
+ "not-found": 3
107
+ },
108
+ "seedLocated": 7,
109
+ "positiveSeedBoxIntersections": 7,
110
+ "falseSeedLocations": 0,
111
+ "maskDerivedBoxMatches": 0,
112
+ "falseExtractions": 0
113
+ }
114
+ },
115
+ "seedRegionCoarseProxy": {
116
+ "located": 22,
117
+ "locatedOnPositiveCases": 22,
118
+ "locatedOnVerifiedNegatives": 0,
119
+ "positiveBoxIntersections": 18,
120
+ "positiveDenominator": 30,
121
+ "falseSeedLocations": 0,
122
+ "falseExtractions": 0,
123
+ "meaning": "Any positive-area seed-cell/reference-box overlap; a coarse search proxy, never whole-object localization."
124
+ },
125
+ "maskDerivedWholeObjectBoxes": {
126
+ "positiveMatches": 5,
127
+ "positiveDenominator": 30,
128
+ "criterion": "IoU >= 0.5 and reference-box coverage >= 0.9",
129
+ "falseLocations": 0,
130
+ "negativeDenominator": 10,
131
+ "unknown": 7,
132
+ "failed": 6
133
+ },
134
+ "independentExactCanvasMasks": {
135
+ "references": 7,
136
+ "scored": 7,
137
+ "iouAtLeast0_8": 1,
138
+ "unavailable": 0,
139
+ "unannotatedCases": 35,
140
+ "perReferenceIoU": [
141
+ 0.7589947292, 0, 0.0002087876, 0.9433618606, 0.5063549934, 0.6049145284, 0.3675930123
142
+ ]
143
+ },
144
+ "physical": {
145
+ "calls": 134,
146
+ "knownCostUsd": 0.0608289,
147
+ "unknownCostCalls": 6,
148
+ "accountedExposureUsd": 0.3608289,
149
+ "httpStatusCounts": {
150
+ "200": 128,
151
+ "502_PROVIDER": 6
152
+ },
153
+ "inFlightAtSeal": 0
154
+ },
155
+ "independentEvaluation": {
156
+ "evaluatorCommit": "afb2bce3befb8002050d3fca5660cdc6464f5484",
157
+ "evaluatorSha256": "208e94d58622f59f3299e79ff3b0ce0e468c118f468060623e0e8b93380c1579",
158
+ "outputSha256": "64ab30c6085b6b0e404416f18bafd9246358a8de0ccb142350df04f17efd7507"
159
+ }
160
+ },
161
+ "noImageControl": {
162
+ "profileId": "native-luna-presence-first-region-no-image-control-dev-v2",
163
+ "variant": "no-image-control",
164
+ "runId": "v02-region-seeded-dev-2026-10-20T222226064Z-b84bf16f",
165
+ "manifestRawSha256": "9e0ab7e6662bafbd21f16855398bf254906e544973181adf6def2f6c3c4848bb",
166
+ "summaryRawSha256": "2e34686c6ba5e85666926c6169ebc22adb2d353e37550ffc35418dc57c18f6f1",
167
+ "summaryCanonicalSha256InCompletionSeal": "aeb67b5b685f3465616fabadf9479d70fe0d1aa559831605f69a0df9287ed2bc",
168
+ "completionRawSha256": "2a974aa6d28588195522b8d0eadf482534a9485bf637ae9d49fabc678482d778",
169
+ "variantSha256": "c2f46326480853101fef59374cfd9363b45d44666f8c455cbe36ab9d206aa953",
170
+ "denominator": 40,
171
+ "classification": {
172
+ "correct": 10,
173
+ "answered": 40,
174
+ "unanswered": 0
175
+ },
176
+ "imageFetchAudit": {
177
+ "checked": 40,
178
+ "imageParts": 0,
179
+ "verifiedImageFree": true
180
+ },
181
+ "seedLocations": 0,
182
+ "physical": {
183
+ "calls": 40,
184
+ "knownCostUsd": 0.0008353,
185
+ "unknownCostCalls": 0,
186
+ "accountedExposureUsd": 0.0008353,
187
+ "httpStatusCounts": {
188
+ "200": 40
189
+ },
190
+ "inFlightAtSeal": 0
191
+ },
192
+ "independentEvaluation": {
193
+ "evaluatorCommit": "afb2bce3befb8002050d3fca5660cdc6464f5484",
194
+ "evaluatorSha256": "208e94d58622f59f3299e79ff3b0ce0e468c118f468060623e0e8b93380c1579",
195
+ "outputSha256": "6303a8a818401235e6edba5be2c88d7fbe9f5921080cf873bb677775207a4fda"
196
+ }
197
+ },
198
+ "pairedPhotoSeedDiagnostic": {
199
+ "candidateProfile": "native-luna-presence-first-region-seeded-sam-dev-v2",
200
+ "controlProfile": "native-luna-presence-first-region-no-image-control-dev-v2",
201
+ "population": "16 positive photo cases",
202
+ "metric": "coarse seed-region/reference-box intersection; not whole-object localization",
203
+ "bootstrap": {
204
+ "iterations": 10000,
205
+ "seed": "0x5a4f5259",
206
+ "confidence": 0.95,
207
+ "difference": 0.625,
208
+ "lower": 0.375,
209
+ "upper": 0.875
210
+ },
211
+ "exactReferenceMaskForegroundSubset": {
212
+ "pairs": 5,
213
+ "difference": 0.8,
214
+ "lower": 0.4,
215
+ "upper": 1
216
+ },
217
+ "outputSha256": "ff3f7e7b3b6b343594c97ff6146071daf1100134461d4034499460c4cb4121ea"
218
+ },
219
+ "devAdmission": {
220
+ "passed": true,
221
+ "conditions": {
222
+ "complete40CaseRun": true,
223
+ "zeroFalseSeedLocations": true,
224
+ "zeroFalseExtractions": true,
225
+ "positiveSeedHitPresent": true,
226
+ "maskDerivedBoxMatchPresent": true,
227
+ "exactCanvasMaskIoU08Present": true
228
+ },
229
+ "releaseOrHeldoutQualification": false,
230
+ "note": "The DEV admission result permits the frozen recipe to be considered for a separate blind run; it does not establish heldout performance or release qualification."
231
+ }
232
+ }
@@ -0,0 +1,9 @@
1
+ # Checked-region DEV v3 candidate-only evaluation
2
+
3
+ This report is an independent evaluation of the completed 40-case DEV candidate run against the frozen DEV truth. It is candidate-only evidence, not a paired gate verdict or release qualification. The control run is retained but was not scored against the original pair because its run identity does not match the pre-dispatch variant digest; see `control-identity-failure.json`.
4
+
5
+ The evaluation preserves the full 40-case denominator: 30 positive and 10 verified-negative cases across the 20-photo, 10-controlled-UI, and 10-controlled-map strata. Classification, seed-cell overlap, mask-derived whole-object boxes, visible-box checks, and reference-mask IoU are reported separately. A seed-cell intersection is only a coarse search proxy and never counts as whole-object localization. The UI and map cases are controlled captures from one app/game family each, not natural user captures or evidence of broad application/game diversity.
6
+
7
+ The candidate used the frozen OpenAI GPT-6 Luna route with no fallback, the existing presence-first gate, full-source MobileSAM seed-region segmentation, and up to two closed visible-box containment checks. The report retains unknown, not-found, and failed outcomes in every denominator. The 7 available reference-mask instances are scored independently: 4 were comparable on the exact canvas, 1 met IoU 0.8, and 3 were unavailable. This does not imply universal cutout accuracy.
8
+
9
+ The report records hashes for the freeze, producer source closure, all input and truth files, candidate raw manifest/summary/seal, and the independent evaluator output. It contains aggregate metrics only; it does not publish case-level outcomes, image paths, image pixels, masks, or provider credentials.
@@ -0,0 +1,22 @@
1
+ {
2
+ "schema": "region-seeded-dev-v3-control-identity-failure-v1",
3
+ "status": "preserved and unscored against original frozen pair",
4
+ "originalFreezeSha256": "d980af0ee5c3ae38f2e397db8e195686663d2b2862afad53c9e6f62b68b113a2",
5
+ "frozenControlVariantSha256": "5a64ebc3f0261dd7ece37d8428ccae77c9e0c47019216d3cf2876f5b30983511",
6
+ "rawControl": {
7
+ "profileId": "native-luna-presence-first-region-no-image-control-dev-v3",
8
+ "variant": "no-image-control",
9
+ "manifestSha256": "a0e756cf750ec9d8b8d46aa42d64d7346492f28723d6c729a30077fac58010d9",
10
+ "summarySha256": "5ea51a5795f645ad39324281bc5e9e2fec6bef501549dce31f43408451bd9733",
11
+ "completionSealSha256": "6e7a3786da5548d98d6a69bf5772a86e4741333aa0d20883a1c3eb98f66eec5c",
12
+ "actualVariantSha256": "b2d85c509ff454ee62299d46a9f7dc7cb3009ca0aaf0ef015344c8a6dc45ed35",
13
+ "sourceUnchanged": true,
14
+ "plannedAndCompletedCases": 40
15
+ },
16
+ "identityFormula": "hashCanonical({profileId, phase, variant, requireClassifiedPresence:true, checkedRegion:true, route, policy, promptPolicy, manifests, taskHashes, source, nativeAssets:null})",
17
+ "diagnosis": "The frozen control digest is reproduced only if the candidate run's promptPolicy is substituted in place of the control promptPolicy. The control producer output has the correct no-image extraction policy and is internally consistent: its actual promptPolicy says it runs only the original region search without segmentation or visible-box checks, and reconstructing the identity from that raw manifest yields actualVariantSha256. The original frozen digest therefore does not identify the control recipe that was dispatched.",
18
+ "pairedEvaluation": "not produced; evaluator rejected the control variant digest mismatch before scoring control outcomes or computing a paired statistic",
19
+ "preservedFailures": true,
20
+ "rawArtifactsModified": false,
21
+ "candidateRerun": false
22
+ }
@@ -0,0 +1,160 @@
1
+ {
2
+ "schema": "region-seeded-dev-v3-candidate-only-evidence-v1",
3
+ "status": "candidate evaluated; original candidate/control pair incomplete due control identity mismatch",
4
+ "qualification": "no paired gate verdict; not release qualification",
5
+ "freeze": {
6
+ "sourceCommit": "d4b84b9fa025e5a5238968f99fb685633c837c7d",
7
+ "producerSourceSha256": "be43090b13951e9a6ffa65daffb9413a6a539d8dae335925dc885733a467fb20",
8
+ "profileId": "native-luna-presence-first-checked-region-sam-dev-v3",
9
+ "variantSha256": "f4ed437c17160ab1a694961e9b38b63ad76a290a21dbe82aa79d51e169c19697",
10
+ "route": "openai/gpt-6-luna-decisions",
11
+ "phaseBudget": {
12
+ "maxPhysicalCalls": 250,
13
+ "maxCostUsd": 5,
14
+ "unknownCostReserveUsd": 0.05
15
+ },
16
+ "policy": {
17
+ "timeoutMs": 120000,
18
+ "maxInFlightCases": 2,
19
+ "nativeMaxActive": 1,
20
+ "nativeMaxWaiting": 2,
21
+ "nativeThreads": 2,
22
+ "maxPhysicalCallsPerCase": 6,
23
+ "maxLogicalCallsPerCase": 6,
24
+ "maxBoxCheckCalls": 2,
25
+ "retries": 0,
26
+ "fallback": false,
27
+ "latencyRankingEligible": false,
28
+ "requireClassifiedPresence": true
29
+ }
30
+ },
31
+ "inputs": [
32
+ {
33
+ "cases": 20,
34
+ "manifestSha256": "6c9ed29d8586c7887ae0861fc853baf203cb43790df4959390da4b5cc9ac679a",
35
+ "truthSha256": "793e26845deaa2cb56748ef270b8cb02877218d680068573f02e5af92b26af6a"
36
+ },
37
+ {
38
+ "cases": 10,
39
+ "manifestSha256": "6013a54bebba277f6457765cd8ef78e12e2dd5bab4453a752967233ebb429bfc",
40
+ "truthSha256": "c7944190e1cadab695f2688351df10a14132986040dafb72794bb1df4571abfe"
41
+ },
42
+ {
43
+ "cases": 10,
44
+ "manifestSha256": "b04ba6cac5b39c927281f61e4af7dcc7a5c5c2272a637aa9676ab3009fbd5d15",
45
+ "truthSha256": "874971d3e9344f7c54207064115257e5c802260d2a996a53f96bb6a68b2afad3"
46
+ }
47
+ ],
48
+ "candidateRun": {
49
+ "runId": "v02-region-seeded-dev-2026-10-20T235301825Z-10b11642",
50
+ "manifestSha256": "e18ca240cb35d7f3081d5ab8bf19f93b451e638e5e7887975cce4715c243a819",
51
+ "summarySha256": "fea18ed9b5dce920495bce1d9cb9e190675ec5630c07b0ae07f73623d731be39",
52
+ "completionSealSha256": "c65fc9001acdbdedd2e823764012b0ad6b6dbfc9ef820f6aceb073f95fa0f25b",
53
+ "independentEvaluationSha256": "2ac4d19caaf58ab7ce9c666b7b4a166ec3cc7008e48f869c8849a9891eae0a89",
54
+ "sourceUnchanged": true,
55
+ "complete": true,
56
+ "denominator": 40
57
+ },
58
+ "aggregate": {
59
+ "classification": {
60
+ "answered": 40,
61
+ "correct": 35,
62
+ "accuracy": 0.875
63
+ },
64
+ "wholeObject": {
65
+ "denominator": 40,
66
+ "positives": 30,
67
+ "negatives": 10,
68
+ "matchedPositiveBoxes": 6,
69
+ "falseLocations": 0,
70
+ "unknown": 13,
71
+ "failed": 6,
72
+ "notFound": 5
73
+ },
74
+ "seedSearchProxy": {
75
+ "located": 22,
76
+ "positiveBoxIntersections": 18,
77
+ "falseSeedLocations": 0,
78
+ "falsePositiveBoxIntersections": 0,
79
+ "interpretation": "coarse search proxy only; not whole-object success"
80
+ },
81
+ "boxChecks": {
82
+ "caseDenominator": 40,
83
+ "casesWithAttempt": 22,
84
+ "casesWithoutAttempt": 18,
85
+ "successfulAttempts": 28,
86
+ "failedAttempts": 0,
87
+ "verdicts": {
88
+ "complete": 16,
89
+ "needsExpansion": 12,
90
+ "unknown": 0
91
+ },
92
+ "expansionOutcomes": {
93
+ "notNeeded": 13,
94
+ "noEnclosingMask": 3,
95
+ "expanded": 6,
96
+ "unsupported": 0,
97
+ "rejectedMask": 0
98
+ }
99
+ },
100
+ "maskReferences": {
101
+ "instances": 7,
102
+ "scoredExactCanvas": 4,
103
+ "iouAtLeast0_8": 1,
104
+ "unavailable": 3,
105
+ "casesWithoutReferenceMasks": 35
106
+ },
107
+ "physicalCalls": {
108
+ "count": 162,
109
+ "knownCostUsd": 0.0645113,
110
+ "unknownCostCalls": 6,
111
+ "accountedExposureUsd": 0.3645113,
112
+ "inFlightAtSeal": 0
113
+ },
114
+ "strata": {
115
+ "photo": {
116
+ "cases": 20,
117
+ "positive": 16,
118
+ "negative": 4,
119
+ "classificationCorrect": 17,
120
+ "extractionStatuses": {
121
+ "extracted": 6,
122
+ "failed": 6,
123
+ "unknown": 7,
124
+ "notFound": 1
125
+ },
126
+ "seedLocations": 10,
127
+ "seedPositiveIntersections": 10,
128
+ "maskDerivedBoxesMatched": 6
129
+ },
130
+ "ui": {
131
+ "cases": 10,
132
+ "positive": 7,
133
+ "negative": 3,
134
+ "classificationCorrect": 8,
135
+ "extractionStatuses": {
136
+ "extracted": 5,
137
+ "unknown": 4,
138
+ "notFound": 1
139
+ },
140
+ "seedLocations": 5,
141
+ "seedPositiveIntersections": 1,
142
+ "maskDerivedBoxesMatched": 0
143
+ },
144
+ "map": {
145
+ "cases": 10,
146
+ "positive": 7,
147
+ "negative": 3,
148
+ "classificationCorrect": 10,
149
+ "extractionStatuses": {
150
+ "extracted": 5,
151
+ "unknown": 2,
152
+ "notFound": 3
153
+ },
154
+ "seedLocations": 7,
155
+ "seedPositiveIntersections": 7,
156
+ "maskDerivedBoxesMatched": 0
157
+ }
158
+ }
159
+ }
160
+ }
@@ -0,0 +1,9 @@
1
+ # Checked-region DEV v3 control R2 and paired seed comparison
2
+
3
+ This report records the strict evaluation of the prospective no-image control R2 and its predeclared seed-search comparison with the unchanged, independently evaluated candidate. The original control run is preserved as an identity failure and is not scored or used in this pair; see the candidate-only evidence directory.
4
+
5
+ Both scored runs use the same frozen 40-case DEV corpus and truth files. The candidate remains a 40-case model-assisted segmentation run; the control is a no-image classification and region-search control, with no segmentation. Candidate whole-object boxes and reference masks are reported separately from the control’s seed-search results. The paired comparison uses only the same-semantic seed-search measures. It never compares a candidate mask box with a control seed cell, and a seed-cell intersection is not a whole-object success.
6
+
7
+ The candidate produced 6 matched positive whole-object boxes among 30 positives, with no false locations among 10 verified negatives. Its exact-canvas mask results were 1 pass among 7 reference instances (4 scored, 3 unavailable). Those remain low object and mask scores despite the positive paired seed-search comparison. This report is DEV evidence only; it is not a heldout result or release qualification.
8
+
9
+ The report contains aggregate counts and immutable artifact digests only. It omits per-case outcomes, images, masks, local filesystem paths, and provider credentials.
@@ -0,0 +1,55 @@
1
+ {
2
+ "schema": "region-seeded-dev-v3-all-attempt-accounting-v1",
3
+ "scope": "All three physically dispatched DEV runs, including the unscored original control identity failure. This is not an account invoice.",
4
+ "attempts": [
5
+ {
6
+ "attempt": "candidate",
7
+ "summarySha256": "fea18ed9b5dce920495bce1d9cb9e190675ec5630c07b0ae07f73623d731be39",
8
+ "cases": 40,
9
+ "usedInPairedEvaluation": true,
10
+ "admittedPhysicalCalls": 162,
11
+ "knownCostUsd": 0.06451130000000004,
12
+ "unknownCostCalls": 6,
13
+ "inFlightCalls": 0,
14
+ "accountedExposureUsd": 0.3645113000000001,
15
+ "maxPhysicalCalls": 250,
16
+ "maxCostUsd": 5
17
+ },
18
+ {
19
+ "attempt": "original-control",
20
+ "summarySha256": "5ea51a5795f645ad39324281bc5e9e2fec6bef501549dce31f43408451bd9733",
21
+ "cases": 40,
22
+ "usedInPairedEvaluation": false,
23
+ "admittedPhysicalCalls": 40,
24
+ "knownCostUsd": 0.0008353000000000002,
25
+ "unknownCostCalls": 0,
26
+ "inFlightCalls": 0,
27
+ "accountedExposureUsd": 0.0008353000000000002,
28
+ "maxPhysicalCalls": 250,
29
+ "maxCostUsd": 5
30
+ },
31
+ {
32
+ "attempt": "control-r2",
33
+ "summarySha256": "d5bd5a5c15b39b4432e815bdf5271f8ee2a15355d76519918576586a7c3cc98e",
34
+ "cases": 40,
35
+ "usedInPairedEvaluation": true,
36
+ "admittedPhysicalCalls": 40,
37
+ "knownCostUsd": 0.0008353000000000002,
38
+ "unknownCostCalls": 0,
39
+ "inFlightCalls": 0,
40
+ "accountedExposureUsd": 0.0008353000000000002,
41
+ "maxPhysicalCalls": 250,
42
+ "maxCostUsd": 5
43
+ }
44
+ ],
45
+ "total": {
46
+ "knownCostUsd": 0.06618190000000004,
47
+ "accountedExposureUsd": 0.3661819000000001,
48
+ "admittedPhysicalCalls": 242,
49
+ "unknownCostCalls": 6,
50
+ "inFlightCalls": 0
51
+ },
52
+ "unknownCostReserveUsd": 0.05,
53
+ "allFailuresAndChargesPreserved": true,
54
+ "preparationOnlyHeldoutCalls": 0
55
+ }
@@ -0,0 +1,136 @@
1
+ {
2
+ "schema": "region-seeded-dev-v3-r2-pair-evidence-v1",
3
+ "phase": "dev",
4
+ "status": "candidate and prospective control R2 strictly evaluated; original control attempt preserved unscored",
5
+ "qualification": "DEV evidence only; not heldout or release qualification",
6
+ "freeze": {
7
+ "candidateProfileId": "native-luna-presence-first-checked-region-sam-dev-v3",
8
+ "controlProfileId": "native-luna-presence-first-region-no-image-control-dev-v3",
9
+ "producerSourceSha256": "be43090b13951e9a6ffa65daffb9413a6a539d8dae335925dc885733a467fb20",
10
+ "controlR2FreezeSha256": "99251dc8bd69734d64625040ecd4595e81107eeeffb2134d31db4d8c71c4a3df",
11
+ "candidateVariantSha256": "f4ed437c17160ab1a694961e9b38b63ad76a290a21dbe82aa79d51e169c19697",
12
+ "controlR2VariantSha256": "b2d85c509ff454ee62299d46a9f7dc7cb3009ca0aaf0ef015344c8a6dc45ed35",
13
+ "inputAndTruthPins": [
14
+ {
15
+ "cases": 20,
16
+ "inputSha256": "6c9ed29d8586c7887ae0861fc853baf203cb43790df4959390da4b5cc9ac679a",
17
+ "truthSha256": "793e26845deaa2cb56748ef270b8cb02877218d680068573f02e5af92b26af6a"
18
+ },
19
+ {
20
+ "cases": 10,
21
+ "inputSha256": "6013a54bebba277f6457765cd8ef78e12e2dd5bab4453a752967233ebb429bfc",
22
+ "truthSha256": "c7944190e1cadab695f2688351df10a14132986040dafb72794bb1df4571abfe"
23
+ },
24
+ {
25
+ "cases": 10,
26
+ "inputSha256": "b04ba6cac5b39c927281f61e4af7dcc7a5c5c2272a637aa9676ab3009fbd5d15",
27
+ "truthSha256": "874971d3e9344f7c54207064115257e5c802260d2a996a53f96bb6a68b2afad3"
28
+ }
29
+ ]
30
+ },
31
+ "candidate": {
32
+ "runId": "v02-region-seeded-dev-2026-10-20T235301825Z-10b11642",
33
+ "manifestSha256": "e18ca240cb35d7f3081d5ab8bf19f93b451e638e5e7887975cce4715c243a819",
34
+ "summarySha256": "fea18ed9b5dce920495bce1d9cb9e190675ec5630c07b0ae07f73623d731be39",
35
+ "completionSealSha256": "c65fc9001acdbdedd2e823764012b0ad6b6dbfc9ef820f6aceb073f95fa0f25b",
36
+ "independentEvaluationSha256": "2ac4d19caaf58ab7ce9c666b7b4a166ec3cc7008e48f869c8849a9891eae0a89",
37
+ "classification": {
38
+ "correct": 35,
39
+ "denominator": 40
40
+ },
41
+ "wholeObject": {
42
+ "positiveMatches": 6,
43
+ "positiveDenominator": 30,
44
+ "falseLocations": 0,
45
+ "negativeDenominator": 10,
46
+ "unknown": 13,
47
+ "failed": 6,
48
+ "notFound": 5
49
+ },
50
+ "seedSearch": {
51
+ "located": 22,
52
+ "positiveBoxIntersections": 18,
53
+ "falseSeedLocations": 0,
54
+ "falseExtractions": 0
55
+ },
56
+ "boxChecks": {
57
+ "successfulAttempts": 28,
58
+ "verdicts": {
59
+ "complete": 16,
60
+ "needsExpansion": 12,
61
+ "unknown": 0
62
+ },
63
+ "expansionOutcomes": {
64
+ "notNeeded": 13,
65
+ "noEnclosingMask": 3,
66
+ "expanded": 6
67
+ }
68
+ },
69
+ "masks": {
70
+ "referenceInstances": 7,
71
+ "exactCanvasScored": 4,
72
+ "iouAtLeast0_8": 1,
73
+ "unavailable": 3
74
+ },
75
+ "physical": {
76
+ "calls": 162,
77
+ "knownCostUsd": 0.0645113,
78
+ "unknownCostCalls": 6,
79
+ "accountedExposureUsd": 0.3645113
80
+ }
81
+ },
82
+ "controlR2": {
83
+ "runId": "v02-region-seeded-dev-2026-10-21T000450468Z-35df9878",
84
+ "manifestSha256": "e4053461190962008d47587fc41b7d4e98afbec8da40d085d2e7808b199332c5",
85
+ "summarySha256": "d5bd5a5c15b39b4432e815bdf5271f8ee2a15355d76519918576586a7c3cc98e",
86
+ "completionSealSha256": "12b6d4eb0f49e45310c7f497ec066efb51a0cf959e1634a7398c89ca66f74e06",
87
+ "independentEvaluationSha256": "132184827f6dcd132b269194453977d72fa6345648422299d40f928fe269f394",
88
+ "sourceUnchanged": true,
89
+ "complete": true,
90
+ "denominator": 40,
91
+ "classification": {
92
+ "correct": 10,
93
+ "denominator": 40
94
+ },
95
+ "extractionStatuses": {
96
+ "notFound": 40
97
+ },
98
+ "seedLocations": 0,
99
+ "maskReferencesUnavailableWithoutPrediction": 7,
100
+ "physical": {
101
+ "calls": 40,
102
+ "knownCostUsd": 0.0008353,
103
+ "unknownCostCalls": 0,
104
+ "accountedExposureUsd": 0.0008353
105
+ }
106
+ },
107
+ "pairedPhotoSeedSearch": {
108
+ "positivePhotoPairs": 16,
109
+ "method": "paired-percentile-nearest-rank-bootstrap",
110
+ "iterations": 10000,
111
+ "seed": "0x5a4f5259",
112
+ "coarseBoxIntersectionSeedProxy": {
113
+ "candidateMinusControl": 0.625,
114
+ "lower95": 0.375,
115
+ "upper95": 0.875,
116
+ "passesPositiveDifference": true
117
+ },
118
+ "exactReferenceMaskForegroundSeedHit": {
119
+ "availablePairs": 5,
120
+ "candidateMinusControl": 0.8,
121
+ "lower95": 0.4,
122
+ "upper95": 1,
123
+ "passesPositiveDifference": true
124
+ },
125
+ "interpretation": "These paired comparisons measure seed search only. Seed-cell overlap is a coarse proxy; the exact-mask result applies only to the five photo positives with comparable reference masks. Neither is whole-object localization or cutout accuracy."
126
+ },
127
+ "originalControlIdentityFailure": {
128
+ "manifestSha256": "a0e756cf750ec9d8b8d46aa42d64d7346492f28723d6c729a30077fac58010d9",
129
+ "summarySha256": "5ea51a5795f645ad39324281bc5e9e2fec6bef501549dce31f43408451bd9733",
130
+ "completionSealSha256": "6e7a3786da5548d98d6a69bf5772a86e4741333aa0d20883a1c3eb98f66eec5c",
131
+ "expectedVariantSha256": "5a64ebc3f0261dd7ece37d8428ccae77c9e0c47019216d3cf2876f5b30983511",
132
+ "observedVariantSha256": "b2d85c509ff454ee62299d46a9f7dc7cb3009ca0aaf0ef015344c8a6dc45ed35",
133
+ "scored": false,
134
+ "preservedUnchanged": true
135
+ }
136
+ }