modelrig 0.8.1 → 0.10.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 (382) hide show
  1. package/CHANGELOG.md +324 -0
  2. package/README.md +55 -29
  3. package/data/PROVENANCE.md +14 -0
  4. package/data/pricing-map.json +26 -0
  5. package/dist/adapters/attempt-meta-map.d.ts +8 -1
  6. package/dist/adapters/attempt-meta-map.d.ts.map +1 -1
  7. package/dist/adapters/attempt-meta-map.js +4 -0
  8. package/dist/adapters/build-adapters.js +2 -2
  9. package/dist/adapters/gemini.d.ts +28 -1
  10. package/dist/adapters/gemini.d.ts.map +1 -1
  11. package/dist/adapters/gemini.js +38 -9
  12. package/dist/adapters/grok.d.ts.map +1 -1
  13. package/dist/adapters/grok.js +53 -4
  14. package/dist/adapters/openai-compat.d.ts +8 -2
  15. package/dist/adapters/openai-compat.d.ts.map +1 -1
  16. package/dist/adapters/openai-compat.js +8 -1
  17. package/dist/adapters/openai-stream.d.ts +10 -2
  18. package/dist/adapters/openai-stream.d.ts.map +1 -1
  19. package/dist/adapters/openai-stream.js +5 -1
  20. package/dist/adapters/openai.d.ts +10 -1
  21. package/dist/adapters/openai.d.ts.map +1 -1
  22. package/dist/adapters/openai.js +57 -7
  23. package/dist/adapters/responses-api.d.ts +61 -0
  24. package/dist/adapters/responses-api.d.ts.map +1 -0
  25. package/dist/adapters/responses-api.js +124 -0
  26. package/dist/artifacts/artifact.d.ts +31 -12
  27. package/dist/artifacts/artifact.d.ts.map +1 -1
  28. package/dist/artifacts/artifact.js +218 -188
  29. package/dist/artifacts/index.d.ts +15 -5
  30. package/dist/artifacts/index.d.ts.map +1 -1
  31. package/dist/artifacts/index.js +19 -5
  32. package/dist/artifacts/run-context.d.ts +3 -24
  33. package/dist/artifacts/run-context.d.ts.map +1 -1
  34. package/dist/artifacts/run-context.js +3 -39
  35. package/dist/bakeoff/engine.d.ts +29 -0
  36. package/dist/bakeoff/engine.d.ts.map +1 -1
  37. package/dist/bakeoff/engine.js +47 -0
  38. package/dist/bakeoff/eval-cases-rig.d.ts +36 -0
  39. package/dist/bakeoff/eval-cases-rig.d.ts.map +1 -0
  40. package/dist/bakeoff/eval-cases-rig.js +27 -0
  41. package/dist/bakeoff/eval-cases.d.ts +19 -0
  42. package/dist/bakeoff/eval-cases.d.ts.map +1 -1
  43. package/dist/bakeoff/eval-cases.js +18 -1
  44. package/dist/bakeoff/golden-judge.d.ts +47 -0
  45. package/dist/bakeoff/golden-judge.d.ts.map +1 -0
  46. package/dist/bakeoff/golden-judge.js +49 -0
  47. package/dist/bakeoff/groundedness.d.ts +58 -0
  48. package/dist/bakeoff/groundedness.d.ts.map +1 -0
  49. package/dist/bakeoff/groundedness.js +165 -0
  50. package/dist/bakeoff/quality.d.ts +43 -0
  51. package/dist/bakeoff/quality.d.ts.map +1 -1
  52. package/dist/bakeoff/quality.js +31 -0
  53. package/dist/bakeoff/replay.d.ts +11 -0
  54. package/dist/bakeoff/replay.d.ts.map +1 -1
  55. package/dist/bakeoff/replay.js +12 -0
  56. package/dist/bakeoff/report.d.ts +7 -0
  57. package/dist/bakeoff/report.d.ts.map +1 -1
  58. package/dist/bakeoff/report.js +26 -0
  59. package/dist/cli-judge.d.ts +12 -0
  60. package/dist/cli-judge.d.ts.map +1 -0
  61. package/dist/cli-judge.js +48 -0
  62. package/dist/cli.d.ts.map +1 -1
  63. package/dist/cli.js +22 -42
  64. package/dist/config.d.ts +85 -29
  65. package/dist/config.d.ts.map +1 -1
  66. package/dist/config.js +109 -47
  67. package/dist/detect/detector.d.ts +4 -2
  68. package/dist/detect/detector.d.ts.map +1 -1
  69. package/dist/detect/safe-harbor.d.ts +57 -0
  70. package/dist/detect/safe-harbor.d.ts.map +1 -0
  71. package/dist/detect/safe-harbor.js +278 -0
  72. package/dist/doctor-cli.d.ts +7 -0
  73. package/dist/doctor-cli.d.ts.map +1 -0
  74. package/dist/doctor-cli.js +67 -0
  75. package/dist/doctor-preflight.d.ts +52 -0
  76. package/dist/doctor-preflight.d.ts.map +1 -0
  77. package/dist/doctor-preflight.js +112 -0
  78. package/dist/feedback/coverage.d.ts +11 -8
  79. package/dist/feedback/coverage.d.ts.map +1 -1
  80. package/dist/feedback/coverage.js +29 -16
  81. package/dist/feedback/grade.d.ts +58 -0
  82. package/dist/feedback/grade.d.ts.map +1 -0
  83. package/dist/feedback/grade.js +67 -0
  84. package/dist/gateway/http-protocol.d.ts +20 -1
  85. package/dist/gateway/http-protocol.d.ts.map +1 -1
  86. package/dist/gateway/http-protocol.js +1 -1
  87. package/dist/gateway/serve-client.d.ts +99 -0
  88. package/dist/gateway/serve-client.d.ts.map +1 -0
  89. package/dist/gateway/serve-client.js +360 -0
  90. package/dist/index.d.ts +68 -29
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +167 -46
  93. package/dist/init/observe-cli.js +1 -1
  94. package/dist/init/observe.d.ts +2 -2
  95. package/dist/init/observe.d.ts.map +1 -1
  96. package/dist/init/observe.js +11 -7
  97. package/dist/mask/arm.d.ts +112 -0
  98. package/dist/mask/arm.d.ts.map +1 -0
  99. package/dist/mask/arm.js +179 -0
  100. package/dist/mask/index.d.ts +2 -0
  101. package/dist/mask/index.d.ts.map +1 -1
  102. package/dist/mask/index.js +7 -1
  103. package/dist/mask/mask-policy-cli.d.ts +12 -4
  104. package/dist/mask/mask-policy-cli.d.ts.map +1 -1
  105. package/dist/mask/mask-policy-cli.js +34 -9
  106. package/dist/prompts/manifest.d.ts +128 -0
  107. package/dist/prompts/manifest.d.ts.map +1 -0
  108. package/dist/prompts/manifest.js +214 -0
  109. package/dist/prompts/prompt-fetch.d.ts +84 -0
  110. package/dist/prompts/prompt-fetch.d.ts.map +1 -0
  111. package/dist/prompts/prompt-fetch.js +120 -0
  112. package/dist/prompts/prompt-resolve.d.ts +76 -0
  113. package/dist/prompts/prompt-resolve.d.ts.map +1 -0
  114. package/dist/prompts/prompt-resolve.js +93 -0
  115. package/dist/prompts/slot-resolver.d.ts +91 -0
  116. package/dist/prompts/slot-resolver.d.ts.map +1 -0
  117. package/dist/prompts/slot-resolver.js +135 -0
  118. package/dist/prompts/tools-register.d.ts +60 -0
  119. package/dist/prompts/tools-register.d.ts.map +1 -0
  120. package/dist/prompts/tools-register.js +48 -0
  121. package/dist/prompts/version-hash.d.ts +29 -0
  122. package/dist/prompts/version-hash.d.ts.map +1 -0
  123. package/dist/prompts/version-hash.js +54 -0
  124. package/dist/prompts-export-cli.d.ts +21 -0
  125. package/dist/prompts-export-cli.d.ts.map +1 -0
  126. package/dist/prompts-export-cli.js +130 -0
  127. package/dist/query/grammar.d.ts +2 -2
  128. package/dist/query/grammar.d.ts.map +1 -1
  129. package/dist/query/grammar.js +3 -1
  130. package/dist/query/saved.d.ts +13 -0
  131. package/dist/query/saved.d.ts.map +1 -1
  132. package/dist/query/saved.js +67 -1
  133. package/dist/receipts/types.d.ts +1 -1
  134. package/dist/receipts/types.d.ts.map +1 -1
  135. package/dist/receipts/types.js +1 -0
  136. package/dist/registry/build.d.ts +43 -1
  137. package/dist/registry/build.d.ts.map +1 -1
  138. package/dist/registry/build.js +52 -0
  139. package/dist/registry/cache-policy.d.ts.map +1 -1
  140. package/dist/registry/cache-policy.js +22 -0
  141. package/dist/registry/pricing-shape.d.ts +67 -8
  142. package/dist/registry/pricing-shape.d.ts.map +1 -1
  143. package/dist/registry/pricing-shape.js +50 -13
  144. package/dist/registry/pricing.d.ts +6 -5
  145. package/dist/registry/pricing.d.ts.map +1 -1
  146. package/dist/registry/pricing.js +9 -5
  147. package/dist/registry/rows.d.ts.map +1 -1
  148. package/dist/registry/rows.js +1 -0
  149. package/dist/registry/select.d.ts +6 -1
  150. package/dist/registry/select.d.ts.map +1 -1
  151. package/dist/registry/select.js +11 -0
  152. package/dist/routes/call-config.d.ts +199 -0
  153. package/dist/routes/call-config.d.ts.map +1 -0
  154. package/dist/routes/call-config.js +343 -0
  155. package/dist/routes/destination-loader.d.ts +16 -0
  156. package/dist/routes/destination-loader.d.ts.map +1 -0
  157. package/dist/routes/destination-loader.js +29 -0
  158. package/dist/routes/draft.d.ts +7 -0
  159. package/dist/routes/draft.d.ts.map +1 -1
  160. package/dist/routes/draft.js +12 -0
  161. package/dist/routes/loader.d.ts.map +1 -1
  162. package/dist/routes/loader.js +31 -56
  163. package/dist/routes/objective-loader.d.ts +12 -0
  164. package/dist/routes/objective-loader.d.ts.map +1 -1
  165. package/dist/routes/objective-loader.js +82 -0
  166. package/dist/routes/output-loader.d.ts +42 -0
  167. package/dist/routes/output-loader.d.ts.map +1 -0
  168. package/dist/routes/output-loader.js +112 -0
  169. package/dist/routes/prompt-loader.d.ts +49 -0
  170. package/dist/routes/prompt-loader.d.ts.map +1 -0
  171. package/dist/routes/prompt-loader.js +113 -0
  172. package/dist/routes/resolved-bundle.d.ts +69 -0
  173. package/dist/routes/resolved-bundle.d.ts.map +1 -1
  174. package/dist/routes/resolved-bundle.js +76 -0
  175. package/dist/routes/screen-loader.d.ts +29 -1
  176. package/dist/routes/screen-loader.d.ts.map +1 -1
  177. package/dist/routes/screen-loader.js +59 -1
  178. package/dist/run/accept.d.ts +5 -0
  179. package/dist/run/accept.d.ts.map +1 -1
  180. package/dist/run/accept.js +2 -0
  181. package/dist/run/cost.d.ts +31 -2
  182. package/dist/run/cost.d.ts.map +1 -1
  183. package/dist/run/cost.js +57 -2
  184. package/dist/run/destination.d.ts +39 -0
  185. package/dist/run/destination.d.ts.map +1 -0
  186. package/dist/run/destination.js +45 -0
  187. package/dist/run/dispatch.d.ts +67 -16
  188. package/dist/run/dispatch.d.ts.map +1 -1
  189. package/dist/run/dispatch.js +133 -29
  190. package/dist/run/grounding.d.ts +28 -2
  191. package/dist/run/grounding.d.ts.map +1 -1
  192. package/dist/run/grounding.js +54 -10
  193. package/dist/run/raw-defaults.d.ts.map +1 -1
  194. package/dist/run/raw-defaults.js +6 -1
  195. package/dist/run/raw-finalize.d.ts +50 -0
  196. package/dist/run/raw-finalize.d.ts.map +1 -0
  197. package/dist/run/raw-finalize.js +266 -0
  198. package/dist/run/raw-knobs.d.ts +36 -0
  199. package/dist/run/raw-knobs.d.ts.map +1 -0
  200. package/dist/run/raw-knobs.js +99 -0
  201. package/dist/run/raw-request.d.ts +24 -0
  202. package/dist/run/raw-request.d.ts.map +1 -0
  203. package/dist/run/raw-request.js +69 -0
  204. package/dist/run/raw-schema.d.ts +76 -0
  205. package/dist/run/raw-schema.d.ts.map +1 -0
  206. package/dist/run/raw-schema.js +166 -0
  207. package/dist/run/raw-search-cost.d.ts +48 -0
  208. package/dist/run/raw-search-cost.d.ts.map +1 -0
  209. package/dist/run/raw-search-cost.js +78 -0
  210. package/dist/run/raw-support.d.ts +64 -6
  211. package/dist/run/raw-support.d.ts.map +1 -1
  212. package/dist/run/raw-support.js +84 -11
  213. package/dist/run/raw.d.ts +25 -26
  214. package/dist/run/raw.d.ts.map +1 -1
  215. package/dist/run/raw.js +30 -351
  216. package/dist/run/record-attempt.d.ts +12 -0
  217. package/dist/run/record-attempt.d.ts.map +1 -1
  218. package/dist/run/record-attempt.js +30 -12
  219. package/dist/run/repair-attempt.d.ts +68 -0
  220. package/dist/run/repair-attempt.d.ts.map +1 -0
  221. package/dist/run/repair-attempt.js +180 -0
  222. package/dist/run/resolve-destination.d.ts +49 -0
  223. package/dist/run/resolve-destination.d.ts.map +1 -0
  224. package/dist/run/resolve-destination.js +76 -0
  225. package/dist/run/routing-docs.d.ts.map +1 -1
  226. package/dist/run/routing-docs.js +10 -5
  227. package/dist/run/run.d.ts +30 -1
  228. package/dist/run/run.d.ts.map +1 -1
  229. package/dist/run/run.js +94 -172
  230. package/dist/run/telemetry-row.d.ts +92 -0
  231. package/dist/run/telemetry-row.d.ts.map +1 -0
  232. package/dist/run/telemetry-row.js +81 -0
  233. package/dist/run/validate.d.ts +12 -1
  234. package/dist/run/validate.d.ts.map +1 -1
  235. package/dist/run/validate.js +31 -0
  236. package/dist/run/web-search-pricing.d.ts +43 -0
  237. package/dist/run/web-search-pricing.d.ts.map +1 -0
  238. package/dist/run/web-search-pricing.js +56 -0
  239. package/dist/savings/odometer.d.ts +4 -0
  240. package/dist/savings/odometer.d.ts.map +1 -1
  241. package/dist/savings/odometer.js +20 -1
  242. package/dist/savings/swap-execute.d.ts +7 -0
  243. package/dist/savings/swap-execute.d.ts.map +1 -1
  244. package/dist/savings/swap-execute.js +30 -0
  245. package/dist/savings/swaps-client.d.ts +10 -0
  246. package/dist/savings/swaps-client.d.ts.map +1 -1
  247. package/dist/screen/fixtures/probe-corpora.d.ts +23 -0
  248. package/dist/screen/fixtures/probe-corpora.d.ts.map +1 -0
  249. package/dist/screen/fixtures/probe-corpora.js +69 -0
  250. package/dist/screen/index.d.ts +21 -0
  251. package/dist/screen/index.d.ts.map +1 -0
  252. package/dist/screen/index.js +64 -0
  253. package/dist/screen/model-screen.d.ts +111 -0
  254. package/dist/screen/model-screen.d.ts.map +1 -0
  255. package/dist/screen/model-screen.js +178 -0
  256. package/dist/screen/patterns.d.ts +51 -0
  257. package/dist/screen/patterns.d.ts.map +1 -0
  258. package/dist/screen/patterns.js +151 -0
  259. package/dist/screen/phi-gate.d.ts +52 -0
  260. package/dist/screen/phi-gate.d.ts.map +1 -0
  261. package/dist/screen/phi-gate.js +86 -0
  262. package/dist/screen/policy.d.ts +71 -0
  263. package/dist/screen/policy.d.ts.map +1 -0
  264. package/dist/screen/policy.js +334 -0
  265. package/dist/screen/probe.d.ts +118 -0
  266. package/dist/screen/probe.d.ts.map +1 -0
  267. package/dist/screen/probe.js +132 -0
  268. package/dist/screen/screen-cli.d.ts +16 -0
  269. package/dist/screen/screen-cli.d.ts.map +1 -0
  270. package/dist/screen/screen-cli.js +178 -0
  271. package/dist/screen/screen.d.ts +99 -0
  272. package/dist/screen/screen.d.ts.map +1 -0
  273. package/dist/screen/screen.js +0 -0
  274. package/dist/screen/sidecar.d.ts +69 -0
  275. package/dist/screen/sidecar.d.ts.map +1 -0
  276. package/dist/screen/sidecar.js +145 -0
  277. package/dist/screen/types.d.ts +43 -2
  278. package/dist/screen/types.d.ts.map +1 -1
  279. package/dist/settings/api-fetcher.d.ts +14 -3
  280. package/dist/settings/api-fetcher.d.ts.map +1 -1
  281. package/dist/settings/api-fetcher.js +61 -10
  282. package/dist/settings/grading-guide.d.ts +102 -0
  283. package/dist/settings/grading-guide.d.ts.map +1 -0
  284. package/dist/settings/grading-guide.js +23 -0
  285. package/dist/settings/index.d.ts +3 -2
  286. package/dist/settings/index.d.ts.map +1 -1
  287. package/dist/settings/index.js +2 -1
  288. package/dist/settings/task-settings.d.ts +44 -7
  289. package/dist/settings/task-settings.d.ts.map +1 -1
  290. package/dist/settings/task-settings.js +53 -12
  291. package/dist/status.d.ts +32 -20
  292. package/dist/status.d.ts.map +1 -1
  293. package/dist/status.js +51 -30
  294. package/dist/telemetry/artifact-store.d.ts +5 -6
  295. package/dist/telemetry/artifact-store.d.ts.map +1 -1
  296. package/dist/telemetry/artifact-store.js +21 -24
  297. package/dist/telemetry/attempt-meta.d.ts +76 -1
  298. package/dist/telemetry/attempt-meta.d.ts.map +1 -1
  299. package/dist/telemetry/attempt-meta.js +33 -1
  300. package/dist/telemetry/exporter-setup.d.ts +2 -0
  301. package/dist/telemetry/exporter-setup.d.ts.map +1 -1
  302. package/dist/telemetry/exporter-setup.js +6 -1
  303. package/dist/telemetry/exporter.d.ts +2 -2
  304. package/dist/telemetry/exporter.d.ts.map +1 -1
  305. package/dist/telemetry/exporter.js +22 -41
  306. package/dist/telemetry/grade-mappers.d.ts +25 -0
  307. package/dist/telemetry/grade-mappers.d.ts.map +1 -0
  308. package/dist/telemetry/grade-mappers.js +64 -0
  309. package/dist/telemetry/grades-sql.d.ts +56 -0
  310. package/dist/telemetry/grades-sql.d.ts.map +1 -0
  311. package/dist/telemetry/grades-sql.js +156 -0
  312. package/dist/telemetry/ingest-protocol.d.ts +55 -48
  313. package/dist/telemetry/ingest-protocol.d.ts.map +1 -1
  314. package/dist/telemetry/ingest-protocol.js +48 -83
  315. package/dist/telemetry/org-identity.d.ts +44 -0
  316. package/dist/telemetry/org-identity.d.ts.map +1 -0
  317. package/dist/telemetry/org-identity.js +98 -0
  318. package/dist/telemetry/route-registration.d.ts +48 -0
  319. package/dist/telemetry/route-registration.d.ts.map +1 -0
  320. package/dist/telemetry/route-registration.js +77 -0
  321. package/dist/telemetry/sinks.d.ts +10 -1
  322. package/dist/telemetry/sinks.d.ts.map +1 -1
  323. package/dist/telemetry/sinks.js +52 -6
  324. package/dist/telemetry/store-migrations.d.ts.map +1 -1
  325. package/dist/telemetry/store-migrations.js +64 -0
  326. package/dist/telemetry/store.d.ts +9 -6
  327. package/dist/telemetry/store.d.ts.map +1 -1
  328. package/dist/telemetry/store.js +8 -50
  329. package/dist/tenancy/api-key-format.d.ts +45 -1
  330. package/dist/tenancy/api-key-format.d.ts.map +1 -1
  331. package/dist/tenancy/api-key-format.js +50 -1
  332. package/dist/types/provider.d.ts +23 -3
  333. package/dist/types/provider.d.ts.map +1 -1
  334. package/dist/types/provider.js +26 -0
  335. package/dist/types/route.d.ts +154 -2
  336. package/dist/types/route.d.ts.map +1 -1
  337. package/dist/types/telemetry.d.ts +73 -48
  338. package/dist/types/telemetry.d.ts.map +1 -1
  339. package/dist/validate-cli.d.ts.map +1 -1
  340. package/dist/validate-cli.js +32 -0
  341. package/dist/verify/verify.d.ts +5 -0
  342. package/dist/verify/verify.d.ts.map +1 -1
  343. package/dist/verify/verify.js +2 -0
  344. package/dist/watch/evaluate.d.ts +84 -1
  345. package/dist/watch/evaluate.d.ts.map +1 -1
  346. package/dist/watch/evaluate.js +28 -0
  347. package/dist/watch/monitor.d.ts +8 -2
  348. package/dist/watch/monitor.d.ts.map +1 -1
  349. package/dist/watch/monitor.js +13 -5
  350. package/dist/watch/regret-monitor-cli.d.ts +16 -0
  351. package/dist/watch/regret-monitor-cli.d.ts.map +1 -0
  352. package/dist/watch/regret-monitor-cli.js +137 -0
  353. package/dist/watch/regret-monitor.d.ts +168 -0
  354. package/dist/watch/regret-monitor.d.ts.map +1 -0
  355. package/dist/watch/regret-monitor.js +304 -0
  356. package/dist/watch/upgrade.d.ts +62 -0
  357. package/dist/watch/upgrade.d.ts.map +1 -0
  358. package/dist/watch/upgrade.js +57 -0
  359. package/docs/agent-skill/SKILL.md +181 -9
  360. package/docs/how-it-fits.md +3 -2
  361. package/docs/instrumentation.md +219 -46
  362. package/docs/llms.txt +158 -35
  363. package/docs/managed-serving.md +150 -0
  364. package/docs/mcp-oracle.md +322 -0
  365. package/docs/migration-playbook.md +5 -4
  366. package/docs/quickstart.md +263 -89
  367. package/package.json +18 -4
  368. package/registry/leaderboard.json +74 -0
  369. package/registry/registry.json +232 -112
  370. package/screen.d.ts +16 -0
  371. package/templates/call-disposition-qa.json +77 -0
  372. package/templates/catalog-cleansing.json +77 -0
  373. package/templates/compliance-review.json +76 -0
  374. package/templates/cs-next-action.json +76 -0
  375. package/templates/document-extraction.json +78 -0
  376. package/templates/financial-classification.json +75 -0
  377. package/templates/lead-qualification.json +76 -0
  378. package/templates/medical-classification.json +71 -0
  379. package/templates/ticket-triage.json +76 -0
  380. package/dist/feedback/feedback.d.ts +0 -35
  381. package/dist/feedback/feedback.d.ts.map +0 -1
  382. package/dist/feedback/feedback.js +0 -39
