zorya-classifier 0.0.0-stage → 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 (369) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE.md +13 -0
  3. package/README.md +139 -2
  4. package/dist/app/cli-arguments.d.ts +40 -0
  5. package/dist/app/cli-arguments.js +67 -0
  6. package/dist/app/cli-route.d.ts +3 -0
  7. package/dist/app/cli-route.js +40 -0
  8. package/dist/app/create-classifier.d.ts +33 -0
  9. package/dist/app/create-classifier.js +312 -0
  10. package/dist/app/extraction-files.d.ts +9 -0
  11. package/dist/app/extraction-files.js +28 -0
  12. package/dist/cli.d.ts +2 -0
  13. package/dist/cli.js +77 -0
  14. package/dist/entities/boundary-view.d.ts +29 -0
  15. package/dist/entities/boundary-view.js +1 -0
  16. package/dist/entities/contracts.d.ts +471 -0
  17. package/dist/entities/contracts.js +97 -0
  18. package/dist/entities/cutout-raster.d.ts +7 -0
  19. package/dist/entities/cutout-raster.js +1 -0
  20. package/dist/entities/errors.d.ts +7 -0
  21. package/dist/entities/errors.js +16 -0
  22. package/dist/entities/object-proposals.d.ts +53 -0
  23. package/dist/entities/object-proposals.js +8 -0
  24. package/dist/entities/representation.d.ts +225 -0
  25. package/dist/entities/representation.js +33 -0
  26. package/dist/entities/segmentation-metadata.d.ts +11 -0
  27. package/dist/entities/segmentation-metadata.js +1 -0
  28. package/dist/entities/segmentation-verification.d.ts +30 -0
  29. package/dist/entities/segmentation-verification.js +1 -0
  30. package/dist/entities/segmentation.d.ts +159 -0
  31. package/dist/entities/segmentation.js +5 -0
  32. package/dist/entities/whole-object.d.ts +128 -0
  33. package/dist/entities/whole-object.js +7 -0
  34. package/dist/features/choice-beam-layout.d.ts +18 -0
  35. package/dist/features/choice-beam-layout.js +136 -0
  36. package/dist/features/choice.d.ts +4 -0
  37. package/dist/features/choice.js +83 -0
  38. package/dist/features/prompts.d.ts +8 -0
  39. package/dist/features/prompts.js +56 -0
  40. package/dist/features/segmentation/box-check.d.ts +10 -0
  41. package/dist/features/segmentation/box-check.js +299 -0
  42. package/dist/features/segmentation/mask.d.ts +6 -0
  43. package/dist/features/segmentation/mask.js +89 -0
  44. package/dist/features/segmentation/packed-mask.d.ts +5 -0
  45. package/dist/features/segmentation/packed-mask.js +53 -0
  46. package/dist/features/uniform-grid.d.ts +3 -0
  47. package/dist/features/uniform-grid.js +35 -0
  48. package/dist/index.d.ts +10 -0
  49. package/dist/index.js +2 -0
  50. package/dist/infrastructure/boundary-view.d.ts +2 -0
  51. package/dist/infrastructure/boundary-view.js +263 -0
  52. package/dist/infrastructure/openrouter-common.d.ts +130 -0
  53. package/dist/infrastructure/openrouter-common.js +317 -0
  54. package/dist/infrastructure/openrouter-vision.d.ts +11 -0
  55. package/dist/infrastructure/openrouter-vision.js +17 -0
  56. package/dist/infrastructure/openrouter.d.ts +19 -0
  57. package/dist/infrastructure/openrouter.js +207 -0
  58. package/dist/infrastructure/raster.d.ts +11 -0
  59. package/dist/infrastructure/raster.js +216 -0
  60. package/dist/infrastructure/segmentation/box-presentation.d.ts +2 -0
  61. package/dist/infrastructure/segmentation/box-presentation.js +136 -0
  62. package/dist/infrastructure/segmentation/cutout-raster.d.ts +3 -0
  63. package/dist/infrastructure/segmentation/cutout-raster.js +79 -0
  64. package/dist/infrastructure/segmentation/grabcut/index.d.ts +13 -0
  65. package/dist/infrastructure/segmentation/grabcut/index.js +118 -0
  66. package/dist/infrastructure/segmentation/grabcut/worker-inference.d.ts +47 -0
  67. package/dist/infrastructure/segmentation/grabcut/worker-inference.js +260 -0
  68. package/dist/infrastructure/segmentation/index.d.ts +2 -0
  69. package/dist/infrastructure/segmentation/index.js +2 -0
  70. package/dist/infrastructure/segmentation/mobile-sam/index.d.ts +58 -0
  71. package/dist/infrastructure/segmentation/mobile-sam/index.js +472 -0
  72. package/dist/infrastructure/segmentation/mobile-sam/worker-inference.d.ts +149 -0
  73. package/dist/infrastructure/segmentation/mobile-sam/worker-inference.js +845 -0
  74. package/dist/infrastructure/segmentation/native-child.d.ts +23 -0
  75. package/dist/infrastructure/segmentation/native-child.js +297 -0
  76. package/dist/infrastructure/segmentation/native-protocol.d.ts +923 -0
  77. package/dist/infrastructure/segmentation/native-protocol.js +242 -0
  78. package/dist/infrastructure/segmentation/native-worker.d.ts +1 -0
  79. package/dist/infrastructure/segmentation/native-worker.js +93 -0
  80. package/dist/infrastructure/segmentation/probe-backend.d.ts +1 -0
  81. package/dist/infrastructure/segmentation/probe-backend.js +31 -0
  82. package/dist/infrastructure/segmentation/proposal-presentation.d.ts +3 -0
  83. package/dist/infrastructure/segmentation/proposal-presentation.js +371 -0
  84. package/dist/infrastructure/segmentation/verify-asset.d.ts +4 -0
  85. package/dist/infrastructure/segmentation/verify-asset.js +32 -0
  86. package/dist/infrastructure/text-representation.d.ts +23 -0
  87. package/dist/infrastructure/text-representation.js +226 -0
  88. package/dist/infrastructure/vision-chat.d.ts +64 -0
  89. package/dist/infrastructure/vision-chat.js +318 -0
  90. package/dist/openai-compatible.d.ts +8 -0
  91. package/dist/openai-compatible.js +11 -0
  92. package/dist/openrouter.d.ts +4 -0
  93. package/dist/openrouter.js +2 -0
  94. package/dist/processes/boundary-state.d.ts +12 -0
  95. package/dist/processes/boundary-state.js +196 -0
  96. package/dist/processes/classify.d.ts +3 -0
  97. package/dist/processes/classify.js +39 -0
  98. package/dist/processes/extract-from-region.d.ts +19 -0
  99. package/dist/processes/extract-from-region.js +415 -0
  100. package/dist/processes/extract.d.ts +25 -0
  101. package/dist/processes/extract.js +223 -0
  102. package/dist/processes/locate.d.ts +3 -0
  103. package/dist/processes/locate.js +274 -0
  104. package/dist/processes/proposal-location.d.ts +19 -0
  105. package/dist/processes/proposal-location.js +396 -0
  106. package/dist/processes/whole-object.d.ts +7 -0
  107. package/dist/processes/whole-object.js +272 -0
  108. package/dist/segmentation.d.ts +10 -0
  109. package/dist/segmentation.js +4 -0
  110. package/dist/shared/choice-mass.d.ts +2 -0
  111. package/dist/shared/choice-mass.js +19 -0
  112. package/dist/shared/gate.d.ts +11 -0
  113. package/dist/shared/gate.js +52 -0
  114. package/dist/shared/input-budget.d.ts +7 -0
  115. package/dist/shared/input-budget.js +21 -0
  116. package/dist/shared/scope.d.ts +12 -0
  117. package/dist/shared/scope.js +29 -0
  118. package/docs/0.2.0-plan.md +190 -0
  119. package/docs/README.ru.md +258 -0
  120. package/docs/acceptance.md +144 -0
  121. package/docs/api.md +49 -0
  122. package/docs/architecture.md +45 -0
  123. package/docs/benchmarks.md +63 -0
  124. package/docs/categorical-presence-port.md +26 -0
  125. package/docs/evidence/current-linux-check.json +15 -0
  126. package/docs/evidence/decisions-completion-v1-manifest.json +96 -0
  127. package/docs/evidence/decisions-completion-v1-report.json +1205 -0
  128. package/docs/evidence/decisions-selection-v1-manifest.json +96 -0
  129. package/docs/evidence/decisions-selection-v1-report.json +1457 -0
  130. package/docs/evidence/jev-pricing-2026-10-18.json +69 -0
  131. package/docs/evidence/linux-check.json +20 -0
  132. package/docs/evidence/linux-check.txt +205 -0
  133. package/docs/evidence/live-release-smoke-manifest.json +82 -0
  134. package/docs/evidence/live-release-smoke-provenance.json +9 -0
  135. package/docs/evidence/live-release-smoke-report.json +2136 -0
  136. package/docs/evidence/live-v1-manifest.json +84 -0
  137. package/docs/evidence/live-v1-provenance.json +9 -0
  138. package/docs/evidence/live-v1-report.json +15555 -0
  139. package/docs/evidence/luna-decisions-fine-probe.json +19 -0
  140. package/docs/evidence/luna-decisions-locator-smoke-manifest.json +39 -0
  141. package/docs/evidence/luna-decisions-locator-smoke-report.json +149 -0
  142. package/docs/evidence/pack-check.json +26 -0
  143. package/docs/evidence/protocol-probes.json +61 -0
  144. package/docs/evidence/rejected-vision-selection-v1-qwen-photo-dev-01.json +42 -0
  145. package/docs/evidence/rejected-vision-selection-v1-qwen-photo-dev-17.json +42 -0
  146. package/docs/evidence/rejected-vision-selection-v1-qwen-photo-heldout-09.json +42 -0
  147. package/docs/evidence/rejected-vision-selection-v2-haiku-photo-dev-16.json +42 -0
  148. package/docs/evidence/rejected-vision-selection-v2-haiku-support-heldout-016.json +42 -0
  149. package/docs/evidence/v02/baseline.json +1043 -0
  150. package/docs/evidence/v02/boundary-variants.md +17 -0
  151. package/docs/evidence/v02/box-confirmation-dev40/README.md +15 -0
  152. package/docs/evidence/v02/box-confirmation-dev40/component-refinement.json +246 -0
  153. package/docs/evidence/v02/box-confirmation-dev40/evaluation.json +1663 -0
  154. package/docs/evidence/v02/box-confirmation-dev40/provenance.json +130 -0
  155. package/docs/evidence/v02/box-confirmation-dev40/report.json +127 -0
  156. package/docs/evidence/v02/box-confirmation-dev40-freeze-20261020-v1.json +230 -0
  157. package/docs/evidence/v02/box-confirmation-method-selection-20261020-v1.json +85 -0
  158. package/docs/evidence/v02/box-heldout-cancelled-before-dispatch-20261021-v1.json +32 -0
  159. package/docs/evidence/v02/box-heldout-combined-seal-20261021-v1.json +89 -0
  160. package/docs/evidence/v02/box-heldout-evaluator-truth-seal-20261021-v1.json +61 -0
  161. package/docs/evidence/v02/box-heldout-exclusion-audit-20261020-v1.json +81 -0
  162. package/docs/evidence/v02/box-heldout-map-seal-20261021-v1.json +48 -0
  163. package/docs/evidence/v02/box-heldout-photo-seal-20261020-v1.json +62 -0
  164. package/docs/evidence/v02/box-heldout-run-freeze-20261021-v1.json +61 -0
  165. package/docs/evidence/v02/box-heldout-source-review-20261020-v1.json +134 -0
  166. package/docs/evidence/v02/box-heldout-ui-seal-20261020-v1.json +44 -0
  167. package/docs/evidence/v02/calculator-proof-root-review-20261020-v1.json +63 -0
  168. package/docs/evidence/v02/categorical-dev40-freeze.json +94 -0
  169. package/docs/evidence/v02/categorical-dev40-preserve.json +460 -0
  170. package/docs/evidence/v02/categorical-dev40-target-only.json +460 -0
  171. package/docs/evidence/v02/categorical-heldout-admission-20261020-v3.json +215 -0
  172. package/docs/evidence/v02/categorical-heldout-admission-20261020-v4.json +270 -0
  173. package/docs/evidence/v02/categorical-heldout-dispatch-authorization-20261020-v4.json +79 -0
  174. package/docs/evidence/v02/categorical-heldout-predispatch-20261020-v3.json +57 -0
  175. package/docs/evidence/v02/categorical-heldout-producer-source-map-v4.json +262 -0
  176. package/docs/evidence/v02/categorical-heldout-producer-source-map.json +263 -0
  177. package/docs/evidence/v02/categorical-heldout-run-freeze-20261020-v3.json +35 -0
  178. package/docs/evidence/v02/categorical-heldout-run-freeze-20261020-v4.json +35 -0
  179. package/docs/evidence/v02/categorical-heldout-v4/README.md +35 -0
  180. package/docs/evidence/v02/categorical-heldout-v4/candidate-evaluation.json +2812 -0
  181. package/docs/evidence/v02/categorical-heldout-v4/candidate-physical-receipts.json +15261 -0
  182. package/docs/evidence/v02/categorical-heldout-v4/candidate-provenance.json +131 -0
  183. package/docs/evidence/v02/categorical-heldout-v4/control-evaluation.json +855 -0
  184. package/docs/evidence/v02/categorical-heldout-v4/control-physical-receipts.json +4402 -0
  185. package/docs/evidence/v02/categorical-heldout-v4/control-provenance.json +31 -0
  186. package/docs/evidence/v02/categorical-heldout-v4/mask-normalized-exploratory.json +682 -0
  187. package/docs/evidence/v02/categorical-heldout-v4/paired-qualification.json +21 -0
  188. package/docs/evidence/v02/categorical-heldout-v4/report.json +258 -0
  189. package/docs/evidence/v02/categorical-presence-dev6.json +144 -0
  190. package/docs/evidence/v02/categorical-presence-dev6.md +18 -0
  191. package/docs/evidence/v02/categorical-vision-method-selection.json +90 -0
  192. package/docs/evidence/v02/checked-region-component-v1/README.md +7 -0
  193. package/docs/evidence/v02/checked-region-component-v1/evidence.json +311 -0
  194. package/docs/evidence/v02/checked-region-resource-interrupted-2b0d09f.json +102 -0
  195. package/docs/evidence/v02/checked-region-segmentation-resource-4df544c-receipt.json +167 -0
  196. package/docs/evidence/v02/checked-region-segmentation-resource-4df544c-root-review.json +58 -0
  197. package/docs/evidence/v02/checked-region-segmentation-resource-987ac32-receipt.json +158 -0
  198. package/docs/evidence/v02/ci-012b935.json +17 -0
  199. package/docs/evidence/v02/ci-0c365cb.json +372 -0
  200. package/docs/evidence/v02/ci-185bde8.json +32 -0
  201. package/docs/evidence/v02/ci-24f849f.json +95 -0
  202. package/docs/evidence/v02/ci-25c19cd.json +375 -0
  203. package/docs/evidence/v02/ci-2922caf.json +375 -0
  204. package/docs/evidence/v02/ci-29357d7.json +29 -0
  205. package/docs/evidence/v02/ci-32aa90d.json +24 -0
  206. package/docs/evidence/v02/ci-35e3064.json +376 -0
  207. package/docs/evidence/v02/ci-4331b1b.json +384 -0
  208. package/docs/evidence/v02/ci-43b7426.json +376 -0
  209. package/docs/evidence/v02/ci-450439c.json +373 -0
  210. package/docs/evidence/v02/ci-46283fe.json +29 -0
  211. package/docs/evidence/v02/ci-4c9c09f.json +34 -0
  212. package/docs/evidence/v02/ci-5579646.json +27 -0
  213. package/docs/evidence/v02/ci-6f9cc15.json +127 -0
  214. package/docs/evidence/v02/ci-7c1051f.json +27 -0
  215. package/docs/evidence/v02/ci-9837888.json +34 -0
  216. package/docs/evidence/v02/ci-987ac32.json +29 -0
  217. package/docs/evidence/v02/ci-9d00fe5.json +25 -0
  218. package/docs/evidence/v02/ci-9f85acc.json +127 -0
  219. package/docs/evidence/v02/ci-be275a6.json +201 -0
  220. package/docs/evidence/v02/ci-c107ddf.json +372 -0
  221. package/docs/evidence/v02/ci-c35f67d.json +127 -0
  222. package/docs/evidence/v02/ci-c5eddd8.json +32 -0
  223. package/docs/evidence/v02/ci-d2042e0.json +372 -0
  224. package/docs/evidence/v02/ci-d684259.json +375 -0
  225. package/docs/evidence/v02/ci-e0c190b.json +127 -0
  226. package/docs/evidence/v02/ci-e551253.json +372 -0
  227. package/docs/evidence/v02/ci-f9d4633.json +29 -0
  228. package/docs/evidence/v02/dev1-proposal-evaluation.md +13 -0
  229. package/docs/evidence/v02/dev2-mobile-sam-proposal-oracle.md +21 -0
  230. package/docs/evidence/v02/dev2-proposal-evaluation.md +21 -0
  231. package/docs/evidence/v02/fresh-development.md +16 -0
  232. package/docs/evidence/v02/fresh-native-numeric/artifact-hashes.json +9 -0
  233. package/docs/evidence/v02/fresh-native-numeric/evaluation-root-v1.json +568 -0
  234. package/docs/evidence/v02/fresh-native-numeric/run-manifest.json +342 -0
  235. package/docs/evidence/v02/fresh-native-numeric/summary.json +5654 -0
  236. package/docs/evidence/v02/fresh-native-outline-axis/artifact-hashes.json +9 -0
  237. package/docs/evidence/v02/fresh-native-outline-axis/evaluation-root-v1.json +568 -0
  238. package/docs/evidence/v02/fresh-native-outline-axis/run-manifest.json +378 -0
  239. package/docs/evidence/v02/fresh-native-outline-axis/summary.json +5605 -0
  240. package/docs/evidence/v02/fresh-text/README.md +23 -0
  241. package/docs/evidence/v02/fresh-text/ascii-contours-v1/classify-followup-run-manifest.json +405 -0
  242. package/docs/evidence/v02/fresh-text/ascii-contours-v1/classify-followup-summary.json +1646 -0
  243. package/docs/evidence/v02/fresh-text/ascii-contours-v1/evaluation.json +568 -0
  244. package/docs/evidence/v02/fresh-text/ascii-contours-v1/original-run-manifest.json +404 -0
  245. package/docs/evidence/v02/fresh-text/ascii-contours-v1/original-summary.json +4416 -0
  246. package/docs/evidence/v02/fresh-text/ascii-luma-v1/classify-followup-run-manifest.json +405 -0
  247. package/docs/evidence/v02/fresh-text/ascii-luma-v1/classify-followup-summary.json +1646 -0
  248. package/docs/evidence/v02/fresh-text/ascii-luma-v1/evaluation.json +568 -0
  249. package/docs/evidence/v02/fresh-text/ascii-luma-v1/original-run-manifest.json +404 -0
  250. package/docs/evidence/v02/fresh-text/ascii-luma-v1/original-summary.json +4647 -0
  251. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/classify-followup-run-manifest.json +405 -0
  252. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/classify-followup-summary.json +846 -0
  253. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/evaluation.json +568 -0
  254. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/original-run-manifest.json +404 -0
  255. package/docs/evidence/v02/fresh-text/ascii-svg-layered-v1/original-summary.json +1789 -0
  256. package/docs/evidence/v02/fresh-text/no-image-control/evaluation.json +568 -0
  257. package/docs/evidence/v02/fresh-text/no-image-control/original-run-manifest.json +404 -0
  258. package/docs/evidence/v02/fresh-text/no-image-control/original-summary.json +3953 -0
  259. package/docs/evidence/v02/fresh-text/palette-grid-v1/classify-followup-run-manifest.json +405 -0
  260. package/docs/evidence/v02/fresh-text/palette-grid-v1/classify-followup-summary.json +1646 -0
  261. package/docs/evidence/v02/fresh-text/palette-grid-v1/evaluation.json +568 -0
  262. package/docs/evidence/v02/fresh-text/palette-grid-v1/original-run-manifest.json +404 -0
  263. package/docs/evidence/v02/fresh-text/palette-grid-v1/original-summary.json +3974 -0
  264. package/docs/evidence/v02/fresh-text/pixel-rle-v1/classify-followup-run-manifest.json +405 -0
  265. package/docs/evidence/v02/fresh-text/pixel-rle-v1/classify-followup-summary.json +1646 -0
  266. package/docs/evidence/v02/fresh-text/pixel-rle-v1/evaluation.json +568 -0
  267. package/docs/evidence/v02/fresh-text/pixel-rle-v1/original-run-manifest.json +404 -0
  268. package/docs/evidence/v02/fresh-text/pixel-rle-v1/original-summary.json +4945 -0
  269. package/docs/evidence/v02/fresh-text/report.json +284 -0
  270. package/docs/evidence/v02/fresh-text/svg-contours-v1/classify-followup-run-manifest.json +405 -0
  271. package/docs/evidence/v02/fresh-text/svg-contours-v1/classify-followup-summary.json +846 -0
  272. package/docs/evidence/v02/fresh-text/svg-contours-v1/evaluation.json +568 -0
  273. package/docs/evidence/v02/fresh-text/svg-contours-v1/original-run-manifest.json +404 -0
  274. package/docs/evidence/v02/fresh-text/svg-contours-v1/original-summary.json +2189 -0
  275. package/docs/evidence/v02/heldout-evaluation-20261020.md +37 -0
  276. package/docs/evidence/v02/heldout-input-derivation.md +18 -0
  277. package/docs/evidence/v02/integration-0c365cb.json +90 -0
  278. package/docs/evidence/v02/integration-25c19cd.json +52 -0
  279. package/docs/evidence/v02/integration-35e3064.json +41 -0
  280. package/docs/evidence/v02/integration-4331b1b.json +42 -0
  281. package/docs/evidence/v02/integration-4c9c09f.json +46 -0
  282. package/docs/evidence/v02/integration-8010aad.json +48 -0
  283. package/docs/evidence/v02/integration-c1aa640.json +41 -0
  284. package/docs/evidence/v02/integration-eea1790.json +46 -0
  285. package/docs/evidence/v02/integration-fa82e65.json +42 -0
  286. package/docs/evidence/v02/jpeg-transport-offline.json +268 -0
  287. package/docs/evidence/v02/jpeg-transport-offline.md +7 -0
  288. package/docs/evidence/v02/local-archive-cleanup.json +59 -0
  289. package/docs/evidence/v02/native-base64-after.json +30 -0
  290. package/docs/evidence/v02/native-base64-before.json +32 -0
  291. package/docs/evidence/v02/native-checked-region-windows-46283fe.json +248 -0
  292. package/docs/evidence/v02/native-checked-region-windows-987ac32.json +141 -0
  293. package/docs/evidence/v02/native-grabcut-windows-4c494a3-run2.json +148 -0
  294. package/docs/evidence/v02/native-grabcut-windows-4c494a3-run3.json +148 -0
  295. package/docs/evidence/v02/native-grabcut-windows-4c494a3.json +56 -0
  296. package/docs/evidence/v02/native-proposal-windows-0c365cb.json +148 -0
  297. package/docs/evidence/v02/native-proposal-windows-450439c.json +156 -0
  298. package/docs/evidence/v02/native-proposal-windows-4c9c09f-retry1.json +147 -0
  299. package/docs/evidence/v02/native-proposal-windows-4c9c09f.json +52 -0
  300. package/docs/evidence/v02/native-region-windows-efc9318.json +163 -0
  301. package/docs/evidence/v02/native-windows-eea1790-baseline.json +198 -0
  302. package/docs/evidence/v02/native-windows-eea1790.json +228 -0
  303. package/docs/evidence/v02/ordinary-luna-axis/run-manifest.json +99 -0
  304. package/docs/evidence/v02/ordinary-luna-axis/summary.json +811 -0
  305. package/docs/evidence/v02/owned-temp-cleanup-20261020-v1.json +28 -0
  306. package/docs/evidence/v02/presentation-paired-20261020.json +1438 -0
  307. package/docs/evidence/v02/proposal-resource-soak-261dc23.json +201 -0
  308. package/docs/evidence/v02/proposal-resource-soak-261dc23.md +15 -0
  309. package/docs/evidence/v02/proposal-resource-soak-450439c-receipt.md +13 -0
  310. package/docs/evidence/v02/reconstructed-c03-box.json +41 -0
  311. package/docs/evidence/v02/region-seeded-dev-v1/README.md +17 -0
  312. package/docs/evidence/v02/region-seeded-dev-v1/evaluation.json +260 -0
  313. package/docs/evidence/v02/region-seeded-dev-v2/README.md +15 -0
  314. package/docs/evidence/v02/region-seeded-dev-v2/evaluation.json +232 -0
  315. package/docs/evidence/v02/region-seeded-dev-v3-candidate-only/README.md +9 -0
  316. package/docs/evidence/v02/region-seeded-dev-v3-candidate-only/control-identity-failure.json +22 -0
  317. package/docs/evidence/v02/region-seeded-dev-v3-candidate-only/evaluation.json +160 -0
  318. package/docs/evidence/v02/region-seeded-dev-v3-control-r2/README.md +9 -0
  319. package/docs/evidence/v02/region-seeded-dev-v3-control-r2/attempt-accounting.json +55 -0
  320. package/docs/evidence/v02/region-seeded-dev-v3-control-r2/evaluation.json +136 -0
  321. package/docs/evidence/v02/region-seeded-development-control-r2-freeze-20261021.json +132 -0
  322. package/docs/evidence/v02/region-seeded-development-freeze-20261021-v1.json +167 -0
  323. package/docs/evidence/v02/region-seeded-development-freeze-20261021-v2.json +186 -0
  324. package/docs/evidence/v02/region-seeded-development-freeze-20261021-v3.json +205 -0
  325. package/docs/evidence/v02/region-seeded-heldout-cancelled-before-dispatch-20261021-v2.json +20 -0
  326. package/docs/evidence/v02/region-seeded-heldout-dispatch-authorization-20261021-v3.json +47 -0
  327. package/docs/evidence/v02/region-seeded-heldout-readiness-audit-20261021-v3.json +125 -0
  328. package/docs/evidence/v02/region-seeded-heldout-run-freeze-20261021-v2.json +234 -0
  329. package/docs/evidence/v02/region-seeded-heldout-run-freeze-20261021-v3.json +357 -0
  330. package/docs/evidence/v02/region-seeded-heldout-v3/README.md +19 -0
  331. package/docs/evidence/v02/region-seeded-heldout-v3/evaluation-summary.json +445 -0
  332. package/docs/evidence/v02/region-seeded-method-selection-20261021-v2.json +66 -0
  333. package/docs/evidence/v02/region-seeded-method-selection-20261021-v3.json +120 -0
  334. package/docs/evidence/v02/region-segmentation-resource-0ba4c87-receipt.json +156 -0
  335. package/docs/evidence/v02/resource-soak-linux-8010aad.json +125 -0
  336. package/docs/evidence/v02/screen-v2-terminal-evaluation.md +22 -0
  337. package/docs/evidence/v02/seed-outline/run-manifest.json +59 -0
  338. package/docs/evidence/v02/seed-outline/summary.json +487 -0
  339. package/docs/evidence/v02/seed-unbounded/run-manifest.json +80 -0
  340. package/docs/evidence/v02/seed-unbounded/summary.json +730 -0
  341. package/docs/evidence/v02/segmentation/README.md +21 -0
  342. package/docs/evidence/v02/segmentation/component-comparison-summary.json +240 -0
  343. package/docs/evidence/v02/segmentation/provenance/MOBILE-SAM-LICENSE.txt +201 -0
  344. package/docs/evidence/v02/segmentation/provenance/OPENCV-LICENSE.txt +202 -0
  345. package/docs/evidence/v02/segmentation/provenance/mobile-sam-download-receipt.json +29 -0
  346. package/docs/evidence/v02/segmentation/provenance/mobile-sam-graph-audit.json +214 -0
  347. package/docs/evidence/v02/segmentation/provenance/mobile-sam-model-metadata.json +166 -0
  348. package/docs/evidence/v02/split-choice-noul-dev6.json +72 -0
  349. package/docs/evidence/v02/split-choice-noul-dev6.md +11 -0
  350. package/docs/evidence/v02/supported-vision-screen-20261020.md +65 -0
  351. package/docs/evidence/v02/wesnoth-1.16.11-minimap-projection-source-audit.md +56 -0
  352. package/docs/evidence/v02/wesnoth-proof-root-review-20261020-v1.json +76 -0
  353. package/docs/evidence/vision-cost-reconciliation.json +37 -0
  354. package/docs/evidence/vision-model-summary.json +562 -0
  355. package/docs/evidence/vision-selection-v1-manifest.json +95 -0
  356. package/docs/evidence/vision-selection-v1-report.json +4598 -0
  357. package/docs/evidence/vision-selection-v2-manifest.json +95 -0
  358. package/docs/evidence/vision-selection-v2-report.json +1139 -0
  359. package/docs/evidence/windows-native.json +73 -0
  360. package/docs/evidence/windows-secrets.json +46 -0
  361. package/docs/operations.md +21 -0
  362. package/docs/plan.md +27 -0
  363. package/docs/provenance.json +32 -0
  364. package/docs/publishing.md +30 -0
  365. package/docs/research/text-transport-audit.md +66 -0
  366. package/docs/results.md +69 -0
  367. package/docs/v02-usage.md +162 -0
  368. package/docs/vision-results.md +78 -0
  369. package/package.json +114 -4
