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,132 @@
1
+ {
2
+ "schema": "region-seeded-development-control-r2-freeze-v1",
3
+ "createdAt": "2026-10-21T00:04:01.979Z",
4
+ "phase": "dev",
5
+ "producerSourceSha256": "be43090b13951e9a6ffa65daffb9413a6a539d8dae335925dc885733a467fb20",
6
+ "route": {
7
+ "model": "openai/gpt-6-luna-decisions",
8
+ "provider": "openai",
9
+ "providerName": "OpenAI",
10
+ "apiEndpoint": "/api/alpha/decisions",
11
+ "allowFallbacks": false
12
+ },
13
+ "inputs": [
14
+ {
15
+ "sha256": "6c9ed29d8586c7887ae0861fc853baf203cb43790df4959390da4b5cc9ac679a",
16
+ "cases": 20
17
+ },
18
+ {
19
+ "sha256": "6013a54bebba277f6457765cd8ef78e12e2dd5bab4453a752967233ebb429bfc",
20
+ "cases": 10
21
+ },
22
+ {
23
+ "sha256": "b04ba6cac5b39c927281f61e4af7dcc7a5c5c2272a637aa9676ab3009fbd5d15",
24
+ "cases": 10
25
+ }
26
+ ],
27
+ "profileIds": {
28
+ "candidate": "native-luna-presence-first-checked-region-sam-dev-v3",
29
+ "control": "native-luna-presence-first-region-no-image-control-dev-v3"
30
+ },
31
+ "variantSha256": {
32
+ "candidate": "f4ed437c17160ab1a694961e9b38b63ad76a290a21dbe82aa79d51e169c19697",
33
+ "control": "b2d85c509ff454ee62299d46a9f7dc7cb3009ca0aaf0ef015344c8a6dc45ed35"
34
+ },
35
+ "promptPolicies": {
36
+ "candidate": {
37
+ "targetPolicy": "target-plus-neutral-instruction-v1",
38
+ "classificationClasses": [
39
+ {
40
+ "id": "present",
41
+ "description": "The target in the question is visible in this image."
42
+ },
43
+ {
44
+ "id": "absent",
45
+ "description": "The target in the question is not visible in this image."
46
+ }
47
+ ],
48
+ "classificationInstruction": "Use only the supplied image. Choose exactly one closed label.",
49
+ "extraction": "Original three-choice region search once; full-source MobileSAM seed-region extraction; up to two closed visible-box containment checks, with at most one native enclosing-mask expansion and one recheck; no separate extent search.",
50
+ "noImageControl": "Remove all image parts at DecisionPort boundary; assert no image part at actual fetch; no segmentation, OCR, or hidden CV.",
51
+ "presenceFirstGate": "Reuse the existing closed classification result. Run no region search or segmentation unless classification succeeded with value present; absent and failed classifications are retained with extraction skipped."
52
+ },
53
+ "control": {
54
+ "targetPolicy": "target-plus-neutral-instruction-v1",
55
+ "classificationClasses": [
56
+ {
57
+ "id": "present",
58
+ "description": "The target in the question is visible in this image."
59
+ },
60
+ {
61
+ "id": "absent",
62
+ "description": "The target in the question is not visible in this image."
63
+ }
64
+ ],
65
+ "classificationInstruction": "Use only the supplied image. Choose exactly one closed label.",
66
+ "extraction": "Paired no-image control runs only the original three-choice region search; no segmentation or visible-box checks.",
67
+ "noImageControl": "Remove all image parts at DecisionPort boundary; assert no image part at actual fetch; no segmentation, OCR, or hidden CV.",
68
+ "presenceFirstGate": "Reuse the existing closed classification result. Run no region search or segmentation unless classification succeeded with value present; absent and failed classifications are retained with extraction skipped."
69
+ }
70
+ },
71
+ "originalFreeze": {
72
+ "file": "region-seeded-development-freeze-20261021-v3.json",
73
+ "sha256": "d980af0ee5c3ae38f2e397db8e195686663d2b2862afad53c9e6f62b68b113a2",
74
+ "modified": false
75
+ },
76
+ "retainedCandidate": {
77
+ "runId": "v02-region-seeded-dev-2026-10-20T235301825Z-10b11642",
78
+ "manifestSha256": "e18ca240cb35d7f3081d5ab8bf19f93b451e638e5e7887975cce4715c243a819",
79
+ "summarySha256": "fea18ed9b5dce920495bce1d9cb9e190675ec5630c07b0ae07f73623d731be39",
80
+ "completionSealSha256": "c65fc9001acdbdedd2e823764012b0ad6b6dbfc9ef820f6aceb073f95fa0f25b",
81
+ "cases": 40,
82
+ "rerun": false
83
+ },
84
+ "originalControl": {
85
+ "manifestSha256": "a0e756cf750ec9d8b8d46aa42d64d7346492f28723d6c729a30077fac58010d9",
86
+ "status": "Preserved unscored; does not satisfy original pre-dispatch variant pin.",
87
+ "useInPairedSelection": false
88
+ },
89
+ "controlR2": {
90
+ "plannedCases": 40,
91
+ "policy": {
92
+ "model": "openai/gpt-6-luna-decisions",
93
+ "provider": "openai",
94
+ "providerName": "OpenAI",
95
+ "apiEndpoint": "/api/alpha/decisions",
96
+ "allowFallbacks": false,
97
+ "native": "none; no-image control does not configure a segmenter",
98
+ "timeoutMs": 120000,
99
+ "maxInFlightCases": 2,
100
+ "nativeMaxActive": 1,
101
+ "nativeMaxWaiting": 2,
102
+ "nativeThreads": 2,
103
+ "regionSearchPasses": 3,
104
+ "extentCalls": 0,
105
+ "sameInstanceCalls": 0,
106
+ "maxLogicalCallsPerCase": 4,
107
+ "maxPhysicalCallsPerCase": 4,
108
+ "maxPhysicalCalls": 250,
109
+ "maxCostUsd": 5,
110
+ "unknownCostReserveUsd": 0.05,
111
+ "retries": 0,
112
+ "fallback": false,
113
+ "latencyRankingEligible": false,
114
+ "boxCheckPolicy": "none-no-segmenter-configured",
115
+ "maxBoxCheckCalls": 0,
116
+ "requireClassifiedPresence": true
117
+ },
118
+ "runSerially": true,
119
+ "retries": 0,
120
+ "fallback": false,
121
+ "physicalCallsBeforeThisFreeze": 0
122
+ },
123
+ "verification": {
124
+ "toolFile": "benchmarks/v02/region-seeded-freeze-audit.ts",
125
+ "toolSha256": "127913b46c1b484a656f52123a26b2248f48e21d331dbd90b968166f15e738ec",
126
+ "guard": "Explicit per-variant prompt policies; reproduce the immutable candidate identity and prospective control identity independently; never copy candidate extraction policy to control.",
127
+ "sourceFiles": 68
128
+ },
129
+ "diagnosis": "The original readiness copied candidate promptPolicy into the control identity calculation. Producer behavior was correct. Repeat only the complete control prospectively; reuse the original immutable candidate, without rerunning or selecting a better outcome.",
130
+ "freshHeldoutDispatched": false,
131
+ "releaseQualified": false
132
+ }
@@ -0,0 +1,167 @@
1
+ {
2
+ "schema": "region-seeded-development-freeze-v1",
3
+ "createdAt": "2026-10-20T21:52:46.147Z",
4
+ "sourceCommit": "025aef29eff024d283640397df30bdd98ac8f16b",
5
+ "producerSourceSha256": "0d04e8bf03ce0d3f7def1cccee666eaf5f52ad31e0c148611d68f7a5ee744446",
6
+ "sourceFiles": {
7
+ "./region-seeded-runner.ts": "2a36e48e2b5dec23cff0af756f6c970cc33b8d5855671130bb5b809c1da50cb2",
8
+ "./run-region-seeded-dev.ts": "51558eebc3756d6a646095d34d7a8afe50cc70cf84fad66d4f6cd031a766fdb4",
9
+ "./fresh-corpus.ts": "7f1bcb21a2d933f1ad01d77b2188c9531987c557b3c0d474428ce512b9127779",
10
+ "./recording.ts": "3543f1e05cdaa1860f754fcd64362cd75a0cd18f4293fa8e9a7269bc43db3496",
11
+ "./budget.ts": "c1b1b84125bc8dc7890b353cb71ad2cc5332715766a76f0e6131208bd1826218",
12
+ "./protocol.ts": "2cd0a66e3f27b60484924bc97d7d9a5ade012f7df3d6e8436bf3739b347bd957",
13
+ "./native-categorical-presence-port.ts": "0bf4fa6a16c52083f1a97a696eeead26a6710d82bbacb27af4380ae01143eb3a",
14
+ "./categorical-presence-port.ts": "0d85dcb5acb12d10c4fab888f7a0b81e16c594c940886794fecc2b9367c26512",
15
+ "./region-seeded-runner.md": "6c8c110c6cd283aa6837be2c2b35c466c214f683665bb492bbce5127d4be29c0",
16
+ "../../package.json": "11d19ae22e106be1ae2cb2c5e1c08a7359d9f89c2ca943846b29d415c45a69bd",
17
+ "../../package-lock.json": "61543b204b5fe38a94b32f4528e4d1e32b0061a304beab6e5ee5f19887868baf",
18
+ "src/app/cli-arguments.ts": "cc072ada300d459ca070dce6312e0205afb1125888a4be7373c9c6a50a5498a4",
19
+ "src/app/cli-route.ts": "769b0f2e8fa6d1fabbf2e7bd000fec724c1b94a3c6233eea7b93d55503052aad",
20
+ "src/app/create-classifier.ts": "34cfc29e3fab4cca66b5fc446daae978612900a97248e04edf0506f40aabe1c9",
21
+ "src/app/extraction-files.ts": "e86d9ef07eda5537572398a2d4d0a9fb41a8f3dff447279f6a55b6b1f9136c69",
22
+ "src/cli.ts": "887dbf2a987f1241e2f1e1a659321ea87a5148a03956438678969923579206eb",
23
+ "src/entities/boundary-view.ts": "187ae80d2952cc2452752f06bbb1eeba200c715c12f8dd9ada4fd29156141655",
24
+ "src/entities/contracts.ts": "7710dad19cd6caa1d10516babb2f9d9f108af1c7040302f09bf53b9b478187cd",
25
+ "src/entities/cutout-raster.ts": "51fc476ced53f451f82eb9a2881c124d751b9d1b071c32d4b82cbd2d0edfbe45",
26
+ "src/entities/errors.ts": "1c92c94c9ed6917953ac5192bfd2d8896cdb6fe13b7d05593573b7f2103330b0",
27
+ "src/entities/object-proposals.ts": "112e182eedc46a402f9f94b776494c2afad8194dc692ed045a2d286d15775434",
28
+ "src/entities/representation.ts": "67cfafea702e28b25bc472b4d961914102628db24679b6099d31c4d32ebf5088",
29
+ "src/entities/segmentation-metadata.ts": "b8cc02740523e90d1b9493c6d9d8c6a33f963e6b08b5b1c8636e3fed3aa8b270",
30
+ "src/entities/segmentation.ts": "007e4cb5edfb745492b692e18853a451de8815521fbf09a51cb5b458fbd857e3",
31
+ "src/entities/whole-object.ts": "a7e12ab3303801257f914dab7c22137bc858ac21b778caf029c8aebb98756e2d",
32
+ "src/features/choice-beam-layout.ts": "8f61d6f784e0e6273467cea01315f17bbfa4fffa695dd7a7bb9cd5cac5354e1a",
33
+ "src/features/choice.ts": "ff972121520a339b82895914242bf40f7b8dcd198b4305fd57e51b204b13952d",
34
+ "src/features/prompts.ts": "b808ed8f42e8c92daf08060d2805da618f2b140f99b6a9b07df49622d57b62aa",
35
+ "src/features/segmentation/mask.ts": "5d13115284bb6474e2312409d4464891eb4cf55174a9da6a92fe89d62aececc9",
36
+ "src/features/segmentation/packed-mask.ts": "38dc9a7d15f07e9e11c31598df3e1c8369330f6e46722f04fe3e35fc216ef523",
37
+ "src/features/uniform-grid.ts": "8cee38aee52ba2c4ac2eaed909d5f53cc0e5aa2c04fe87585c66b29573e21c4d",
38
+ "src/index.ts": "77e5a8b85bf6aa549b700e113c77ab6032f52a8611161b2c1ee62f35644aabb1",
39
+ "src/infrastructure/boundary-view.ts": "2fb5546ae4a47a2a08f13ccad74c5a9cc7b9736ff052738637bfd65f1acd7775",
40
+ "src/infrastructure/openrouter-common.ts": "415462c42da7a3748c6bfe942ee99085fba71bc1f4158d369edda8269efeb124",
41
+ "src/infrastructure/openrouter-vision.ts": "b72e4699e132c1ac598772c49287edb0b5ca355ad2af33481f9c741ddcb13eaa",
42
+ "src/infrastructure/openrouter.ts": "486a919853949e6789dd4035b7699fd89b9682cb3e928632c77b216656f44c55",
43
+ "src/infrastructure/raster.ts": "615626e6fe04e377712ec7a3e3d8f2ea5e35ec17c2fd3982ea9df940ce5303dd",
44
+ "src/infrastructure/segmentation/cutout-raster.ts": "f0ff7e1dd8b6670bb6320813ed4a0bb17d8054b766fc016bcedb17d097eafbfe",
45
+ "src/infrastructure/segmentation/grabcut/index.ts": "87e6ce49bc9dcfb085fc3e4ba9abc7d13effd3e45976a307a1de0b950766482a",
46
+ "src/infrastructure/segmentation/grabcut/worker-inference.ts": "b34d9ec1c23145f7c380a71634ea2d53c191e13a35c6765dbf8d2e381a31db29",
47
+ "src/infrastructure/segmentation/index.ts": "91f683e7b4cd73c79534c141858a50d376c606f15845dc48340a4462f83deed4",
48
+ "src/infrastructure/segmentation/mobile-sam/index.ts": "6bb3fe761e002f01949af84c5d64f099be541814e66993fad11d118b451afa6e",
49
+ "src/infrastructure/segmentation/mobile-sam/worker-inference.ts": "03be2fd4f4885dd783297e9b45f0a3e2e42aa7b7f90b77c9116c2fe1fb5770ea",
50
+ "src/infrastructure/segmentation/native-child.ts": "94f0ccea6aec1d93a93256553cae92c3f19220f1ffbd3ac14060c2daa8ee2f83",
51
+ "src/infrastructure/segmentation/native-protocol.ts": "182137db8c47dbd56d1484d438f7bba7fe6328551426f4c02b3986383a566ac8",
52
+ "src/infrastructure/segmentation/native-worker.ts": "aad23684157420f81a863b4b1484b86cec72c83c802cab01f2732c59a9912bb7",
53
+ "src/infrastructure/segmentation/probe-backend.ts": "32cfee334bd014b16134f7efae5cbb9ca1953e5b578fd466105e869ce73a66ff",
54
+ "src/infrastructure/segmentation/proposal-presentation.ts": "7bc50776ff1ae52496923014ae621e030dcde45c47e9216277f6617faa8de707",
55
+ "src/infrastructure/segmentation/verify-asset.ts": "2a8479dabf84622003a5eb01f3c1a116347e808108e8a0c8971129b18e1c5ef1",
56
+ "src/infrastructure/text-representation.ts": "7f392f1bcdb77969eaccf40be4b6d5c8a4a11a8b3708dda9b91ff1d8584c2061",
57
+ "src/infrastructure/vision-chat.ts": "314e2c236a75ad43023c6ae34544a849df027f025eda32abdc2a7e1d49c742f3",
58
+ "src/openai-compatible.ts": "5461c54dbf3a691b3391834511d06baaf511b07487849f3d823b357fed9d8513",
59
+ "src/openrouter.ts": "8b28a235bacec5ad7c00ab0ac72fcabdc58658dd72971a5935f2a1572f572bf9",
60
+ "src/processes/boundary-state.ts": "77c636e2a2311ed989e514ee78adef66f80230d5eee394549917c9ff13fc99d7",
61
+ "src/processes/classify.ts": "0edf3e8a05333c2325f53ddd06c1c903d3daca80ca082ba2e3609ff9de6ffb9d",
62
+ "src/processes/extract-from-region.ts": "cef5f70e2e30e8e679d7baecfeca7fa6371a414bfdb03ea62ddb122d2df0d404",
63
+ "src/processes/extract.ts": "9e1b2b3a4b36cc938d081f2a2e1deadd26576fcacccf17218c9364adbd749d8b",
64
+ "src/processes/locate.ts": "a5a1320c2dff4060a3c5ab5e32cb5f0af2d94fcad458caba3818b6a0a28dab3d",
65
+ "src/processes/proposal-location.ts": "a037c63a92db2df54ccd573af6cfa7926dcda869398ce7be9770219aa33f849e",
66
+ "src/processes/whole-object.ts": "548a0de8ee72956da3162023f43983d7596a2df9ec2756e33c952ca27b3fc320",
67
+ "src/segmentation.ts": "5ca90e5f6cc1a688667d1ee3bf041654404a80129fab93677106fa55dea2b253",
68
+ "src/shared/choice-mass.ts": "7f645998d9cd2688ca425b4765ec0bf7d125e932f085f9e84599b4c3b97743a3",
69
+ "src/shared/gate.ts": "97e4e32749dc9d3a9def6faaea2566b5d0ed831ba4451999740c719fafa8e576",
70
+ "src/shared/input-budget.ts": "f47f084681d0a559b2154ce731d1897d9dde0c293a5d52c885236b9eb459e050",
71
+ "src/shared/scope.ts": "cc557e9fd83a838f5366c64d026859db119491d927dfb3a84ef4320b2f0b0beb"
72
+ },
73
+ "profiles": [
74
+ {
75
+ "id": "native-luna-region-seeded-sam-dev-v1",
76
+ "phase": "dev",
77
+ "targetPolicy": "target-plus-neutral-instruction-v1",
78
+ "purpose": "full original exposed DEV photo, independent UI and independent map pass"
79
+ },
80
+ {
81
+ "id": "native-luna-region-no-image-control-dev-v1",
82
+ "phase": "dev",
83
+ "purpose": "paired original exposed DEV region-search and classification control without image parts"
84
+ }
85
+ ],
86
+ "recipe": {
87
+ "model": "openai/gpt-6-luna-decisions",
88
+ "provider": "openai",
89
+ "providerName": "OpenAI",
90
+ "apiEndpoint": "/api/alpha/decisions",
91
+ "allowFallbacks": false,
92
+ "native": "MobileSAM CPU segmentation, seed-region prompt on full oriented source image",
93
+ "timeoutMs": 120000,
94
+ "maxInFlightCases": 2,
95
+ "nativeMaxActive": 1,
96
+ "nativeMaxWaiting": 2,
97
+ "nativeThreads": 2,
98
+ "regionSearchPasses": 3,
99
+ "extentCalls": 0,
100
+ "sameInstanceCalls": 0,
101
+ "maxLogicalCallsPerCase": 4,
102
+ "maxPhysicalCallsPerCase": 4,
103
+ "maxPhysicalCalls": 250,
104
+ "maxCostUsd": 5,
105
+ "unknownCostReserveUsd": 0.05,
106
+ "retries": 0,
107
+ "fallback": false,
108
+ "latencyRankingEligible": false
109
+ },
110
+ "nativeAssets": {
111
+ "method": "mobile-sam-seed-region-v1",
112
+ "executionProvider": "cpu",
113
+ "encoder": {
114
+ "bytes": 28157093,
115
+ "sha256": "580f5fb648ea1062c0aabc26217aed56921985f03f0cbbd852bba81d760cc749"
116
+ },
117
+ "decoder": {
118
+ "bytes": 16496559,
119
+ "sha256": "8976b90a87ba50a6a72217a5ff994f7d25ce16f2229fcc1ed259e1294c622ffe"
120
+ }
121
+ },
122
+ "inputs": [
123
+ {
124
+ "path": "benchmarks/v02/corpus/dev/inputs.json",
125
+ "sha256": "6c9ed29d8586c7887ae0861fc853baf203cb43790df4959390da4b5cc9ac679a",
126
+ "cases": 20
127
+ },
128
+ {
129
+ "path": "benchmarks/v02/corpus/dev-independent-ui/inputs.json",
130
+ "sha256": "6013a54bebba277f6457765cd8ef78e12e2dd5bab4453a752967233ebb429bfc",
131
+ "cases": 10
132
+ },
133
+ {
134
+ "path": "benchmarks/v02/corpus/dev-independent-map/inputs.json",
135
+ "sha256": "b04ba6cac5b39c927281f61e4af7dcc7a5c5c2272a637aa9676ab3009fbd5d15",
136
+ "cases": 10
137
+ }
138
+ ],
139
+ "sourceState": "immutable recipe before first provider dispatch; exposed DEV only; no heldout pixels/truth opened",
140
+ "perProfileBudget": {
141
+ "maxPhysicalCalls": 250,
142
+ "maxCostUsd": 5,
143
+ "unknownCostReserveUsd": 0.05
144
+ },
145
+ "metrics": {
146
+ "region": "Any visible target fragment in the selected seed. Report source-box overlap as a coarse proxy, and actual foreground intersection where exact source-sized independent masks exist. Never require an object-center hit.",
147
+ "objectBox": "Only actual segmented-mask bounds: IoU >= 0.5 AND reference coverage >= 0.9 for the same independent instance.",
148
+ "mask": "Pixel IoU >= 0.8 per independent exact-canvas reference; no canvas fitting. Missing predictions, unsupported canvases and failures remain explicit.",
149
+ "control": "Same explicit Luna/OpenAI tasks and text/geometry, with all image parts removed and verified at actual fetch. No native segmentation/OCR/semantic image processing. Ordinary raster presentation may execute but its image parts are discarded. Emits seed regions only, never object boxes.",
150
+ "paired": "Paired candidate/control seed-region outcomes, never candidate cutout versus an invented control box. Frozen bootstrap on the photo stratum for blind qualification."
151
+ },
152
+ "developmentAdmission": {
153
+ "completeCases": 40,
154
+ "positives": 30,
155
+ "verifiedNegatives": 10,
156
+ "maxFalseSeedLocations": 0,
157
+ "maxFalseExtractions": 0,
158
+ "atLeastOnePositiveSeedHit": true,
159
+ "atLeastOneMaskDerivedBoxMatch": true,
160
+ "atLeastOneMaskReferenceAtIoU08": true
161
+ },
162
+ "latencyRankingEligible": false,
163
+ "providerRetries": 0,
164
+ "fallback": false,
165
+ "libraryConnectsModels": false,
166
+ "releaseQualified": false
167
+ }
@@ -0,0 +1,186 @@
1
+ {
2
+ "schema": "region-seeded-development-freeze-v2",
3
+ "createdAt": "2026-10-20T22:16:47.824Z",
4
+ "sourceCommit": "92ee707",
5
+ "producerSourceSha256": "99beadec729003691c6861166b4738db2cc1ee92699040c98254468b24c998e9",
6
+ "sourceFiles": {
7
+ "./region-seeded-runner.ts": "180f8393eb05fab6495582b3cbdf83dd9b5deabeb44161a0e72d920c5fecd2c5",
8
+ "./run-region-seeded-dev.ts": "985784c711d376a5a435b8fb715304321b601e46ef2fad78e65da2e8cd2b040a",
9
+ "./fresh-corpus.ts": "7f1bcb21a2d933f1ad01d77b2188c9531987c557b3c0d474428ce512b9127779",
10
+ "./recording.ts": "3543f1e05cdaa1860f754fcd64362cd75a0cd18f4293fa8e9a7269bc43db3496",
11
+ "./budget.ts": "c1b1b84125bc8dc7890b353cb71ad2cc5332715766a76f0e6131208bd1826218",
12
+ "./protocol.ts": "2cd0a66e3f27b60484924bc97d7d9a5ade012f7df3d6e8436bf3739b347bd957",
13
+ "./native-categorical-presence-port.ts": "0bf4fa6a16c52083f1a97a696eeead26a6710d82bbacb27af4380ae01143eb3a",
14
+ "./categorical-presence-port.ts": "0d85dcb5acb12d10c4fab888f7a0b81e16c594c940886794fecc2b9367c26512",
15
+ "./region-seeded-runner.md": "30dd118b6c2bb90c6d44e114e1f0eef8f69f1863bf1769547dce606142f5834a",
16
+ "../../package.json": "11d19ae22e106be1ae2cb2c5e1c08a7359d9f89c2ca943846b29d415c45a69bd",
17
+ "../../package-lock.json": "61543b204b5fe38a94b32f4528e4d1e32b0061a304beab6e5ee5f19887868baf",
18
+ "src/app/cli-arguments.ts": "cc072ada300d459ca070dce6312e0205afb1125888a4be7373c9c6a50a5498a4",
19
+ "src/app/cli-route.ts": "769b0f2e8fa6d1fabbf2e7bd000fec724c1b94a3c6233eea7b93d55503052aad",
20
+ "src/app/create-classifier.ts": "34cfc29e3fab4cca66b5fc446daae978612900a97248e04edf0506f40aabe1c9",
21
+ "src/app/extraction-files.ts": "e86d9ef07eda5537572398a2d4d0a9fb41a8f3dff447279f6a55b6b1f9136c69",
22
+ "src/cli.ts": "887dbf2a987f1241e2f1e1a659321ea87a5148a03956438678969923579206eb",
23
+ "src/entities/boundary-view.ts": "187ae80d2952cc2452752f06bbb1eeba200c715c12f8dd9ada4fd29156141655",
24
+ "src/entities/contracts.ts": "7710dad19cd6caa1d10516babb2f9d9f108af1c7040302f09bf53b9b478187cd",
25
+ "src/entities/cutout-raster.ts": "51fc476ced53f451f82eb9a2881c124d751b9d1b071c32d4b82cbd2d0edfbe45",
26
+ "src/entities/errors.ts": "1c92c94c9ed6917953ac5192bfd2d8896cdb6fe13b7d05593573b7f2103330b0",
27
+ "src/entities/object-proposals.ts": "112e182eedc46a402f9f94b776494c2afad8194dc692ed045a2d286d15775434",
28
+ "src/entities/representation.ts": "67cfafea702e28b25bc472b4d961914102628db24679b6099d31c4d32ebf5088",
29
+ "src/entities/segmentation-metadata.ts": "b8cc02740523e90d1b9493c6d9d8c6a33f963e6b08b5b1c8636e3fed3aa8b270",
30
+ "src/entities/segmentation.ts": "007e4cb5edfb745492b692e18853a451de8815521fbf09a51cb5b458fbd857e3",
31
+ "src/entities/whole-object.ts": "a7e12ab3303801257f914dab7c22137bc858ac21b778caf029c8aebb98756e2d",
32
+ "src/features/choice-beam-layout.ts": "8f61d6f784e0e6273467cea01315f17bbfa4fffa695dd7a7bb9cd5cac5354e1a",
33
+ "src/features/choice.ts": "ff972121520a339b82895914242bf40f7b8dcd198b4305fd57e51b204b13952d",
34
+ "src/features/prompts.ts": "b808ed8f42e8c92daf08060d2805da618f2b140f99b6a9b07df49622d57b62aa",
35
+ "src/features/segmentation/mask.ts": "5d13115284bb6474e2312409d4464891eb4cf55174a9da6a92fe89d62aececc9",
36
+ "src/features/segmentation/packed-mask.ts": "38dc9a7d15f07e9e11c31598df3e1c8369330f6e46722f04fe3e35fc216ef523",
37
+ "src/features/uniform-grid.ts": "8cee38aee52ba2c4ac2eaed909d5f53cc0e5aa2c04fe87585c66b29573e21c4d",
38
+ "src/index.ts": "77e5a8b85bf6aa549b700e113c77ab6032f52a8611161b2c1ee62f35644aabb1",
39
+ "src/infrastructure/boundary-view.ts": "2fb5546ae4a47a2a08f13ccad74c5a9cc7b9736ff052738637bfd65f1acd7775",
40
+ "src/infrastructure/openrouter-common.ts": "415462c42da7a3748c6bfe942ee99085fba71bc1f4158d369edda8269efeb124",
41
+ "src/infrastructure/openrouter-vision.ts": "b72e4699e132c1ac598772c49287edb0b5ca355ad2af33481f9c741ddcb13eaa",
42
+ "src/infrastructure/openrouter.ts": "486a919853949e6789dd4035b7699fd89b9682cb3e928632c77b216656f44c55",
43
+ "src/infrastructure/raster.ts": "615626e6fe04e377712ec7a3e3d8f2ea5e35ec17c2fd3982ea9df940ce5303dd",
44
+ "src/infrastructure/segmentation/cutout-raster.ts": "f0ff7e1dd8b6670bb6320813ed4a0bb17d8054b766fc016bcedb17d097eafbfe",
45
+ "src/infrastructure/segmentation/grabcut/index.ts": "87e6ce49bc9dcfb085fc3e4ba9abc7d13effd3e45976a307a1de0b950766482a",
46
+ "src/infrastructure/segmentation/grabcut/worker-inference.ts": "b34d9ec1c23145f7c380a71634ea2d53c191e13a35c6765dbf8d2e381a31db29",
47
+ "src/infrastructure/segmentation/index.ts": "91f683e7b4cd73c79534c141858a50d376c606f15845dc48340a4462f83deed4",
48
+ "src/infrastructure/segmentation/mobile-sam/index.ts": "6bb3fe761e002f01949af84c5d64f099be541814e66993fad11d118b451afa6e",
49
+ "src/infrastructure/segmentation/mobile-sam/worker-inference.ts": "03be2fd4f4885dd783297e9b45f0a3e2e42aa7b7f90b77c9116c2fe1fb5770ea",
50
+ "src/infrastructure/segmentation/native-child.ts": "94f0ccea6aec1d93a93256553cae92c3f19220f1ffbd3ac14060c2daa8ee2f83",
51
+ "src/infrastructure/segmentation/native-protocol.ts": "182137db8c47dbd56d1484d438f7bba7fe6328551426f4c02b3986383a566ac8",
52
+ "src/infrastructure/segmentation/native-worker.ts": "aad23684157420f81a863b4b1484b86cec72c83c802cab01f2732c59a9912bb7",
53
+ "src/infrastructure/segmentation/probe-backend.ts": "32cfee334bd014b16134f7efae5cbb9ca1953e5b578fd466105e869ce73a66ff",
54
+ "src/infrastructure/segmentation/proposal-presentation.ts": "7bc50776ff1ae52496923014ae621e030dcde45c47e9216277f6617faa8de707",
55
+ "src/infrastructure/segmentation/verify-asset.ts": "2a8479dabf84622003a5eb01f3c1a116347e808108e8a0c8971129b18e1c5ef1",
56
+ "src/infrastructure/text-representation.ts": "7f392f1bcdb77969eaccf40be4b6d5c8a4a11a8b3708dda9b91ff1d8584c2061",
57
+ "src/infrastructure/vision-chat.ts": "314e2c236a75ad43023c6ae34544a849df027f025eda32abdc2a7e1d49c742f3",
58
+ "src/openai-compatible.ts": "5461c54dbf3a691b3391834511d06baaf511b07487849f3d823b357fed9d8513",
59
+ "src/openrouter.ts": "8b28a235bacec5ad7c00ab0ac72fcabdc58658dd72971a5935f2a1572f572bf9",
60
+ "src/processes/boundary-state.ts": "77c636e2a2311ed989e514ee78adef66f80230d5eee394549917c9ff13fc99d7",
61
+ "src/processes/classify.ts": "0edf3e8a05333c2325f53ddd06c1c903d3daca80ca082ba2e3609ff9de6ffb9d",
62
+ "src/processes/extract-from-region.ts": "cef5f70e2e30e8e679d7baecfeca7fa6371a414bfdb03ea62ddb122d2df0d404",
63
+ "src/processes/extract.ts": "9e1b2b3a4b36cc938d081f2a2e1deadd26576fcacccf17218c9364adbd749d8b",
64
+ "src/processes/locate.ts": "a5a1320c2dff4060a3c5ab5e32cb5f0af2d94fcad458caba3818b6a0a28dab3d",
65
+ "src/processes/proposal-location.ts": "a037c63a92db2df54ccd573af6cfa7926dcda869398ce7be9770219aa33f849e",
66
+ "src/processes/whole-object.ts": "548a0de8ee72956da3162023f43983d7596a2df9ec2756e33c952ca27b3fc320",
67
+ "src/segmentation.ts": "5ca90e5f6cc1a688667d1ee3bf041654404a80129fab93677106fa55dea2b253",
68
+ "src/shared/choice-mass.ts": "7f645998d9cd2688ca425b4765ec0bf7d125e932f085f9e84599b4c3b97743a3",
69
+ "src/shared/gate.ts": "97e4e32749dc9d3a9def6faaea2566b5d0ed831ba4451999740c719fafa8e576",
70
+ "src/shared/input-budget.ts": "f47f084681d0a559b2154ce731d1897d9dde0c293a5d52c885236b9eb459e050",
71
+ "src/shared/scope.ts": "cc557e9fd83a838f5366c64d026859db119491d927dfb3a84ef4320b2f0b0beb"
72
+ },
73
+ "profiles": [
74
+ {
75
+ "id": "native-luna-presence-first-region-seeded-sam-dev-v2",
76
+ "phase": "dev",
77
+ "targetPolicy": "target-plus-neutral-instruction-v1",
78
+ "purpose": "full original exposed DEV pass with existing closed classification gating region search"
79
+ },
80
+ {
81
+ "id": "native-luna-presence-first-region-no-image-control-dev-v2",
82
+ "phase": "dev",
83
+ "purpose": "paired original exposed DEV no-image control with the same classification gate"
84
+ }
85
+ ],
86
+ "recipe": {
87
+ "model": "openai/gpt-6-luna-decisions",
88
+ "provider": "openai",
89
+ "providerName": "OpenAI",
90
+ "apiEndpoint": "/api/alpha/decisions",
91
+ "allowFallbacks": false,
92
+ "native": "MobileSAM CPU segmentation, seed-region prompt on full oriented source image",
93
+ "timeoutMs": 120000,
94
+ "maxInFlightCases": 2,
95
+ "nativeMaxActive": 1,
96
+ "nativeMaxWaiting": 2,
97
+ "nativeThreads": 2,
98
+ "regionSearchPasses": 3,
99
+ "extentCalls": 0,
100
+ "sameInstanceCalls": 0,
101
+ "maxLogicalCallsPerCase": 4,
102
+ "maxPhysicalCallsPerCase": 4,
103
+ "maxPhysicalCalls": 250,
104
+ "maxCostUsd": 5,
105
+ "unknownCostReserveUsd": 0.05,
106
+ "retries": 0,
107
+ "fallback": false,
108
+ "latencyRankingEligible": false,
109
+ "requireClassifiedPresence": true
110
+ },
111
+ "nativeAssets": {
112
+ "method": "mobile-sam-seed-point-v1",
113
+ "executionProvider": "cpu",
114
+ "encoder": {
115
+ "bytes": 28157093,
116
+ "sha256": "580f5fb648ea1062c0aabc26217aed56921985f03f0cbbd852bba81d760cc749"
117
+ },
118
+ "decoder": {
119
+ "bytes": 16496559,
120
+ "sha256": "8976b90a87ba50a6a72217a5ff994f7d25ce16f2229fcc1ed259e1294c622ffe"
121
+ }
122
+ },
123
+ "inputs": [
124
+ {
125
+ "path": "benchmarks/v02/corpus/dev/inputs.json",
126
+ "sha256": "6c9ed29d8586c7887ae0861fc853baf203cb43790df4959390da4b5cc9ac679a",
127
+ "cases": 20
128
+ },
129
+ {
130
+ "path": "benchmarks/v02/corpus/dev-independent-ui/inputs.json",
131
+ "sha256": "6013a54bebba277f6457765cd8ef78e12e2dd5bab4453a752967233ebb429bfc",
132
+ "cases": 10
133
+ },
134
+ {
135
+ "path": "benchmarks/v02/corpus/dev-independent-map/inputs.json",
136
+ "sha256": "b04ba6cac5b39c927281f61e4af7dcc7a5c5c2272a637aa9676ab3009fbd5d15",
137
+ "cases": 10
138
+ }
139
+ ],
140
+ "sourceState": "Immutable caller composition before first v2 dispatch. Full exposed DEV40 rerun; no new heldout pixels or truth opened.",
141
+ "perProfileBudget": {
142
+ "maxPhysicalCalls": 250,
143
+ "maxCostUsd": 5,
144
+ "unknownCostReserveUsd": 0.05
145
+ },
146
+ "metrics": {
147
+ "region": "Any visible target fragment in the selected seed. Report source-box overlap as a coarse proxy, and actual foreground intersection where exact source-sized independent masks exist. Never require an object-center hit.",
148
+ "objectBox": "Only actual segmented-mask bounds: IoU >= 0.5 AND reference coverage >= 0.9 for the same independent instance.",
149
+ "mask": "Pixel IoU >= 0.8 per independent exact-canvas reference; no canvas fitting. Missing predictions, unsupported canvases and failures remain explicit.",
150
+ "control": "Same explicit Luna/OpenAI tasks and text/geometry, with all image parts removed and verified at actual fetch. No native segmentation/OCR/semantic image processing. Ordinary raster presentation may execute but its image parts are discarded. Emits seed regions only, never object boxes.",
151
+ "paired": "Paired candidate/control seed-region outcomes, never candidate cutout versus an invented control box. Frozen bootstrap on the photo stratum for blind qualification."
152
+ },
153
+ "developmentAdmission": {
154
+ "completeCases": 40,
155
+ "positives": 30,
156
+ "verifiedNegatives": 10,
157
+ "maxFalseSeedLocations": 0,
158
+ "maxFalseExtractions": 0,
159
+ "atLeastOnePositiveSeedHit": true,
160
+ "atLeastOneMaskDerivedBoxMatch": true,
161
+ "atLeastOneMaskReferenceAtIoU08": true
162
+ },
163
+ "latencyRankingEligible": false,
164
+ "providerRetries": 0,
165
+ "fallback": false,
166
+ "libraryConnectsModels": false,
167
+ "releaseQualified": false,
168
+ "presenceFirst": {
169
+ "owner": "caller/benchmark composition; no change to public extract or locate",
170
+ "rule": "Reuse the existing successful closed classification. Only present permits the unchanged original three-Choice locator followed by one full-source segmenter. Absent or failed classification skips localization with zero localization calls and preserves its reason.",
171
+ "additionalModelCalls": 0,
172
+ "libraryModelDefault": false
173
+ },
174
+ "preservedFailure": "region-seeded-dev-v1/README.md",
175
+ "heldoutProfilesPreparedButNotAuthorized": [
176
+ {
177
+ "id": "native-luna-presence-first-region-seeded-sam-heldout-v2",
178
+ "phase": "heldout",
179
+ "targetPolicy": "target-plus-neutral-instruction-v1"
180
+ },
181
+ {
182
+ "id": "native-luna-presence-first-region-no-image-control-heldout-v2",
183
+ "phase": "heldout"
184
+ }
185
+ ]
186
+ }