zorya-classifier 0.1.0 → 0.2.1

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 (311) hide show
  1. package/NOTICE.md +2 -0
  2. package/README.md +37 -9
  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 +24 -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 +81 -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 +56 -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 +31 -0
  23. package/dist/entities/segmentation-verification.js +1 -0
  24. package/dist/entities/segmentation.d.ts +164 -0
  25. package/dist/entities/segmentation.js +5 -0
  26. package/dist/entities/whole-object.d.ts +132 -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 +17 -0
  49. package/dist/infrastructure/segmentation/grabcut/index.js +121 -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 +66 -0
  55. package/dist/infrastructure/segmentation/mobile-sam/index.js +478 -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 +43 -14
  98. package/docs/acceptance.md +116 -3
  99. package/docs/api.md +12 -6
  100. package/docs/architecture.md +22 -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/candidate-evaluation.json +2812 -0
  134. package/docs/evidence/v02/categorical-heldout-v4/candidate-physical-receipts.json +15261 -0
  135. package/docs/evidence/v02/categorical-heldout-v4/candidate-provenance.json +131 -0
  136. package/docs/evidence/v02/categorical-heldout-v4/control-evaluation.json +855 -0
  137. package/docs/evidence/v02/categorical-heldout-v4/control-physical-receipts.json +4402 -0
  138. package/docs/evidence/v02/categorical-heldout-v4/control-provenance.json +31 -0
  139. package/docs/evidence/v02/categorical-heldout-v4/mask-normalized-exploratory.json +682 -0
  140. package/docs/evidence/v02/categorical-heldout-v4/paired-qualification.json +21 -0
  141. package/docs/evidence/v02/categorical-heldout-v4/report.json +258 -0
  142. package/docs/evidence/v02/categorical-presence-dev6.json +144 -0
  143. package/docs/evidence/v02/categorical-presence-dev6.md +18 -0
  144. package/docs/evidence/v02/categorical-vision-method-selection.json +90 -0
  145. package/docs/evidence/v02/checked-region-component-v1/README.md +7 -0
  146. package/docs/evidence/v02/checked-region-component-v1/evidence.json +311 -0
  147. package/docs/evidence/v02/checked-region-resource-interrupted-2b0d09f.json +102 -0
  148. package/docs/evidence/v02/checked-region-segmentation-resource-4df544c-receipt.json +167 -0
  149. package/docs/evidence/v02/checked-region-segmentation-resource-4df544c-root-review.json +58 -0
  150. package/docs/evidence/v02/checked-region-segmentation-resource-987ac32-receipt.json +158 -0
  151. package/docs/evidence/v02/ci-012b935.json +17 -0
  152. package/docs/evidence/v02/ci-0c365cb.json +372 -0
  153. package/docs/evidence/v02/ci-185bde8.json +32 -0
  154. package/docs/evidence/v02/ci-24f849f.json +95 -0
  155. package/docs/evidence/v02/ci-25c19cd.json +375 -0
  156. package/docs/evidence/v02/ci-2922caf.json +375 -0
  157. package/docs/evidence/v02/ci-29357d7.json +29 -0
  158. package/docs/evidence/v02/ci-32aa90d.json +24 -0
  159. package/docs/evidence/v02/ci-35e3064.json +376 -0
  160. package/docs/evidence/v02/ci-4331b1b.json +384 -0
  161. package/docs/evidence/v02/ci-43b7426.json +376 -0
  162. package/docs/evidence/v02/ci-450439c.json +373 -0
  163. package/docs/evidence/v02/ci-46283fe.json +29 -0
  164. package/docs/evidence/v02/ci-4c9c09f.json +34 -0
  165. package/docs/evidence/v02/ci-5579646.json +27 -0
  166. package/docs/evidence/v02/ci-6f9cc15.json +127 -0
  167. package/docs/evidence/v02/ci-7c1051f.json +27 -0
  168. package/docs/evidence/v02/ci-9837888.json +34 -0
  169. package/docs/evidence/v02/ci-987ac32.json +29 -0
  170. package/docs/evidence/v02/ci-9d00fe5.json +25 -0
  171. package/docs/evidence/v02/ci-9f85acc.json +127 -0
  172. package/docs/evidence/v02/ci-be275a6.json +201 -0
  173. package/docs/evidence/v02/ci-c107ddf.json +372 -0
  174. package/docs/evidence/v02/ci-c35f67d.json +127 -0
  175. package/docs/evidence/v02/ci-c5eddd8.json +32 -0
  176. package/docs/evidence/v02/ci-d2042e0.json +372 -0
  177. package/docs/evidence/v02/ci-d684259.json +375 -0
  178. package/docs/evidence/v02/ci-e0c190b.json +127 -0
  179. package/docs/evidence/v02/ci-e551253.json +372 -0
  180. package/docs/evidence/v02/ci-f9d4633.json +29 -0
  181. package/docs/evidence/v02/dev1-proposal-evaluation.md +13 -0
  182. package/docs/evidence/v02/dev2-mobile-sam-proposal-oracle.md +21 -0
  183. package/docs/evidence/v02/dev2-proposal-evaluation.md +21 -0
  184. package/docs/evidence/v02/fresh-development.md +16 -0
  185. package/docs/evidence/v02/fresh-native-numeric/artifact-hashes.json +9 -0
  186. package/docs/evidence/v02/fresh-native-numeric/evaluation-root-v1.json +568 -0
  187. package/docs/evidence/v02/fresh-native-numeric/run-manifest.json +342 -0
  188. package/docs/evidence/v02/fresh-native-numeric/summary.json +5654 -0
  189. package/docs/evidence/v02/fresh-native-outline-axis/artifact-hashes.json +9 -0
  190. package/docs/evidence/v02/fresh-native-outline-axis/evaluation-root-v1.json +568 -0
  191. package/docs/evidence/v02/fresh-native-outline-axis/run-manifest.json +378 -0
  192. package/docs/evidence/v02/fresh-native-outline-axis/summary.json +5605 -0
  193. package/docs/evidence/v02/fresh-text/README.md +23 -0
  194. package/docs/evidence/v02/fresh-text/ascii-contours-v1/classify-followup-run-manifest.json +405 -0
  195. package/docs/evidence/v02/fresh-text/ascii-contours-v1/classify-followup-summary.json +1646 -0
  196. package/docs/evidence/v02/fresh-text/ascii-contours-v1/evaluation.json +568 -0
  197. package/docs/evidence/v02/fresh-text/ascii-contours-v1/original-run-manifest.json +404 -0
  198. package/docs/evidence/v02/fresh-text/ascii-contours-v1/original-summary.json +4416 -0
  199. package/docs/evidence/v02/fresh-text/ascii-luma-v1/classify-followup-run-manifest.json +405 -0
  200. package/docs/evidence/v02/fresh-text/ascii-luma-v1/classify-followup-summary.json +1646 -0
  201. package/docs/evidence/v02/fresh-text/ascii-luma-v1/evaluation.json +568 -0
  202. package/docs/evidence/v02/fresh-text/ascii-luma-v1/original-run-manifest.json +404 -0
  203. package/docs/evidence/v02/fresh-text/ascii-luma-v1/original-summary.json +4647 -0
  204. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/classify-followup-run-manifest.json +405 -0
  205. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/classify-followup-summary.json +846 -0
  206. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/evaluation.json +568 -0
  207. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/original-run-manifest.json +404 -0
  208. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/original-summary.json +1789 -0
  209. package/docs/evidence/v02/fresh-text/no-image-control/evaluation.json +568 -0
  210. package/docs/evidence/v02/fresh-text/no-image-control/original-run-manifest.json +404 -0
  211. package/docs/evidence/v02/fresh-text/no-image-control/original-summary.json +3953 -0
  212. package/docs/evidence/v02/fresh-text/palette-grid-v1/classify-followup-run-manifest.json +405 -0
  213. package/docs/evidence/v02/fresh-text/palette-grid-v1/classify-followup-summary.json +1646 -0
  214. package/docs/evidence/v02/fresh-text/palette-grid-v1/evaluation.json +568 -0
  215. package/docs/evidence/v02/fresh-text/palette-grid-v1/original-run-manifest.json +404 -0
  216. package/docs/evidence/v02/fresh-text/palette-grid-v1/original-summary.json +3974 -0
  217. package/docs/evidence/v02/fresh-text/pixel-rle-v1/classify-followup-run-manifest.json +405 -0
  218. package/docs/evidence/v02/fresh-text/pixel-rle-v1/classify-followup-summary.json +1646 -0
  219. package/docs/evidence/v02/fresh-text/pixel-rle-v1/evaluation.json +568 -0
  220. package/docs/evidence/v02/fresh-text/pixel-rle-v1/original-run-manifest.json +404 -0
  221. package/docs/evidence/v02/fresh-text/pixel-rle-v1/original-summary.json +4945 -0
  222. package/docs/evidence/v02/fresh-text/report.json +284 -0
  223. package/docs/evidence/v02/fresh-text/svg-contours-v1/classify-followup-run-manifest.json +405 -0
  224. package/docs/evidence/v02/fresh-text/svg-contours-v1/classify-followup-summary.json +846 -0
  225. package/docs/evidence/v02/fresh-text/svg-contours-v1/evaluation.json +568 -0
  226. package/docs/evidence/v02/fresh-text/svg-contours-v1/original-run-manifest.json +404 -0
  227. package/docs/evidence/v02/fresh-text/svg-contours-v1/original-summary.json +2189 -0
  228. package/docs/evidence/v02/heldout-evaluation-20261020.md +37 -0
  229. package/docs/evidence/v02/heldout-input-derivation.md +18 -0
  230. package/docs/evidence/v02/integration-0c365cb.json +90 -0
  231. package/docs/evidence/v02/integration-25c19cd.json +52 -0
  232. package/docs/evidence/v02/integration-35e3064.json +41 -0
  233. package/docs/evidence/v02/integration-4331b1b.json +42 -0
  234. package/docs/evidence/v02/integration-4c9c09f.json +46 -0
  235. package/docs/evidence/v02/integration-8010aad.json +48 -0
  236. package/docs/evidence/v02/integration-c1aa640.json +41 -0
  237. package/docs/evidence/v02/integration-eea1790.json +46 -0
  238. package/docs/evidence/v02/integration-fa82e65.json +42 -0
  239. package/docs/evidence/v02/jpeg-transport-offline.json +268 -0
  240. package/docs/evidence/v02/jpeg-transport-offline.md +7 -0
  241. package/docs/evidence/v02/local-archive-cleanup.json +59 -0
  242. package/docs/evidence/v02/native-base64-after.json +30 -0
  243. package/docs/evidence/v02/native-base64-before.json +32 -0
  244. package/docs/evidence/v02/native-checked-region-windows-46283fe.json +248 -0
  245. package/docs/evidence/v02/native-checked-region-windows-987ac32.json +141 -0
  246. package/docs/evidence/v02/native-grabcut-windows-4c494a3-run2.json +148 -0
  247. package/docs/evidence/v02/native-grabcut-windows-4c494a3-run3.json +148 -0
  248. package/docs/evidence/v02/native-grabcut-windows-4c494a3.json +56 -0
  249. package/docs/evidence/v02/native-proposal-windows-0c365cb.json +148 -0
  250. package/docs/evidence/v02/native-proposal-windows-450439c.json +156 -0
  251. package/docs/evidence/v02/native-proposal-windows-4c9c09f-retry1.json +147 -0
  252. package/docs/evidence/v02/native-proposal-windows-4c9c09f.json +52 -0
  253. package/docs/evidence/v02/native-region-windows-efc9318.json +163 -0
  254. package/docs/evidence/v02/native-windows-eea1790-baseline.json +198 -0
  255. package/docs/evidence/v02/native-windows-eea1790.json +228 -0
  256. package/docs/evidence/v02/ordinary-luna-axis/run-manifest.json +99 -0
  257. package/docs/evidence/v02/ordinary-luna-axis/summary.json +811 -0
  258. package/docs/evidence/v02/owned-temp-cleanup-20261020-v1.json +28 -0
  259. package/docs/evidence/v02/presentation-paired-20261020.json +1438 -0
  260. package/docs/evidence/v02/proposal-resource-soak-261dc23.json +201 -0
  261. package/docs/evidence/v02/proposal-resource-soak-450439c-receipt.md +13 -0
  262. package/docs/evidence/v02/reconstructed-c03-box.json +41 -0
  263. package/docs/evidence/v02/region-seeded-dev-v1/README.md +17 -0
  264. package/docs/evidence/v02/region-seeded-dev-v1/evaluation.json +260 -0
  265. package/docs/evidence/v02/region-seeded-dev-v2/README.md +15 -0
  266. package/docs/evidence/v02/region-seeded-dev-v2/evaluation.json +232 -0
  267. package/docs/evidence/v02/region-seeded-dev-v3-candidate-only/README.md +9 -0
  268. package/docs/evidence/v02/region-seeded-dev-v3-candidate-only/control-identity-failure.json +22 -0
  269. package/docs/evidence/v02/region-seeded-dev-v3-candidate-only/evaluation.json +160 -0
  270. package/docs/evidence/v02/region-seeded-dev-v3-control-r2/README.md +9 -0
  271. package/docs/evidence/v02/region-seeded-dev-v3-control-r2/attempt-accounting.json +55 -0
  272. package/docs/evidence/v02/region-seeded-dev-v3-control-r2/evaluation.json +136 -0
  273. package/docs/evidence/v02/region-seeded-development-control-r2-freeze-20261021.json +132 -0
  274. package/docs/evidence/v02/region-seeded-development-freeze-20261021-v1.json +167 -0
  275. package/docs/evidence/v02/region-seeded-development-freeze-20261021-v2.json +186 -0
  276. package/docs/evidence/v02/region-seeded-development-freeze-20261021-v3.json +205 -0
  277. package/docs/evidence/v02/region-seeded-heldout-cancelled-before-dispatch-20261021-v2.json +20 -0
  278. package/docs/evidence/v02/region-seeded-heldout-dispatch-authorization-20261021-v3.json +47 -0
  279. package/docs/evidence/v02/region-seeded-heldout-readiness-audit-20261021-v3.json +125 -0
  280. package/docs/evidence/v02/region-seeded-heldout-run-freeze-20261021-v2.json +234 -0
  281. package/docs/evidence/v02/region-seeded-heldout-run-freeze-20261021-v3.json +357 -0
  282. package/docs/evidence/v02/region-seeded-heldout-v3/README.md +19 -0
  283. package/docs/evidence/v02/region-seeded-heldout-v3/evaluation-summary.json +445 -0
  284. package/docs/evidence/v02/region-seeded-method-selection-20261021-v2.json +66 -0
  285. package/docs/evidence/v02/region-seeded-method-selection-20261021-v3.json +120 -0
  286. package/docs/evidence/v02/region-segmentation-resource-0ba4c87-receipt.json +156 -0
  287. package/docs/evidence/v02/resource-soak-linux-8010aad.json +125 -0
  288. package/docs/evidence/v02/screen-v2-terminal-evaluation.md +22 -0
  289. package/docs/evidence/v02/seed-outline/run-manifest.json +59 -0
  290. package/docs/evidence/v02/seed-outline/summary.json +487 -0
  291. package/docs/evidence/v02/seed-unbounded/run-manifest.json +80 -0
  292. package/docs/evidence/v02/seed-unbounded/summary.json +730 -0
  293. package/docs/evidence/v02/segmentation/README.md +21 -0
  294. package/docs/evidence/v02/segmentation/component-comparison-summary.json +240 -0
  295. package/docs/evidence/v02/segmentation/provenance/MOBILE-SAM-LICENSE.txt +201 -0
  296. package/docs/evidence/v02/segmentation/provenance/OPENCV-LICENSE.txt +202 -0
  297. package/docs/evidence/v02/segmentation/provenance/mobile-sam-download-receipt.json +29 -0
  298. package/docs/evidence/v02/segmentation/provenance/mobile-sam-graph-audit.json +214 -0
  299. package/docs/evidence/v02/segmentation/provenance/mobile-sam-model-metadata.json +166 -0
  300. package/docs/evidence/v02/split-choice-noul-dev6.json +72 -0
  301. package/docs/evidence/v02/split-choice-noul-dev6.md +11 -0
  302. package/docs/evidence/v02/supported-vision-screen-20261020.md +65 -0
  303. package/docs/evidence/v02/wesnoth-1.16.11-minimap-projection-source-audit.md +56 -0
  304. package/docs/evidence/v02/wesnoth-proof-root-review-20261020-v1.json +76 -0
  305. package/docs/operations.md +8 -2
  306. package/docs/plan.md +2 -0
  307. package/docs/publishing.md +16 -1
  308. package/docs/research/text-transport-audit.md +66 -0
  309. package/docs/v02-usage.md +164 -0
  310. package/docs/vision-results.md +31 -2
  311. package/package.json +30 -5