package/dist/index.js CHANGED
@@ -24,17 +24,20 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
24
24
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.rawOnlyRouteFailure = exports.requireRoutesDir = exports.runRawStream = exports.runRaw = exports.hashResolvedBundle = exports.resolveRouteBundle = exports.bundleFromResolved = exports.runStream = exports.KEY_SHAPED_PREFIXES = exports.containsKeyShapedString = exports.scrubSecrets = exports.hasScope = exports.parseScopes = exports.redactApiKey = exports.looksLikeApiKey = exports.hashApiKeySecret = exports.API_KEY_SECRET_BYTES = exports.API_KEY_SCOPES = exports.API_KEY_PREFIX = exports.resolveArtifactsConfig = exports.resolveOtlpConfig = exports.parseOtlpHeaders = exports.decodeOtlpProtobufTraces = exports.looksLikeLogsPayload = exports.normalizeOtlpTraces = exports.startOtlpEmitterIfConfigured = exports.createOtlpEmitter = exports.TRACEPARENT_TAG = exports.parseTraceparent = exports.buildExportTraceRequest = exports.inferenceToSpan = exports.SEMCONV_VERSION = exports.SinkSendError = exports.createDirectSink = exports.createApiSink = exports.createTelemetryExporter = exports.RESERVED_TAG_KEYS = exports.resolvePipelineSha = exports.reservedTagNearMisses = exports.renderRequestForHash = exports.sanitizeMetaForWire = exports.isMetaSafeString = exports.summarizeAttemptMeta = exports.DEFAULT_INGEST_URL = exports.INGEST_PROTOCOL_VERSION_V1 = exports.INGEST_PROTOCOL_VERSION = exports.INGEST_PATH = exports.foreignOrgFeedback = exports.stampBatch = exports.loadConfigFromEnv = void 0;
28
- exports.readObjectLiteral = exports.findCallSitesInText = exports.scanRepoForCallSites = exports.capabilitiesFor = exports.routeNameFor = exports.buildMigrationMarkdown = exports.runInit = exports.renderConfigErrorForTerminal = exports.describeConfigFailure = exports.teachConfigError = exports.classifyConfigProblem = exports.CONFIG_TEACHING = exports.mergeLoadedRoutes = exports.loadRoutesWithExtra = exports.loadRoutes = exports.RouteConfigError = exports.renderFailureForTerminal = exports.teach = exports.FAILURE_TEACHING = exports.isRigFailure = exports.RigFailureError = exports.extractCitations = exports.createTavilySearchProvider = exports.sampleQuality = exports.pairedRegret = exports.wilson95 = exports.aggregateVariantMetrics = exports.OUTPUT_MAX_BYTES = exports.retentionExpiry = exports.truncateOutput = exports.selectArmsToKeep = exports.buildBakeoffSamples = exports.createBakeoffSamplesClient = exports.bakeoffEvidence = exports.computeProposal = exports.mirrorBakeoff = exports.runBakeoff = exports.replayVariant = exports.openTelemetryStore = exports.openCaptureStore = exports.SSE_DONE = exports.MODELRIG_REQUEST_HEADERS = exports.MODELRIG_HEADERS = exports.GATEWAY_PROTOCOL_VERSION = exports.MODELS_PATH = exports.CHAT_COMPLETIONS_PATH = exports.classifyLane = exports.ALL_CAPABILITY_FLAGS = exports.PROVIDER_IDS = exports.RAW_ONLY_FIX_HINT = void 0;
29
- exports.PROBE_FRESHNESS_SLO_DAYS = exports.stalenessSentence = exports.probeFreshness = exports.callNotesFor = exports.evaluateChallengerEligibility = exports.requirementPredicates = exports.PREDICATE_GLOSS = exports.ALL_CAPABILITY_PREDICATES = exports.explainEmptySelection = exports.hasCapability = exports.selectModels = exports.parseCapabilityQuery = exports.capabilityFactsFromEntry = exports.loadRegistryFacts = exports.fingerprintSchema = exports.loadManifest = exports.SNAPSHOT_BASIS = exports.describePricingV2 = exports.tierRates = exports.synthesizeFromFlat = exports.seededCachePolicyProviders = exports.getCachePolicy = exports.DEFAULT_CACHE_HYSTERESIS = exports.classifyCacheVerdict = exports.effectiveInputRate = exports.estimateCostUsd = exports.getPricingV2 = exports.getPricing = exports.resolveCandidates = exports.OPENAI_COMPAT_HOSTS = exports.shapeFireworksModelId = exports.classifyCompatFailure = exports.buildOpenAICompatParams = exports.createOpenAICompatAdapter = exports.createGrokAdapter = exports.createAnthropicAdapter = exports.createDeepSeekAdapter = exports.createOpenAIAdapter = exports.GEMINI_THINKING_CAPABLE_MODELS = exports.createGeminiAdapter = exports.PROVIDER_KEY_ENV = exports.serveabilityWarnings = exports.checkServeability = exports.writeRouteDraft = exports.buildRouteDraft = exports.splitModelKey = exports.seedCandidates = exports.loadRegistryRows = exports.signatureFor = exports.PROVIDER_SIGNATURES = void 0;
30
- exports.buildRestoreYaml = exports.buildSwapChange = exports.runTelemetryQuery = exports.RESERVED_DIMENSION_NAMES = exports.METRIC_COLUMNS = exports.DIMENSION_COLUMNS = exports.sinceIsoFor = exports.savedQueryById = exports.SAVED_QUERIES = exports.ANALYTICS_SCAN_CAP = exports.selectableColumnsAreMetaSafe = exports.planAnalyticsRead = exports.evaluateAnalyticsQuery = exports.describeAnalyticsSchema = exports.parseQuery = exports.QueryGrammarError = exports.compileQuery = exports.writePriorsCells = exports.aggregatePairwiseFromTelemetry = exports.aggregatePriors = exports.DEFAULT_WATCH_MONTHLY_USD = exports.watchEnvelopeKey = exports.reserveWatchBudget = exports.WATCH_STATE_KEY = exports.createFileWatchStateStore = exports.createControlPlaneWatchStateStore = exports.createWatchStateStore = exports.saveWatchState = exports.loadWatchState = exports.computeWatchEvents = exports.buildPriceUniverse = exports.runWatchCycle = exports.DEFAULT_MONITOR_CONFIG = exports.createMonitorReads = exports.rollupConformRate = exports.evaluateConformDegradation = exports.runMonitorCycle = exports.assertTransition = exports.createProposalsClient = exports.explainCacheContext = exports.PROPOSAL_TTL_DAYS = exports.manualChallengerTriggerHash = exports.triggerHash = exports.evaluateEvents = exports.RUNG1_MIN_FEEDBACK = exports.computeCoverage = exports.buildFeedbackRow = exports.computeParity = exports.factsUnderCredential = exports.factsFor = void 0;
31
- exports.computeOdometer = exports.createSwapsClient = exports.executeSwap = exports.trialVariantName = exports.buildDeclareTrialChange = void 0;
27
+ exports.redactApiKey = exports.looksLikeApiKey = exports.hashApiKeySecret = exports.API_KEY_SECRET_BYTES = exports.API_KEY_SCOPES = exports.API_KEY_PREFIX = exports.resolveArtifactsConfig = exports.createToolRegistry = exports.SlotResolutionError = exports.assemblePrompt = exports.createEmbeddedPrompts = exports.createPromptResolver = exports.parseServedPrompt = exports.createPromptCache = exports.createApiPromptFetcher = exports.promptTemplateSha = exports.normalizeManifest = exports.parseAuthoringDoc = exports.assertValidManifest = exports.validateManifest = exports.resolveOtlpConfig = exports.parseOtlpHeaders = exports.decodeOtlpProtobufTraces = exports.looksLikeLogsPayload = exports.normalizeOtlpTraces = exports.startOtlpEmitterIfConfigured = exports.createOtlpEmitter = exports.TRACEPARENT_TAG = exports.parseTraceparent = exports.buildExportTraceRequest = exports.inferenceToSpan = exports.SEMCONV_VERSION = exports.SinkSendError = exports.createDirectSink = exports.createApiSink = exports.createTelemetryExporter = exports.RESERVED_TAG_KEYS = exports.resolvePipelineSha = exports.reservedTagNearMisses = exports.renderRequestForHash = exports.sanitizeMetaForWire = exports.isMetaSafeString = exports.summarizeAttemptMeta = exports.DEFAULT_INGEST_URL = exports.INGEST_PROTOCOL_VERSION_V1 = exports.INGEST_PROTOCOL_VERSION = exports.INGEST_PATH = exports.foreignOrgGrades = exports.stampBatch = exports.loadConfigFromEnv = void 0;
28
+ exports.computeProposal = exports.mirrorBakeoff = exports.runBakeoff = exports.replayVariant = exports.openTelemetryStore = exports.openCaptureStore = exports.SSE_DONE = exports.MODELRIG_REQUEST_HEADERS = exports.MODELRIG_HEADERS = exports.GATEWAY_PROTOCOL_VERSION = exports.MODELS_PATH = exports.CHAT_COMPLETIONS_PATH = exports.classifyLane = exports.ALL_CAPABILITY_FLAGS = exports.PROVIDER_IDS = exports.RAW_ONLY_FIX_HINT = exports.rawOnlyRouteFailure = exports.requireRoutesDir = exports.runRawStream = exports.runRaw = exports.resolveCallConfigForRun = exports.hashUnitKey = exports.armName = exports.drawArm = exports.narrowExperiment = exports.pinFromResolved = exports.parseCallConfig = exports.narrowCallConfigPin = exports.getCallConfig = exports.createCallConfigResolver = exports.createApiCallConfigFetcher = exports.applyCallConfig = exports.assertMirrorSafe = exports.hashResolvedBundle = exports.resolveRouteBundle = exports.bundleFromResolved = exports.runStream = exports.evalCaseCaptureStore = exports.selectEvalCaseCaptures = exports.runBakeoffFromEvalCases = exports.extractEvidenceQuotes = exports.groundednessScore = exports.resolveDeterministicQuality = exports.fieldAccuracy = exports.exactMatch = exports.KEY_SHAPED_PREFIXES = exports.containsKeyShapedString = exports.scrubSecrets = exports.hasScope = exports.parseScopes = void 0;
29
+ exports.servedDestinations = exports.DEFAULT_DESTINATION = exports.DESTINATIONS = exports.GEMINI_THINKING_CAPABLE_MODELS = exports.createGeminiAdapter = exports.PROVIDER_KEY_ENV = exports.serveabilityWarnings = exports.checkServeability = exports.writeRouteDraft = exports.buildRouteDraft = exports.splitModelKey = exports.seedCandidates = exports.loadRegistryRows = exports.signatureFor = exports.PROVIDER_SIGNATURES = exports.readObjectLiteral = exports.findCallSitesInText = exports.scanRepoForCallSites = exports.capabilitiesFor = exports.routeNameFor = exports.buildMigrationMarkdown = exports.runInit = exports.renderConfigErrorForTerminal = exports.describeConfigFailure = exports.teachConfigError = exports.classifyConfigProblem = exports.CONFIG_TEACHING = exports.mergeLoadedRoutes = exports.loadRoutesWithExtra = exports.loadRoutes = exports.RouteConfigError = exports.renderFailureForTerminal = exports.teach = exports.FAILURE_TEACHING = exports.isRigFailure = exports.RigFailureError = exports.extractCitations = exports.createTavilySearchProvider = exports.sampleQuality = exports.pairedRegret = exports.wilson95 = exports.aggregateVariantMetrics = exports.OUTPUT_MAX_BYTES = exports.retentionExpiry = exports.truncateOutput = exports.selectArmsToKeep = exports.buildBakeoffSamples = exports.createBakeoffSamplesClient = exports.deriveSwapDirection = exports.bakeoffEvidence = void 0;
30
+ exports.PROPOSAL_TTL_DAYS = exports.regretBreachTriggerHash = exports.upgradeTriggerHash = exports.manualChallengerTriggerHash = exports.triggerHash = exports.evaluateEvents = exports.RUNG1_MIN_GRADES = exports.computeCoverage = exports.computeParity = exports.factsUnderCredential = exports.factsFor = exports.PROBE_FRESHNESS_SLO_DAYS = exports.stalenessSentence = exports.probeFreshness = exports.callNotesFor = exports.evaluateChallengerEligibility = exports.requirementPredicates = exports.PREDICATE_GLOSS = exports.ALL_CAPABILITY_PREDICATES = exports.explainEmptySelection = exports.hasCapability = exports.selectModels = exports.parseCapabilityQuery = exports.capabilityFactsFromEntry = exports.loadRegistryFacts = exports.fingerprintSchema = exports.loadManifest = exports.SNAPSHOT_BASIS = exports.describePricingV2 = exports.tierRates = exports.synthesizeFromFlat = exports.seededCachePolicyProviders = exports.getCachePolicy = exports.DEFAULT_CACHE_HYSTERESIS = exports.classifyCacheVerdict = exports.effectiveInputRate = exports.estimateCostUsd = exports.getPricingV2 = exports.getPricing = exports.resolveCandidates = exports.OPENAI_COMPAT_HOSTS = exports.shapeFireworksModelId = exports.classifyCompatFailure = exports.buildOpenAICompatParams = exports.createOpenAICompatAdapter = exports.createGrokAdapter = exports.createAnthropicAdapter = exports.createDeepSeekAdapter = exports.createOpenAIAdapter = exports.destinationSupported = void 0;
31
+ exports.RESERVED_DIMENSION_NAMES = exports.METRIC_COLUMNS = exports.DIMENSION_COLUMNS = exports.sinceIsoFor = exports.savedQueryById = exports.SAVED_QUERIES = exports.ANALYTICS_SCAN_CAP = exports.selectableColumnsAreMetaSafe = exports.planAnalyticsRead = exports.evaluateAnalyticsQuery = exports.describeAnalyticsSchema = exports.parseQuery = exports.QueryGrammarError = exports.compileQuery = exports.writePriorsCells = exports.aggregatePairwiseFromTelemetry = exports.aggregatePriors = exports.DEFAULT_WATCH_MONTHLY_USD = exports.watchEnvelopeKey = exports.reserveWatchBudget = exports.WATCH_STATE_KEY = exports.createFileWatchStateStore = exports.createControlPlaneWatchStateStore = exports.createWatchStateStore = exports.saveWatchState = exports.loadWatchState = exports.computeWatchEvents = exports.buildPriceUniverse = exports.runWatchCycle = exports.DEFAULT_MONITOR_CONFIG = exports.createMonitorReads = exports.rollupConformRate = exports.evaluateConformDegradation = exports.runMonitorCycle = exports.assertTransition = exports.createProposalsClient = exports.MONITOR_SOURCE_PREFIX = exports.MONITOR_CYCLE_MARKER = exports.REGRET_MONITOR_MARGIN = exports.REGRET_MONITOR_MIN_N = exports.REGRET_MONITOR_BASELINE_DAYS = exports.REGRET_MONITOR_WINDOW_DAYS = exports.createRegretMonitorReads = exports.regretMonitorConfig = exports.cyclePointFromArtifact = exports.aggregateRegretBand = exports.evaluateRegretDrift = exports.runRegretMonitorCycle = exports.evaluateUpgradeOpportunities = exports.explainCacheContext = void 0;
32
+ exports.computeOdometer = exports.createSwapsClient = exports.executeSwap = exports.trialVariantName = exports.buildDeclareTrialChange = exports.buildRestoreYaml = exports.buildSwapChange = exports.runTelemetryQuery = void 0;
32
33
  exports.createRig = createRig;