@@ -0,0 +1,1139 @@
1
+ {
2
+ "status": "complete",
3
+ "startedAt": "2026-10-17T22:52:01.290Z",
4
+ "finishedAt": "2026-10-17T22:53:24.939Z",
5
+ "policy": "One fixed additional ordinary vision route, 60 photos and 30 text cases with single-winner protocol; threshold >=55/60 photos, >=37/40 heldout, 30/30 texts, zero errors and known cost. No per-case prompt tuning. Then three fixed-stratum locator smoke cases. Maximum99 new calls, aggregate289 planned/290 allowed with previous190 calls and unknown-cost reservations retained. No retries; two consecutive errors stop a batch, unstarted cases are unverified.",
6
+ "finalists": ["haiku"],
7
+ "selected": null,
8
+ "summaries": [
9
+ {
10
+ "route": "haiku",
11
+ "model": "anthropic/claude-haiku-5.5",
12
+ "provider": "anthropic",
13
+ "photos": 16,
14
+ "photoCorrect": 11,
15
+ "heldout": 0,
16
+ "heldoutCorrect": 0,
17
+ "texts": 30,
18
+ "textCorrect": 29,
19
+ "errors": 3,
20
+ "knownCostUsd": 0.007193600000000002,
21
+ "knownCostCount": 43,
22
+ "priceIndex": 0.175
23
+ }
24
+ ],
25
+ "physicalCalls": 46,
26
+ "aggregatePhysicalCalls": 236,
27
+ "prior": {
28
+ "sha256": "a340e426671b59dd5725ff4bd52f8535f559688ccabb4e270dfe22ddba0fc80f",
29
+ "physicalCalls": 190,
30
+ "budget": {
31
+ "admittedProviderCalls": 190,
32
+ "maxCalls": 290,
33
+ "maxCostUsd": 0.5,
34
+ "knownCostUsd": 0.016755380000000004,
35
+ "unknownCostCalls": 4,
36
+ "inFlightCalls": 0,
37
+ "reservationPerUnknownUsd": 0.05,
38
+ "accountedExposureUsd": 0.21675538000000003,
39
+ "exceededByReportedCost": false
40
+ }
41
+ },
42
+ "protocol": "ranking-size-v2: classify/final one; spatial beam four",
43
+ "budget": {
44
+ "admittedProviderCalls": 236,
45
+ "maxCalls": 290,
46
+ "maxCostUsd": 0.5,
47
+ "knownCostUsd": 0.02394898000000001,
48
+ "unknownCostCalls": 7,
49
+ "inFlightCalls": 0,
50
+ "reservationPerUnknownUsd": 0.05,
51
+ "accountedExposureUsd": 0.37394898000000004,
52
+ "exceededByReportedCost": false
53
+ },
54
+ "stopped": null,
55
+ "rows": [
56
+ {
57
+ "route": "haiku",
58
+ "caseId": "photo-dev-01",
59
+ "split": "dev",
60
+ "kind": "photo",
61
+ "durationMs": 4186.938432999999,
62
+ "result": {
63
+ "choice": "absent",
64
+ "nativeChoice": null,
65
+ "probabilities": null,
66
+ "ranking": ["absent"],
67
+ "tied": [],
68
+ "metadata": {
69
+ "model": "anthropic/claude-haiku-5.5",
70
+ "provider": "Anthropic",
71
+ "requestId": "gen-1792277526-eFqwiddMr3xwnIPaN6cS",
72
+ "durationMs": 4028.7960940000003,
73
+ "costUsd": 0.0002087,
74
+ "attempts": 1
75
+ }
76
+ },
77
+ "expected": "present",
78
+ "correct": false
79
+ },
80
+ {
81
+ "route": "haiku",
82
+ "caseId": "photo-dev-02",
83
+ "split": "dev",
84
+ "kind": "photo",
85
+ "durationMs": 2866.4524260000007,
86
+ "result": {
87
+ "choice": "present",
88
+ "nativeChoice": null,
89
+ "probabilities": null,
90
+ "ranking": ["present"],
91
+ "tied": [],
92
+ "metadata": {
93
+ "model": "anthropic/claude-haiku-5.5",
94
+ "provider": "Anthropic",
95
+ "requestId": "gen-1792277529-xiJkScNaXLf3USyV0x6l",
96
+ "durationMs": 2774.9701290000003,
97
+ "costUsd": 0.0001785,
98
+ "attempts": 1
99
+ }
100
+ },
101
+ "expected": "present",
102
+ "correct": true
103
+ },
104
+ {
105
+ "route": "haiku",
106
+ "caseId": "photo-dev-03",
107
+ "split": "dev",
108
+ "kind": "photo",
109
+ "durationMs": 2289.832863999999,
110
+ "result": {
111
+ "choice": "present",
112
+ "nativeChoice": null,
113
+ "probabilities": null,
114
+ "ranking": ["present"],
115
+ "tied": [],
116
+ "metadata": {
117
+ "model": "anthropic/claude-haiku-5.5",
118
+ "provider": "Anthropic",
119
+ "requestId": "gen-1792277532-8MNjThRv8m5xuO6hC34O",
120
+ "durationMs": 2235.041725,
121
+ "costUsd": 0.0001638,
122
+ "attempts": 1
123
+ }
124
+ },
125
+ "expected": "present",
126
+ "correct": true
127
+ },
128
+ {
129
+ "route": "haiku",
130
+ "caseId": "photo-dev-04",
131
+ "split": "dev",
132
+ "kind": "photo",
133
+ "durationMs": 3076.248227,
134
+ "result": {
135
+ "choice": "present",
136
+ "nativeChoice": null,
137
+ "probabilities": null,
138
+ "ranking": ["present"],
139
+ "tied": [],
140
+ "metadata": {
141
+ "model": "anthropic/claude-haiku-5.5",
142
+ "provider": "Anthropic",
143
+ "requestId": "gen-1792277535-wqMjfwcDkruqhOAtFWSP",
144
+ "durationMs": 2995.6268660000005,
145
+ "costUsd": 0.0001786,
146
+ "attempts": 1
147
+ }
148
+ },
149
+ "expected": "present",
150
+ "correct": true
151
+ },
152
+ {
153
+ "route": "haiku",
154
+ "caseId": "photo-dev-05",
155
+ "split": "dev",
156
+ "kind": "photo",
157
+ "durationMs": 3099.818195,
158
+ "result": {
159
+ "choice": "present",
160
+ "nativeChoice": null,
161
+ "probabilities": null,
162
+ "ranking": ["present"],
163
+ "tied": [],
164
+ "metadata": {
165
+ "model": "anthropic/claude-haiku-5.5",
166
+ "provider": "Anthropic",
167
+ "requestId": "gen-1792277538-SvCLHx2SVIRQlF9qkg1Z",
168
+ "durationMs": 3005.6935410000006,
169
+ "costUsd": 0.0001897,
170
+ "attempts": 1
171
+ }
172
+ },
173
+ "expected": "absent",
174
+ "correct": false
175
+ },
176
+ {
177
+ "route": "haiku",
178
+ "caseId": "photo-dev-06",
179
+ "split": "dev",
180
+ "kind": "photo",
181
+ "durationMs": 3094.087862999999,
182
+ "result": {
183
+ "choice": "absent",
184
+ "nativeChoice": null,
185
+ "probabilities": null,
186
+ "ranking": ["absent"],
187
+ "tied": [],
188
+ "metadata": {
189
+ "model": "anthropic/claude-haiku-5.5",
190
+ "provider": "Anthropic",
191
+ "requestId": "gen-1792277542-WGSqrGQDDZtafduFgL2n",
192
+ "durationMs": 2992.491023999999,
193
+ "costUsd": 0.0001902,
194
+ "attempts": 1
195
+ }
196
+ },
197
+ "expected": "absent",
198
+ "correct": true
199
+ },
200
+ {
201
+ "route": "haiku",
202
+ "caseId": "photo-dev-07",
203
+ "split": "dev",
204
+ "kind": "photo",
205
+ "durationMs": 2876.0894590000025,
206
+ "result": {
207
+ "choice": "present",
208
+ "nativeChoice": null,
209
+ "probabilities": null,
210
+ "ranking": ["present"],
211
+ "tied": [],
212
+ "metadata": {
213
+ "model": "anthropic/claude-haiku-5.5",
214
+ "provider": "Anthropic",
215
+ "requestId": "gen-1792277545-KHi774MLcaVYMUJHXkKG",
216
+ "durationMs": 2775.3465429999997,
217
+ "costUsd": 0.0001896,
218
+ "attempts": 1
219
+ }
220
+ },
221
+ "expected": "absent",
222
+ "correct": false
223
+ },
224
+ {
225
+ "route": "haiku",
226
+ "caseId": "photo-dev-08",
227
+ "split": "dev",
228
+ "kind": "photo",
229
+ "durationMs": 1952.6736820000006,
230
+ "result": {
231
+ "choice": "absent",
232
+ "nativeChoice": null,
233
+ "probabilities": null,
234
+ "ranking": ["absent"],
235
+ "tied": [],
236
+ "metadata": {
237
+ "model": "anthropic/claude-haiku-5.5",
238
+ "provider": "Anthropic",
239
+ "requestId": "gen-1792277548-YXlldMsMhiCMUqOFZKX4",
240
+ "durationMs": 1899.3931890000022,
241
+ "costUsd": 0.0001606,
242
+ "attempts": 1
243
+ }
244
+ },
245
+ "expected": "absent",
246
+ "correct": true
247
+ },
248
+ {
249
+ "route": "haiku",
250
+ "caseId": "photo-dev-09",
251
+ "split": "dev",
252
+ "kind": "photo",
253
+ "durationMs": 3790.9314250000025,
254
+ "result": {
255
+ "choice": "present",
256
+ "nativeChoice": null,
257
+ "probabilities": null,
258
+ "ranking": ["present"],
259
+ "tied": [],
260
+ "metadata": {
261
+ "model": "anthropic/claude-haiku-5.5",
262
+ "provider": "Anthropic",
263
+ "requestId": "gen-1792277551-MA4TWR1LdkwZiqKEvjoI",
264
+ "durationMs": 3658.4025519999996,
265
+ "costUsd": 0.000186,
266
+ "attempts": 1
267
+ }
268
+ },
269
+ "expected": "present",
270
+ "correct": true
271
+ },
272
+ {
273
+ "route": "haiku",
274
+ "caseId": "photo-dev-10",
275
+ "split": "dev",
276
+ "kind": "photo",
277
+ "durationMs": 3521.9219709999998,
278
+ "result": {
279
+ "choice": "present",
280
+ "nativeChoice": null,
281
+ "probabilities": null,
282
+ "ranking": ["present"],
283
+ "tied": [],
284
+ "metadata": {
285
+ "model": "anthropic/claude-haiku-5.5",
286
+ "provider": "Anthropic",
287
+ "requestId": "gen-1792277555-kgRuvlBSfWKy4N5peIeG",
288
+ "durationMs": 3437.460427000002,
289
+ "costUsd": 0.0001786,
290
+ "attempts": 1
291
+ }
292
+ },
293
+ "expected": "present",
294
+ "correct": true
295
+ },
296
+ {
297
+ "route": "haiku",
298
+ "caseId": "photo-dev-11",
299
+ "split": "dev",
300
+ "kind": "photo",
301
+ "durationMs": 3552.7884529999974,
302
+ "result": {
303
+ "choice": "present",
304
+ "nativeChoice": null,
305
+ "probabilities": null,
306
+ "ranking": ["present"],
307
+ "tied": [],
308
+ "metadata": {
309
+ "model": "anthropic/claude-haiku-5.5",
310
+ "provider": "Anthropic",
311
+ "requestId": "gen-1792277559-y2jsW1Vs1wjdoWBbsOb9",
312
+ "durationMs": 3457.210059000001,
313
+ "costUsd": 0.0001896,
314
+ "attempts": 1
315
+ }
316
+ },
317
+ "expected": "present",
318
+ "correct": true
319
+ },
320
+ {
321
+ "route": "haiku",
322
+ "caseId": "photo-dev-12",
323
+ "split": "dev",
324
+ "kind": "photo",
325
+ "durationMs": 3112.059132999995,
326
+ "result": {
327
+ "choice": "present",
328
+ "nativeChoice": null,
329
+ "probabilities": null,
330
+ "ranking": ["present"],
331
+ "tied": [],
332
+ "metadata": {
333
+ "model": "anthropic/claude-haiku-5.5",
334
+ "provider": "Anthropic",
335
+ "requestId": "gen-1792277563-q0UAEaDns2ITc9zifdi5",
336
+ "durationMs": 3020.456140000002,
337
+ "costUsd": 0.0001786,
338
+ "attempts": 1
339
+ }
340
+ },
341
+ "expected": "present",
342
+ "correct": true
343
+ },
344
+ {
345
+ "route": "haiku",
346
+ "caseId": "photo-dev-13",
347
+ "split": "dev",
348
+ "kind": "photo",
349
+ "durationMs": 2695.317473000003,
350
+ "result": {
351
+ "choice": "present",
352
+ "nativeChoice": null,
353
+ "probabilities": null,
354
+ "ranking": ["present"],
355
+ "tied": [],
356
+ "metadata": {
357
+ "model": "anthropic/claude-haiku-5.5",
358
+ "provider": "Anthropic",
359
+ "requestId": "gen-1792277566-DQdeKBwBo74eBgnzbl9J",
360
+ "durationMs": 2610.3702029999986,
361
+ "costUsd": 0.0001786,
362
+ "attempts": 1
363
+ }
364
+ },
365
+ "expected": "present",
366
+ "correct": true
367
+ },
368
+ {
369
+ "route": "haiku",
370
+ "caseId": "photo-dev-14",
371
+ "split": "dev",
372
+ "kind": "photo",
373
+ "durationMs": 3028.0306989999954,
374
+ "result": {
375
+ "choice": "present",
376
+ "nativeChoice": null,
377
+ "probabilities": null,
378
+ "ranking": ["present"],
379
+ "tied": [],
380
+ "metadata": {
381
+ "model": "anthropic/claude-haiku-5.5",
382
+ "provider": "Anthropic",
383
+ "requestId": "gen-1792277569-xbDFCXmvBra1Z6ZFln6g",
384
+ "durationMs": 2930.2998469999948,
385
+ "costUsd": 0.0001971,
386
+ "attempts": 1
387
+ }
388
+ },
389
+ "expected": "present",
390
+ "correct": true
391
+ },
392
+ {
393
+ "route": "haiku",
394
+ "caseId": "photo-dev-15",
395
+ "split": "dev",
396
+ "kind": "photo",
397
+ "durationMs": 3663.347032999998,
398
+ "error": {
399
+ "name": "ClassifierError",
400
+ "code": "AUTHENTICATION",
401
+ "message": "Model provider rejected the request"
402
+ },
403
+ "expected": "present",
404
+ "correct": false
405
+ },
406
+ {
407
+ "route": "haiku",
408
+ "caseId": "photo-dev-16",
409
+ "split": "dev",
410
+ "kind": "photo",
411
+ "durationMs": 3937.1723120000024,
412
+ "error": {
413
+ "name": "ClassifierError",
414
+ "code": "INVALID_RESPONSE",
415
+ "message": "Vision model did not return strict JSON"
416
+ },
417
+ "expected": "present",
418
+ "correct": false
419
+ },
420
+ {
421
+ "route": "haiku",
422
+ "caseId": "support-dev-001",
423
+ "split": "dev",
424
+ "kind": "text",
425
+ "durationMs": 775.4376849999971,
426
+ "result": {
427
+ "choice": "order_status",
428
+ "nativeChoice": null,
429
+ "probabilities": null,
430
+ "ranking": ["order_status"],
431
+ "tied": [],
432
+ "metadata": {
433
+ "model": "anthropic/claude-haiku-5.5",
434
+ "provider": "Anthropic",
435
+ "requestId": "gen-1792277580-wbY7LWPpsQBvCN2yhCX6",
436
+ "durationMs": 773.4610440000033,
437
+ "costUsd": 0.0001589,
438
+ "attempts": 1
439
+ }
440
+ },
441
+ "expected": "order_status",
442
+ "correct": true
443
+ },
444
+ {
445
+ "route": "haiku",
446
+ "caseId": "support-dev-002",
447
+ "split": "dev",
448
+ "kind": "text",
449
+ "durationMs": 704.0598099999988,
450
+ "result": {
451
+ "choice": "order_status",
452
+ "nativeChoice": null,
453
+ "probabilities": null,
454
+ "ranking": ["order_status"],
455
+ "tied": [],
456
+ "metadata": {
457
+ "model": "anthropic/claude-haiku-5.5",
458
+ "provider": "Anthropic",
459
+ "requestId": "gen-1792277580-X872ekaboVZOnqVtUVip",
460
+ "durationMs": 702.2784969999993,
461
+ "costUsd": 0.0001581,
462
+ "attempts": 1
463
+ }
464
+ },
465
+ "expected": "order_status",
466
+ "correct": true
467
+ },
468
+ {
469
+ "route": "haiku",
470
+ "caseId": "support-dev-003",
471
+ "split": "dev",
472
+ "kind": "text",
473
+ "durationMs": 757.0049549999967,
474
+ "result": {
475
+ "choice": "refund",
476
+ "nativeChoice": null,
477
+ "probabilities": null,
478
+ "ranking": ["refund"],
479
+ "tied": [],
480
+ "metadata": {
481
+ "model": "anthropic/claude-haiku-5.5",
482
+ "provider": "Anthropic",
483
+ "requestId": "gen-1792277581-TDTKahtI5d1TIQiPEnJl",
484
+ "durationMs": 755.489327000003,
485
+ "costUsd": 0.0001583,
486
+ "attempts": 1
487
+ }
488
+ },
489
+ "expected": "refund",
490
+ "correct": true
491
+ },
492
+ {
493
+ "route": "haiku",
494
+ "caseId": "support-dev-004",
495
+ "split": "dev",
496
+ "kind": "text",
497
+ "durationMs": 687.3848419999995,
498
+ "result": {
499
+ "choice": "refund",
500
+ "nativeChoice": null,
501
+ "probabilities": null,
502
+ "ranking": ["refund"],
503
+ "tied": [],
504
+ "metadata": {
505
+ "model": "anthropic/claude-haiku-5.5",
506
+ "provider": "Anthropic",
507
+ "requestId": "gen-1792277582-6cebedx4g06Geza1pTOg",
508
+ "durationMs": 685.7265159999952,
509
+ "costUsd": 0.0001578,
510
+ "attempts": 1
511
+ }
512
+ },
513
+ "expected": "refund",
514
+ "correct": true
515
+ },
516
+ {
517
+ "route": "haiku",
518
+ "caseId": "support-dev-005",
519
+ "split": "dev",
520
+ "kind": "text",
521
+ "durationMs": 719.6529339999979,
522
+ "result": {
523
+ "choice": "technical_support",
524
+ "nativeChoice": null,
525
+ "probabilities": null,
526
+ "ranking": ["technical_support"],
527
+ "tied": [],
528
+ "metadata": {
529
+ "model": "anthropic/claude-haiku-5.5",
530
+ "provider": "Anthropic",
531
+ "requestId": "gen-1792277583-aoy0kRdlk5oMfJxKiXLJ",
532
+ "durationMs": 718.1162419999964,
533
+ "costUsd": 0.0001585,
534
+ "attempts": 1
535
+ }
536
+ },
537
+ "expected": "technical_support",
538
+ "correct": true
539
+ },
540
+ {
541
+ "route": "haiku",
542
+ "caseId": "support-dev-006",
543
+ "split": "dev",
544
+ "kind": "text",
545
+ "durationMs": 752.5243739999933,
546
+ "result": {
547
+ "choice": "technical_support",
548
+ "nativeChoice": null,
549
+ "probabilities": null,
550
+ "ranking": ["technical_support"],
551
+ "tied": [],
552
+ "metadata": {
553
+ "model": "anthropic/claude-haiku-5.5",
554
+ "provider": "Anthropic",
555
+ "requestId": "gen-1792277584-MWGJKTB2F7sbYCWz1ClV",
556
+ "durationMs": 750.9014949999982,
557
+ "costUsd": 0.0001592,
558
+ "attempts": 1
559
+ }
560
+ },
561
+ "expected": "technical_support",
562
+ "correct": true
563
+ },
564
+ {
565
+ "route": "haiku",
566
+ "caseId": "support-dev-007",
567
+ "split": "dev",
568
+ "kind": "text",
569
+ "durationMs": 731.4413679999998,
570
+ "result": {
571
+ "choice": "general_feedback",
572
+ "nativeChoice": null,
573
+ "probabilities": null,
574
+ "ranking": ["general_feedback"],
575
+ "tied": [],
576
+ "metadata": {
577
+ "model": "anthropic/claude-haiku-5.5",
578
+ "provider": "Anthropic",
579
+ "requestId": "gen-1792277584-oi7T9dX0F1ZRkLlCptyY",
580
+ "durationMs": 729.6806359999973,
581
+ "costUsd": 0.0001596,
582
+ "attempts": 1
583
+ }
584
+ },
585
+ "expected": "general_feedback",
586
+ "correct": true
587
+ },
588
+ {
589
+ "route": "haiku",
590
+ "caseId": "support-dev-008",
591
+ "split": "dev",
592
+ "kind": "text",
593
+ "durationMs": 823.5796489999993,
594
+ "result": {
595
+ "choice": "general_feedback",
596
+ "nativeChoice": null,
597
+ "probabilities": null,
598
+ "ranking": ["general_feedback"],
599
+ "tied": [],
600
+ "metadata": {
601
+ "model": "anthropic/claude-haiku-5.5",
602
+ "provider": "Anthropic",
603
+ "requestId": "gen-1792277585-CkHb8Z3CRjeb1YfzQavN",
604
+ "durationMs": 821.7692479999969,
605
+ "costUsd": 0.0001603,
606
+ "attempts": 1
607
+ }
608
+ },
609
+ "expected": "general_feedback",
610
+ "correct": true
611
+ },
612
+ {
613
+ "route": "haiku",
614
+ "caseId": "support-dev-009",
615
+ "split": "dev",
616
+ "kind": "text",
617
+ "durationMs": 763.3551240000015,
618
+ "result": {
619
+ "choice": "unknown",
620
+ "nativeChoice": null,
621
+ "probabilities": null,
622
+ "ranking": ["unknown"],
623
+ "tied": [],
624
+ "metadata": {
625
+ "model": "anthropic/claude-haiku-5.5",
626
+ "provider": "Anthropic",
627
+ "requestId": "gen-1792277586-2c5NokTbhHYyglqwf0xT",
628
+ "durationMs": 761.7116200000019,
629
+ "costUsd": 0.0001589,
630
+ "attempts": 1
631
+ }
632
+ },
633
+ "expected": "unknown",
634
+ "correct": true
635
+ },
636
+ {
637
+ "route": "haiku",
638
+ "caseId": "support-dev-010",
639
+ "split": "dev",
640
+ "kind": "text",
641
+ "durationMs": 663.5317950000026,
642
+ "result": {
643
+ "choice": "unknown",
644
+ "nativeChoice": null,
645
+ "probabilities": null,
646
+ "ranking": ["unknown"],
647
+ "tied": [],
648
+ "metadata": {
649
+ "model": "anthropic/claude-haiku-5.5",
650
+ "provider": "Anthropic",
651
+ "requestId": "gen-1792277587-35euZx9tqZV0qcPOQOKo",
652
+ "durationMs": 661.9183080000003,
653
+ "costUsd": 0.0001585,
654
+ "attempts": 1
655
+ }
656
+ },
657
+ "expected": "unknown",
658
+ "correct": true
659
+ },
660
+ {
661
+ "route": "haiku",
662
+ "caseId": "support-heldout-001",
663
+ "split": "heldout",
664
+ "kind": "text",
665
+ "durationMs": 780.5218000000023,
666
+ "result": {
667
+ "choice": "order_status",
668
+ "nativeChoice": null,
669
+ "probabilities": null,
670
+ "ranking": ["order_status"],
671
+ "tied": [],
672
+ "metadata": {
673
+ "model": "anthropic/claude-haiku-5.5",
674
+ "provider": "Anthropic",
675
+ "requestId": "gen-1792277588-GVZmUy5HT3tSLJza8qYc",
676
+ "durationMs": 778.7451030000011,
677
+ "costUsd": 0.0001597,
678
+ "attempts": 1
679
+ }
680
+ },
681
+ "expected": "order_status",
682
+ "correct": true
683
+ },
684
+ {
685
+ "route": "haiku",
686
+ "caseId": "support-heldout-002",
687
+ "split": "heldout",
688
+ "kind": "text",
689
+ "durationMs": 617.5632949999999,
690
+ "result": {
691
+ "choice": "order_status",
692
+ "nativeChoice": null,
693
+ "probabilities": null,
694
+ "ranking": ["order_status"],
695
+ "tied": [],
696
+ "metadata": {
697
+ "model": "anthropic/claude-haiku-5.5",
698
+ "provider": "Anthropic",
699
+ "requestId": "gen-1792277589-kMzHQNKGRr35A443MOSS",
700
+ "durationMs": 616.0627989999994,
701
+ "costUsd": 0.0001589,
702
+ "attempts": 1
703
+ }
704
+ },
705
+ "expected": "order_status",
706
+ "correct": true
707
+ },
708
+ {
709
+ "route": "haiku",
710
+ "caseId": "support-heldout-003",
711
+ "split": "heldout",
712
+ "kind": "text",
713
+ "durationMs": 884.6851409999945,
714
+ "result": {
715
+ "choice": "refund",
716
+ "nativeChoice": null,
717
+ "probabilities": null,
718
+ "ranking": ["refund"],
719
+ "tied": [],
720
+ "metadata": {
721
+ "model": "anthropic/claude-haiku-5.5",
722
+ "provider": "Anthropic",
723
+ "requestId": "gen-1792277589-Pp09AFjLIfTB0FILhjYd",
724
+ "durationMs": 883.1075329999949,
725
+ "costUsd": 0.00016,
726
+ "attempts": 1
727
+ }
728
+ },
729
+ "expected": "refund",
730
+ "correct": true
731
+ },
732
+ {
733
+ "route": "haiku",
734
+ "caseId": "support-heldout-004",
735
+ "split": "heldout",
736
+ "kind": "text",
737
+ "durationMs": 1003.6543539999984,
738
+ "result": {
739
+ "choice": "refund",
740
+ "nativeChoice": null,
741
+ "probabilities": null,
742
+ "ranking": ["refund"],
743
+ "tied": [],
744
+ "metadata": {
745
+ "model": "anthropic/claude-haiku-5.5",
746
+ "provider": "Anthropic",
747
+ "requestId": "gen-1792277590-CWqgwNoX4vypZhlEJFqM",
748
+ "durationMs": 1001.8308570000008,
749
+ "costUsd": 0.000158,
750
+ "attempts": 1
751
+ }
752
+ },
753
+ "expected": "refund",
754
+ "correct": true
755
+ },
756
+ {
757
+ "route": "haiku",
758
+ "caseId": "support-heldout-005",
759
+ "split": "heldout",
760
+ "kind": "text",
761
+ "durationMs": 1140.5337389999986,
762
+ "result": {
763
+ "choice": "technical_support",
764
+ "nativeChoice": null,
765
+ "probabilities": null,
766
+ "ranking": ["technical_support"],
767
+ "tied": [],
768
+ "metadata": {
769
+ "model": "anthropic/claude-haiku-5.5",
770
+ "provider": "Anthropic",
771
+ "requestId": "gen-1792277591-wKHqhBdTPT0JRYINCffC",
772
+ "durationMs": 1138.6985430000059,
773
+ "costUsd": 0.0001609,
774
+ "attempts": 1
775
+ }
776
+ },
777
+ "expected": "technical_support",
778
+ "correct": true
779
+ },
780
+ {
781
+ "route": "haiku",
782
+ "caseId": "support-heldout-006",
783
+ "split": "heldout",
784
+ "kind": "text",
785
+ "durationMs": 750.7187019999983,
786
+ "result": {
787
+ "choice": "technical_support",
788
+ "nativeChoice": null,
789
+ "probabilities": null,
790
+ "ranking": ["technical_support"],
791
+ "tied": [],
792
+ "metadata": {
793
+ "model": "anthropic/claude-haiku-5.5",
794
+ "provider": "Anthropic",
795
+ "requestId": "gen-1792277593-CF9QmPAAJBvd00jNvxE3",
796
+ "durationMs": 749.3605989999996,
797
+ "costUsd": 0.0001592,
798
+ "attempts": 1
799
+ }
800
+ },
801
+ "expected": "technical_support",
802
+ "correct": true
803
+ },
804
+ {
805
+ "route": "haiku",
806
+ "caseId": "support-heldout-007",
807
+ "split": "heldout",
808
+ "kind": "text",
809
+ "durationMs": 653.1931609999956,
810
+ "result": {
811
+ "choice": "general_feedback",
812
+ "nativeChoice": null,
813
+ "probabilities": null,
814
+ "ranking": ["general_feedback"],
815
+ "tied": [],
816
+ "metadata": {
817
+ "model": "anthropic/claude-haiku-5.5",
818
+ "provider": "Anthropic",
819
+ "requestId": "gen-1792277593-ArFxSRPJMMyiARCvn5Zm",
820
+ "durationMs": 651.4647690000056,
821
+ "costUsd": 0.0001614,
822
+ "attempts": 1
823
+ }
824
+ },
825
+ "expected": "general_feedback",
826
+ "correct": true
827
+ },
828
+ {
829
+ "route": "haiku",
830
+ "caseId": "support-heldout-008",
831
+ "split": "heldout",
832
+ "kind": "text",
833
+ "durationMs": 775.4720270000034,
834
+ "result": {
835
+ "choice": "general_feedback",
836
+ "nativeChoice": null,
837
+ "probabilities": null,
838
+ "ranking": ["general_feedback"],
839
+ "tied": [],
840
+ "metadata": {
841
+ "model": "anthropic/claude-haiku-5.5",
842
+ "provider": "Anthropic",
843
+ "requestId": "gen-1792277594-rlOz8Xnr7dDhwevtEZzq",
844
+ "durationMs": 773.835122000004,
845
+ "costUsd": 0.000161,
846
+ "attempts": 1
847
+ }
848
+ },
849
+ "expected": "general_feedback",
850
+ "correct": true
851
+ },
852
+ {
853
+ "route": "haiku",
854
+ "caseId": "support-heldout-009",
855
+ "split": "heldout",
856
+ "kind": "text",
857
+ "durationMs": 929.5359009999956,
858
+ "result": {
859
+ "choice": "unknown",
860
+ "nativeChoice": null,
861
+ "probabilities": null,
862
+ "ranking": ["unknown"],
863
+ "tied": [],
864
+ "metadata": {
865
+ "model": "anthropic/claude-haiku-5.5",
866
+ "provider": "Anthropic",
867
+ "requestId": "gen-1792277595-ZR6hI9LvMnVYl0Yxwnur",
868
+ "durationMs": 928.1135950000025,
869
+ "costUsd": 0.0001606,
870
+ "attempts": 1
871
+ }
872
+ },
873
+ "expected": "unknown",
874
+ "correct": true
875
+ },
876
+ {
877
+ "route": "haiku",
878
+ "caseId": "support-heldout-010",
879
+ "split": "heldout",
880
+ "kind": "text",
881
+ "durationMs": 928.6158629999991,
882
+ "result": {
883
+ "choice": "unknown",
884
+ "nativeChoice": null,
885
+ "probabilities": null,
886
+ "ranking": ["unknown"],
887
+ "tied": [],
888
+ "metadata": {
889
+ "model": "anthropic/claude-haiku-5.5",
890
+ "provider": "Anthropic",
891
+ "requestId": "gen-1792277596-KAmFFqOkEVzLmk5cTO91",
892
+ "durationMs": 926.8366349999997,
893
+ "costUsd": 0.0001584,
894
+ "attempts": 1
895
+ }
896
+ },
897
+ "expected": "unknown",
898
+ "correct": true
899
+ },
900
+ {
901
+ "route": "haiku",
902
+ "caseId": "support-heldout-011",
903
+ "split": "heldout",
904
+ "kind": "text",
905
+ "durationMs": 799.8279490000132,
906
+ "result": {
907
+ "choice": "order_status",
908
+ "nativeChoice": null,
909
+ "probabilities": null,
910
+ "ranking": ["order_status"],
911
+ "tied": [],
912
+ "metadata": {
913
+ "model": "anthropic/claude-haiku-5.5",
914
+ "provider": "Anthropic",
915
+ "requestId": "gen-1792277597-JOW1ZfcRAmbTtLVpHkWG",
916
+ "durationMs": 798.4264800000092,
917
+ "costUsd": 0.0001609,
918
+ "attempts": 1
919
+ }
920
+ },
921
+ "expected": "order_status",
922
+ "correct": true
923
+ },
924
+ {
925
+ "route": "haiku",
926
+ "caseId": "support-heldout-012",
927
+ "split": "heldout",
928
+ "kind": "text",
929
+ "durationMs": 805.7516249999899,
930
+ "result": {
931
+ "choice": "order_status",
932
+ "nativeChoice": null,
933
+ "probabilities": null,
934
+ "ranking": ["order_status"],
935
+ "tied": [],
936
+ "metadata": {
937
+ "model": "anthropic/claude-haiku-5.5",
938
+ "provider": "Anthropic",
939
+ "requestId": "gen-1792277598-PHB0jmCnCdfUzJ5dL3is",
940
+ "durationMs": 804.175642000002,
941
+ "costUsd": 0.0001593,
942
+ "attempts": 1
943
+ }
944
+ },
945
+ "expected": "order_status",
946
+ "correct": true
947
+ },
948
+ {
949
+ "route": "haiku",
950
+ "caseId": "support-heldout-013",
951
+ "split": "heldout",
952
+ "kind": "text",
953
+ "durationMs": 893.8787470000098,
954
+ "result": {
955
+ "choice": "refund",
956
+ "nativeChoice": null,
957
+ "probabilities": null,
958
+ "ranking": ["refund"],
959
+ "tied": [],
960
+ "metadata": {
961
+ "model": "anthropic/claude-haiku-5.5",
962
+ "provider": "Anthropic",
963
+ "requestId": "gen-1792277599-l3oq3e3l1dP5RSQyQ1re",
964
+ "durationMs": 892.1396909999894,
965
+ "costUsd": 0.0001595,
966
+ "attempts": 1
967
+ }
968
+ },
969
+ "expected": "refund",
970
+ "correct": true
971
+ },
972
+ {
973
+ "route": "haiku",
974
+ "caseId": "support-heldout-014",
975
+ "split": "heldout",
976
+ "kind": "text",
977
+ "durationMs": 717.6131969999988,
978
+ "result": {
979
+ "choice": "refund",
980
+ "nativeChoice": null,
981
+ "probabilities": null,
982
+ "ranking": ["refund"],
983
+ "tied": [],
984
+ "metadata": {
985
+ "model": "anthropic/claude-haiku-5.5",
986
+ "provider": "Anthropic",
987
+ "requestId": "gen-1792277600-WyI95E9XeTHLMx85e9Tl",
988
+ "durationMs": 716.1555170000065,
989
+ "costUsd": 0.0001583,
990
+ "attempts": 1
991
+ }
992
+ },
993
+ "expected": "refund",
994
+ "correct": true
995
+ },
996
+ {
997
+ "route": "haiku",
998
+ "caseId": "support-heldout-015",
999
+ "split": "heldout",
1000
+ "kind": "text",
1001
+ "durationMs": 827.2024240000028,
1002
+ "result": {
1003
+ "choice": "technical_support",
1004
+ "nativeChoice": null,
1005
+ "probabilities": null,
1006
+ "ranking": ["technical_support"],
1007
+ "tied": [],
1008
+ "metadata": {
1009
+ "model": "anthropic/claude-haiku-5.5",
1010
+ "provider": "Anthropic",
1011
+ "requestId": "gen-1792277600-zKQfVicZdfJtkeIRwgun",
1012
+ "durationMs": 825.6765619999933,
1013
+ "costUsd": 0.0001606,
1014
+ "attempts": 1
1015
+ }
1016
+ },
1017
+ "expected": "technical_support",
1018
+ "correct": true
1019
+ },
1020
+ {
1021
+ "route": "haiku",
1022
+ "caseId": "support-heldout-016",
1023
+ "split": "heldout",
1024
+ "kind": "text",
1025
+ "durationMs": 717.7295410000079,
1026
+ "error": {
1027
+ "name": "ClassifierError",
1028
+ "code": "INVALID_RESPONSE",
1029
+ "message": "Vision model did not return strict JSON"
1030
+ },
1031
+ "expected": "technical_support",
1032
+ "correct": false
1033
+ },
1034
+ {
1035
+ "route": "haiku",
1036
+ "caseId": "support-heldout-017",
1037
+ "split": "heldout",
1038
+ "kind": "text",
1039
+ "durationMs": 695.0269799999951,
1040
+ "result": {
1041
+ "choice": "general_feedback",
1042
+ "nativeChoice": null,
1043
+ "probabilities": null,
1044
+ "ranking": ["general_feedback"],
1045
+ "tied": [],
1046
+ "metadata": {
1047
+ "model": "anthropic/claude-haiku-5.5",
1048
+ "provider": "Anthropic",
1049
+ "requestId": "gen-1792277602-bQhUia4NU33vwF8MBSrC",
1050
+ "durationMs": 693.5447439999989,
1051
+ "costUsd": 0.0001612,
1052
+ "attempts": 1
1053
+ }
1054
+ },
1055
+ "expected": "general_feedback",
1056
+ "correct": true
1057
+ },
1058
+ {
1059
+ "route": "haiku",
1060
+ "caseId": "support-heldout-018",
1061
+ "split": "heldout",
1062
+ "kind": "text",
1063
+ "durationMs": 895.8286410000001,
1064
+ "result": {
1065
+ "choice": "general_feedback",
1066
+ "nativeChoice": null,
1067
+ "probabilities": null,
1068
+ "ranking": ["general_feedback"],
1069
+ "tied": [],
1070
+ "metadata": {
1071
+ "model": "anthropic/claude-haiku-5.5",
1072
+ "provider": "Anthropic",
1073
+ "requestId": "gen-1792277603-7VW5OumSB3NlS4RL9gyy",
1074
+ "durationMs": 894.0671189999994,
1075
+ "costUsd": 0.0001595,
1076
+ "attempts": 1
1077
+ }
1078
+ },
1079
+ "expected": "general_feedback",
1080
+ "correct": true
1081
+ },
1082
+ {
1083
+ "route": "haiku",
1084
+ "caseId": "support-heldout-019",
1085
+ "split": "heldout",
1086
+ "kind": "text",
1087
+ "durationMs": 638.9705570000078,
1088
+ "result": {
1089
+ "choice": "unknown",
1090
+ "nativeChoice": null,
1091
+ "probabilities": null,
1092
+ "ranking": ["unknown"],
1093
+ "tied": [],
1094
+ "metadata": {
1095
+ "model": "anthropic/claude-haiku-5.5",
1096
+ "provider": "Anthropic",
1097
+ "requestId": "gen-1792277604-C5ZpdvAWx0qLmjb0VDxJ",
1098
+ "durationMs": 637.5505340000091,
1099
+ "costUsd": 0.0001605,
1100
+ "attempts": 1
1101
+ }
1102
+ },
1103
+ "expected": "unknown",
1104
+ "correct": true
1105
+ },
1106
+ {
1107
+ "route": "haiku",
1108
+ "caseId": "support-heldout-020",
1109
+ "split": "heldout",
1110
+ "kind": "text",
1111
+ "durationMs": 654.2288739999931,
1112
+ "result": {
1113
+ "choice": "unknown",
1114
+ "nativeChoice": null,
1115
+ "probabilities": null,
1116
+ "ranking": ["unknown"],
1117
+ "tied": [],
1118
+ "metadata": {
1119
+ "model": "anthropic/claude-haiku-5.5",
1120
+ "provider": "Anthropic",
1121
+ "requestId": "gen-1792277605-d4SOIS1z4sB06vAZ0j4l",
1122
+ "durationMs": 652.7989290000114,
1123
+ "costUsd": 0.0001594,
1124
+ "attempts": 1
1125
+ }
1126
+ },
1127
+ "expected": "unknown",
1128
+ "correct": true
1129
+ }
1130
+ ],
1131
+ "limitations": [
1132
+ "Public images can overlap model training",
1133
+ "Authored text fixtures are not customer traffic",
1134
+ "No accuracy guarantees outside this corpus",
1135
+ "Initial run evaluates two finalists; extension evaluates one fixed route; protocol variants are not paired comparisons",
1136
+ "Locator cases are integration smoke, not full localization quality",
1137
+ "Local cost reservations are not an account-side spending cap"
1138
+ ]
1139
+ }