@@ -0,0 +1,258 @@
1
+ {
2
+ "schema": "categorical-heldout-v4-independent-failure-v1",
3
+ "status": "failed-quality-qualification",
4
+ "releaseQualified": false,
5
+ "measuredAtUtc": "2026-10-20",
6
+ "producerSourceCommit": "c107ddfc8a129070e4bf7232f2c713b93fe650d4",
7
+ "runtimeSourceSnapshot": "0c365cb13173e290365a5aa2a1aec122c42b0b4d",
8
+ "freezeSha256": "97aa1173d0569c02522789a00ffd469e1a49792e564c91b104ba719ff6c176c1",
9
+ "methodSelectionSha256": "fabb05c2c472c30a8cb20a5f9b6d697b932d94aedc43976359746463ef8708b9",
10
+ "candidate": {
11
+ "runId": "v02-categorical-heldout-native-luna-categorical-presence-sam-heldout-target-plus-neutral-v1-2026-10-20T183257519Z-d6cfb60e",
12
+ "profileId": "native-luna-categorical-presence-sam-heldout-target-plus-neutral-v1",
13
+ "cases": 80,
14
+ "positives": 60,
15
+ "negatives": 20,
16
+ "runManifestSha256": "8ba9597bea273c93a8844d875ce95dd0d7ba9c74d35aa8949680acaed32b9503",
17
+ "rawSummarySha256": "1fb307aef68c93231b3d7fb10b415b4e4aa7d85b5a37ca3fa941bd0beeac28e4",
18
+ "producerSourceSha256": "0a93a965faf8f6ffbae630d03d00d0e68e2fdc69ac31e3d2ba171253e5515ac4",
19
+ "classification": {
20
+ "correct": 69,
21
+ "truePositives": 59,
22
+ "falsePositives": 10,
23
+ "falseNegatives": 1,
24
+ "trueNegatives": 10
25
+ },
26
+ "wholeObject": {
27
+ "matched": 1,
28
+ "positiveDenominator": 60,
29
+ "falseLocations": 0,
30
+ "negativeDenominator": 20,
31
+ "located": 4,
32
+ "unknown": 61,
33
+ "notFound": 8,
34
+ "failed": 7
35
+ },
36
+ "strata": [
37
+ {
38
+ "group": "photo",
39
+ "positiveMatches": 1,
40
+ "positiveCases": 30,
41
+ "falseLocations": 0,
42
+ "negativeCases": 10
43
+ },
44
+ {
45
+ "group": "ui",
46
+ "positiveMatches": 0,
47
+ "positiveCases": 15,
48
+ "falseLocations": 0,
49
+ "negativeCases": 5
50
+ },
51
+ {
52
+ "group": "map",
53
+ "positiveMatches": 0,
54
+ "positiveCases": 15,
55
+ "falseLocations": 0,
56
+ "negativeCases": 5
57
+ }
58
+ ],
59
+ "budget": {
60
+ "admittedPhysicalCalls": 356,
61
+ "knownCostUsd": 0.1608768999999998,
62
+ "unknownCostCalls": 7,
63
+ "inFlightCalls": 0,
64
+ "accountedExposureUsd": 0.5108768999999999,
65
+ "maxPhysicalCalls": 600,
66
+ "maxCostUsd": 10
67
+ },
68
+ "http": {
69
+ "physicalCalls": 356,
70
+ "status200": 349,
71
+ "status502": 7,
72
+ "negativeCase502": 7,
73
+ "retries": 0,
74
+ "fallback": false
75
+ },
76
+ "sourceUnchanged": true
77
+ },
78
+ "noImageControl": {
79
+ "runId": "v02-deepseek-no-image-heldout-photo-2026-10-20T184450822Z-eb3ceccc",
80
+ "cases": 40,
81
+ "positiveMatches": 0,
82
+ "positiveCases": 30,
83
+ "classificationCorrect": 10,
84
+ "runManifestSha256": "da21c46353240df05c35a04b63bc18224f7489985ca0709c9e17d8d8a1c9b553",
85
+ "rawSummarySha256": "1180d62c4a43e1cec45fadb6b33bb37e5f4b311dc28fc78ec08e7cbdd890915d",
86
+ "producerSourceSha256": "69c85bacace07e09356186d1a72252402bf10c28e114697f35a121be97887619",
87
+ "budget": {
88
+ "admittedPhysicalCalls": 100,
89
+ "knownCostUsd": 0.05400330000000001,
90
+ "unknownCostCalls": 0,
91
+ "inFlightCalls": 0,
92
+ "accountedExposureUsd": 0.05400330000000001,
93
+ "maxPhysicalCalls": 300,
94
+ "maxCostUsd": 5
95
+ },
96
+ "http": {
97
+ "physicalCalls": 100,
98
+ "status200": 100,
99
+ "retries": 0,
100
+ "fallback": false
101
+ },
102
+ "actualFetchAudit": {
103
+ "fetchesChecked": 100,
104
+ "fetchAttempts": 100,
105
+ "zeroImagePartsConfirmed": 100,
106
+ "zeroImageDerivedStateConfirmed": 100,
107
+ "imagePartViolations": 0,
108
+ "unverifiableBodies": 0,
109
+ "complete": true
110
+ }
111
+ },
112
+ "pairedPhotoQualification": {
113
+ "methodSelectionSha256": "fabb05c2c472c30a8cb20a5f9b6d697b932d94aedc43976359746463ef8708b9",
114
+ "photoCases": 40,
115
+ "positivePairs": 30,
116
+ "allGroupsNegativeCases": 20,
117
+ "candidateFalseLocationsAllGroups": [],
118
+ "maximumAllowedFalseLocationsAllGroups": 1,
119
+ "allGroupsNegativeGatePasses": true,
120
+ "bootstrap": {
121
+ "pairs": 30,
122
+ "iterations": 10000,
123
+ "seed": "0x5a4f5259",
124
+ "method": "paired-percentile-nearest-rank",
125
+ "difference": 0.03333333333333333,
126
+ "confidence": 0.95,
127
+ "lower": 0,
128
+ "upper": 0.1,
129
+ "passes": false
130
+ },
131
+ "denominator": "all 30 positive photo pairs; transport failures and unknowns count as failures"
132
+ },
133
+ "positiveFunnel": {
134
+ "cases": 60,
135
+ "initialPresenceAbsent": 1,
136
+ "finalSeedAbsentWithCellContradiction": 7,
137
+ "finalSeedAbsentWithNoCell": 6,
138
+ "finalSeedPresentWithNoCell": 9,
139
+ "reachedNativeProposals": 37,
140
+ "noMaskSelected": 15,
141
+ "selectedMaskCompletenessRejected": 18,
142
+ "locatedBoxFailed": 3,
143
+ "locatedBoxPassed": 1,
144
+ "reconciliation": "1+7+6+9+15+18+3+1 = 60; transport/parse/timeouts caused none of these positive outcomes",
145
+ "use": "diagnostic only; not a new method selection or revised qualification"
146
+ },
147
+ "maskCoverage": {
148
+ "initialEvaluatorReferenceInstances": 0,
149
+ "actualOfficialReferenceInstances": 32,
150
+ "actualOfficialAnnotatedCases": 21,
151
+ "exactSourceCanvasInstances": 2,
152
+ "differentFullFrameCanvasInstances": 30,
153
+ "strictJoinStatus": "rejected-different-source-and-annotation-dimensions",
154
+ "qualifiedMaskAccuracy": false,
155
+ "explanation": "Canonical photo truth and official mask index are separate. Initial evaluation did not join references. Strict join rejects 30 differently sized full-frame masks. Raw outputs stay unchanged; any normalized-canvas calculation is separate exploratory evidence and cannot change whole-box or paired results.",
156
+ "exploratoryEvaluation": "mask-normalized-exploratory.json",
157
+ "exploratoryScoredReferenceInstances": 7,
158
+ "exploratoryUnavailableReferenceInstances": 25,
159
+ "exploratoryPassingReferenceInstances": 3
160
+ },
161
+ "costAccounting": {
162
+ "physicalCalls": 456,
163
+ "knownCostUsd": 0.2148801999999998,
164
+ "unknownCostCalls": 7,
165
+ "unknownCostReserveUsdPerCall": 0.05,
166
+ "accountedExposureUsd": 0.5648801999999998,
167
+ "knownCostIsInvoice": false
168
+ },
169
+ "latency": {
170
+ "rankingEligible": false,
171
+ "method": "nearest rank, ceil(p*n), actual completed operation/physical fetch duration; shared host and native stress are unranked",
172
+ "candidate": {
173
+ "physicalFetch": {
174
+ "observations": 356,
175
+ "p50Ms": 1748.815476000018,
176
+ "p95Ms": 10264.485994999995
177
+ },
178
+ "classification": {
179
+ "observations": 80,
180
+ "p50Ms": 980.1109229999965,
181
+ "p95Ms": 4537.356227999997
182
+ },
183
+ "localization": {
184
+ "observations": 80,
185
+ "p50Ms": 6745.572493999964,
186
+ "p95Ms": 41874.570619999984
187
+ }
188
+ },
189
+ "noImageControl": {
190
+ "physicalFetch": {
191
+ "observations": 100,
192
+ "p50Ms": 517.789005000006,
193
+ "p95Ms": 1536.4638100000002
194
+ },
195
+ "classification": {
196
+ "observations": 40,
197
+ "p50Ms": 605.3571630000006,
198
+ "p95Ms": 1721.7188230000029
199
+ },
200
+ "localization": {
201
+ "observations": 40,
202
+ "p50Ms": 926.6581420000002,
203
+ "p95Ms": 2654.099829999999
204
+ }
205
+ }
206
+ },
207
+ "limitations": [
208
+ "Source selection was frozen before new pixels/per-case truth were opened; this 80-case corpus is now exposed regression data.",
209
+ "UI is one controlled Mousepad family; map is one controlled Minetest minimap family, not arbitrary real games.",
210
+ "Candidate and no-image control use different model families: this compares complete recipes, not a causal image-only ablation.",
211
+ "Seven physical 502 receipts have unknown usage cost; reservations remain, not zero charges.",
212
+ "All mandatory release gates are retained. A new development method and a fresh source-group-disjoint blind cohort are required."
213
+ ],
214
+ "artifacts": [
215
+ {
216
+ "path": "candidate-evaluation.json",
217
+ "sha256": "f5ac16c65b63115b22fe753a69a1b340a108e521df49b37aa678f8e2c1db4484",
218
+ "bytes": 79628,
219
+ "preservation": "byte-exact original evaluator output; initial evaluation has no joined mask references"
220
+ },
221
+ {
222
+ "path": "candidate-provenance.json",
223
+ "sha256": "17d1d5970d1f4b9e3785281639c043172119f7dd7dc1cd3827492313d0ed5e62",
224
+ "bytes": 9491,
225
+ "preservation": "byte-exact original evaluator output; initial evaluation has no joined mask references"
226
+ },
227
+ {
228
+ "path": "control-evaluation.json",
229
+ "sha256": "8043f1124caf3224e5bd20b46e337bdd3b014a28eb2b842b64488042cc652576",
230
+ "bytes": 25062,
231
+ "preservation": "byte-exact original evaluator output; initial evaluation has no joined mask references"
232
+ },
233
+ {
234
+ "path": "control-provenance.json",
235
+ "sha256": "3642407e848cfabc6f0fbad0fe5d606a52fec14d34482efbe43df8413fe24162",
236
+ "bytes": 1410,
237
+ "preservation": "byte-exact original evaluator output; initial evaluation has no joined mask references"
238
+ },
239
+ {
240
+ "path": "paired-qualification.json",
241
+ "sha256": "3abe7c561901f5ea2eb34f802db5da872dd7264615dcfcc35db4b4952d7078ee",
242
+ "bytes": 654,
243
+ "preservation": "byte-exact original evaluator output; initial evaluation has no joined mask references"
244
+ },
245
+ {
246
+ "path": "candidate-physical-receipts.json",
247
+ "sha256": "d5eec9791bca9db46257d088d64fd96f2e41282b9f359a0880d8c08d069632be",
248
+ "bytes": 513037,
249
+ "preservation": "metadata-only JSON derivative of original physicalReceipts array; no request bodies"
250
+ },
251
+ {
252
+ "path": "control-physical-receipts.json",
253
+ "sha256": "97e7aa487ef57f27a09902b2c82e8da2c8b5fa61d1ac562d61ba4ccdf4c54796",
254
+ "bytes": 145621,
255
+ "preservation": "metadata-only JSON derivative of original physicalReceipts array; no request bodies"
256
+ }
257
+ ]
258
+ }
@@ -0,0 +1,144 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Categorical presence split-port DEV6 pilot independent evaluation",
4
+ "verdict": "FAIL: ineligible for full DEV40; the predeclared pilot requires at least one of two positive whole-object locations and zero false locations among four negatives. This run located zero positives.",
5
+ "purpose": "six exposed DEV cases to evaluate caller-owned categorical presence over native Choice; not a release qualification run",
6
+ "phase": "dev-pilot",
7
+ "profileId": "split-sol-spatial-native-luna-categorical-presence-sam-v1",
8
+ "runId": "v02-categorical-presence-dev6-2026-10-20T161832712Z-98826bc1",
9
+ "pins": {
10
+ "summaryCanonicalSha256": "a5a0f03b8fb889868505ea5a94da75db06c43f4b71ed80bbaec900a2fce03bc2",
11
+ "summaryPrettyFileSha256": "33deeff7037e5cc43d0dce5148ecbd2f65241a5e66ac4aefe0a1e2f360045022",
12
+ "runManifestSha256": "5d9b535365ac30a9057f4fba4ab69164eb0c6f5eeb77438aba1d224cc9a5213f",
13
+ "completionMarkerSha256": "3a13028bdcf6ddefa03ca518d07299bc86b5b34b7496ad71d57c491488cb8416",
14
+ "selectedInputsSha256": "98c9cae05ce1e85cd3dba6fb93b86406caf258600ac7bef8d64c7edd4439bc12",
15
+ "parentTwentyPhotoInputsSha256": "6c9ed29d8586c7887ae0861fc853baf203cb43790df4959390da4b5cc9ac679a",
16
+ "devTruthSha256": "793e26845deaa2cb56748ef270b8cb02877218d680068573f02e5af92b26af6a",
17
+ "variantSha256": "069a6c1bd8b32cd86e6af5838282817626b69c9790f0bb8dd9c4868450d86e6c",
18
+ "producerSourceSha256": "23ba879559c3fb69fd704589c89b98e2e601abc2cacd0d811a0b94e021613221"
19
+ },
20
+ "completeness": {
21
+ "planned": 6,
22
+ "completed": 6,
23
+ "missing": 0,
24
+ "status": "complete"
25
+ },
26
+ "classification": {
27
+ "correct": 4,
28
+ "total": 6,
29
+ "accuracy": 0.6666666666666666,
30
+ "positiveCorrect": 2,
31
+ "positiveTotal": 2,
32
+ "negativeCorrect": 2,
33
+ "negativeTotal": 4,
34
+ "falsePresent": 2
35
+ },
36
+ "wholeObjectLocalization": {
37
+ "locatedPositive": 0,
38
+ "positiveTotal": 2,
39
+ "falseLocatedNegative": 0,
40
+ "negativeTotal": 4,
41
+ "unknownTotal": 6,
42
+ "reasonCounts": {
43
+ "extent-uncertain": 2,
44
+ "uncertain-presence": 1,
45
+ "candidate-union-empty": 2,
46
+ "contradictory-evidence": 1
47
+ },
48
+ "bboxMetric": "not available: no row returned a location"
49
+ },
50
+ "extraction": {
51
+ "extracted": 0,
52
+ "unknown": 6,
53
+ "maskArtifactCases": 0,
54
+ "maskMetric": "not available: no masks returned"
55
+ },
56
+ "budget": {
57
+ "physicalCalls": 39,
58
+ "knownCostUsd": 0.23919200000000004,
59
+ "unknownCostCalls": 0,
60
+ "inFlightCalls": 0,
61
+ "latencyRankingEligible": false,
62
+ "latencyEnvironment": "concurrent-development-screen-unranked",
63
+ "receiptsReconciled": true
64
+ },
65
+ "cases": [
66
+ {
67
+ "caseId": "photo-dev-present-01",
68
+ "imageSha256": "71e781adb0c2d47d97e6fd5868e6dbe4de8c1375536e1753f897931ff90575dc",
69
+ "expectedPresence": "present",
70
+ "classification": "present",
71
+ "classificationCorrect": true,
72
+ "locateStatus": "unknown",
73
+ "locateReason": "extent-uncertain",
74
+ "wholeObjectBox": null,
75
+ "extractStatus": "unknown",
76
+ "maskArtifactPresent": false
77
+ },
78
+ {
79
+ "caseId": "photo-dev-present-02",
80
+ "imageSha256": "a27d93b12fadd550899a1d1d8ce70d34ba3c692affebf09134eda838910fcab5",
81
+ "expectedPresence": "present",
82
+ "classification": "present",
83
+ "classificationCorrect": true,
84
+ "locateStatus": "unknown",
85
+ "locateReason": "uncertain-presence",
86
+ "wholeObjectBox": null,
87
+ "extractStatus": "unknown",
88
+ "maskArtifactPresent": false
89
+ },
90
+ {
91
+ "caseId": "photo-dev-absent-01",
92
+ "imageSha256": "604b8fa9c30881acee7c67d078bb7d08f846aeac6152dc1bf23a41ddefe45988",
93
+ "expectedPresence": "absent",
94
+ "classification": "absent",
95
+ "classificationCorrect": true,
96
+ "locateStatus": "unknown",
97
+ "locateReason": "candidate-union-empty",
98
+ "wholeObjectBox": null,
99
+ "extractStatus": "unknown",
100
+ "maskArtifactPresent": false
101
+ },
102
+ {
103
+ "caseId": "photo-dev-absent-02",
104
+ "imageSha256": "8bcbc695bc113f645bb66dd2e03615764cd37d80e5794d8f9ffc79f1e364e077",
105
+ "expectedPresence": "absent",
106
+ "classification": "present",
107
+ "classificationCorrect": false,
108
+ "locateStatus": "unknown",
109
+ "locateReason": "extent-uncertain",
110
+ "wholeObjectBox": null,
111
+ "extractStatus": "unknown",
112
+ "maskArtifactPresent": false
113
+ },
114
+ {
115
+ "caseId": "photo-dev-absent-03",
116
+ "imageSha256": "f8c2cc736fd7941bf2bc51c73147aeec96deba4b22e6948fe088a2d9121c51a6",
117
+ "expectedPresence": "absent",
118
+ "classification": "absent",
119
+ "classificationCorrect": true,
120
+ "locateStatus": "unknown",
121
+ "locateReason": "candidate-union-empty",
122
+ "wholeObjectBox": null,
123
+ "extractStatus": "unknown",
124
+ "maskArtifactPresent": false
125
+ },
126
+ {
127
+ "caseId": "photo-dev-absent-04",
128
+ "imageSha256": "085ac7dc3243e28816e69f5e1ad56b9e8858c7135fac366f3172ad862e28eeae",
129
+ "expectedPresence": "absent",
130
+ "classification": "present",
131
+ "classificationCorrect": false,
132
+ "locateStatus": "unknown",
133
+ "locateReason": "contradictory-evidence",
134
+ "wholeObjectBox": null,
135
+ "extractStatus": "unknown",
136
+ "maskArtifactPresent": false
137
+ }
138
+ ],
139
+ "limits": [
140
+ "Six exposed DEV cases only; this is a pilot and not a heldout evaluation.",
141
+ "No target boxes or masks were produced, so localization and extraction quality cannot be inferred from the classification answers.",
142
+ "The source-truth labels and original producer artifacts were left unchanged."
143
+ ]
144
+ }
@@ -0,0 +1,18 @@
1
+ # Categorical-presence split-port DEV6 pilot
2
+
3
+ The run completed all six exposed development cases, but it fails the predeclared pilot gate for moving to a full DEV40 run. The gate required at least one correctly located positive and zero false locations among four negatives. There were **0/2 positive locations**, so the candidate is not eligible for full DEV40.
4
+
5
+ The independent classification score was **4/6** (2/2 positives and 2/4 negatives); two negative cases were classified present. All six whole-object location results were `unknown`; no box or mask was returned. Thus the run provides no measured box or cutout accuracy.
6
+
7
+ The run used 39 physical calls at a reconciled known cost of **$0.239192**, with no unknown-cost or in-flight calls. Latency was marked unranked. This was a six-case DEV pilot, not a release or heldout result.
8
+
9
+ | Case | Truth | Classification | Locate | Reason |
10
+ | -------------------- | ------- | ----------------- | ------- | ---------------------- |
11
+ | photo-dev-present-01 | present | present (correct) | unknown | extent-uncertain |
12
+ | photo-dev-present-02 | present | present (correct) | unknown | uncertain-presence |
13
+ | photo-dev-absent-01 | absent | absent (correct) | unknown | candidate-union-empty |
14
+ | photo-dev-absent-02 | absent | present (wrong) | unknown | extent-uncertain |
15
+ | photo-dev-absent-03 | absent | absent (correct) | unknown | candidate-union-empty |
16
+ | photo-dev-absent-04 | absent | present (wrong) | unknown | contradictory-evidence |
17
+
18
+ Raw producer artifacts are unchanged. The JSON evidence includes both the canonical summary digest sealed by the run marker and the pretty-file digest, plus the run manifest, completion marker, selected-input, parent-cohort and DEV-truth pins. No producer truth, queries or outputs were rewritten.
@@ -0,0 +1,90 @@
1
+ {
2
+ "schema": "zorya-v02-method-selection-v1",
3
+ "recordedAt": "2026-10-20T17:09:43.940667+00:00",
4
+ "selectedDevProfileId": "native-luna-categorical-presence-sam-target-plus-neutral-v1",
5
+ "targetPolicy": "target-plus-neutral-instruction-v1",
6
+ "producerRevision": "e4f55baa2c3c8a9ccc711a8aafc56d0c69f4af82",
7
+ "producerSourceSha256": "7ec64fb859b8e322bcd5e5b8956c4b7c0be5e2ceec36d19fc08906e3912ca46d",
8
+ "decisionRecipeSourceSha256": {
9
+ "./categorical-presence-port.ts": "0d85dcb5acb12d10c4fab888f7a0b81e16c594c940886794fecc2b9367c26512",
10
+ "./native-categorical-presence-port.ts": "0bf4fa6a16c52083f1a97a696eeead26a6710d82bbacb27af4380ae01143eb3a",
11
+ "src/features/prompts.ts": "b808ed8f42e8c92daf08060d2805da618f2b140f99b6a9b07df49622d57b62aa",
12
+ "src/processes/locate.ts": "a5a1320c2dff4060a3c5ab5e32cb5f0af2d94fcad458caba3818b6a0a28dab3d",
13
+ "src/processes/proposal-location.ts": "0670d56e30b2f42e499d3311149da8bb9b1af83368c0908ae1538bc6d04877a3",
14
+ "src/infrastructure/segmentation/proposal-presentation.ts": "c1e5ab928a97209e090b076db56d7fac69d5fa743dacbfd4288307e576990c25"
15
+ },
16
+ "route": {
17
+ "model": "openai/gpt-6-luna-decisions",
18
+ "provider": "openai",
19
+ "providerName": "OpenAI",
20
+ "endpoint": "/api/alpha/decisions",
21
+ "fallback": false
22
+ },
23
+ "method": "pixel-mask-proposals-v1",
24
+ "native": {
25
+ "method": "mobile-sam-nine-point-proposals-v1",
26
+ "executionProvider": "cpu",
27
+ "threads": 2,
28
+ "maxActive": 1,
29
+ "maxWaiting": 2,
30
+ "encoderSha256": "580f5fb648ea1062c0aabc26217aed56921985f03f0cbbd852bba81d760cc749",
31
+ "decoderSha256": "8976b90a87ba50a6a72217a5ff994f7d25ce16f2229fcc1ed259e1294c622ffe"
32
+ },
33
+ "policy": {
34
+ "timeoutMs": 120000,
35
+ "maxInFlightCases": 2,
36
+ "boxTolerancePx": 8,
37
+ "maxExtentPasses": 3,
38
+ "retries": 0,
39
+ "fallback": false,
40
+ "categoricalPresence": "closed-choice-present-absent-unknown-v1",
41
+ "ranking": "existing validated maximum; stable supplied-order ties; raw scores retained"
42
+ },
43
+ "development": {
44
+ "profilesCompared": 2,
45
+ "photoMatches": {
46
+ "preserveInstruction": 3,
47
+ "targetOnly": 0
48
+ },
49
+ "photoPositiveDenominator": 16,
50
+ "classification": {
51
+ "preserveInstruction": 35,
52
+ "targetOnly": 35
53
+ },
54
+ "classificationDenominator": 40,
55
+ "falseLocations": {
56
+ "preserveInstruction": 0,
57
+ "targetOnly": 0
58
+ },
59
+ "negativeDenominator": 10,
60
+ "selectionRule": "Both passed the DEV negative condition; preserving the neutral instruction wins on photo whole-object matches before any latency/cost tie-break. All failures and unknowns count.",
61
+ "latencyUsedForRanking": false,
62
+ "pairedPreregistrationSha256": "c1f2000d59a0724acb41c5c46e647e8c964295e522e8722c2d2512723e02f69a",
63
+ "evaluationSha256": {
64
+ "preserveInstruction": "0779badea569409fad7f1938f1007bdea393a511a95b15661c0e310ca7af6e28",
65
+ "targetOnly": "dafce762ced70a0b877620a6ef1d473457aa03e099147e181539db77fd852c5b"
66
+ }
67
+ },
68
+ "heldoutExposureBeforeSelection": {
69
+ "newCasePixelsViewedByRootOrProducer": false,
70
+ "newPerCaseTruthViewedByRootOrProducer": false,
71
+ "curatorHasLabels": true,
72
+ "genericOracleSourceReviewed": true
73
+ },
74
+ "requiredBeforeBlindDispatch": [
75
+ "Reviewed complete executable producer/control source and source freeze",
76
+ "Canonical source-disjoint80input manifests and independent oracle integrity",
77
+ "Hosted final source checks",
78
+ "Completed monotonic native resource acceptance"
79
+ ],
80
+ "allowsHeldoutDispatch": false,
81
+ "heldoutQualified": false,
82
+ "releaseQualified": false,
83
+ "libraryModelDefault": null,
84
+ "limits": [
85
+ "Development selection is not a blind qualification or a universal quality claim.",
86
+ "This recipe is caller-owned and never installed as a library model/provider default.",
87
+ "Selected recipe settings and decision/source transformations must not change for blind qualification.",
88
+ "The later heldout run freeze must bind this selection digest, canonical input pins and its actual producer source closure."
89
+ ]
90
+ }
@@ -0,0 +1,7 @@
1
+ # Exposed checked-region component proof
2
+
3
+ This metadata-only receipt records three paid DEV component checks on two already exposed photos. The first box for the Car instance was judged `needs-expansion` (0.00 / 1.00 / 0.00); the Knife box was judged `complete` (0.66 / 0.31 / 0.03); and a larger Car box from another same-seed MobileSAM proposal was judged `complete` (0.76 / 0.20 / 0.04). Together the raw receipts show 3 physical calls, $0.000292 known cost, 0 unknown-cost calls, and no in-flight calls.
4
+
5
+ `evidence.json` pins both raw run manifests, summaries, completion markers, prompt/criteria, route, request hashes, saved-presentation hashes, and provider receipts. The saved images and raw call artifacts remain in the ignored `.run` area and are not copied here.
6
+
7
+ These are component-level judgments on exposed DEV presentations, not an end-to-end accuracy result, a segmentation-mask evaluation, or release qualification. The calls used the legacy probe prompt and saved fixed-style presentations. The current production box checker uses separate closed-choice wording and renders the full source with the mask-derived box, seed-center cross, and hard-ROI outline. The historical calls did not exercise that production renderer or prompt. No heldout cases were accessed for this probe.