33
34
  const build_adapters_1 = require("./adapters/build-adapters");
35
+ const config_1 = require("./config");
34
36
  const rawonly_1 = require("./run/rawonly");
35
37
  const resolved_bundle_1 = require("./routes/resolved-bundle");
36
38
  const serveability_1 = require("./routes/serveability");
37
39
  const manifest_1 = require("./routes/manifest");
40
+ const tools_register_1 = require("./prompts/tools-register");
38
41
  const run_1 = require("./run/run");
39
42
  const stream_1 = require("./run/stream");
40
43
  const raw_1 = require("./run/raw");
@@ -51,13 +54,14 @@ const api_fetcher_1 = require("./settings/api-fetcher");
51
54
  const status_1 = require("./status");
52
55
  const deprecations_1 = require("./deprecations");
53
56
  const otlp_emitter_1 = require("./telemetry/otlp-emitter");
54
- const feedback_1 = require("./feedback/feedback");
57
+ const grade_1 = require("./feedback/grade");
55
58
  const facts_1 = require("./registry/facts");
56
59
  const engine_1 = require("./bakeoff/engine");
57
60
  const replay_1 = require("./bakeoff/replay");
58
61
  const samples_1 = require("./bakeoff/samples");
59
- const eval_cases_1 = require("./bakeoff/eval-cases");
62
+ const eval_cases_rig_1 = require("./bakeoff/eval-cases-rig");
60
63
  const verify_1 = require("./verify/verify");
