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,17 @@
1
+ # Whole-object development variants, 2026-10-20
2
+
3
+ These are sequential hypothesis tests on an old, exposed photo panel. They do not qualify a public implementation, estimate general accuracy, or replace the independent development/heldout evaluation. Every unknown, timeout and provider failure remains in the reports. No route fallback or HTTP retry was used.
4
+
5
+ | Frozen variant | Physical requests | Known cost, USD | Unknown-cost requests | Result |
6
+ | ------------------------------------------------------------------------------- | ----------------: | --------------: | --------------------: | ------------------------------------------------------------------------------------------------------------------------------------- |
7
+ | [Ordinary Luna with axis rulers](ordinary-luna-axis/run-manifest.json) | 19 | 0.016908725 | 2 | Car returned a fragment with approximately 0.123 IoU/coverage; Boat and Dog timed out. The negative did not produce a valid location. |
8
+ | [Seed-unbounded extent prompt](seed-unbounded/run-manifest.json) | 17 | 0.009755705 | 1 | Neither native nor ordinary Luna completed a correct whole-object result on Car/Boat. |
9
+ | [Outlined original, separate seed crop removed](seed-outline/run-manifest.json) | 10 | 0.0067183 | 0 | Native Luna located Car with approximately 0.880 IoU and 0.919 visible coverage; Boat remained `extent-uncertain`. |
10
+
11
+ The final variant retains the three-Choice seed locator and the four closed extent Choices. It outlines the seed region on the original image as an interior witness and keeps the axis ruler views. The seed crop does not define the size of the requested object. The successful Car rectangle is `{left:64,top:282,width:960,height:272}` in a 1024×683 source. Its `boundary-limited` completeness remains part of the result.
12
+
13
+ All variants retained the 8-pixel tolerance, three extent passes and one 45-second deadline. The Car result meets both fixed box criteria (IoU≥0.5 and coverage≥0.9). A parseable `located` result, such as the ordinary-model fragment, is not automatically a quality success.
14
+
15
+ The reports contain exact physical receipts and immutable source/request hashes. Timing was recorded while the independent Linux native resource test ran; it is diagnostic and ineligible for latency ranking. The three [ordinary](ordinary-luna-axis/summary.json), [prompt-only](seed-unbounded/summary.json) and [outline](seed-outline/summary.json) summaries preserve their failures as well as the single successful example.
16
+
17
+ Later code also repairs strict trace parsing for actual whole-object `hardRoi` metadata and ordinary ranked axis answers. Earlier artifacts retain their original missing geometry; it was not reconstructed or overwritten after the fact.
@@ -0,0 +1,15 @@
1
+ # Box-confirmation DEV40
2
+
3
+ The separately frozen box-confirmation recipe completed all 40 original development cases. Independent evaluation finds 5/30 correct positive whole-object boxes: 4/16 photographs, 1/7 controlled Freeciv map cases and 0/7 controlled Geany UI cases. There are no false locations on ten negatives; classification is 35/40. The previous neutral-instruction recipe found 3/16 photographs. These are observed development results, not proof of superiority or blind release qualification.
4
+
5
+ The [numeric report](report.json) pins the [unchanged producer freeze](../box-confirmation-dev40-freeze-20261020-v1.json), raw run, exact [evaluation](evaluation.json) and [provenance](provenance.json). The successful run made 187 physical requests with no retry or fallback: known cost $0.0867556, eight unknown-cost calls and accounted exposure $0.4867556. All eight failed localizations remain in the denominator. Timing remains unranked.
6
+
7
+ Only one of five mask-annotated DEV cases returned a mask. Neither of its two official reference instances reaches IoU 0.8; the five remaining reference instances have no returned prediction. A correct bounding rectangle does not establish cutout accuracy. The separate [native-only refinement component test](component-refinement.json) used all eight actual model-predicted boxes and seeds, with every replayed seed request hash checked. It also has zero passing reference instances and only one annotated returned case, so it does not establish a refinement benefit. No additional refiner is promoted. Original masks and results remain unchanged; this intervention is not an end-to-end replacement run.
8
+
9
+ Before scoring, the independent evaluator was corrected to validate metadata actually emitted by the frozen producer: matching `sourceBeforeSha256` on both manifest and summary, and the explicit two-thread native policy. Historical profiles still require their original 64-source closure; this new profile requires 68. No input, producer output, box/mask threshold or scoring function was changed. Tests cover absent/mismatched source pins and missing/wrong thread count; the report records evaluator-source hashes.
10
+
11
+ An earlier shell-background startup returned without a run manifest or physical receipt. Its separate terminal receipt retains admission as unknown and zero recorded calls. It is not overwritten by this successful foreground run or represented as a successful model attempt. Source control flow persists the run manifest before any native initialization/provider dispatch; no request is invented from missing evidence.
12
+
13
+ The library still accepts the caller's model/port and optional segmenters. This is an explicit Luna/OpenAI and CPU MobileSAM benchmark recipe, not a library default. A new source-group-disjoint blind qualification and all final release gates remain required.
14
+
15
+ The [development selection](../box-confirmation-method-selection-20261020-v1.json) freezes this vision recipe before a new blind corpus is opened. Mask limitations and all final qualification gates remain explicit.
@@ -0,0 +1,246 @@
1
+ {
2
+ "schema": "predicted-box-native-refinement-component-evaluation-v1",
3
+ "componentManifestSha256": "5e8586e6dc00eb57e1e2a579c09dedc5966a93959e36545161344bc5cb9309cb",
4
+ "physicalProducerSummarySha256": "001456121e04ebbb00858c59e37e9d7d70f38ce9c83712a24e1ea4798eee9d0d",
5
+ "actualPredictedBoxesAndSeedsOnly": true,
6
+ "requestHashesMatchAllEight": true,
7
+ "allEightReturnedCasesIncluded": true,
8
+ "providerCallsAdded": 0,
9
+ "pipelineQualification": false,
10
+ "maskMetrics": {
11
+ "threshold": 0.8,
12
+ "truthCases": 5,
13
+ "scoredCases": 1,
14
+ "unavailableAnnotatedCases": 4,
15
+ "unannotatedCases": 35,
16
+ "referenceInstances": 7,
17
+ "scoredReferenceInstances": 2,
18
+ "unavailableReferenceInstances": 5,
19
+ "passingReferenceInstances": 0,
20
+ "passedCases": 0,
21
+ "meanBestInstanceIoU": 0.00023204548091425919,
22
+ "matching": "Place each cropped 0/1 prediction at its absolute sourceOffset; compare pixelwise against every independent source-sized Open Images instance mask. Emit one IoU per reference-mask SHA; case pass is the maximum instance IoU >= 0.8. This is separate from bbox correctness.",
23
+ "rows": [
24
+ {
25
+ "caseId": "photo-dev-present-01",
26
+ "status": "no-reference-mask",
27
+ "referenceInstances": 0
28
+ },
29
+ {
30
+ "caseId": "photo-dev-present-02",
31
+ "status": "no-reference-mask",
32
+ "referenceInstances": 0
33
+ },
34
+ {
35
+ "caseId": "photo-dev-present-03",
36
+ "status": "no-reference-mask",
37
+ "referenceInstances": 0
38
+ },
39
+ {
40
+ "caseId": "photo-dev-present-04",
41
+ "status": "no-reference-mask",
42
+ "referenceInstances": 0
43
+ },
44
+ {
45
+ "caseId": "photo-dev-present-05",
46
+ "status": "no-reference-mask",
47
+ "referenceInstances": 0
48
+ },
49
+ {
50
+ "caseId": "photo-dev-present-06",
51
+ "status": "not-extracted",
52
+ "referenceInstances": 1
53
+ },
54
+ {
55
+ "caseId": "photo-dev-present-07",
56
+ "status": "no-reference-mask",
57
+ "referenceInstances": 0
58
+ },
59
+ {
60
+ "caseId": "photo-dev-present-08",
61
+ "status": "scored",
62
+ "referenceInstances": 2,
63
+ "instanceIoUs": [
64
+ {
65
+ "referenceMaskSha256": "4e72cfb83de41421ed4a41c02ee4c700ca8bdf57f9c2f903017cf21ad6d4c772",
66
+ "iou": 0,
67
+ "meetsThreshold": false
68
+ },
69
+ {
70
+ "referenceMaskSha256": "7ca014cd837aca50d98e8d97420e4d9566f1cf75d9ddb9b4f1ef11d5b226d947",
71
+ "iou": 0.00023204548091425919,
72
+ "meetsThreshold": false
73
+ }
74
+ ],
75
+ "bestInstanceIoU": 0.00023204548091425919,
76
+ "meetsThreshold": false
77
+ },
78
+ {
79
+ "caseId": "photo-dev-present-09",
80
+ "status": "not-extracted",
81
+ "referenceInstances": 1
82
+ },
83
+ {
84
+ "caseId": "photo-dev-present-10",
85
+ "status": "no-reference-mask",
86
+ "referenceInstances": 0
87
+ },
88
+ {
89
+ "caseId": "photo-dev-present-11",
90
+ "status": "no-reference-mask",
91
+ "referenceInstances": 0
92
+ },
93
+ {
94
+ "caseId": "photo-dev-present-12",
95
+ "status": "no-reference-mask",
96
+ "referenceInstances": 0
97
+ },
98
+ {
99
+ "caseId": "photo-dev-present-13",
100
+ "status": "not-extracted",
101
+ "referenceInstances": 1
102
+ },
103
+ {
104
+ "caseId": "photo-dev-present-14",
105
+ "status": "no-reference-mask",
106
+ "referenceInstances": 0
107
+ },
108
+ {
109
+ "caseId": "photo-dev-present-15",
110
+ "status": "not-extracted",
111
+ "referenceInstances": 2
112
+ },
113
+ {
114
+ "caseId": "photo-dev-present-16",
115
+ "status": "no-reference-mask",
116
+ "referenceInstances": 0
117
+ },
118
+ {
119
+ "caseId": "photo-dev-absent-01",
120
+ "status": "no-reference-mask",
121
+ "referenceInstances": 0
122
+ },
123
+ {
124
+ "caseId": "photo-dev-absent-02",
125
+ "status": "no-reference-mask",
126
+ "referenceInstances": 0
127
+ },
128
+ {
129
+ "caseId": "photo-dev-absent-03",
130
+ "status": "no-reference-mask",
131
+ "referenceInstances": 0
132
+ },
133
+ {
134
+ "caseId": "photo-dev-absent-04",
135
+ "status": "no-reference-mask",
136
+ "referenceInstances": 0
137
+ },
138
+ {
139
+ "caseId": "ui-geany-oracle-dev-present-01",
140
+ "status": "no-reference-mask",
141
+ "referenceInstances": 0
142
+ },
143
+ {
144
+ "caseId": "ui-geany-oracle-dev-present-02",
145
+ "status": "no-reference-mask",
146
+ "referenceInstances": 0
147
+ },
148
+ {
149
+ "caseId": "ui-geany-oracle-dev-present-03",
150
+ "status": "no-reference-mask",
151
+ "referenceInstances": 0
152
+ },
153
+ {
154
+ "caseId": "ui-geany-oracle-dev-present-04",
155
+ "status": "no-reference-mask",
156
+ "referenceInstances": 0
157
+ },
158
+ {
159
+ "caseId": "ui-geany-oracle-dev-present-05",
160
+ "status": "no-reference-mask",
161
+ "referenceInstances": 0
162
+ },
163
+ {
164
+ "caseId": "ui-geany-oracle-dev-present-06",
165
+ "status": "no-reference-mask",
166
+ "referenceInstances": 0
167
+ },
168
+ {
169
+ "caseId": "ui-geany-oracle-dev-present-07",
170
+ "status": "no-reference-mask",
171
+ "referenceInstances": 0
172
+ },
173
+ {
174
+ "caseId": "ui-geany-oracle-dev-absent-01",
175
+ "status": "no-reference-mask",
176
+ "referenceInstances": 0
177
+ },
178
+ {
179
+ "caseId": "ui-geany-oracle-dev-absent-02",
180
+ "status": "no-reference-mask",
181
+ "referenceInstances": 0
182
+ },
183
+ {
184
+ "caseId": "ui-geany-oracle-dev-absent-03",
185
+ "status": "no-reference-mask",
186
+ "referenceInstances": 0
187
+ },
188
+ {
189
+ "caseId": "map-freeciv-oracle-dev-present-01",
190
+ "status": "no-reference-mask",
191
+ "referenceInstances": 0
192
+ },
193
+ {
194
+ "caseId": "map-freeciv-oracle-dev-present-02",
195
+ "status": "no-reference-mask",
196
+ "referenceInstances": 0
197
+ },
198
+ {
199
+ "caseId": "map-freeciv-oracle-dev-present-03",
200
+ "status": "no-reference-mask",
201
+ "referenceInstances": 0
202
+ },
203
+ {
204
+ "caseId": "map-freeciv-oracle-dev-present-04",
205
+ "status": "no-reference-mask",
206
+ "referenceInstances": 0
207
+ },
208
+ {
209
+ "caseId": "map-freeciv-oracle-dev-present-05",
210
+ "status": "no-reference-mask",
211
+ "referenceInstances": 0
212
+ },
213
+ {
214
+ "caseId": "map-freeciv-oracle-dev-present-06",
215
+ "status": "no-reference-mask",
216
+ "referenceInstances": 0
217
+ },
218
+ {
219
+ "caseId": "map-freeciv-oracle-dev-present-07",
220
+ "status": "no-reference-mask",
221
+ "referenceInstances": 0
222
+ },
223
+ {
224
+ "caseId": "map-freeciv-oracle-dev-absent-bomber",
225
+ "status": "no-reference-mask",
226
+ "referenceInstances": 0
227
+ },
228
+ {
229
+ "caseId": "map-freeciv-oracle-dev-absent-battleship",
230
+ "status": "no-reference-mask",
231
+ "referenceInstances": 0
232
+ },
233
+ {
234
+ "caseId": "map-freeciv-oracle-dev-absent-fighter",
235
+ "status": "no-reference-mask",
236
+ "referenceInstances": 0
237
+ }
238
+ ]
239
+ },
240
+ "limits": [
241
+ "Native-only intervention reuses actual model-predicted geometry; it is not an end-to-end model rerun.",
242
+ "Only one annotated case among the eight located results; absent predictions stay unavailable in the seven-reference denominator.",
243
+ "No original locations/masks or qualification outcomes are overwritten."
244
+ ],
245
+ "rawComponentEvaluationSha256": "02d49c18052a314747f0425e2b7c76aed6c617b05721b41291ba543a06498b0c"
246
+ }