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,487 @@
1
+ {
2
+ "runId": "v02-seed-outline-2026-10-20T100338853Z-d664bcde",
3
+ "variantId": "original-seed-outline-v1",
4
+ "variantSha256": "7d481d38ba48b84536869a781c3b5bee0407c2a9bd210c8a5de5abddbda30ffc",
5
+ "status": "complete",
6
+ "outcomes": [
7
+ {
8
+ "caseId": "photo-dev-02",
9
+ "status": "located",
10
+ "sourceSha256": "68d92b810be3205702e9ea527654ffbbb2eab3f48fd73f66770a0a0df4f484a1",
11
+ "imageDimensions": {
12
+ "width": 1024,
13
+ "height": 683
14
+ },
15
+ "requestHashes": [
16
+ "791744854dd6f82d755e6e486a4a4943c3ff50f3871358608937a5b9f101fcc0",
17
+ "31b5e280685b51c7454467974f23132699a77cd2903ec2c608e58a1a22b8502a",
18
+ "77d16e732b63e69e0d1ebc2d890e7438a56e012ec664c6ff43e372dd58f1ddf0",
19
+ "4630068f5ff978b6987d6c027e5c8341c0d000007b63e41b84a68de1fec293cd",
20
+ "4be48734087e10c95a97a953fcbf7d4d36b120648cca87b074e48f9aa0c4e3e0"
21
+ ],
22
+ "result": {
23
+ "region": {
24
+ "left": 64,
25
+ "top": 282,
26
+ "width": 960,
27
+ "height": 272
28
+ },
29
+ "seedRegion": {
30
+ "left": 384,
31
+ "top": 426,
32
+ "width": 64,
33
+ "height": 57
34
+ },
35
+ "bounds": {
36
+ "left": {
37
+ "start": 64,
38
+ "endExclusive": 68
39
+ },
40
+ "right": {
41
+ "start": 1020,
42
+ "endExclusive": 1024
43
+ },
44
+ "top": {
45
+ "start": 282,
46
+ "endExclusive": 284
47
+ },
48
+ "bottom": {
49
+ "start": 551,
50
+ "endExclusive": 554
51
+ }
52
+ },
53
+ "completeness": "boundary-limited"
54
+ },
55
+ "durationMs": 21997.995392
56
+ },
57
+ {
58
+ "caseId": "photo-dev-03",
59
+ "status": "unknown",
60
+ "sourceSha256": "974286e376815b28a70dd84fa47f03e2148db02b11d64e63c7ec39602f4b197b",
61
+ "imageDimensions": {
62
+ "width": 1024,
63
+ "height": 575
64
+ },
65
+ "requestHashes": [
66
+ "7b7168f39e4c072ca1679e4d8e1868a3a905557488383b8e8537b0d04bb97fb5",
67
+ "18b14dd69cff807720b76a2282bf92c8129749db346ea4b45f15edbd1251677e",
68
+ "25b08e1c4c0c64e692cb0b8a9fb7225bf77ad586d0c62cb808726b47be08c86b",
69
+ "ce6aedd600cc8960231afe2befa3b62eb87581a0cf2473a6cfd2c07a6f0ad410",
70
+ "04005e48607190a4432c85d8f84ac961ff761891737fb504094d036d59cb3d9d"
71
+ ],
72
+ "result": {
73
+ "reason": "extent-uncertain"
74
+ },
75
+ "durationMs": 17448.465418
76
+ }
77
+ ],
78
+ "aggregate": {
79
+ "admittedPhysicalCalls": 10,
80
+ "knownCostUsd": 0.0067183,
81
+ "unknownCostCalls": 0,
82
+ "inFlightCalls": 0,
83
+ "accountedExposureUsd": 0.0067183,
84
+ "maxPhysicalCalls": 32,
85
+ "maxCostUsd": 1
86
+ },
87
+ "latency": {
88
+ "count": 10,
89
+ "p50Ms": 3008.9336819999953,
90
+ "p95Ms": 7509.736096000002,
91
+ "maxMs": 7509.736096000002
92
+ },
93
+ "latencyEnvironment": "concurrent-with-linux-native-soak",
94
+ "latencyRankingEligible": false,
95
+ "physicalReceipts": [
96
+ {
97
+ "physicalId": 1,
98
+ "requestSha256": "791744854dd6f82d755e6e486a4a4943c3ff50f3871358608937a5b9f101fcc0",
99
+ "requestBodySha256": "98d2a039808f4ec8484e3ac43cb1629f5803914a63b3c2012759db704311e8b6",
100
+ "route": {
101
+ "id": "native-luna-axis-seed-outline-v1",
102
+ "model": "openai/gpt-6-luna-decisions",
103
+ "provider": "openai",
104
+ "providerName": "OpenAI",
105
+ "apiEndpoint": "/api/alpha/decisions",
106
+ "allowFallbacks": false
107
+ },
108
+ "receipt": {
109
+ "model": "openai/gpt-6-luna-decisions-20261006",
110
+ "provider": "OpenAI",
111
+ "requestId": "gen-dec-1792490624-mS8qkfecP31pjNK8dLFv",
112
+ "costUsd": 0.0003104,
113
+ "durationMs": 2751.550138,
114
+ "attempts": 1
115
+ },
116
+ "wireReceipt": {
117
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
118
+ "responseProvider": "OpenAI",
119
+ "responseId": "gen-dec-1792490624-mS8qkfecP31pjNK8dLFv",
120
+ "usageCostUsd": 0.0003104,
121
+ "errorType": null,
122
+ "errorCode": null,
123
+ "errorParameter": null,
124
+ "errorCategory": null,
125
+ "errorReason": null,
126
+ "rateLimitScope": null,
127
+ "retryAfterSeconds": null,
128
+ "responseDisposition": "typed-decisions-response",
129
+ "finishReason": null,
130
+ "bodyRead": "parsed"
131
+ },
132
+ "errorCode": null,
133
+ "durationMs": 2747.291942
134
+ },
135
+ {
136
+ "physicalId": 2,
137
+ "requestSha256": "31b5e280685b51c7454467974f23132699a77cd2903ec2c608e58a1a22b8502a",
138
+ "requestBodySha256": "b8d5a3a4ba23864f823abd835a6a158264908f79341686abdd93aa60f786d6a5",
139
+ "route": {
140
+ "id": "native-luna-axis-seed-outline-v1",
141
+ "model": "openai/gpt-6-luna-decisions",
142
+ "provider": "openai",
143
+ "providerName": "OpenAI",
144
+ "apiEndpoint": "/api/alpha/decisions",
145
+ "allowFallbacks": false
146
+ },
147
+ "receipt": {
148
+ "model": "openai/gpt-6-luna-decisions-20261006",
149
+ "provider": "OpenAI",
150
+ "requestId": "gen-dec-1792490630-RCDVfDO8EasVAd3z5esW",
151
+ "costUsd": 0.0013121,
152
+ "durationMs": 5264.521024,
153
+ "attempts": 1
154
+ },
155
+ "wireReceipt": {
156
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
157
+ "responseProvider": "OpenAI",
158
+ "responseId": "gen-dec-1792490630-RCDVfDO8EasVAd3z5esW",
159
+ "usageCostUsd": 0.0013121,
160
+ "errorType": null,
161
+ "errorCode": null,
162
+ "errorParameter": null,
163
+ "errorCategory": null,
164
+ "errorReason": null,
165
+ "rateLimitScope": null,
166
+ "retryAfterSeconds": null,
167
+ "responseDisposition": "typed-decisions-response",
168
+ "finishReason": null,
169
+ "bodyRead": "parsed"
170
+ },
171
+ "errorCode": null,
172
+ "durationMs": 5259.558853
173
+ },
174
+ {
175
+ "physicalId": 3,
176
+ "requestSha256": "77d16e732b63e69e0d1ebc2d890e7438a56e012ec664c6ff43e372dd58f1ddf0",
177
+ "requestBodySha256": "cc25e74d4519075b4670fd60f4276d5af67ed6959331ebdbed946577a05bb873",
178
+ "route": {
179
+ "id": "native-luna-axis-seed-outline-v1",
180
+ "model": "openai/gpt-6-luna-decisions",
181
+ "provider": "openai",
182
+ "providerName": "OpenAI",
183
+ "apiEndpoint": "/api/alpha/decisions",
184
+ "allowFallbacks": false
185
+ },
186
+ "receipt": {
187
+ "model": "openai/gpt-6-luna-decisions-20261006",
188
+ "provider": "OpenAI",
189
+ "requestId": "gen-dec-1792490633-dLSYonwMo99fx3P8A27w",
190
+ "costUsd": 0.0002781,
191
+ "durationMs": 1868.0850050000008,
192
+ "attempts": 1
193
+ },
194
+ "wireReceipt": {
195
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
196
+ "responseProvider": "OpenAI",
197
+ "responseId": "gen-dec-1792490633-dLSYonwMo99fx3P8A27w",
198
+ "usageCostUsd": 0.0002781,
199
+ "errorType": null,
200
+ "errorCode": null,
201
+ "errorParameter": null,
202
+ "errorCategory": null,
203
+ "errorReason": null,
204
+ "rateLimitScope": null,
205
+ "retryAfterSeconds": null,
206
+ "responseDisposition": "typed-decisions-response",
207
+ "finishReason": null,
208
+ "bodyRead": "parsed"
209
+ },
210
+ "errorCode": null,
211
+ "durationMs": 1866.2054879999996
212
+ },
213
+ {
214
+ "physicalId": 4,
215
+ "requestSha256": "4630068f5ff978b6987d6c027e5c8341c0d000007b63e41b84a68de1fec293cd",
216
+ "requestBodySha256": "078d1a10bb5eeba50ff6035391c4dec59250d637fe83f0bd7ab1bdca3c1a6553",
217
+ "route": {
218
+ "id": "native-luna-axis-seed-outline-v1",
219
+ "model": "openai/gpt-6-luna-decisions",
220
+ "provider": "openai",
221
+ "providerName": "OpenAI",
222
+ "apiEndpoint": "/api/alpha/decisions",
223
+ "allowFallbacks": false
224
+ },
225
+ "receipt": {
226
+ "model": "openai/gpt-6-luna-decisions-20261006",
227
+ "provider": "OpenAI",
228
+ "requestId": "gen-dec-1792490641-Kj3D4UDOTMWV6NfvuNIm",
229
+ "costUsd": 0.0007621,
230
+ "durationMs": 7514.488519000002,
231
+ "attempts": 1
232
+ },
233
+ "wireReceipt": {
234
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
235
+ "responseProvider": "OpenAI",
236
+ "responseId": "gen-dec-1792490641-Kj3D4UDOTMWV6NfvuNIm",
237
+ "usageCostUsd": 0.0007621,
238
+ "errorType": null,
239
+ "errorCode": null,
240
+ "errorParameter": null,
241
+ "errorCategory": null,
242
+ "errorReason": null,
243
+ "rateLimitScope": null,
244
+ "retryAfterSeconds": null,
245
+ "responseDisposition": "typed-decisions-response",
246
+ "finishReason": null,
247
+ "bodyRead": "parsed"
248
+ },
249
+ "errorCode": null,
250
+ "durationMs": 7509.736096000002
251
+ },
252
+ {
253
+ "physicalId": 5,
254
+ "requestSha256": "4be48734087e10c95a97a953fcbf7d4d36b120648cca87b074e48f9aa0c4e3e0",
255
+ "requestBodySha256": "863e2832cf42652cfac2431904cf125a6aa92e3a119607c38debbd6f0cbb8483",
256
+ "route": {
257
+ "id": "native-luna-axis-seed-outline-v1",
258
+ "model": "openai/gpt-6-luna-decisions",
259
+ "provider": "openai",
260
+ "providerName": "OpenAI",
261
+ "apiEndpoint": "/api/alpha/decisions",
262
+ "allowFallbacks": false
263
+ },
264
+ "receipt": {
265
+ "model": "openai/gpt-6-luna-decisions-20261006",
266
+ "provider": "OpenAI",
267
+ "requestId": "gen-dec-1792490645-Kg3fS1uzk6kxXoljnCCm",
268
+ "costUsd": 0.0007399,
269
+ "durationMs": 3156.986045999998,
270
+ "attempts": 1
271
+ },
272
+ "wireReceipt": {
273
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
274
+ "responseProvider": "OpenAI",
275
+ "responseId": "gen-dec-1792490645-Kg3fS1uzk6kxXoljnCCm",
276
+ "usageCostUsd": 0.0007399,
277
+ "errorType": null,
278
+ "errorCode": null,
279
+ "errorParameter": null,
280
+ "errorCategory": null,
281
+ "errorReason": null,
282
+ "rateLimitScope": null,
283
+ "retryAfterSeconds": null,
284
+ "responseDisposition": "typed-decisions-response",
285
+ "finishReason": null,
286
+ "bodyRead": "parsed"
287
+ },
288
+ "errorCode": null,
289
+ "durationMs": 3154.1354260000007
290
+ },
291
+ {
292
+ "physicalId": 6,
293
+ "requestSha256": "7b7168f39e4c072ca1679e4d8e1868a3a905557488383b8e8537b0d04bb97fb5",
294
+ "requestBodySha256": "baa729f73658956a0642f7737fba7ba581d09a47829137f753aa4130f1f19016",
295
+ "route": {
296
+ "id": "native-luna-axis-seed-outline-v1",
297
+ "model": "openai/gpt-6-luna-decisions",
298
+ "provider": "openai",
299
+ "providerName": "OpenAI",
300
+ "apiEndpoint": "/api/alpha/decisions",
301
+ "allowFallbacks": false
302
+ },
303
+ "receipt": {
304
+ "model": "openai/gpt-6-luna-decisions-20261006",
305
+ "provider": "OpenAI",
306
+ "requestId": "gen-dec-1792490650-m2R8rfhZ5wO573VVwkd1",
307
+ "costUsd": 0.0003025,
308
+ "durationMs": 4067.276358000003,
309
+ "attempts": 1
310
+ },
311
+ "wireReceipt": {
312
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
313
+ "responseProvider": "OpenAI",
314
+ "responseId": "gen-dec-1792490650-m2R8rfhZ5wO573VVwkd1",
315
+ "usageCostUsd": 0.0003025,
316
+ "errorType": null,
317
+ "errorCode": null,
318
+ "errorParameter": null,
319
+ "errorCategory": null,
320
+ "errorReason": null,
321
+ "rateLimitScope": null,
322
+ "retryAfterSeconds": null,
323
+ "responseDisposition": "typed-decisions-response",
324
+ "finishReason": null,
325
+ "bodyRead": "parsed"
326
+ },
327
+ "errorCode": null,
328
+ "durationMs": 4065.2428629999995
329
+ },
330
+ {
331
+ "physicalId": 7,
332
+ "requestSha256": "18b14dd69cff807720b76a2282bf92c8129749db346ea4b45f15edbd1251677e",
333
+ "requestBodySha256": "caf29e5383aee0995fa7d88bd0750fa8907261f7b930cae88b948fc887233823",
334
+ "route": {
335
+ "id": "native-luna-axis-seed-outline-v1",
336
+ "model": "openai/gpt-6-luna-decisions",
337
+ "provider": "openai",
338
+ "providerName": "OpenAI",
339
+ "apiEndpoint": "/api/alpha/decisions",
340
+ "allowFallbacks": false
341
+ },
342
+ "receipt": {
343
+ "model": "openai/gpt-6-luna-decisions-20261006",
344
+ "provider": "OpenAI",
345
+ "requestId": "gen-dec-1792490656-VO9pgqFPjUn9LM4yITwh",
346
+ "costUsd": 0.0012948,
347
+ "durationMs": 5855.392029999999,
348
+ "attempts": 1
349
+ },
350
+ "wireReceipt": {
351
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
352
+ "responseProvider": "OpenAI",
353
+ "responseId": "gen-dec-1792490656-VO9pgqFPjUn9LM4yITwh",
354
+ "usageCostUsd": 0.0012948,
355
+ "errorType": null,
356
+ "errorCode": null,
357
+ "errorParameter": null,
358
+ "errorCategory": null,
359
+ "errorReason": null,
360
+ "rateLimitScope": null,
361
+ "retryAfterSeconds": null,
362
+ "responseDisposition": "typed-decisions-response",
363
+ "finishReason": null,
364
+ "bodyRead": "parsed"
365
+ },
366
+ "errorCode": null,
367
+ "durationMs": 5851.804239000005
368
+ },
369
+ {
370
+ "physicalId": 8,
371
+ "requestSha256": "25b08e1c4c0c64e692cb0b8a9fb7225bf77ad586d0c62cb808726b47be08c86b",
372
+ "requestBodySha256": "ecb611965878cfec47fb6c63141a97e72e48b2d537169f05fbf4550dd42b87a2",
373
+ "route": {
374
+ "id": "native-luna-axis-seed-outline-v1",
375
+ "model": "openai/gpt-6-luna-decisions",
376
+ "provider": "openai",
377
+ "providerName": "OpenAI",
378
+ "apiEndpoint": "/api/alpha/decisions",
379
+ "allowFallbacks": false
380
+ },
381
+ "receipt": {
382
+ "model": "openai/gpt-6-luna-decisions-20261006",
383
+ "provider": "OpenAI",
384
+ "requestId": "gen-dec-1792490659-yu4CqOjP4uY2JuJXUuJ9",
385
+ "costUsd": 0.0002585,
386
+ "durationMs": 1348.3681320000032,
387
+ "attempts": 1
388
+ },
389
+ "wireReceipt": {
390
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
391
+ "responseProvider": "OpenAI",
392
+ "responseId": "gen-dec-1792490659-yu4CqOjP4uY2JuJXUuJ9",
393
+ "usageCostUsd": 0.0002585,
394
+ "errorType": null,
395
+ "errorCode": null,
396
+ "errorParameter": null,
397
+ "errorCategory": null,
398
+ "errorReason": null,
399
+ "rateLimitScope": null,
400
+ "retryAfterSeconds": null,
401
+ "responseDisposition": "typed-decisions-response",
402
+ "finishReason": null,
403
+ "bodyRead": "parsed"
404
+ },
405
+ "errorCode": null,
406
+ "durationMs": 1347.095140999998
407
+ },
408
+ {
409
+ "physicalId": 9,
410
+ "requestSha256": "ce6aedd600cc8960231afe2befa3b62eb87581a0cf2473a6cfd2c07a6f0ad410",
411
+ "requestBodySha256": "9554cee3193294386ae8456663f47bbc3c0ebe190524c88fffdc9c351653855e",
412
+ "route": {
413
+ "id": "native-luna-axis-seed-outline-v1",
414
+ "model": "openai/gpt-6-luna-decisions",
415
+ "provider": "openai",
416
+ "providerName": "OpenAI",
417
+ "apiEndpoint": "/api/alpha/decisions",
418
+ "allowFallbacks": false
419
+ },
420
+ "receipt": {
421
+ "model": "openai/gpt-6-luna-decisions-20261006",
422
+ "provider": "OpenAI",
423
+ "requestId": "gen-dec-1792490662-c5OaWwcXsonBXUC4bhwc",
424
+ "costUsd": 0.0007623,
425
+ "durationMs": 3011.4264440000043,
426
+ "attempts": 1
427
+ },
428
+ "wireReceipt": {
429
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
430
+ "responseProvider": "OpenAI",
431
+ "responseId": "gen-dec-1792490662-c5OaWwcXsonBXUC4bhwc",
432
+ "usageCostUsd": 0.0007623,
433
+ "errorType": null,
434
+ "errorCode": null,
435
+ "errorParameter": null,
436
+ "errorCategory": null,
437
+ "errorReason": null,
438
+ "rateLimitScope": null,
439
+ "retryAfterSeconds": null,
440
+ "responseDisposition": "typed-decisions-response",
441
+ "finishReason": null,
442
+ "bodyRead": "parsed"
443
+ },
444
+ "errorCode": null,
445
+ "durationMs": 3008.9336819999953
446
+ },
447
+ {
448
+ "physicalId": 10,
449
+ "requestSha256": "04005e48607190a4432c85d8f84ac961ff761891737fb504094d036d59cb3d9d",
450
+ "requestBodySha256": "8405eae24318fcf1211ad340821947e5a32714c844c108bc01d702bcadf2007d",
451
+ "route": {
452
+ "id": "native-luna-axis-seed-outline-v1",
453
+ "model": "openai/gpt-6-luna-decisions",
454
+ "provider": "openai",
455
+ "providerName": "OpenAI",
456
+ "apiEndpoint": "/api/alpha/decisions",
457
+ "allowFallbacks": false
458
+ },
459
+ "receipt": {
460
+ "model": "openai/gpt-6-luna-decisions-20261006",
461
+ "provider": "OpenAI",
462
+ "requestId": "gen-dec-1792490665-SKpafHnsuiaCplEwHaWe",
463
+ "costUsd": 0.0006976,
464
+ "durationMs": 2098.4953490000044,
465
+ "attempts": 1
466
+ },
467
+ "wireReceipt": {
468
+ "responseModel": "openai/gpt-6-luna-decisions-20261006",
469
+ "responseProvider": "OpenAI",
470
+ "responseId": "gen-dec-1792490665-SKpafHnsuiaCplEwHaWe",
471
+ "usageCostUsd": 0.0006976,
472
+ "errorType": null,
473
+ "errorCode": null,
474
+ "errorParameter": null,
475
+ "errorCategory": null,
476
+ "errorReason": null,
477
+ "rateLimitScope": null,
478
+ "retryAfterSeconds": null,
479
+ "responseDisposition": "typed-decisions-response",
480
+ "finishReason": null,
481
+ "bodyRead": "parsed"
482
+ },
483
+ "errorCode": null,
484
+ "durationMs": 2096.9586070000005
485
+ }
486
+ ]
487
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "runId": "v02-seed-unbounded-2026-10-20T095412738Z-653a04cd",
4
+ "purpose": "seed-unbounded prompt-only development comparison; exposed old dev cases, not qualification",
5
+ "startedAt": "2026-10-20T09:54:12.739Z",
6
+ "variantId": "seed-unbounded-v1",
7
+ "variantSha256": "99b8c2f6818ddc61cf85ca45cd02f90b3ee022e9ee93af614227fdb70dbe40ba",
8
+ "sourceHashes": {
9
+ "./seedunboundedpilot.ts": "9d9b87b1434133b196e2a883f4371a42558829779ce63e27348a3c9206805cba",
10
+ "./seedunboundedvariant.ts": "c322a993615c8b4c53327bf595b64b2f4f5306a954c9d7e6565b1b6b2f97a6eb",
11
+ "./seedunboundedprompt.ts": "180d500f80d1c44e0c16b2008cf91f940ee3c6aa071531b661719ff51c39849d",
12
+ "./protocol.ts": "abb2383c1ee11589368ae613a3f49026415cad4beb66c8780cd2fff4dcb73692",
13
+ "./recording.ts": "7cf73a6e988491a443caeca6de33fa3824c2253d083d9155b9bde74b317d85f9",
14
+ "./presentationpilot.ts": "b4680fb0d2cc77e8cae009cf755837308a8068f73bc772a431693927af863944",
15
+ "../../src/app/create-classifier.ts": "c427b509a80172a4883bd0724e22fe2eb6af8e6784660f03e36ac6ea718e35d3",
16
+ "../../src/processes/whole-object.ts": "fdab7fd0c758d1d426356d88477eca4c3ecd99521724faba5503b462f40d269e",
17
+ "../../src/processes/boundary-state.ts": "77c636e2a2311ed989e514ee78adef66f80230d5eee394549917c9ff13fc99d7",
18
+ "../../src/processes/locate.ts": "a5a1320c2dff4060a3c5ab5e32cb5f0af2d94fcad458caba3818b6a0a28dab3d",
19
+ "../../src/features/prompts.ts": "b808ed8f42e8c92daf08060d2805da618f2b140f99b6a9b07df49622d57b62aa",
20
+ "../../src/features/choice.ts": "ff972121520a339b82895914242bf40f7b8dcd198b4305fd57e51b204b13952d",
21
+ "../../src/features/choice-beam-layout.ts": "8f61d6f784e0e6273467cea01315f17bbfa4fffa695dd7a7bb9cd5cac5354e1a",
22
+ "../../src/features/uniform-grid.ts": "8cee38aee52ba2c4ac2eaed909d5f53cc0e5aa2c04fe87585c66b29573e21c4d",
23
+ "../../src/infrastructure/openrouter.ts": "486a919853949e6789dd4035b7699fd89b9682cb3e928632c77b216656f44c55",
24
+ "../../src/infrastructure/openrouter-vision.ts": "b72e4699e132c1ac598772c49287edb0b5ca355ad2af33481f9c741ddcb13eaa",
25
+ "../../src/infrastructure/vision-chat.ts": "314e2c236a75ad43023c6ae34544a849df027f025eda32abdc2a7e1d49c742f3",
26
+ "../../src/infrastructure/boundary-view.ts": "2fb5546ae4a47a2a08f13ccad74c5a9cc7b9736ff052738637bfd65f1acd7775"
27
+ },
28
+ "producerSourceSha256": "8a28cbd5ecf838eb9eb9d718a7c82acffa395b6c85075bd24778c37affb058de",
29
+ "sourceManifestSha256": "d2a3ab497a9cff07e0199a7be9e8e91c844e2efc773cd3335bc248c334a6e7a9",
30
+ "selectedCaseIds": [
31
+ "photo-dev-02",
32
+ "photo-dev-03"
33
+ ],
34
+ "routes": [
35
+ {
36
+ "id": "native-luna-axis-seed-unbounded-v1",
37
+ "adapter": "native-decisions",
38
+ "model": "openai/gpt-6-luna-decisions",
39
+ "provider": "openai",
40
+ "providerName": "OpenAI",
41
+ "apiEndpoint": "/api/alpha/decisions",
42
+ "boundaryPresentation": "axis-rulers-v1"
43
+ },
44
+ {
45
+ "id": "ordinary-luna-axis-seed-unbounded-v1",
46
+ "adapter": "ordinary-vision",
47
+ "model": "openai/gpt-6-luna",
48
+ "provider": "openai",
49
+ "providerName": "OpenAI",
50
+ "apiEndpoint": "/api/v1/chat/completions",
51
+ "boundaryPresentation": "axis-rulers-v1",
52
+ "responseFormat": "json-schema",
53
+ "reasoningEffort": "none",
54
+ "maxOutputTokens": 1024
55
+ }
56
+ ],
57
+ "policy": {
58
+ "promptId": "seed-unbounded-v1",
59
+ "prompt": "The target means the entire visible physical target in ORIGINAL. SEED is only an interior witness for identifying the same instance; the SEED crop boundaries do not limit the target extent. Include every visible part of that same target outside SEED, subject only to HARD_ROI.",
60
+ "boxTolerancePx": 8,
61
+ "maxExtentPasses": 3,
62
+ "timeoutMs": 45000,
63
+ "retries": 0,
64
+ "allowFallbacks": false,
65
+ "latencyEnvironment": "concurrent-with-linux-native-soak",
66
+ "latencyRankingEligible": false
67
+ },
68
+ "limits": {
69
+ "maxPhysicalCalls": 64,
70
+ "maxCostUsd": 2,
71
+ "unknownCostReserveUsd": 0.04,
72
+ "operations": 4
73
+ },
74
+ "modelBoundary": {
75
+ "evaluatorTruthRead": false,
76
+ "retries": 0,
77
+ "fallback": false,
78
+ "conditionalSelection": false
79
+ }
80
+ }