64
+ const arm_1 = require("./mask/arm");
61
65
  const provider_1 = require("./types/provider");
62
66
  const reference_1 = require("./bakeoff/reference");
63
67
  /** Per-variant replay spend ceiling when the caller doesn't set one. */
@@ -100,6 +104,13 @@ function createRig(config) {
100
104
  return registryFacts.flagsFor(provider, model, staticFlags) ?? staticFlags;
101
105
  };
102
106
  const telemetry = (0, store_1.openTelemetryStore)(config.telemetryDbPath);
107
+ const gradeApi = (0, grade_1.makeGradeApi)(telemetry); // rig.grade — the sole judgment write API (grade primitive)
108
+ // Control-plane settings resolver (§1.5) — api mode only; refreshes task
109
+ // settings on the exporter interval, fail-open, so a console flip is honored
110
+ // without a redeploy. null for local-only/direct (env/YAML their mechanism).
111
+ // Declared BEFORE the artifact wiring so the content-upload path can resolve
112
+ // scrub per task/account from it (P15 CP-3b).
113
+ const settings = (0, api_fetcher_1.startApiSettings)(config, exporter_1.DEFAULT_INTERVAL_MS);
103
114
  // Artifact / execution-graph namespace (Expansion E2) — bound to this rig's
104
115
  // telemetry buffer and gated by config. Disabled ⇒ run.start is a no-op, the
