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,445 @@
1
+ {
2
+ "schema": "region-seeded-heldout-v3-independent-evaluation-summary-v1",
3
+ "freeze": {
4
+ "path": "docs/evidence/v02/region-seeded-heldout-run-freeze-20261021-v3.json",
5
+ "sha256": "5efcea0a0556dda41cf67fd0178ec7e0208b3a51ca3fdaf03e9b26b13afae73b",
6
+ "producerSourceSha256": "be43090b13951e9a6ffa65daffb9413a6a539d8dae335925dc885733a467fb20",
7
+ "profileVariantSha256": {
8
+ "candidate": "cf17516c888a8ef952ad608472bc64e2b1d4c1746d6c5057440036e242b9ceee",
9
+ "control": "1ec1668798a587daa585ba37a079acd38d7d97ef9d735f7b2732f2fa18e5bce4"
10
+ }
11
+ },
12
+ "rawPins": {
13
+ "inputs": [
14
+ {
15
+ "file": "photo-inputs.json",
16
+ "sha256": "ce0d7af70cace50fbee83d3cc21cc83fa4c213759f49758ba53397509660906c",
17
+ "cases": 40
18
+ },
19
+ {
20
+ "file": "ui-inputs.json",
21
+ "sha256": "9f31d033fe1b48d2d312c8bfb0274b5f30494978e6c95115508b283d38ce76d2",
22
+ "cases": 20
23
+ },
24
+ {
25
+ "file": "map-inputs.json",
26
+ "sha256": "d7c0e31f0b798a1e79d79d56434b4622f1bd09ee48debb2a5047b6d92a03abe8",
27
+ "cases": 20
28
+ }
29
+ ],
30
+ "truths": [
31
+ {
32
+ "file": "photoTruth.json",
33
+ "sha256": "8bd4db0d5818df6902c99c2d6cb1d338e662af29903d9885dcffa17a8f0b344a"
34
+ },
35
+ {
36
+ "file": "ui-evaluator-truth.json",
37
+ "sha256": "dbfa76930880361a54c87baf6b652d832b1999af2bcf68a6aaaea4595e558df2"
38
+ },
39
+ {
40
+ "file": "mapTruth.json",
41
+ "sha256": "f57629035545b8d3ac36c24b7f19faf8ddf25cf1a1f86fd89eac226b92515f42"
42
+ }
43
+ ],
44
+ "candidate": {
45
+ "runManifestSha256": "aceb5ff8405e8c581122c640ca265e91c6776c941007cc4f7df4a4351c91f306",
46
+ "summaryBytesSha256": "f1f99c77057a47a350e80c98ebdde91f74d161fbcabbd0b5917a6113b32e4a1d",
47
+ "completionSealSha256": "a5b0e5f74c41879ff4e55bafe80c391391671e3a11b3bce5970bfd79c64918fa",
48
+ "normalizedSummarySha256": "90eb519963f7d7dd09a68766d939fa95ddb1d35bc99099816156ebf2b867ec2c"
49
+ },
50
+ "control": {
51
+ "runManifestSha256": "e4984dc87dcda6208fa9d30a6890d9ba4b48c26fac7c8da82624f3dbeefb7029",
52
+ "summaryBytesSha256": "d7917230421ef2f1aa6260f389174119e5b296525bfd9ffa82f15f26683d66ec",
53
+ "completionSealSha256": "b93cea4d44274a47f024896b68b1b28dedb02476d6e2a26ef433eebcf3082b14",
54
+ "normalizedSummarySha256": "b86acb1258f6c59f4a12664bb2a2abae28a1ce894065a7f5573edd3adc418d87"
55
+ }
56
+ },
57
+ "evaluator": {
58
+ "commit": "77c84facb0edc95b3e5f0904a011e33856094d9f",
59
+ "candidateReportSha256": "9602cf0df1d69f43ef1fd6d12178af95ba748363910998157b1390b2855d4b83",
60
+ "controlReportSha256": "89af2c90e18ae82cf862cc49f6fe8b03d5221fb7eb20463bb4e64d2576d72daa",
61
+ "pairedReportSha256": "9dc5638204141c0f45b0bf18e2f35373437d320b0a8bb3e4488d56f7ef2bb183",
62
+ "referenceByteMetadataCompatibility": "The first strict evaluator attempt stopped at truth-schema parsing before scoring because frozen photo reference descriptors omit redundant byte counts. The evaluator now accepts absent byte metadata, enforces a 16 MiB read bound, and still verifies raw SHA, exact source canvas/dimensions, and binary pixels; any supplied byte count is checked exactly. Frozen truth bytes and hashes were unchanged."
63
+ },
64
+ "selection": {
65
+ "candidate": "native-luna-presence-first-checked-region-sam-heldout-v3",
66
+ "control": "native-luna-presence-first-region-no-image-control-heldout-v3",
67
+ "sourceUnchanged": true,
68
+ "allInputsAndTruthPinsMatchFreeze": true
69
+ },
70
+ "candidate": {
71
+ "profileId": "native-luna-presence-first-checked-region-sam-heldout-v3",
72
+ "variant": "region-seeded-sam",
73
+ "variantSha256": "cf17516c888a8ef952ad608472bc64e2b1d4c1746d6c5057440036e242b9ceee",
74
+ "complete": true,
75
+ "denominator": 80,
76
+ "classification": {
77
+ "denominator": 80,
78
+ "answered": 80,
79
+ "correct": 65,
80
+ "accuracy": 0.8125,
81
+ "unanswered": 0,
82
+ "errors": 15
83
+ },
84
+ "groups": {
85
+ "photo": {
86
+ "cases": 40,
87
+ "positives": 30,
88
+ "negatives": 10,
89
+ "classificationCorrect": 37,
90
+ "classificationStatus": {
91
+ "ok": 40
92
+ },
93
+ "extractionStatus": {
94
+ "extracted": 11,
95
+ "failed": 2,
96
+ "not-found": 7,
97
+ "unknown": 20
98
+ },
99
+ "seedStatus": {
100
+ "failed": 2,
101
+ "located": 20,
102
+ "not-reached": 7,
103
+ "unknown": 11
104
+ },
105
+ "seedLocations": 20,
106
+ "positiveSeedBoxIntersections": 20,
107
+ "positiveExactMaskForegroundHits": 20,
108
+ "wholeObjectBoxesMatched": 8,
109
+ "falseSeedLocations": 0,
110
+ "falseExtractions": 0,
111
+ "exactCanvasMaskReferenceInstances": 30
112
+ },
113
+ "ui": {
114
+ "cases": 20,
115
+ "positives": 15,
116
+ "negatives": 5,
117
+ "classificationCorrect": 19,
118
+ "classificationStatus": {
119
+ "ok": 20
120
+ },
121
+ "extractionStatus": {
122
+ "extracted": 5,
123
+ "not-found": 6,
124
+ "unknown": 9
125
+ },
126
+ "seedStatus": {
127
+ "located": 6,
128
+ "not-reached": 6,
129
+ "unknown": 8
130
+ },
131
+ "seedLocations": 6,
132
+ "positiveSeedBoxIntersections": 6,
133
+ "positiveExactMaskForegroundHits": null,
134
+ "wholeObjectBoxesMatched": 0,
135
+ "falseSeedLocations": 0,
136
+ "falseExtractions": 0,
137
+ "exactCanvasMaskReferenceInstances": 0
138
+ },
139
+ "map": {
140
+ "cases": 20,
141
+ "positives": 15,
142
+ "negatives": 5,
143
+ "classificationCorrect": 9,
144
+ "classificationStatus": {
145
+ "ok": 20
146
+ },
147
+ "extractionStatus": {
148
+ "not-found": 14,
149
+ "unknown": 6
150
+ },
151
+ "seedStatus": {
152
+ "not-reached": 14,
153
+ "unknown": 6
154
+ },
155
+ "seedLocations": 0,
156
+ "positiveSeedBoxIntersections": 0,
157
+ "positiveExactMaskForegroundHits": null,
158
+ "wholeObjectBoxesMatched": 0,
159
+ "falseSeedLocations": 0,
160
+ "falseExtractions": 0,
161
+ "exactCanvasMaskReferenceInstances": 0
162
+ }
163
+ },
164
+ "extractionStatuses": {
165
+ "extracted": 16,
166
+ "unknown": 35,
167
+ "failed": 2,
168
+ "not-found": 27
169
+ },
170
+ "seedRegion": {
171
+ "located": 26,
172
+ "locatedOnPresent": 26,
173
+ "locatedOnAbsent": 0,
174
+ "positiveReferenceBoxIntersections": 26,
175
+ "falseSeedLocations": 0,
176
+ "falseExtractions": 0,
177
+ "metric": "any positive-area intersection of seed cell and independent target box; coarse proxy only"
178
+ },
179
+ "wholeObject": {
180
+ "attempted": 80,
181
+ "positives": 60,
182
+ "negatives": 20,
183
+ "matched": 8,
184
+ "localizationRate": 0.13333333333333333,
185
+ "falseLocations": 0,
186
+ "unknown": 35,
187
+ "failed": 2
188
+ },
189
+ "boxVerification": {
190
+ "casesWithAttempt": 26,
191
+ "casesWithoutAttempt": 54,
192
+ "successfulAttempts": 31,
193
+ "failedAttempts": 0,
194
+ "verdicts": {
195
+ "complete": 16,
196
+ "needs-expansion": 15,
197
+ "unknown": 0
198
+ },
199
+ "expansionOutcomes": {
200
+ "not-needed": 16,
201
+ "unsupported": 0,
202
+ "no-enclosing-mask": 5,
203
+ "rejected-mask": 0,
204
+ "expanded": 5
205
+ },
206
+ "extractionStatuses": {
207
+ "extracted": 16,
208
+ "region-only": 0,
209
+ "unknown": 35,
210
+ "not-found": 27,
211
+ "failed": 2
212
+ }
213
+ },
214
+ "mask": {
215
+ "referenceInstances": 30,
216
+ "scored": 11,
217
+ "passedAtIoU08": 8,
218
+ "scoredBelowThreshold": 3,
219
+ "unavailable": 19,
220
+ "unannotatedCases": 50,
221
+ "unavailableReasons": {
222
+ "unavailable-no-predicted-mask": 19
223
+ },
224
+ "referenceInstancesByStratum": {
225
+ "photo": 30,
226
+ "ui": 0,
227
+ "map": 0
228
+ }
229
+ },
230
+ "physical": {
231
+ "count": 266,
232
+ "knownCostUsd": 0.10520950000000014,
233
+ "unknownCostCalls": 2,
234
+ "accountedExposureUsd": 0.20520950000000016,
235
+ "receiptCount": 266,
236
+ "httpStatusCounts": {
237
+ "200": 264,
238
+ "502": 2
239
+ },
240
+ "receiptErrorCodes": {
241
+ "PROVIDER": 2
242
+ }
243
+ }
244
+ },
245
+ "control": {
246
+ "profileId": "native-luna-presence-first-region-no-image-control-heldout-v3",
247
+ "variant": "no-image-control",
248
+ "variantSha256": "1ec1668798a587daa585ba37a079acd38d7d97ef9d735f7b2732f2fa18e5bce4",
249
+ "complete": true,
250
+ "denominator": 80,
251
+ "classification": {
252
+ "denominator": 80,
253
+ "answered": 80,
254
+ "correct": 20,
255
+ "accuracy": 0.25,
256
+ "unanswered": 0,
257
+ "errors": 60
258
+ },
259
+ "groups": {
260
+ "photo": {
261
+ "cases": 40,
262
+ "positives": 30,
263
+ "negatives": 10,
264
+ "classificationCorrect": 10,
265
+ "classificationStatus": {
266
+ "ok": 40
267
+ },
268
+ "extractionStatus": {
269
+ "not-found": 40
270
+ },
271
+ "seedStatus": {
272
+ "not-reached": 40
273
+ },
274
+ "seedLocations": 0,
275
+ "positiveSeedBoxIntersections": 0,
276
+ "positiveExactMaskForegroundHits": 0,
277
+ "wholeObjectBoxesMatched": 0,
278
+ "falseSeedLocations": 0,
279
+ "falseExtractions": 0,
280
+ "exactCanvasMaskReferenceInstances": 30
281
+ },
282
+ "ui": {
283
+ "cases": 20,
284
+ "positives": 15,
285
+ "negatives": 5,
286
+ "classificationCorrect": 5,
287
+ "classificationStatus": {
288
+ "ok": 20
289
+ },
290
+ "extractionStatus": {
291
+ "not-found": 20
292
+ },
293
+ "seedStatus": {
294
+ "not-reached": 20
295
+ },
296
+ "seedLocations": 0,
297
+ "positiveSeedBoxIntersections": 0,
298
+ "positiveExactMaskForegroundHits": null,
299
+ "wholeObjectBoxesMatched": 0,
300
+ "falseSeedLocations": 0,
301
+ "falseExtractions": 0,
302
+ "exactCanvasMaskReferenceInstances": 0
303
+ },
304
+ "map": {
305
+ "cases": 20,
306
+ "positives": 15,
307
+ "negatives": 5,
308
+ "classificationCorrect": 5,
309
+ "classificationStatus": {
310
+ "ok": 20
311
+ },
312
+ "extractionStatus": {
313
+ "not-found": 20
314
+ },
315
+ "seedStatus": {
316
+ "not-reached": 20
317
+ },
318
+ "seedLocations": 0,
319
+ "positiveSeedBoxIntersections": 0,
320
+ "positiveExactMaskForegroundHits": null,
321
+ "wholeObjectBoxesMatched": 0,
322
+ "falseSeedLocations": 0,
323
+ "falseExtractions": 0,
324
+ "exactCanvasMaskReferenceInstances": 0
325
+ }
326
+ },
327
+ "extractionStatuses": {
328
+ "not-found": 80
329
+ },
330
+ "seedRegion": {
331
+ "located": 0,
332
+ "locatedOnPresent": 0,
333
+ "locatedOnAbsent": 0,
334
+ "positiveReferenceBoxIntersections": 0,
335
+ "falseSeedLocations": 0,
336
+ "falseExtractions": 0,
337
+ "metric": "any positive-area intersection of seed cell and independent target box; coarse proxy only"
338
+ },
339
+ "wholeObject": null,
340
+ "boxVerification": {
341
+ "casesWithAttempt": 0,
342
+ "casesWithoutAttempt": 80,
343
+ "successfulAttempts": 0,
344
+ "failedAttempts": 0,
345
+ "verdicts": {
346
+ "complete": 0,
347
+ "needs-expansion": 0,
348
+ "unknown": 0
349
+ },
350
+ "expansionOutcomes": {
351
+ "not-needed": 0,
352
+ "unsupported": 0,
353
+ "no-enclosing-mask": 0,
354
+ "rejected-mask": 0,
355
+ "expanded": 0
356
+ },
357
+ "extractionStatuses": {
358
+ "extracted": 0,
359
+ "region-only": 0,
360
+ "unknown": 0,
361
+ "not-found": 80,
362
+ "failed": 0
363
+ }
364
+ },
365
+ "mask": {
366
+ "referenceInstances": 30,
367
+ "scored": 0,
368
+ "passedAtIoU08": 0,
369
+ "scoredBelowThreshold": 0,
370
+ "unavailable": 30,
371
+ "unannotatedCases": 50,
372
+ "unavailableReasons": {
373
+ "unavailable-no-predicted-mask": 30
374
+ },
375
+ "referenceInstancesByStratum": {
376
+ "photo": 30,
377
+ "ui": 0,
378
+ "map": 0
379
+ }
380
+ },
381
+ "physical": {
382
+ "count": 80,
383
+ "knownCostUsd": 0.001616999999999999,
384
+ "unknownCostCalls": 0,
385
+ "accountedExposureUsd": 0.001616999999999999,
386
+ "receiptCount": 80,
387
+ "httpStatusCounts": {
388
+ "200": 80
389
+ },
390
+ "receiptErrorCodes": {},
391
+ "imageFetchAudit": {
392
+ "checkedFetches": 80,
393
+ "imagePartFetches": 0,
394
+ "allRequestsVerifiedImageFree": true
395
+ }
396
+ }
397
+ },
398
+ "pairedPhotoPositiveSeeds": {
399
+ "photoPositivePairs": 30,
400
+ "coarseBoxIntersectionSeedProxy": {
401
+ "pairs": 30,
402
+ "iterations": 10000,
403
+ "seed": "0x5a4f5259",
404
+ "method": "paired-percentile-nearest-rank",
405
+ "difference": 0.6666666666666666,
406
+ "confidence": 0.95,
407
+ "lower": 0.5,
408
+ "upper": 0.8333333333333334,
409
+ "passes": true
410
+ },
411
+ "exactReferenceMaskForegroundSeedHit": {
412
+ "pairs": 30,
413
+ "iterations": 10000,
414
+ "seed": "0x5a4f5259",
415
+ "method": "paired-percentile-nearest-rank",
416
+ "difference": 0.6666666666666666,
417
+ "confidence": 0.95,
418
+ "lower": 0.5,
419
+ "upper": 0.8333333333333334,
420
+ "passes": true
421
+ },
422
+ "interpretation": "Paired seed-search proxy only. Region-cell intersection is not whole-object localization; no candidate mask box is paired against a control seed cell."
423
+ },
424
+ "frozenAdmissionCriteria": {
425
+ "completeCasesPerProfile": 80,
426
+ "maxFalseSeedLocationsOn20Negatives": 1,
427
+ "maxFalseExtractionsOn20Negatives": 1,
428
+ "minimumCorrectMaskDerivedBox": 1,
429
+ "minimumExactCanvasMaskAtIoU08": 1,
430
+ "photoExactMaskSeedPairedBootstrapLowerMustBePositive": true,
431
+ "photoCoarseBoxSeedPairedBootstrapLowerMustBePositive": true,
432
+ "allSourceSecurityArchivePlatformResourceGatesBeforePublication": true
433
+ },
434
+ "gateResults": {
435
+ "complete80PerProfile": true,
436
+ "falseSeedLocationsOn20Negatives": true,
437
+ "falseExtractionsOn20Negatives": true,
438
+ "maskDerivedBoxesAtLeastOne": true,
439
+ "exactCanvasMasksIoU08AtLeastOne": true,
440
+ "pairedExactForegroundLowerPositive": true,
441
+ "pairedCoarseProxyLowerPositive": true,
442
+ "overall": true
443
+ },
444
+ "interpretation": "Frozen blind admission criteria pass for this candidate. This is a corpus-gate result, not a general accuracy guarantee. The task is any visible target instance; seed cell intersection is a coarse proposal metric, not whole-object localization. The controlled UI and map strata represent one application family and one game family respectively."
445
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "schema": "region-seeded-development-method-selection-v2",
3
+ "createdAt": "2026-10-20T22:28:00.045Z",
4
+ "developmentEvidence": {
5
+ "file": "region-seeded-dev-v2/evaluation.json",
6
+ "sha256": "fff5845b630698bda8897c24456567863855815021f6278f809fa0b6e1e2a82b"
7
+ },
8
+ "selectedCandidate": "native-luna-presence-first-region-seeded-sam-dev-v2",
9
+ "pairedControl": "native-luna-presence-first-region-no-image-control-dev-v2",
10
+ "producerWorktreeCommit": "3f241154cc09380c46516535006f6cf9582415c9",
11
+ "integrationSourceCommit": "185bde8432b61cd0184ab4b1c8a4c6c187680515",
12
+ "producerSourceSha256": "99beadec729003691c6861166b4738db2cc1ee92699040c98254468b24c998e9",
13
+ "recipe": {
14
+ "model": "openai/gpt-6-luna-decisions",
15
+ "provider": "openai",
16
+ "providerName": "OpenAI",
17
+ "apiEndpoint": "/api/alpha/decisions",
18
+ "allowFallbacks": false,
19
+ "native": "MobileSAM CPU segmentation, seed-region prompt on full oriented source image",
20
+ "timeoutMs": 120000,
21
+ "maxInFlightCases": 2,
22
+ "nativeMaxActive": 1,
23
+ "nativeMaxWaiting": 2,
24
+ "nativeThreads": 2,
25
+ "regionSearchPasses": 3,
26
+ "extentCalls": 0,
27
+ "sameInstanceCalls": 0,
28
+ "maxLogicalCallsPerCase": 4,
29
+ "maxPhysicalCallsPerCase": 4,
30
+ "maxPhysicalCalls": 250,
31
+ "maxCostUsd": 5,
32
+ "unknownCostReserveUsd": 0.05,
33
+ "retries": 0,
34
+ "fallback": false,
35
+ "latencyRankingEligible": false,
36
+ "requireClassifiedPresence": true
37
+ },
38
+ "selectionBasis": "The complete predeclared DEV gate passed. The original region locator is unchanged. The caller reuses the existing classification and segments only after present, using full-source MobileSAM. The same-seed v1 component comparison favored MobileSAM over GrabCut; it is component evidence, not an end-to-end v2 backend comparison.",
39
+ "eligibility": {
40
+ "developmentAdmission": "passed",
41
+ "nativeWindows": "passed on identical108runtimefiles",
42
+ "installedConsumer": "passed on identical108runtimefiles",
43
+ "finalHostedCi": "pending Windows path-assertion repair rerun",
44
+ "flowSpecificTwoHourResources": "active; not yet passed"
45
+ },
46
+ "metrics": {
47
+ "positiveCases": 30,
48
+ "verifiedNegatives": 10,
49
+ "coarsePositiveSeedBoxIntersections": 18,
50
+ "falseSeedLocations": 0,
51
+ "maskDerivedBoxMatches": 5,
52
+ "falseExtractions": 0,
53
+ "exactCanvasMaskReferences": 7,
54
+ "exactCanvasMasksAtIoU08": 1,
55
+ "photoSeedProxyPairedInterval": [0.375, 0.875]
56
+ },
57
+ "frozenBeforeHeldout": {
58
+ "newPixelsOpenedByProducer": false,
59
+ "newPerCaseTruthOpenedByProducer": false,
60
+ "newHeldoutDispatched": false,
61
+ "selectRunnerUpFromRevealedHeldout": false
62
+ },
63
+ "libraryConnectsModels": false,
64
+ "latencyRankingEligible": false,
65
+ "releaseQualified": false
66
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "schema": "region-seeded-development-method-selection-v3",
3
+ "createdAt": "2026-10-21T00:07:27.254Z",
4
+ "developmentEvidence": {
5
+ "file": "region-seeded-dev-v3-control-r2/evaluation.json",
6
+ "sha256": "500411d3cb436d7c4bcbe8b59e4e6ae844df023c5290b64f5341e6f2ffd8f39f"
7
+ },
8
+ "selectedCandidate": "native-luna-presence-first-checked-region-sam-dev-v3",
9
+ "pairedControl": "native-luna-presence-first-region-no-image-control-dev-v3",
10
+ "producerWorktreeCommit": "d4b84b9fa025e5a5238968f99fb685633c837c7d",
11
+ "integrationSourceCommit": "a50fcd7632b4d3d041983f9ae1cbc1bceb79f0dc",
12
+ "producerSourceSha256": "be43090b13951e9a6ffa65daffb9413a6a539d8dae335925dc885733a467fb20",
13
+ "variantSha256": {
14
+ "candidate": "f4ed437c17160ab1a694961e9b38b63ad76a290a21dbe82aa79d51e169c19697",
15
+ "control": "b2d85c509ff454ee62299d46a9f7dc7cb3009ca0aaf0ef015344c8a6dc45ed35"
16
+ },
17
+ "candidateRecipe": {
18
+ "model": "openai/gpt-6-luna-decisions",
19
+ "provider": "openai",
20
+ "providerName": "OpenAI",
21
+ "apiEndpoint": "/api/alpha/decisions",
22
+ "allowFallbacks": false,
23
+ "native": "MobileSAM CPU segmentation, seed-region prompt on full oriented source image",
24
+ "timeoutMs": 120000,
25
+ "maxInFlightCases": 2,
26
+ "nativeMaxActive": 1,
27
+ "nativeMaxWaiting": 2,
28
+ "nativeThreads": 2,
29
+ "regionSearchPasses": 3,
30
+ "extentCalls": 0,
31
+ "sameInstanceCalls": 0,
32
+ "maxLogicalCallsPerCase": 6,
33
+ "maxPhysicalCallsPerCase": 6,
34
+ "maxPhysicalCalls": 250,
35
+ "maxCostUsd": 5,
36
+ "unknownCostReserveUsd": 0.05,
37
+ "retries": 0,
38
+ "fallback": false,
39
+ "latencyRankingEligible": false,
40
+ "boxCheckPolicy": "up-to-two-closed-visible-box-containment-checks-v1",
41
+ "maxBoxCheckCalls": 2,
42
+ "requireClassifiedPresence": true
43
+ },
44
+ "controlRecipe": {
45
+ "model": "openai/gpt-6-luna-decisions",
46
+ "provider": "openai",
47
+ "providerName": "OpenAI",
48
+ "apiEndpoint": "/api/alpha/decisions",
49
+ "allowFallbacks": false,
50
+ "native": "none; no-image control does not configure a segmenter",
51
+ "timeoutMs": 120000,
52
+ "maxInFlightCases": 2,
53
+ "nativeMaxActive": 1,
54
+ "nativeMaxWaiting": 2,
55
+ "nativeThreads": 2,
56
+ "regionSearchPasses": 3,
57
+ "extentCalls": 0,
58
+ "sameInstanceCalls": 0,
59
+ "maxLogicalCallsPerCase": 4,
60
+ "maxPhysicalCallsPerCase": 4,
61
+ "maxPhysicalCalls": 250,
62
+ "maxCostUsd": 5,
63
+ "unknownCostReserveUsd": 0.05,
64
+ "retries": 0,
65
+ "fallback": false,
66
+ "latencyRankingEligible": false,
67
+ "boxCheckPolicy": "none-no-segmenter-configured",
68
+ "maxBoxCheckCalls": 0,
69
+ "requireClassifiedPresence": true
70
+ },
71
+ "nativeAssets": {
72
+ "method": "mobile-sam-seed-region-v1",
73
+ "executionProvider": "cpu",
74
+ "encoder": {
75
+ "bytes": 28157093,
76
+ "sha256": "580f5fb648ea1062c0aabc26217aed56921985f03f0cbbd852bba81d760cc749"
77
+ },
78
+ "decoder": {
79
+ "bytes": 16496559,
80
+ "sha256": "8976b90a87ba50a6a72217a5ff994f7d25ce16f2229fcc1ed259e1294c622ffe"
81
+ }
82
+ },
83
+ "selectionBasis": "The single predeclared checked-region candidate passes the DEV negative-case and paired seed-search admission gates. Preserve the original region search, full-source caller-owned segmentation, at most one enclosing-mask correction and one final check. Select this exact composition for fresh blind evaluation; it is not a universal best-model or precise-mask claim.",
84
+ "eligibility": {
85
+ "developmentAdmission": "passed",
86
+ "source": "563 offline tests and strict source/build/format gates at 29357d7",
87
+ "runtimeCi": "all four jobs passed at 987ac32; later 563-test source CI running",
88
+ "installedConsumer": "passed on identical 114 compiled runtime files",
89
+ "nativeWindows": "passed on identical 114 compiled runtime files",
90
+ "checkedFlowTwoHourResources": "active; no terminal acceptance yet"
91
+ },
92
+ "metrics": {
93
+ "positiveCases": 30,
94
+ "verifiedNegatives": 10,
95
+ "coarsePositiveSeedBoxIntersections": 18,
96
+ "falseSeedLocations": 0,
97
+ "falseExtractions": 0,
98
+ "maskDerivedBoxMatches": 6,
99
+ "exactCanvasMaskReferences": 7,
100
+ "exactCanvasMasksAtIoU08": 1,
101
+ "photoCoarseSeedPairedInterval": [0.375, 0.875],
102
+ "photoExactForegroundSeedPairedInterval": [0.4, 1],
103
+ "exactForegroundSeedPairs": 5
104
+ },
105
+ "preservedControlFailure": {
106
+ "file": "region-seeded-dev-v3-candidate-only/control-identity-failure.json",
107
+ "originalRunUsedForSelection": false,
108
+ "prospectiveControlR2": true,
109
+ "candidateRerun": false
110
+ },
111
+ "frozenBeforeHeldout": {
112
+ "newPixelsOpenedByProducer": false,
113
+ "newPerCaseTruthOpenedByProducer": false,
114
+ "newHeldoutDispatched": false,
115
+ "selectRunnerUpFromRevealedHeldout": false
116
+ },
117
+ "libraryConnectsModels": false,
118
+ "latencyRankingEligible": false,
119
+ "releaseQualified": false
120
+ }