105
116
  // ambient run context is never set, and rig.run's auto-step is never reached.
@@ -110,6 +121,7 @@ function createRig(config) {
110
121
  buffer: telemetry,
111
122
  enabled: artifactsEnabled,
112
123
  artifactStore,
124
+ resolver: settings, // §1.5 per-task/account scrub source for the content-upload path (P15 CP-3b)
113
125
  ...(config.artifacts !== undefined ? { artifacts: config.artifacts } : {}),
114
126
  });
115
127
  // Local-only capture store (Phase 3/§1.5): a YAML opt-in OR api mode — a console flip needs a destination.
@@ -140,12 +152,9 @@ function createRig(config) {
140
152
  artifactsEnabled,
141
153
  artifactStore,
142
154
  ...(onArtifactsFlushed !== undefined ? { onArtifactsFlushed } : {}),
155
+ ...(config.expectOrg !== undefined ? { expectOrg: config.expectOrg } : {}),
143
156
  })
144
157
  : null;
145
- // Control-plane settings resolver (§1.5) — api mode only; refreshes task
146
- // settings on the exporter interval, fail-open, so a console flip is honored
147
- // without a redeploy. null for local-only/direct (env/YAML their mechanism).
148
- const settings = (0, api_fetcher_1.startApiSettings)(config, exporter_1.DEFAULT_INTERVAL_MS);
149
158
  // Boot banner (§2) + one-time deprecation warnings (§3): posture, plus a loud
150
159
  // notice if YAML `capture:` is being ignored under a control plane, or the
151
160
  // `direct` sink is in use. Silent for a pure local-only rig.
@@ -165,6 +174,16 @@ function createRig(config) {
165
174
  captures,
166
175
  search,
167
176
  settings, // §1.5 resolver (null local-only); capture-WRITE gate consults it
177
+ managedServingEnabled: config.managedServing === true, // U3 (D-2): `config.managedServing`, set IN CODE via createRig (NOT an env var); default off ⇒ `modelrig-served` fails closed pre-dispatch
178
+ // K1 (managed-serving-keyless §2/§3): the hosted-gateway serving transport,
179
+ // resolved from the SAME `api`-mode export the telemetry sink uses — the
180
+ // ingest host (MODELRIG_INGEST_URL ‖ default) as `baseUrl`, the `rig_sk_` key
181
+ // as the Bearer credential (NO provider key ever). Absent for local-only /
182
+ // direct rigs ⇒ a `modelrig-served` run fails closed (no control plane to
183
+ // serve it), never a silent `direct` fall back. Read ONLY on the served path.
184
+ ...(config.export?.mode === "api"
185
+ ? { serve: { baseUrl: config.export.ingestUrl, apiKey: config.export.apiKey } }
186
+ : {}),
168
187
  ...(config.envelopeBudgetUsd !== undefined
169
188
  ? { envelopeBudgetUsd: config.envelopeBudgetUsd }
170
189
  : {}),
@@ -189,15 +208,20 @@ function createRig(config) {
189
208
  return captures;
190
209
  }
191
210
  // Bake-off review-sample sink (addendum A3) — direct mode only (see buildDirectSamplesSink; undefined for api/local rigs). S7: scrubs input+output with the task ScrubMode before persist.
192
- const samplesSink = config.export?.mode === "direct" ? (0, samples_1.buildDirectSamplesSink)({ ...config.export, resolver: settings, defaultScrub: config.artifacts?.content?.scrub ?? "off" }) : undefined;
211
+ const samplesSink = config.export?.mode === "direct" ? (0, samples_1.buildDirectSamplesSink)({ ...config.export, resolver: settings, defaultScrub: config.artifacts?.content !== undefined ? config_1.DEFAULT_CONTENT_SCRUB_MODE : "off" }) : undefined;
193
212
  const resolveReferenceAuto = (0, reference_1.makeReferenceAutoResolver)(config.registryPath); // RB-1 reference:auto
213
+ // PSR-2b (spec §4 ADJ-2): the client-fill tool registry backing rig.tools.
214
+ // One per rig; empty until the app calls rig.tools.register. In-process only —
215
+ // no network/telemetry reach, so bound tool keys never leave the process.
216
+ const tools = (0, tools_register_1.createToolRegistry)();
194
217
  return {
195
218
  serveability,
196
219
  capabilities,
197
220
  searchAvailable: search !== null && search !== undefined,
198
221
  artifacts: artifactNamespace,
222
+ tools,
199
223
  exporterStats: () => (exporter !== null ? exporter.stats() : { poisonSkipped: {} }),
200
- status: () => (0, status_1.buildRigStatus)(config, settings?.snapshot() ?? new Map()),
224
+ status: () => (0, status_1.buildRigStatus)(config, settings?.snapshot() ?? new Map(), undefined, settings?.posture() ?? null),
201
225
  run(route, opts) {
202
226
  // Track the task (= route handle) so its control-plane settings stay
203
227
  // fresh on the exporter interval (§1.5). Fire-and-forget, fail-open.
@@ -226,11 +250,7 @@ function createRig(config) {
226
250
  runRawStream(input) {
227
251
  return (0, raw_1.runRawStream)(rawDeps, input);
228
252
  },
229
- feedback(target, opts) {
230
- const row = (0, feedback_1.buildFeedbackRow)(target, opts);
231
- telemetry.recordFeedback(row);
232
- return row;
233
- },
253
+ grade: gradeApi.grade,
234
254
  replay(route, opts) {
235
255
  return (0, replay_1.replayVariant)(deps, captureStoreForReplay(), {
236
256
  route,
@@ -249,34 +269,59 @@ function createRig(config) {
249
269
  ...(opts.objectiveMode !== undefined ? { objectiveMode: opts.objectiveMode } : {}), resolveReferenceAuto,
250
270
  }, samplesSink);
251
271
  },
272
+ maskArm(route, opts) { return (0, arm_1.runMaskArmBakeoff)(deps, captureStoreForReplay(), { route, replayLast: opts.replayLast, envelopeUsd: opts.envelopeUsd ?? DEFAULT_REPLAY_ENVELOPE_USD }); },
252
273
  verifySwap(route, fixture, opts) {
253
274
  settings?.track(route);
254
275
  return (0, verify_1.verifySwap)(deps, { route, fixture, ...(opts?.envelopeUsd !== undefined ? { envelopeUsd: opts.envelopeUsd } : {}) });
255
276
  },
256
277
  bakeoffFromEvalCases(task, opts) {
257
- return (0, eval_cases_1.runBakeoffFromEvalCases)(deps, { artifacts: artifactStore, telemetry, captures: captureStoreForReplay }, {
258
- task,
259
- variants: opts.variants,
260
- envelopeUsdPerVariant: opts.envelopeUsdPerVariant ?? DEFAULT_REPLAY_ENVELOPE_USD, qualityGate: opts.qualityGate,
261
- ...(opts.keepOutputs !== undefined ? { keepOutputs: opts.keepOutputs } : {}),
262
- ...(opts.objectiveMode !== undefined ? { objectiveMode: opts.objectiveMode } : {}), resolveReferenceAuto,
263
- }, samplesSink);
278
+ return (0, eval_cases_rig_1.runRigEvalCasesBakeoff)({ deps, stores: { artifacts: artifactStore, telemetry, captures: captureStoreForReplay }, task, samplesSink, resolveReferenceAuto, defaultEnvelopeUsd: DEFAULT_REPLAY_ENVELOPE_USD, opts });
279
+ },
280
+ bakeoffFromEvalCasesWith(bundle, stores, opts) {
281
+ // Overlay the caller's bundle so the engine's `deps.routes.get(task)`
282
+ // resolves the mirror-served route (the seam runBundle uses); the eval set
283
+ // + inputs + goldens all come from the INJECTED `stores`, never this rig's
284
+ // local artifact store or captures.
285
+ return (0, eval_cases_rig_1.runRigEvalCasesBakeoff)({ deps: { ...deps, routes: (0, resolved_bundle_1.singleRouteStore)(bundle) }, stores, task: bundle.route, samplesSink, resolveReferenceAuto, defaultEnvelopeUsd: DEFAULT_REPLAY_ENVELOPE_USD, opts });
264
286
  },
265
287
  close() {
266
288
  settings?.stop(); // stop the settings refresh loop (§1.5)
267
289
  // DRAIN FIRST, close stores LAST (H1): the final flush reads the artifact
268
290
  // store + captures — closing first lost the final rows (walkthrough 2026-08-20).
269
291
  const closeStores = () => { captures?.close(); artifactStore?.close(); telemetry.close(); };
292
+ // Content custody drains the SAME way (E2-C / E2E-1, finding 2026-08-30):
293
+ // a content upload is fire-and-forget off the customer's hot path, so a
294
+ // short-lived process (InferWealth calls close() once per run at
295
+ // run-pipeline-v3.ts:7251) can exit before the uploads land — the
296
+ // systematic 0 content_ref across every artifact, with the store proven
297
+ // configured and custody proven enabled. So await content completion here,
298
+ // the content analogue of the H1 telemetry drain, BEFORE closeStores():
299
+ // 1. flushContent() settles the in-flight uploads — the first attempt
300
+ // 404s ("metadata not yet durable") and queues a bounded retry, so
301
+ // this is what populates the pending queue in the first place;
302
+ // 2. the telemetry drain below (exporter.stop()) makes those metadata
303
+ // rows durable (its own post-flush hook retries some);
304
+ // 3. drainPendingContent() drains whatever the hook left, so the
305
+ // now-durable uploads land instead of being abandoned at exit.
306
+ // flushContent/retryPendingContent NEVER throw; an inert or custody-off
307
+ // namespace is a no-op (contentPending stays 0). The queue is bounded by
308
+ // CONTENT_RETRY_BUDGET, so the drain loop always terminates.
309
+ const artifact = artifactNamespace.artifact;
310
+ const drainPendingContent = async () => {
311
+ while (artifact.coverage().contentPending > 0)
312
+ await artifact.retryPendingContent();
313
+ };
270
314
  const stops = [];
271
315
  if (exporter !== null)
272
316
  stops.push(exporter.stop());
273
317
  if (otlpEmitter !== null)
274
318
  stops.push(otlpEmitter.stop());
275
- if (stops.length > 0) {
276
- return Promise.allSettled(stops).finally(closeStores).then(() => undefined);
277
- }
278
- closeStores();
279
- return Promise.resolve();
319
+ return artifact
320
+ .flushContent() // settle in-flight uploads (populate the pending queue) FIRST
321
+ .then(() => Promise.allSettled(stops)) // H1 telemetry drain — rows become durable
322
+ .then(drainPendingContent) // land the now-durable pending uploads
323
+ .finally(closeStores) // every store closes strictly LAST (H1)
324
+ .then(() => undefined);
280
325
  },
281
326
  // CE-8 (R1): a runRaw-only rig (routesDir: null) has no routes — override
282
327
  // every route-dependent surface to throw a teaching invariant_violation.
@@ -284,8 +329,8 @@ function createRig(config) {
284
329
  ...(config.routesDir === null ? (0, rawonly_1.rawOnlyRouteMethods)() : {}),
285
330
  };
286
331
  }
287
- var config_1 = require("./config");
288
- Object.defineProperty(exports, "loadConfigFromEnv", { enumerable: true, get: function () { return config_1.loadConfigFromEnv; } });
332
+ var config_2 = require("./config");
333
+ Object.defineProperty(exports, "loadConfigFromEnv", { enumerable: true, get: function () { return config_2.loadConfigFromEnv; } });
289
334
  // The telemetry wire contract (Phase 6 WS2). Exported because modelrig-server
290
335
  // COMPILES AGAINST IT: one definition of a batch and one mapper from batch to
291
336
  // database rows, shared by the SDK's two sinks and the ingest endpoint. A
@@ -293,7 +338,7 @@ Object.defineProperty(exports, "loadConfigFromEnv", { enumerable: true, get: fun
293
338
  // prettier-ignore
294
339
  var ingest_protocol_1 = require("./telemetry/ingest-protocol");
295
340
  Object.defineProperty(exports, "stampBatch", { enumerable: true, get: function () { return ingest_protocol_1.stampBatch; } });
296
- Object.defineProperty(exports, "foreignOrgFeedback", { enumerable: true, get: function () { return ingest_protocol_1.foreignOrgFeedback; } });
341
+ Object.defineProperty(exports, "foreignOrgGrades", { enumerable: true, get: function () { return ingest_protocol_1.foreignOrgGrades; } });
297
342
  Object.defineProperty(exports, "INGEST_PATH", { enumerable: true, get: function () { return ingest_protocol_1.INGEST_PATH; } });
298
343
  Object.defineProperty(exports, "INGEST_PROTOCOL_VERSION", { enumerable: true, get: function () { return ingest_protocol_1.INGEST_PROTOCOL_VERSION; } });
299
344
  Object.defineProperty(exports, "INGEST_PROTOCOL_VERSION_V1", { enumerable: true, get: function () { return ingest_protocol_1.INGEST_PROTOCOL_VERSION_V1; } });
@@ -330,14 +375,41 @@ Object.defineProperty(exports, "normalizeOtlpTraces", { enumerable: true, get: f
330
375
  Object.defineProperty(exports, "looksLikeLogsPayload", { enumerable: true, get: function () { return otel_normalize_1.looksLikeLogsPayload; } });
331
376
  var otlp_proto_1 = require("./telemetry/otlp-proto");
332
377
  Object.defineProperty(exports, "decodeOtlpProtobufTraces", { enumerable: true, get: function () { return otlp_proto_1.decodeOtlpProtobufTraces; } });
333
- var config_2 = require("./config");
334
- Object.defineProperty(exports, "parseOtlpHeaders", { enumerable: true, get: function () { return config_2.parseOtlpHeaders; } });
335
- Object.defineProperty(exports, "resolveOtlpConfig", { enumerable: true, get: function () { return config_2.resolveOtlpConfig; } });
378
+ var config_3 = require("./config");
379
+ Object.defineProperty(exports, "parseOtlpHeaders", { enumerable: true, get: function () { return config_3.parseOtlpHeaders; } });
380
+ Object.defineProperty(exports, "resolveOtlpConfig", { enumerable: true, get: function () { return config_3.resolveOtlpConfig; } });
336
381
  // Artifact / execution-graph namespace (Expansion E2) — the barrel re-exports
337
382
  // step/run-context/types; the run lifecycle is bound per-rig via rig.artifacts.
338
383
  __exportStar(require("./artifacts"), exports);
339
- var config_3 = require("./config");
340
- Object.defineProperty(exports, "resolveArtifactsConfig", { enumerable: true, get: function () { return config_3.resolveArtifactsConfig; } });
384
+ // PSR-1 — the structure-only assembly-manifest model (spec §2.1), re-exported
385
+ // EXPLICITLY from the package entry (not only transitively via the artifacts
386
+ // star-export) so an external consumer resolving the built `dist/index.d.ts`
387
+ // gets `Manifest`/`Slot` + the validators on the public surface unambiguously.
388
+ var manifest_2 = require("./prompts/manifest");
389
+ Object.defineProperty(exports, "validateManifest", { enumerable: true, get: function () { return manifest_2.validateManifest; } });
390
+ Object.defineProperty(exports, "assertValidManifest", { enumerable: true, get: function () { return manifest_2.assertValidManifest; } });
391
+ Object.defineProperty(exports, "parseAuthoringDoc", { enumerable: true, get: function () { return manifest_2.parseAuthoringDoc; } });
392
+ Object.defineProperty(exports, "normalizeManifest", { enumerable: true, get: function () { return manifest_2.normalizeManifest; } });
393
+ // PSR-2 — the content-hash id (`template_sha`) the version store dedupes on.
394
+ var version_hash_1 = require("./prompts/version-hash");
395
+ Object.defineProperty(exports, "promptTemplateSha", { enumerable: true, get: function () { return version_hash_1.promptTemplateSha; } });
396
+ // PSR-2b — SDK fetch-by-label + content cache + fail-open resolver + the
397
+ // client-fill engine (slot resolver) + the tool-binding registry (rig.tools).
398
+ // All client-side / in-process (spec §3–§4).
399
+ var prompt_fetch_1 = require("./prompts/prompt-fetch");
400
+ Object.defineProperty(exports, "createApiPromptFetcher", { enumerable: true, get: function () { return prompt_fetch_1.createApiPromptFetcher; } });
401
+ Object.defineProperty(exports, "createPromptCache", { enumerable: true, get: function () { return prompt_fetch_1.createPromptCache; } });
402
+ Object.defineProperty(exports, "parseServedPrompt", { enumerable: true, get: function () { return prompt_fetch_1.parseServedPrompt; } });
403
+ var prompt_resolve_1 = require("./prompts/prompt-resolve");
404
+ Object.defineProperty(exports, "createPromptResolver", { enumerable: true, get: function () { return prompt_resolve_1.createPromptResolver; } });
405
+ Object.defineProperty(exports, "createEmbeddedPrompts", { enumerable: true, get: function () { return prompt_resolve_1.createEmbeddedPrompts; } });
406
+ var slot_resolver_1 = require("./prompts/slot-resolver");
407
+ Object.defineProperty(exports, "assemblePrompt", { enumerable: true, get: function () { return slot_resolver_1.assemblePrompt; } });
408
+ Object.defineProperty(exports, "SlotResolutionError", { enumerable: true, get: function () { return slot_resolver_1.SlotResolutionError; } });
409
+ var tools_register_2 = require("./prompts/tools-register");
410
+ Object.defineProperty(exports, "createToolRegistry", { enumerable: true, get: function () { return tools_register_2.createToolRegistry; } });
411
+ var config_4 = require("./config");
412
+ Object.defineProperty(exports, "resolveArtifactsConfig", { enumerable: true, get: function () { return config_4.resolveArtifactsConfig; } });
341
413
  __exportStar(require("./detect/detector"), exports); // shared Detector interface (screening A1, types-only)
342
414
  // Control-plane settings resolution (settings-plane §1.5) — the gateway + any
343
415
  // future capture-write consume `effectiveCapture`; the server shares the types.
@@ -360,6 +432,18 @@ var scrub_1 = require("./tenancy/scrub");
360
432
  Object.defineProperty(exports, "scrubSecrets", { enumerable: true, get: function () { return scrub_1.scrubSecrets; } });
361
433
  Object.defineProperty(exports, "containsKeyShapedString", { enumerable: true, get: function () { return scrub_1.containsKeyShapedString; } });
362
434
  Object.defineProperty(exports, "KEY_SHAPED_PREFIXES", { enumerable: true, get: function () { return scrub_1.KEY_SHAPED_PREFIXES; } });
435
+ var quality_1 = require("./bakeoff/quality"); // LRE-1b graders
436
+ Object.defineProperty(exports, "exactMatch", { enumerable: true, get: function () { return quality_1.exactMatch; } });
437
+ Object.defineProperty(exports, "fieldAccuracy", { enumerable: true, get: function () { return quality_1.fieldAccuracy; } });
438
+ Object.defineProperty(exports, "resolveDeterministicQuality", { enumerable: true, get: function () { return quality_1.resolveDeterministicQuality; } });
439
+ var groundedness_1 = require("./bakeoff/groundedness"); // call-QA F3/G6 evidence-grounded grader
440
+ Object.defineProperty(exports, "groundednessScore", { enumerable: true, get: function () { return groundedness_1.groundednessScore; } });
441
+ Object.defineProperty(exports, "extractEvidenceQuotes", { enumerable: true, get: function () { return groundedness_1.extractEvidenceQuotes; } });
442
+ // LRE-1b server runner: the from-eval-cases orchestrator + injected-store contract so modelrig-server drives a cross-plane golden bake-off with the rig's keyed adapters (rig.bakeoffFromEvalCasesWith).
443
+ var eval_cases_1 = require("./bakeoff/eval-cases");
444
+ Object.defineProperty(exports, "runBakeoffFromEvalCases", { enumerable: true, get: function () { return eval_cases_1.runBakeoffFromEvalCases; } });
445
+ Object.defineProperty(exports, "selectEvalCaseCaptures", { enumerable: true, get: function () { return eval_cases_1.selectEvalCaseCaptures; } });
446
+ Object.defineProperty(exports, "evalCaseCaptureStore", { enumerable: true, get: function () { return eval_cases_1.evalCaseCaptureStore; } });
363
447
  // Streaming surface (G-1/G-5 Phase A).
364
448
  var stream_2 = require("./run/stream");
365
449
  Object.defineProperty(exports, "runStream", { enumerable: true, get: function () { return stream_2.runStream; } });
@@ -369,6 +453,20 @@ var resolved_bundle_2 = require("./routes/resolved-bundle");
369
453
  Object.defineProperty(exports, "bundleFromResolved", { enumerable: true, get: function () { return resolved_bundle_2.bundleFromResolved; } });
370
454
  Object.defineProperty(exports, "resolveRouteBundle", { enumerable: true, get: function () { return resolved_bundle_2.resolveRouteBundle; } });
371
455
  Object.defineProperty(exports, "hashResolvedBundle", { enumerable: true, get: function () { return resolved_bundle_2.hashResolvedBundle; } });
456
+ Object.defineProperty(exports, "assertMirrorSafe", { enumerable: true, get: function () { return resolved_bundle_2.assertMirrorSafe; } });
457
+ var call_config_1 = require("./routes/call-config"); // + live-routing call-config (LRE-1a §4 pin; LRE-2 experiment arm-draw)
458
+ Object.defineProperty(exports, "applyCallConfig", { enumerable: true, get: function () { return call_config_1.applyCallConfig; } });
459
+ Object.defineProperty(exports, "createApiCallConfigFetcher", { enumerable: true, get: function () { return call_config_1.createApiCallConfigFetcher; } });
460
+ Object.defineProperty(exports, "createCallConfigResolver", { enumerable: true, get: function () { return call_config_1.createCallConfigResolver; } });
461
+ Object.defineProperty(exports, "getCallConfig", { enumerable: true, get: function () { return call_config_1.getCallConfig; } });
462
+ Object.defineProperty(exports, "narrowCallConfigPin", { enumerable: true, get: function () { return call_config_1.narrowPin; } });
463
+ Object.defineProperty(exports, "parseCallConfig", { enumerable: true, get: function () { return call_config_1.parseCallConfig; } });
464
+ Object.defineProperty(exports, "pinFromResolved", { enumerable: true, get: function () { return call_config_1.pinFromResolved; } });
465
+ Object.defineProperty(exports, "narrowExperiment", { enumerable: true, get: function () { return call_config_1.narrowExperiment; } });
466
+ Object.defineProperty(exports, "drawArm", { enumerable: true, get: function () { return call_config_1.drawArm; } });
467
+ Object.defineProperty(exports, "armName", { enumerable: true, get: function () { return call_config_1.armName; } });
468
+ Object.defineProperty(exports, "hashUnitKey", { enumerable: true, get: function () { return call_config_1.hashUnitKey; } });
469
+ Object.defineProperty(exports, "resolveCallConfigForRun", { enumerable: true, get: function () { return call_config_1.resolveCallConfigForRun; } });
372
470
  // G-1/G-5 Phase C — the raw-lane BYOK passthrough (spec §4.2).
373
471
  var raw_2 = require("./run/raw");
374
472
  Object.defineProperty(exports, "runRaw", { enumerable: true, get: function () { return raw_2.runRaw; } });
@@ -403,6 +501,7 @@ Object.defineProperty(exports, "runBakeoff", { enumerable: true, get: function (
403
501
  Object.defineProperty(exports, "mirrorBakeoff", { enumerable: true, get: function () { return engine_2.mirrorBakeoff; } });
404
502
  Object.defineProperty(exports, "computeProposal", { enumerable: true, get: function () { return engine_2.computeProposal; } });
405
503
  Object.defineProperty(exports, "bakeoffEvidence", { enumerable: true, get: function () { return engine_2.bakeoffEvidence; } });
504
+ Object.defineProperty(exports, "deriveSwapDirection", { enumerable: true, get: function () { return engine_2.deriveSwapDirection; } });
406
505
  var samples_2 = require("./bakeoff/samples");
407
506
  Object.defineProperty(exports, "createBakeoffSamplesClient", { enumerable: true, get: function () { return samples_2.createBakeoffSamplesClient; } });
408
507
  Object.defineProperty(exports, "buildBakeoffSamples", { enumerable: true, get: function () { return samples_2.buildBakeoffSamples; } });
@@ -466,16 +565,22 @@ Object.defineProperty(exports, "writeRouteDraft", { enumerable: true, get: funct
466
565
  var serveability_2 = require("./routes/serveability");
467
566
  Object.defineProperty(exports, "checkServeability", { enumerable: true, get: function () { return serveability_2.checkServeability; } });
468
567
  Object.defineProperty(exports, "serveabilityWarnings", { enumerable: true, get: function () { return serveability_2.serveabilityWarnings; } });
469
- var config_4 = require("./config");
470
- Object.defineProperty(exports, "PROVIDER_KEY_ENV", { enumerable: true, get: function () { return config_4.PROVIDER_KEY_ENV; } });
568
+ var config_5 = require("./config");
569
+ Object.defineProperty(exports, "PROVIDER_KEY_ENV", { enumerable: true, get: function () { return config_5.PROVIDER_KEY_ENV; } });
471
570
  // Probe-suite surface (Phase 2 plan §4: probes drive adapters DIRECTLY, and
472
571
  // mint CandidateRefs through resolveCandidates — the single brand site —
473
572
  // against their own single-candidate probe routes).
474
573
  var gemini_1 = require("./adapters/gemini");
475
574
  Object.defineProperty(exports, "createGeminiAdapter", { enumerable: true, get: function () { return gemini_1.createGeminiAdapter; } });
476
575
  Object.defineProperty(exports, "GEMINI_THINKING_CAPABLE_MODELS", { enumerable: true, get: function () { return gemini_1.GEMINI_THINKING_CAPABLE_MODELS; } });
477
- // CE-9 R5/R6 — the raw-lane provider × knob support matrix (single source of truth for the guard AND the docs) + `rawKnobSupport(p)` so customers don't duplicate our provider lists.
576
+ // CE-9 R5/R6 + Unified Route U1 — the one provider × capability vocabulary (single source of truth for the guard, the docs matrix, AND the serving-destination lookups) + `rawKnobSupport(p)` / `destinationSupport(p)` so customers don't duplicate our provider lists.
478
577
  __exportStar(require("./run/raw-support"), exports);
578
+ // Unified Route U1 (ruling D-2) — the serving `destination` vocabulary; its lookups read the `serving` cell of the capability table above (one source of truth). Managed serving is gated behind the `config.managedServing` flag (set in code via createRig, default off; U3).
579
+ var destination_1 = require("./run/destination");
580
+ Object.defineProperty(exports, "DESTINATIONS", { enumerable: true, get: function () { return destination_1.DESTINATIONS; } });
581
+ Object.defineProperty(exports, "DEFAULT_DESTINATION", { enumerable: true, get: function () { return destination_1.DEFAULT_DESTINATION; } });
582
+ Object.defineProperty(exports, "servedDestinations", { enumerable: true, get: function () { return destination_1.servedDestinations; } });
583
+ Object.defineProperty(exports, "destinationSupported", { enumerable: true, get: function () { return destination_1.destinationSupported; } });
479
584
  var openai_1 = require("./adapters/openai");
480
585
  Object.defineProperty(exports, "createOpenAIAdapter", { enumerable: true, get: function () { return openai_1.createOpenAIAdapter; } });
481
586
  var deepseek_1 = require("./adapters/deepseek");
@@ -510,8 +615,8 @@ Object.defineProperty(exports, "synthesizeFromFlat", { enumerable: true, get: fu
510
615
  Object.defineProperty(exports, "tierRates", { enumerable: true, get: function () { return pricing_shape_1.tierRates; } });
511
616
  Object.defineProperty(exports, "describePricingV2", { enumerable: true, get: function () { return pricing_shape_1.describePricingV2; } });
512
617
  Object.defineProperty(exports, "SNAPSHOT_BASIS", { enumerable: true, get: function () { return pricing_shape_1.SNAPSHOT_BASIS; } });
513
- var manifest_2 = require("./routes/manifest");
514
- Object.defineProperty(exports, "loadManifest", { enumerable: true, get: function () { return manifest_2.loadManifest; } });
618
+ var manifest_3 = require("./routes/manifest");
619
+ Object.defineProperty(exports, "loadManifest", { enumerable: true, get: function () { return manifest_3.loadManifest; } });
515
620
  var fingerprint_1 = require("./registry/fingerprint");
516
621
  Object.defineProperty(exports, "fingerprintSchema", { enumerable: true, get: function () { return fingerprint_1.fingerprintSchema; } });
517
622
  var facts_2 = require("./registry/facts");
@@ -540,18 +645,34 @@ Object.defineProperty(exports, "factsFor", { enumerable: true, get: function ()
540
645
  Object.defineProperty(exports, "factsUnderCredential", { enumerable: true, get: function () { return claims_1.factsUnderCredential; } });
541
646
  var parity_1 = require("./registry/parity");
542
647
  Object.defineProperty(exports, "computeParity", { enumerable: true, get: function () { return parity_1.computeParity; } });
543
- var feedback_2 = require("./feedback/feedback");
544
- Object.defineProperty(exports, "buildFeedbackRow", { enumerable: true, get: function () { return feedback_2.buildFeedbackRow; } });
545
648
  var coverage_1 = require("./feedback/coverage");
546
649
  Object.defineProperty(exports, "computeCoverage", { enumerable: true, get: function () { return coverage_1.computeCoverage; } });
547
- Object.defineProperty(exports, "RUNG1_MIN_FEEDBACK", { enumerable: true, get: function () { return coverage_1.RUNG1_MIN_FEEDBACK; } });
650
+ Object.defineProperty(exports, "RUNG1_MIN_GRADES", { enumerable: true, get: function () { return coverage_1.RUNG1_MIN_GRADES; } });
548
651
  // Watch loop + proposals (Phase 4 WS1).
549
652
  var evaluate_1 = require("./watch/evaluate");
550
653
  Object.defineProperty(exports, "evaluateEvents", { enumerable: true, get: function () { return evaluate_1.evaluateEvents; } });
551
654
  Object.defineProperty(exports, "triggerHash", { enumerable: true, get: function () { return evaluate_1.triggerHash; } });
552
655
  Object.defineProperty(exports, "manualChallengerTriggerHash", { enumerable: true, get: function () { return evaluate_1.manualChallengerTriggerHash; } });
656
+ Object.defineProperty(exports, "upgradeTriggerHash", { enumerable: true, get: function () { return evaluate_1.upgradeTriggerHash; } });
657
+ Object.defineProperty(exports, "regretBreachTriggerHash", { enumerable: true, get: function () { return evaluate_1.regretBreachTriggerHash; } });
553
658
  Object.defineProperty(exports, "PROPOSAL_TTL_DAYS", { enumerable: true, get: function () { return evaluate_1.PROPOSAL_TTL_DAYS; } });
554
659
  Object.defineProperty(exports, "explainCacheContext", { enumerable: true, get: function () { return evaluate_1.explainCacheContext; } });
660
+ // N4 up-swap trigger (near-optimal spec §4.1) + Q1 regret monitor (spec §5).
661
+ var upgrade_1 = require("./watch/upgrade");
662
+ Object.defineProperty(exports, "evaluateUpgradeOpportunities", { enumerable: true, get: function () { return upgrade_1.evaluateUpgradeOpportunities; } });
663
+ var regret_monitor_1 = require("./watch/regret-monitor");
664
+ Object.defineProperty(exports, "runRegretMonitorCycle", { enumerable: true, get: function () { return regret_monitor_1.runRegretMonitorCycle; } });
665
+ Object.defineProperty(exports, "evaluateRegretDrift", { enumerable: true, get: function () { return regret_monitor_1.evaluateRegretDrift; } });
666
+ Object.defineProperty(exports, "aggregateRegretBand", { enumerable: true, get: function () { return regret_monitor_1.aggregateRegretBand; } });
667
+ Object.defineProperty(exports, "cyclePointFromArtifact", { enumerable: true, get: function () { return regret_monitor_1.cyclePointFromArtifact; } });
668
+ Object.defineProperty(exports, "regretMonitorConfig", { enumerable: true, get: function () { return regret_monitor_1.regretMonitorConfig; } });
669
+ Object.defineProperty(exports, "createRegretMonitorReads", { enumerable: true, get: function () { return regret_monitor_1.createRegretMonitorReads; } });
670
+ Object.defineProperty(exports, "REGRET_MONITOR_WINDOW_DAYS", { enumerable: true, get: function () { return regret_monitor_1.REGRET_MONITOR_WINDOW_DAYS; } });
671
+ Object.defineProperty(exports, "REGRET_MONITOR_BASELINE_DAYS", { enumerable: true, get: function () { return regret_monitor_1.REGRET_MONITOR_BASELINE_DAYS; } });
672
+ Object.defineProperty(exports, "REGRET_MONITOR_MIN_N", { enumerable: true, get: function () { return regret_monitor_1.REGRET_MONITOR_MIN_N; } });
673
+ Object.defineProperty(exports, "REGRET_MONITOR_MARGIN", { enumerable: true, get: function () { return regret_monitor_1.REGRET_MONITOR_MARGIN; } });
674
+ Object.defineProperty(exports, "MONITOR_CYCLE_MARKER", { enumerable: true, get: function () { return regret_monitor_1.MONITOR_CYCLE_MARKER; } });
675
+ Object.defineProperty(exports, "MONITOR_SOURCE_PREFIX", { enumerable: true, get: function () { return regret_monitor_1.MONITOR_SOURCE_PREFIX; } });
555
676
  var proposals_1 = require("./watch/proposals");
556
677
  Object.defineProperty(exports, "createProposalsClient", { enumerable: true, get: function () { return proposals_1.createProposalsClient; } });
557
678
  Object.defineProperty(exports, "assertTransition", { enumerable: true, get: function () { return proposals_1.assertTransition; } });
@@ -69,6 +69,6 @@ function cmdObserve(flags) {
69
69
  console.log(`\nwrote ${result.written.length} file(s) to ${outDir}` +
70
70
  (result.skipped.length > 0 ? ` (${result.skipped.length} left alone — already there)` : "") +
71
71
  `\nread ${(0, node_path_1.join)(outDir, "OBSERVE.md")} next — apply the wiring diffs one step at a time.` +
72
- "\nObserve changes no behaviour; with MODELRIG_ARTIFACTS off your pipeline is byte-for-byte the same.");
72
+ "\nObserve changes no behaviour; with no control plane configured your pipeline is byte-for-byte the same.");
73
73
  return 0;
74
74
  }
@@ -15,8 +15,8 @@
15
15
  * agent (or human) to apply with judgment, one step at a time.
16
16
  *
17
17
  * Observe is deliberately NOT migration: it drafts no routes, reroutes no
18
- * model calls, and changes no behaviour. With `MODELRIG_ARTIFACTS` off the
19
- * pipeline is byte-for-byte identical (instrumentation.md).
18
+ * model calls, and changes no behaviour. With no control plane configured (or the
19
+ * org capture posture `off`) the pipeline is byte-for-byte identical (instrumentation.md).
20
20
  */
21
21
  import type { CallSite, FileSystemLike } from "./finder";
22
22
  import type { FinderOptions } from "./finder";
@@ -1 +1 @@
1
- {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/init/observe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;kFACkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG;QAC5B,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QACnC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YAAE,SAAS,EAAE,OAAO,CAAA;SAAE,KAAK,IAAI,CAAC;QAC1D,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;KAC1D,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE;QACb,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;QACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;KAC/C,CAAC;CACH;AAKD;iFACiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAQpE;AAED;;4EAE4E;AAC5E,wBAAgB,WAAW,IAAI,MAAM,CA6DpC;AAoCD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EACrF,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GACxB,MAAM,CA+GR;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CA6DzF"}
1
+ {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/init/observe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;kFACkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG;QAC5B,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QACnC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YAAE,SAAS,EAAE,OAAO,CAAA;SAAE,KAAK,IAAI,CAAC;QAC1D,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;KAC1D,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE;QACb,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;QACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;QAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;KAC/C,CAAC;CACH;AAKD;iFACiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAQpE;AAED;;4EAE4E;AAC5E,wBAAgB,WAAW,IAAI,MAAM,CA6DpC;AAoCD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EACrF,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GACxB,MAAM,CAmHR;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CA6DzF"}
@@ -16,8 +16,8 @@
16
16
  * agent (or human) to apply with judgment, one step at a time.
17
17
  *
18
18
  * Observe is deliberately NOT migration: it drafts no routes, reroutes no
19
- * model calls, and changes no behaviour. With `MODELRIG_ARTIFACTS` off the
20
- * pipeline is byte-for-byte identical (instrumentation.md).
19
+ * model calls, and changes no behaviour. With no control plane configured (or the
20
+ * org capture posture `off`) the pipeline is byte-for-byte identical (instrumentation.md).
21
21
  */
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.stepKeyFor = stepKeyFor;
@@ -49,8 +49,8 @@ function seamContent() {
49
49
  * deleted seam) so it always matches the current SDK. It records each pipeline
50
50
  * run as a run -> step -> artifact chain you click through in the console.
51
51
  *
52
- * Observe-only: no routes move, no model calls are rerouted. With
53
- * MODELRIG_ARTIFACTS off (or no control plane configured) every call here is
52
+ * Observe-only: no routes move, no model calls are rerouted. With no control
53
+ * plane configured (or the org capture posture set to off) every call here is
54
54
  * inert and your pipeline behaves byte-for-byte as before. Nothing here ever
55
55
  * throws into your pipeline — a telemetry write that fails is logged and
56
56
  * dropped (instrumentation.md, "Never throws into your pipeline").
@@ -99,7 +99,7 @@ export function recordStep(
99
99
  const parsed = rig.artifacts.artifact.save(work.json, { name: \`\${stepKey}.output\`, type: "step_output", task: stepKey, stepKey });
100
100
  if (p && parsed) rig.artifacts.artifact.link(parsed, p, "derived_from");
101
101
  if (raw && parsed) rig.artifacts.artifact.link(parsed, raw, "derived_from");
102
- if (parsed) rig.artifacts.artifact.evaluate(parsed, { evaluator: "schema-check", kind: "deterministic", passed: work.conforms });
102
+ if (parsed) rig.grade({ kind: "artifact", id: parsed.id }, { score: work.conforms ? 1 : 0, kind: "deterministic", grader: "schema-check" });
103
103
  }
104
104
  `;
105
105
  }
@@ -146,10 +146,14 @@ function buildObserveMarkdown(plans, seamPath, result, path) {
146
146
  "each is proposed as one instrumented **step**. Apply the diffs one step at a time — a step",
147
147
  "you do not understand yet is a step you can leave for later.",
148
148
  "",
149
- "## 1. Turn the namespace on",
149
+ "## 1. Point at the console (one step, once)",
150
+ "",
151
+ "Capture is **on by default** — one API key turns everything on, and you opt out later in",
152
+ "your **account settings** (the org capture posture), never with an env var. There is no",
153
+ "capture flag to set: once `MODELRIG_API_KEY` is present the run/step/artifact namespace is on.",
150
154
  "",
151
155
  "```bash",
152
- "export MODELRIG_ARTIFACTS=1 # enable the artifact namespace",
156
+ "export MODELRIG_API_KEY=<key> # mint at https://app.modelrig.ai (/keys)",
153
157
  "# export MODELRIG_ARTIFACT_STEPS=step_a,step_b # optional: instrument a subset",
154
158
  "```",
155
159
  "",