@sema-ai/core 1.275.1

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 (962) hide show
  1. package/CHANGELOG.md +5433 -0
  2. package/LICENSE +27 -0
  3. package/NOTICE.md +30 -0
  4. package/README.md +1040 -0
  5. package/dist/agents/agent-definition.d.ts +10 -0
  6. package/dist/agents/agent-definition.d.ts.map +1 -0
  7. package/dist/agents/agent-definition.js +18 -0
  8. package/dist/agents/agent-definition.js.map +1 -0
  9. package/dist/agents/builtin-agents.d.ts +69 -0
  10. package/dist/agents/builtin-agents.d.ts.map +1 -0
  11. package/dist/agents/builtin-agents.js +177 -0
  12. package/dist/agents/builtin-agents.js.map +1 -0
  13. package/dist/agents/cascade.d.ts +101 -0
  14. package/dist/agents/cascade.d.ts.map +1 -0
  15. package/dist/agents/cascade.js +189 -0
  16. package/dist/agents/cascade.js.map +1 -0
  17. package/dist/agents/observer.d.ts +209 -0
  18. package/dist/agents/observer.d.ts.map +1 -0
  19. package/dist/agents/observer.js +495 -0
  20. package/dist/agents/observer.js.map +1 -0
  21. package/dist/agents/repair-loop.d.ts +236 -0
  22. package/dist/agents/repair-loop.d.ts.map +1 -0
  23. package/dist/agents/repair-loop.js +293 -0
  24. package/dist/agents/repair-loop.js.map +1 -0
  25. package/dist/agents/session-util.d.ts +8 -0
  26. package/dist/agents/session-util.d.ts.map +1 -0
  27. package/dist/agents/session-util.js +9 -0
  28. package/dist/agents/session-util.js.map +1 -0
  29. package/dist/agents/subagent-steps.d.ts +93 -0
  30. package/dist/agents/subagent-steps.d.ts.map +1 -0
  31. package/dist/agents/subagent-steps.js +206 -0
  32. package/dist/agents/subagent-steps.js.map +1 -0
  33. package/dist/agents/subagent.d.ts +441 -0
  34. package/dist/agents/subagent.d.ts.map +1 -0
  35. package/dist/agents/subagent.js +2492 -0
  36. package/dist/agents/subagent.js.map +1 -0
  37. package/dist/agents/suspend-guard.d.ts +35 -0
  38. package/dist/agents/suspend-guard.d.ts.map +1 -0
  39. package/dist/agents/suspend-guard.js +48 -0
  40. package/dist/agents/suspend-guard.js.map +1 -0
  41. package/dist/agents/teacher.d.ts +137 -0
  42. package/dist/agents/teacher.d.ts.map +1 -0
  43. package/dist/agents/teacher.js +575 -0
  44. package/dist/agents/teacher.js.map +1 -0
  45. package/dist/agents/team.d.ts +211 -0
  46. package/dist/agents/team.d.ts.map +1 -0
  47. package/dist/agents/team.js +293 -0
  48. package/dist/agents/team.js.map +1 -0
  49. package/dist/agents/tool-filter.d.ts +29 -0
  50. package/dist/agents/tool-filter.d.ts.map +1 -0
  51. package/dist/agents/tool-filter.js +50 -0
  52. package/dist/agents/tool-filter.js.map +1 -0
  53. package/dist/agents/verify.d.ts +177 -0
  54. package/dist/agents/verify.d.ts.map +1 -0
  55. package/dist/agents/verify.js +305 -0
  56. package/dist/agents/verify.js.map +1 -0
  57. package/dist/bench/metrics.d.ts +714 -0
  58. package/dist/bench/metrics.d.ts.map +1 -0
  59. package/dist/bench/metrics.js +618 -0
  60. package/dist/bench/metrics.js.map +1 -0
  61. package/dist/bin/sema-tb.d.ts +3 -0
  62. package/dist/bin/sema-tb.d.ts.map +1 -0
  63. package/dist/bin/sema-tb.js +516 -0
  64. package/dist/bin/sema-tb.js.map +1 -0
  65. package/dist/bin/tb-env.d.ts +13 -0
  66. package/dist/bin/tb-env.d.ts.map +1 -0
  67. package/dist/bin/tb-env.js +26 -0
  68. package/dist/bin/tb-env.js.map +1 -0
  69. package/dist/brain/anthropic.d.ts +46 -0
  70. package/dist/brain/anthropic.d.ts.map +1 -0
  71. package/dist/brain/anthropic.js +830 -0
  72. package/dist/brain/anthropic.js.map +1 -0
  73. package/dist/brain/circuit-breaker.d.ts +46 -0
  74. package/dist/brain/circuit-breaker.d.ts.map +1 -0
  75. package/dist/brain/circuit-breaker.js +173 -0
  76. package/dist/brain/circuit-breaker.js.map +1 -0
  77. package/dist/brain/degrading.d.ts +98 -0
  78. package/dist/brain/degrading.d.ts.map +1 -0
  79. package/dist/brain/degrading.js +249 -0
  80. package/dist/brain/degrading.js.map +1 -0
  81. package/dist/brain/errors.d.ts +31 -0
  82. package/dist/brain/errors.d.ts.map +1 -0
  83. package/dist/brain/errors.js +58 -0
  84. package/dist/brain/errors.js.map +1 -0
  85. package/dist/brain/failover.d.ts +18 -0
  86. package/dist/brain/failover.d.ts.map +1 -0
  87. package/dist/brain/failover.js +118 -0
  88. package/dist/brain/failover.js.map +1 -0
  89. package/dist/brain/model-presets.d.ts +36 -0
  90. package/dist/brain/model-presets.d.ts.map +1 -0
  91. package/dist/brain/model-presets.js +54 -0
  92. package/dist/brain/model-presets.js.map +1 -0
  93. package/dist/brain/openai.d.ts +43 -0
  94. package/dist/brain/openai.d.ts.map +1 -0
  95. package/dist/brain/openai.js +784 -0
  96. package/dist/brain/openai.js.map +1 -0
  97. package/dist/brain/reasoning.d.ts +138 -0
  98. package/dist/brain/reasoning.d.ts.map +1 -0
  99. package/dist/brain/reasoning.js +146 -0
  100. package/dist/brain/reasoning.js.map +1 -0
  101. package/dist/brain/repetition.d.ts +60 -0
  102. package/dist/brain/repetition.d.ts.map +1 -0
  103. package/dist/brain/repetition.js +121 -0
  104. package/dist/brain/repetition.js.map +1 -0
  105. package/dist/brain/request-params.d.ts +29 -0
  106. package/dist/brain/request-params.d.ts.map +1 -0
  107. package/dist/brain/request-params.js +78 -0
  108. package/dist/brain/request-params.js.map +1 -0
  109. package/dist/brain/retry.d.ts +18 -0
  110. package/dist/brain/retry.d.ts.map +1 -0
  111. package/dist/brain/retry.js +42 -0
  112. package/dist/brain/retry.js.map +1 -0
  113. package/dist/brain/routing.d.ts +19 -0
  114. package/dist/brain/routing.d.ts.map +1 -0
  115. package/dist/brain/routing.js +44 -0
  116. package/dist/brain/routing.js.map +1 -0
  117. package/dist/brain/status-sink.d.ts +46 -0
  118. package/dist/brain/status-sink.d.ts.map +1 -0
  119. package/dist/brain/status-sink.js +36 -0
  120. package/dist/brain/status-sink.js.map +1 -0
  121. package/dist/brain/stream-engine.d.ts +85 -0
  122. package/dist/brain/stream-engine.d.ts.map +1 -0
  123. package/dist/brain/stream-engine.js +391 -0
  124. package/dist/brain/stream-engine.js.map +1 -0
  125. package/dist/brain/timeout.d.ts +44 -0
  126. package/dist/brain/timeout.d.ts.map +1 -0
  127. package/dist/brain/timeout.js +41 -0
  128. package/dist/brain/timeout.js.map +1 -0
  129. package/dist/brain/tool-call-repair.d.ts +15 -0
  130. package/dist/brain/tool-call-repair.d.ts.map +1 -0
  131. package/dist/brain/tool-call-repair.js +67 -0
  132. package/dist/brain/tool-call-repair.js.map +1 -0
  133. package/dist/brain/walltime.d.ts +14 -0
  134. package/dist/brain/walltime.d.ts.map +1 -0
  135. package/dist/brain/walltime.js +14 -0
  136. package/dist/brain/walltime.js.map +1 -0
  137. package/dist/core/arg-summary.d.ts +19 -0
  138. package/dist/core/arg-summary.d.ts.map +1 -0
  139. package/dist/core/arg-summary.js +96 -0
  140. package/dist/core/arg-summary.js.map +1 -0
  141. package/dist/core/ask-question.d.ts +113 -0
  142. package/dist/core/ask-question.d.ts.map +1 -0
  143. package/dist/core/ask-question.js +246 -0
  144. package/dist/core/ask-question.js.map +1 -0
  145. package/dist/core/auto-compaction.d.ts +341 -0
  146. package/dist/core/auto-compaction.d.ts.map +1 -0
  147. package/dist/core/auto-compaction.js +495 -0
  148. package/dist/core/auto-compaction.js.map +1 -0
  149. package/dist/core/auto-promote.d.ts +126 -0
  150. package/dist/core/auto-promote.d.ts.map +1 -0
  151. package/dist/core/auto-promote.js +171 -0
  152. package/dist/core/auto-promote.js.map +1 -0
  153. package/dist/core/background-shell.d.ts +128 -0
  154. package/dist/core/background-shell.d.ts.map +1 -0
  155. package/dist/core/background-shell.js +42 -0
  156. package/dist/core/background-shell.js.map +1 -0
  157. package/dist/core/cache-break-detector.d.ts +63 -0
  158. package/dist/core/cache-break-detector.d.ts.map +1 -0
  159. package/dist/core/cache-break-detector.js +0 -0
  160. package/dist/core/cache-break-detector.js.map +1 -0
  161. package/dist/core/canonical-json.d.ts +45 -0
  162. package/dist/core/canonical-json.d.ts.map +1 -0
  163. package/dist/core/canonical-json.js +132 -0
  164. package/dist/core/canonical-json.js.map +1 -0
  165. package/dist/core/checkpoint-store.d.ts +1101 -0
  166. package/dist/core/checkpoint-store.d.ts.map +1 -0
  167. package/dist/core/checkpoint-store.js +514 -0
  168. package/dist/core/checkpoint-store.js.map +1 -0
  169. package/dist/core/consolidate-scope.d.ts +94 -0
  170. package/dist/core/consolidate-scope.d.ts.map +1 -0
  171. package/dist/core/consolidate-scope.js +158 -0
  172. package/dist/core/consolidate-scope.js.map +1 -0
  173. package/dist/core/context-edit.d.ts +82 -0
  174. package/dist/core/context-edit.d.ts.map +1 -0
  175. package/dist/core/context-edit.js +149 -0
  176. package/dist/core/context-edit.js.map +1 -0
  177. package/dist/core/context-guard.d.ts +43 -0
  178. package/dist/core/context-guard.d.ts.map +1 -0
  179. package/dist/core/context-guard.js +171 -0
  180. package/dist/core/context-guard.js.map +1 -0
  181. package/dist/core/dynamic-recall.d.ts +100 -0
  182. package/dist/core/dynamic-recall.d.ts.map +1 -0
  183. package/dist/core/dynamic-recall.js +108 -0
  184. package/dist/core/dynamic-recall.js.map +1 -0
  185. package/dist/core/exec-gate.d.ts +74 -0
  186. package/dist/core/exec-gate.d.ts.map +1 -0
  187. package/dist/core/exec-gate.js +143 -0
  188. package/dist/core/exec-gate.js.map +1 -0
  189. package/dist/core/exec-output-tail.d.ts +37 -0
  190. package/dist/core/exec-output-tail.d.ts.map +1 -0
  191. package/dist/core/exec-output-tail.js +63 -0
  192. package/dist/core/exec-output-tail.js.map +1 -0
  193. package/dist/core/file-snapshot-store.d.ts +137 -0
  194. package/dist/core/file-snapshot-store.d.ts.map +1 -0
  195. package/dist/core/file-snapshot-store.js +319 -0
  196. package/dist/core/file-snapshot-store.js.map +1 -0
  197. package/dist/core/git-worktree-env.d.ts +41 -0
  198. package/dist/core/git-worktree-env.d.ts.map +1 -0
  199. package/dist/core/git-worktree-env.js +64 -0
  200. package/dist/core/git-worktree-env.js.map +1 -0
  201. package/dist/core/hooks.d.ts +372 -0
  202. package/dist/core/hooks.d.ts.map +1 -0
  203. package/dist/core/hooks.js +269 -0
  204. package/dist/core/hooks.js.map +1 -0
  205. package/dist/core/lsp-diagnostics.d.ts +74 -0
  206. package/dist/core/lsp-diagnostics.d.ts.map +1 -0
  207. package/dist/core/lsp-diagnostics.js +125 -0
  208. package/dist/core/lsp-diagnostics.js.map +1 -0
  209. package/dist/core/lsp-protocol.d.ts +28 -0
  210. package/dist/core/lsp-protocol.d.ts.map +1 -0
  211. package/dist/core/lsp-protocol.js +179 -0
  212. package/dist/core/lsp-protocol.js.map +1 -0
  213. package/dist/core/lsp-session.d.ts +56 -0
  214. package/dist/core/lsp-session.d.ts.map +1 -0
  215. package/dist/core/lsp-session.js +185 -0
  216. package/dist/core/lsp-session.js.map +1 -0
  217. package/dist/core/lsp.d.ts +132 -0
  218. package/dist/core/lsp.d.ts.map +1 -0
  219. package/dist/core/lsp.js +147 -0
  220. package/dist/core/lsp.js.map +1 -0
  221. package/dist/core/mcp.d.ts +294 -0
  222. package/dist/core/mcp.d.ts.map +1 -0
  223. package/dist/core/mcp.js +992 -0
  224. package/dist/core/mcp.js.map +1 -0
  225. package/dist/core/media-byte-cap.d.ts +34 -0
  226. package/dist/core/media-byte-cap.d.ts.map +1 -0
  227. package/dist/core/media-byte-cap.js +76 -0
  228. package/dist/core/media-byte-cap.js.map +1 -0
  229. package/dist/core/memory-engine/data-plane.d.ts +103 -0
  230. package/dist/core/memory-engine/data-plane.d.ts.map +1 -0
  231. package/dist/core/memory-engine/data-plane.js +272 -0
  232. package/dist/core/memory-engine/data-plane.js.map +1 -0
  233. package/dist/core/memory-engine/dual-root.d.ts +40 -0
  234. package/dist/core/memory-engine/dual-root.d.ts.map +1 -0
  235. package/dist/core/memory-engine/dual-root.js +95 -0
  236. package/dist/core/memory-engine/dual-root.js.map +1 -0
  237. package/dist/core/memory-engine/engine.d.ts +161 -0
  238. package/dist/core/memory-engine/engine.d.ts.map +1 -0
  239. package/dist/core/memory-engine/engine.js +1110 -0
  240. package/dist/core/memory-engine/engine.js.map +1 -0
  241. package/dist/core/memory-engine/file-backend.d.ts +162 -0
  242. package/dist/core/memory-engine/file-backend.d.ts.map +1 -0
  243. package/dist/core/memory-engine/file-backend.js +948 -0
  244. package/dist/core/memory-engine/file-backend.js.map +1 -0
  245. package/dist/core/memory-engine/frontmatter.d.ts +24 -0
  246. package/dist/core/memory-engine/frontmatter.d.ts.map +1 -0
  247. package/dist/core/memory-engine/frontmatter.js +135 -0
  248. package/dist/core/memory-engine/frontmatter.js.map +1 -0
  249. package/dist/core/memory-engine/index.d.ts +13 -0
  250. package/dist/core/memory-engine/index.d.ts.map +1 -0
  251. package/dist/core/memory-engine/index.js +28 -0
  252. package/dist/core/memory-engine/index.js.map +1 -0
  253. package/dist/core/memory-engine/layout.d.ts +123 -0
  254. package/dist/core/memory-engine/layout.d.ts.map +1 -0
  255. package/dist/core/memory-engine/layout.js +643 -0
  256. package/dist/core/memory-engine/layout.js.map +1 -0
  257. package/dist/core/memory-engine/memory-backend-contract.d.ts +22 -0
  258. package/dist/core/memory-engine/memory-backend-contract.d.ts.map +1 -0
  259. package/dist/core/memory-engine/memory-backend-contract.js +271 -0
  260. package/dist/core/memory-engine/memory-backend-contract.js.map +1 -0
  261. package/dist/core/memory-engine/migrate.d.ts +17 -0
  262. package/dist/core/memory-engine/migrate.d.ts.map +1 -0
  263. package/dist/core/memory-engine/migrate.js +35 -0
  264. package/dist/core/memory-engine/migrate.js.map +1 -0
  265. package/dist/core/memory-engine/scan.d.ts +20 -0
  266. package/dist/core/memory-engine/scan.d.ts.map +1 -0
  267. package/dist/core/memory-engine/scan.js +84 -0
  268. package/dist/core/memory-engine/scan.js.map +1 -0
  269. package/dist/core/memory-engine/scope-contract.d.ts +104 -0
  270. package/dist/core/memory-engine/scope-contract.d.ts.map +1 -0
  271. package/dist/core/memory-engine/scope-contract.js +288 -0
  272. package/dist/core/memory-engine/scope-contract.js.map +1 -0
  273. package/dist/core/memory-engine/sync-client.d.ts +100 -0
  274. package/dist/core/memory-engine/sync-client.d.ts.map +1 -0
  275. package/dist/core/memory-engine/sync-client.js +328 -0
  276. package/dist/core/memory-engine/sync-client.js.map +1 -0
  277. package/dist/core/memory-engine/sync.d.ts +97 -0
  278. package/dist/core/memory-engine/sync.d.ts.map +1 -0
  279. package/dist/core/memory-engine/sync.js +91 -0
  280. package/dist/core/memory-engine/sync.js.map +1 -0
  281. package/dist/core/memory-engine/types.d.ts +279 -0
  282. package/dist/core/memory-engine/types.d.ts.map +1 -0
  283. package/dist/core/memory-engine/types.js +9 -0
  284. package/dist/core/memory-engine/types.js.map +1 -0
  285. package/dist/core/memory-recall.d.ts +261 -0
  286. package/dist/core/memory-recall.d.ts.map +1 -0
  287. package/dist/core/memory-recall.js +600 -0
  288. package/dist/core/memory-recall.js.map +1 -0
  289. package/dist/core/memory-vector.d.ts +24 -0
  290. package/dist/core/memory-vector.d.ts.map +1 -0
  291. package/dist/core/memory-vector.js +51 -0
  292. package/dist/core/memory-vector.js.map +1 -0
  293. package/dist/core/memory.d.ts +502 -0
  294. package/dist/core/memory.d.ts.map +1 -0
  295. package/dist/core/memory.js +881 -0
  296. package/dist/core/memory.js.map +1 -0
  297. package/dist/core/message-utils.d.ts +7 -0
  298. package/dist/core/message-utils.d.ts.map +1 -0
  299. package/dist/core/message-utils.js +10 -0
  300. package/dist/core/message-utils.js.map +1 -0
  301. package/dist/core/oracle-isolation.d.ts +85 -0
  302. package/dist/core/oracle-isolation.d.ts.map +1 -0
  303. package/dist/core/oracle-isolation.js +121 -0
  304. package/dist/core/oracle-isolation.js.map +1 -0
  305. package/dist/core/permission-rules.d.ts +102 -0
  306. package/dist/core/permission-rules.d.ts.map +1 -0
  307. package/dist/core/permission-rules.js +357 -0
  308. package/dist/core/permission-rules.js.map +1 -0
  309. package/dist/core/present-plan-tool.d.ts +28 -0
  310. package/dist/core/present-plan-tool.d.ts.map +1 -0
  311. package/dist/core/present-plan-tool.js +119 -0
  312. package/dist/core/present-plan-tool.js.map +1 -0
  313. package/dist/core/pricing.d.ts +48 -0
  314. package/dist/core/pricing.d.ts.map +1 -0
  315. package/dist/core/pricing.js +46 -0
  316. package/dist/core/pricing.js.map +1 -0
  317. package/dist/core/property-harness.d.ts +126 -0
  318. package/dist/core/property-harness.d.ts.map +1 -0
  319. package/dist/core/property-harness.js +192 -0
  320. package/dist/core/property-harness.js.map +1 -0
  321. package/dist/core/push-queue.d.ts +10 -0
  322. package/dist/core/push-queue.d.ts.map +1 -0
  323. package/dist/core/push-queue.js +42 -0
  324. package/dist/core/push-queue.js.map +1 -0
  325. package/dist/core/remote-env.d.ts +432 -0
  326. package/dist/core/remote-env.d.ts.map +1 -0
  327. package/dist/core/remote-env.js +77 -0
  328. package/dist/core/remote-env.js.map +1 -0
  329. package/dist/core/roles.d.ts +74 -0
  330. package/dist/core/roles.d.ts.map +1 -0
  331. package/dist/core/roles.js +272 -0
  332. package/dist/core/roles.js.map +1 -0
  333. package/dist/core/runner/active-skill-scope.d.ts +64 -0
  334. package/dist/core/runner/active-skill-scope.d.ts.map +1 -0
  335. package/dist/core/runner/active-skill-scope.js +197 -0
  336. package/dist/core/runner/active-skill-scope.js.map +1 -0
  337. package/dist/core/runner/assemble-result.d.ts +191 -0
  338. package/dist/core/runner/assemble-result.d.ts.map +1 -0
  339. package/dist/core/runner/assemble-result.js +250 -0
  340. package/dist/core/runner/assemble-result.js.map +1 -0
  341. package/dist/core/runner/call-cap.d.ts +130 -0
  342. package/dist/core/runner/call-cap.d.ts.map +1 -0
  343. package/dist/core/runner/call-cap.js +151 -0
  344. package/dist/core/runner/call-cap.js.map +1 -0
  345. package/dist/core/runner/grounding-signal.d.ts +12 -0
  346. package/dist/core/runner/grounding-signal.d.ts.map +1 -0
  347. package/dist/core/runner/grounding-signal.js +94 -0
  348. package/dist/core/runner/grounding-signal.js.map +1 -0
  349. package/dist/core/runner/image.d.ts +23 -0
  350. package/dist/core/runner/image.d.ts.map +1 -0
  351. package/dist/core/runner/image.js +151 -0
  352. package/dist/core/runner/image.js.map +1 -0
  353. package/dist/core/runner/memory-consolidation.d.ts +112 -0
  354. package/dist/core/runner/memory-consolidation.d.ts.map +1 -0
  355. package/dist/core/runner/memory-consolidation.js +372 -0
  356. package/dist/core/runner/memory-consolidation.js.map +1 -0
  357. package/dist/core/runner/prepare-task.d.ts +583 -0
  358. package/dist/core/runner/prepare-task.d.ts.map +1 -0
  359. package/dist/core/runner/prepare-task.js +3612 -0
  360. package/dist/core/runner/prepare-task.js.map +1 -0
  361. package/dist/core/runner/prompt-suggestions.d.ts +33 -0
  362. package/dist/core/runner/prompt-suggestions.d.ts.map +1 -0
  363. package/dist/core/runner/prompt-suggestions.js +116 -0
  364. package/dist/core/runner/prompt-suggestions.js.map +1 -0
  365. package/dist/core/runner/runtask.d.ts +274 -0
  366. package/dist/core/runner/runtask.d.ts.map +1 -0
  367. package/dist/core/runner/runtask.js +4606 -0
  368. package/dist/core/runner/runtask.js.map +1 -0
  369. package/dist/core/runner/session-rule-policy.d.ts +28 -0
  370. package/dist/core/runner/session-rule-policy.d.ts.map +1 -0
  371. package/dist/core/runner/session-rule-policy.js +110 -0
  372. package/dist/core/runner/session-rule-policy.js.map +1 -0
  373. package/dist/core/runner/strict-output-schema.d.ts +36 -0
  374. package/dist/core/runner/strict-output-schema.d.ts.map +1 -0
  375. package/dist/core/runner/strict-output-schema.js +365 -0
  376. package/dist/core/runner/strict-output-schema.js.map +1 -0
  377. package/dist/core/runner/synthetic-tools.d.ts +72 -0
  378. package/dist/core/runner/synthetic-tools.d.ts.map +1 -0
  379. package/dist/core/runner/synthetic-tools.js +203 -0
  380. package/dist/core/runner/synthetic-tools.js.map +1 -0
  381. package/dist/core/runner/tool-disclosure.d.ts +117 -0
  382. package/dist/core/runner/tool-disclosure.d.ts.map +1 -0
  383. package/dist/core/runner/tool-disclosure.js +0 -0
  384. package/dist/core/runner/tool-disclosure.js.map +1 -0
  385. package/dist/core/runner/turn-attachments.d.ts +381 -0
  386. package/dist/core/runner/turn-attachments.d.ts.map +1 -0
  387. package/dist/core/runner/turn-attachments.js +596 -0
  388. package/dist/core/runner/turn-attachments.js.map +1 -0
  389. package/dist/core/runner/usage-accounting.d.ts +35 -0
  390. package/dist/core/runner/usage-accounting.d.ts.map +1 -0
  391. package/dist/core/runner/usage-accounting.js +45 -0
  392. package/dist/core/runner/usage-accounting.js.map +1 -0
  393. package/dist/core/runtime.d.ts +9 -0
  394. package/dist/core/runtime.d.ts.map +1 -0
  395. package/dist/core/runtime.js +17 -0
  396. package/dist/core/runtime.js.map +1 -0
  397. package/dist/core/safety-axis-vocab.d.ts +33 -0
  398. package/dist/core/safety-axis-vocab.d.ts.map +1 -0
  399. package/dist/core/safety-axis-vocab.js +35 -0
  400. package/dist/core/safety-axis-vocab.js.map +1 -0
  401. package/dist/core/safety-merge-corpus.d.ts +48 -0
  402. package/dist/core/safety-merge-corpus.d.ts.map +1 -0
  403. package/dist/core/safety-merge-corpus.js +203 -0
  404. package/dist/core/safety-merge-corpus.js.map +1 -0
  405. package/dist/core/scheduler.d.ts +126 -0
  406. package/dist/core/scheduler.d.ts.map +1 -0
  407. package/dist/core/scheduler.js +54 -0
  408. package/dist/core/scheduler.js.map +1 -0
  409. package/dist/core/secret-env.d.ts +23 -0
  410. package/dist/core/secret-env.d.ts.map +1 -0
  411. package/dist/core/secret-env.js +35 -0
  412. package/dist/core/secret-env.js.map +1 -0
  413. package/dist/core/select-model.d.ts +26 -0
  414. package/dist/core/select-model.d.ts.map +1 -0
  415. package/dist/core/select-model.js +58 -0
  416. package/dist/core/select-model.js.map +1 -0
  417. package/dist/core/sensitive-path-policy.d.ts +24 -0
  418. package/dist/core/sensitive-path-policy.d.ts.map +1 -0
  419. package/dist/core/sensitive-path-policy.js +96 -0
  420. package/dist/core/sensitive-path-policy.js.map +1 -0
  421. package/dist/core/session-policy-store.d.ts +102 -0
  422. package/dist/core/session-policy-store.d.ts.map +1 -0
  423. package/dist/core/session-policy-store.js +177 -0
  424. package/dist/core/session-policy-store.js.map +1 -0
  425. package/dist/core/session-reconcile.d.ts +63 -0
  426. package/dist/core/session-reconcile.d.ts.map +1 -0
  427. package/dist/core/session-reconcile.js +71 -0
  428. package/dist/core/session-reconcile.js.map +1 -0
  429. package/dist/core/session-store.d.ts +99 -0
  430. package/dist/core/session-store.d.ts.map +1 -0
  431. package/dist/core/session-store.js +298 -0
  432. package/dist/core/session-store.js.map +1 -0
  433. package/dist/core/session.d.ts +144 -0
  434. package/dist/core/session.d.ts.map +1 -0
  435. package/dist/core/session.js +56 -0
  436. package/dist/core/session.js.map +1 -0
  437. package/dist/core/spec-contract.d.ts +147 -0
  438. package/dist/core/spec-contract.d.ts.map +1 -0
  439. package/dist/core/spec-contract.js +340 -0
  440. package/dist/core/spec-contract.js.map +1 -0
  441. package/dist/core/strategy-store.d.ts +50 -0
  442. package/dist/core/strategy-store.d.ts.map +1 -0
  443. package/dist/core/strategy-store.js +100 -0
  444. package/dist/core/strategy-store.js.map +1 -0
  445. package/dist/core/stub-env.d.ts +35 -0
  446. package/dist/core/stub-env.d.ts.map +1 -0
  447. package/dist/core/stub-env.js +69 -0
  448. package/dist/core/stub-env.js.map +1 -0
  449. package/dist/core/task-notification.d.ts +115 -0
  450. package/dist/core/task-notification.d.ts.map +1 -0
  451. package/dist/core/task-notification.js +247 -0
  452. package/dist/core/task-notification.js.map +1 -0
  453. package/dist/core/task-outcome.d.ts +80 -0
  454. package/dist/core/task-outcome.d.ts.map +1 -0
  455. package/dist/core/task-outcome.js +40 -0
  456. package/dist/core/task-outcome.js.map +1 -0
  457. package/dist/core/task-registry.d.ts +349 -0
  458. package/dist/core/task-registry.d.ts.map +1 -0
  459. package/dist/core/task-registry.js +1751 -0
  460. package/dist/core/task-registry.js.map +1 -0
  461. package/dist/core/tighten-task-spec.d.ts +27 -0
  462. package/dist/core/tighten-task-spec.d.ts.map +1 -0
  463. package/dist/core/tighten-task-spec.js +95 -0
  464. package/dist/core/tighten-task-spec.js.map +1 -0
  465. package/dist/core/tool-detach.d.ts +31 -0
  466. package/dist/core/tool-detach.d.ts.map +1 -0
  467. package/dist/core/tool-detach.js +62 -0
  468. package/dist/core/tool-detach.js.map +1 -0
  469. package/dist/core/tool-errors.d.ts +72 -0
  470. package/dist/core/tool-errors.d.ts.map +1 -0
  471. package/dist/core/tool-errors.js +194 -0
  472. package/dist/core/tool-errors.js.map +1 -0
  473. package/dist/core/tool-name-aliases.d.ts +5 -0
  474. package/dist/core/tool-name-aliases.d.ts.map +1 -0
  475. package/dist/core/tool-name-aliases.js +130 -0
  476. package/dist/core/tool-name-aliases.js.map +1 -0
  477. package/dist/core/tool-policy.d.ts +295 -0
  478. package/dist/core/tool-policy.d.ts.map +1 -0
  479. package/dist/core/tool-policy.js +567 -0
  480. package/dist/core/tool-policy.js.map +1 -0
  481. package/dist/core/tool-result-budget.d.ts +44 -0
  482. package/dist/core/tool-result-budget.d.ts.map +1 -0
  483. package/dist/core/tool-result-budget.js +140 -0
  484. package/dist/core/tool-result-budget.js.map +1 -0
  485. package/dist/core/tool-result-store.d.ts +136 -0
  486. package/dist/core/tool-result-store.d.ts.map +1 -0
  487. package/dist/core/tool-result-store.js +219 -0
  488. package/dist/core/tool-result-store.js.map +1 -0
  489. package/dist/core/tools.d.ts +14 -0
  490. package/dist/core/tools.d.ts.map +1 -0
  491. package/dist/core/tools.js +98 -0
  492. package/dist/core/tools.js.map +1 -0
  493. package/dist/core/trace.d.ts +340 -0
  494. package/dist/core/trace.d.ts.map +1 -0
  495. package/dist/core/trace.js +12 -0
  496. package/dist/core/trace.js.map +1 -0
  497. package/dist/core/types.d.ts +2828 -0
  498. package/dist/core/types.d.ts.map +1 -0
  499. package/dist/core/types.js +2 -0
  500. package/dist/core/types.js.map +1 -0
  501. package/dist/core/untrusted-egress.d.ts +32 -0
  502. package/dist/core/untrusted-egress.d.ts.map +1 -0
  503. package/dist/core/untrusted-egress.js +49 -0
  504. package/dist/core/untrusted-egress.js.map +1 -0
  505. package/dist/core/untrusted-text.d.ts +64 -0
  506. package/dist/core/untrusted-text.d.ts.map +1 -0
  507. package/dist/core/untrusted-text.js +119 -0
  508. package/dist/core/untrusted-text.js.map +1 -0
  509. package/dist/core/warm-resume.d.ts +23 -0
  510. package/dist/core/warm-resume.d.ts.map +1 -0
  511. package/dist/core/warm-resume.js +28 -0
  512. package/dist/core/warm-resume.js.map +1 -0
  513. package/dist/core/with-retry.d.ts +43 -0
  514. package/dist/core/with-retry.d.ts.map +1 -0
  515. package/dist/core/with-retry.js +59 -0
  516. package/dist/core/with-retry.js.map +1 -0
  517. package/dist/core/workflow-journal-store.d.ts +44 -0
  518. package/dist/core/workflow-journal-store.d.ts.map +1 -0
  519. package/dist/core/workflow-journal-store.js +47 -0
  520. package/dist/core/workflow-journal-store.js.map +1 -0
  521. package/dist/core/workflow-run-store-contract.d.ts +31 -0
  522. package/dist/core/workflow-run-store-contract.d.ts.map +1 -0
  523. package/dist/core/workflow-run-store-contract.js +191 -0
  524. package/dist/core/workflow-run-store-contract.js.map +1 -0
  525. package/dist/core/workflow-run-store.d.ts +149 -0
  526. package/dist/core/workflow-run-store.d.ts.map +1 -0
  527. package/dist/core/workflow-run-store.js +110 -0
  528. package/dist/core/workflow-run-store.js.map +1 -0
  529. package/dist/engine/compaction/compaction.d.ts +139 -0
  530. package/dist/engine/compaction/compaction.d.ts.map +1 -0
  531. package/dist/engine/compaction/compaction.js +1030 -0
  532. package/dist/engine/compaction/compaction.js.map +1 -0
  533. package/dist/engine/compaction/utils.d.ts +45 -0
  534. package/dist/engine/compaction/utils.d.ts.map +1 -0
  535. package/dist/engine/compaction/utils.js +203 -0
  536. package/dist/engine/compaction/utils.js.map +1 -0
  537. package/dist/engine/execution-env/kill-tree.d.ts +20 -0
  538. package/dist/engine/execution-env/kill-tree.d.ts.map +1 -0
  539. package/dist/engine/execution-env/kill-tree.js +183 -0
  540. package/dist/engine/execution-env/kill-tree.js.map +1 -0
  541. package/dist/engine/execution-env/node-execution-env.d.ts +133 -0
  542. package/dist/engine/execution-env/node-execution-env.d.ts.map +1 -0
  543. package/dist/engine/execution-env/node-execution-env.js +1031 -0
  544. package/dist/engine/execution-env/node-execution-env.js.map +1 -0
  545. package/dist/engine/harness/agent-harness.d.ts +174 -0
  546. package/dist/engine/harness/agent-harness.d.ts.map +1 -0
  547. package/dist/engine/harness/agent-harness.js +1053 -0
  548. package/dist/engine/harness/agent-harness.js.map +1 -0
  549. package/dist/engine/harness/messages.d.ts +17 -0
  550. package/dist/engine/harness/messages.d.ts.map +1 -0
  551. package/dist/engine/harness/messages.js +122 -0
  552. package/dist/engine/harness/messages.js.map +1 -0
  553. package/dist/engine/harness/types.d.ts +713 -0
  554. package/dist/engine/harness/types.d.ts.map +1 -0
  555. package/dist/engine/harness/types.js +100 -0
  556. package/dist/engine/harness/types.js.map +1 -0
  557. package/dist/engine/llm/diagnostics.d.ts +23 -0
  558. package/dist/engine/llm/diagnostics.d.ts.map +1 -0
  559. package/dist/engine/llm/diagnostics.js +32 -0
  560. package/dist/engine/llm/diagnostics.js.map +1 -0
  561. package/dist/engine/llm/event-stream.d.ts +25 -0
  562. package/dist/engine/llm/event-stream.d.ts.map +1 -0
  563. package/dist/engine/llm/event-stream.js +103 -0
  564. package/dist/engine/llm/event-stream.js.map +1 -0
  565. package/dist/engine/llm/index.d.ts +12 -0
  566. package/dist/engine/llm/index.d.ts.map +1 -0
  567. package/dist/engine/llm/index.js +12 -0
  568. package/dist/engine/llm/index.js.map +1 -0
  569. package/dist/engine/llm/types.d.ts +753 -0
  570. package/dist/engine/llm/types.d.ts.map +1 -0
  571. package/dist/engine/llm/types.js +2 -0
  572. package/dist/engine/llm/types.js.map +1 -0
  573. package/dist/engine/llm/validation.d.ts +8 -0
  574. package/dist/engine/llm/validation.d.ts.map +1 -0
  575. package/dist/engine/llm/validation.js +318 -0
  576. package/dist/engine/llm/validation.js.map +1 -0
  577. package/dist/engine/loop/agent-loop.d.ts +74 -0
  578. package/dist/engine/loop/agent-loop.d.ts.map +1 -0
  579. package/dist/engine/loop/agent-loop.js +1490 -0
  580. package/dist/engine/loop/agent-loop.js.map +1 -0
  581. package/dist/engine/loop/runtime-deps.d.ts +17 -0
  582. package/dist/engine/loop/runtime-deps.d.ts.map +1 -0
  583. package/dist/engine/loop/runtime-deps.js +21 -0
  584. package/dist/engine/loop/runtime-deps.js.map +1 -0
  585. package/dist/engine/loop/types.d.ts +609 -0
  586. package/dist/engine/loop/types.d.ts.map +1 -0
  587. package/dist/engine/loop/types.js +2 -0
  588. package/dist/engine/loop/types.js.map +1 -0
  589. package/dist/engine/lsp/frame-decoder.d.ts +16 -0
  590. package/dist/engine/lsp/frame-decoder.d.ts.map +1 -0
  591. package/dist/engine/lsp/frame-decoder.js +53 -0
  592. package/dist/engine/lsp/frame-decoder.js.map +1 -0
  593. package/dist/engine/lsp/node-lsp-manager.d.ts +105 -0
  594. package/dist/engine/lsp/node-lsp-manager.d.ts.map +1 -0
  595. package/dist/engine/lsp/node-lsp-manager.js +343 -0
  596. package/dist/engine/lsp/node-lsp-manager.js.map +1 -0
  597. package/dist/engine/lsp/stdio-lsp-transport.d.ts +37 -0
  598. package/dist/engine/lsp/stdio-lsp-transport.d.ts.map +1 -0
  599. package/dist/engine/lsp/stdio-lsp-transport.js +185 -0
  600. package/dist/engine/lsp/stdio-lsp-transport.js.map +1 -0
  601. package/dist/engine/session/import-validate.d.ts +44 -0
  602. package/dist/engine/session/import-validate.d.ts.map +1 -0
  603. package/dist/engine/session/import-validate.js +92 -0
  604. package/dist/engine/session/import-validate.js.map +1 -0
  605. package/dist/engine/session/memory-repo.d.ts +25 -0
  606. package/dist/engine/session/memory-repo.d.ts.map +1 -0
  607. package/dist/engine/session/memory-repo.js +59 -0
  608. package/dist/engine/session/memory-repo.js.map +1 -0
  609. package/dist/engine/session/memory-storage.d.ts +14 -0
  610. package/dist/engine/session/memory-storage.d.ts.map +1 -0
  611. package/dist/engine/session/memory-storage.js +17 -0
  612. package/dist/engine/session/memory-storage.js.map +1 -0
  613. package/dist/engine/session/repo-utils.d.ts +11 -0
  614. package/dist/engine/session/repo-utils.d.ts.map +1 -0
  615. package/dist/engine/session/repo-utils.js +40 -0
  616. package/dist/engine/session/repo-utils.js.map +1 -0
  617. package/dist/engine/session/session.d.ts +34 -0
  618. package/dist/engine/session/session.d.ts.map +1 -0
  619. package/dist/engine/session/session.js +227 -0
  620. package/dist/engine/session/session.js.map +1 -0
  621. package/dist/engine/session/storage-base.d.ts +38 -0
  622. package/dist/engine/session/storage-base.d.ts.map +1 -0
  623. package/dist/engine/session/storage-base.js +157 -0
  624. package/dist/engine/session/storage-base.js.map +1 -0
  625. package/dist/engine/session/timestamps.d.ts +3 -0
  626. package/dist/engine/session/timestamps.d.ts.map +1 -0
  627. package/dist/engine/session/timestamps.js +15 -0
  628. package/dist/engine/session/timestamps.js.map +1 -0
  629. package/dist/engine/session/uuid.d.ts +2 -0
  630. package/dist/engine/session/uuid.d.ts.map +1 -0
  631. package/dist/engine/session/uuid.js +50 -0
  632. package/dist/engine/session/uuid.js.map +1 -0
  633. package/dist/index.d.ts +160 -0
  634. package/dist/index.d.ts.map +1 -0
  635. package/dist/index.js +374 -0
  636. package/dist/index.js.map +1 -0
  637. package/dist/internal/harness.d.ts +26 -0
  638. package/dist/internal/harness.d.ts.map +1 -0
  639. package/dist/internal/harness.js +24 -0
  640. package/dist/internal/harness.js.map +1 -0
  641. package/dist/internal/llm.d.ts +9 -0
  642. package/dist/internal/llm.d.ts.map +1 -0
  643. package/dist/internal/llm.js +8 -0
  644. package/dist/internal/llm.js.map +1 -0
  645. package/dist/orchestration/builtin-workflows.d.ts +44 -0
  646. package/dist/orchestration/builtin-workflows.d.ts.map +1 -0
  647. package/dist/orchestration/builtin-workflows.js +165 -0
  648. package/dist/orchestration/builtin-workflows.js.map +1 -0
  649. package/dist/orchestration/dev-vm-script-runner.d.ts +24 -0
  650. package/dist/orchestration/dev-vm-script-runner.d.ts.map +1 -0
  651. package/dist/orchestration/dev-vm-script-runner.js +106 -0
  652. package/dist/orchestration/dev-vm-script-runner.js.map +1 -0
  653. package/dist/orchestration/goal.d.ts +97 -0
  654. package/dist/orchestration/goal.d.ts.map +1 -0
  655. package/dist/orchestration/goal.js +248 -0
  656. package/dist/orchestration/goal.js.map +1 -0
  657. package/dist/orchestration/run-spec.d.ts +63 -0
  658. package/dist/orchestration/run-spec.d.ts.map +1 -0
  659. package/dist/orchestration/run-spec.js +274 -0
  660. package/dist/orchestration/run-spec.js.map +1 -0
  661. package/dist/orchestration/run-workflow-tool.d.ts +187 -0
  662. package/dist/orchestration/run-workflow-tool.d.ts.map +1 -0
  663. package/dist/orchestration/run-workflow-tool.js +612 -0
  664. package/dist/orchestration/run-workflow-tool.js.map +1 -0
  665. package/dist/orchestration/workflow-governance.d.ts +70 -0
  666. package/dist/orchestration/workflow-governance.d.ts.map +1 -0
  667. package/dist/orchestration/workflow-governance.js +176 -0
  668. package/dist/orchestration/workflow-governance.js.map +1 -0
  669. package/dist/orchestration/workflow-meta.d.ts +41 -0
  670. package/dist/orchestration/workflow-meta.d.ts.map +1 -0
  671. package/dist/orchestration/workflow-meta.js +426 -0
  672. package/dist/orchestration/workflow-meta.js.map +1 -0
  673. package/dist/orchestration/workflow-observe.d.ts +77 -0
  674. package/dist/orchestration/workflow-observe.d.ts.map +1 -0
  675. package/dist/orchestration/workflow-observe.js +177 -0
  676. package/dist/orchestration/workflow-observe.js.map +1 -0
  677. package/dist/orchestration/workflow-primitives.d.ts +31 -0
  678. package/dist/orchestration/workflow-primitives.d.ts.map +1 -0
  679. package/dist/orchestration/workflow-primitives.js +104 -0
  680. package/dist/orchestration/workflow-primitives.js.map +1 -0
  681. package/dist/orchestration/workflow-sandbox-conformance.d.ts +34 -0
  682. package/dist/orchestration/workflow-sandbox-conformance.d.ts.map +1 -0
  683. package/dist/orchestration/workflow-sandbox-conformance.js +301 -0
  684. package/dist/orchestration/workflow-sandbox-conformance.js.map +1 -0
  685. package/dist/orchestration/workflow-script-runner.d.ts +127 -0
  686. package/dist/orchestration/workflow-script-runner.d.ts.map +1 -0
  687. package/dist/orchestration/workflow-script-runner.js +48 -0
  688. package/dist/orchestration/workflow-script-runner.js.map +1 -0
  689. package/dist/orchestration/workflow-script-store.d.ts +99 -0
  690. package/dist/orchestration/workflow-script-store.d.ts.map +1 -0
  691. package/dist/orchestration/workflow-script-store.js +133 -0
  692. package/dist/orchestration/workflow-script-store.js.map +1 -0
  693. package/dist/orchestration/workflow-size-guideline.d.ts +50 -0
  694. package/dist/orchestration/workflow-size-guideline.d.ts.map +1 -0
  695. package/dist/orchestration/workflow-size-guideline.js +78 -0
  696. package/dist/orchestration/workflow-size-guideline.js.map +1 -0
  697. package/dist/orchestration/workflow.d.ts +624 -0
  698. package/dist/orchestration/workflow.d.ts.map +1 -0
  699. package/dist/orchestration/workflow.js +1596 -0
  700. package/dist/orchestration/workflow.js.map +1 -0
  701. package/dist/prompts/default.d.ts +474 -0
  702. package/dist/prompts/default.d.ts.map +1 -0
  703. package/dist/prompts/default.js +676 -0
  704. package/dist/prompts/default.js.map +1 -0
  705. package/dist/prompts/supervisor.d.ts +60 -0
  706. package/dist/prompts/supervisor.d.ts.map +1 -0
  707. package/dist/prompts/supervisor.js +162 -0
  708. package/dist/prompts/supervisor.js.map +1 -0
  709. package/dist/scenarios/env.d.ts +41 -0
  710. package/dist/scenarios/env.d.ts.map +1 -0
  711. package/dist/scenarios/env.js +65 -0
  712. package/dist/scenarios/env.js.map +1 -0
  713. package/dist/scenarios/full-body.d.ts +47 -0
  714. package/dist/scenarios/full-body.d.ts.map +1 -0
  715. package/dist/scenarios/full-body.js +36 -0
  716. package/dist/scenarios/full-body.js.map +1 -0
  717. package/dist/scenarios/scenario-registry.d.ts +107 -0
  718. package/dist/scenarios/scenario-registry.d.ts.map +1 -0
  719. package/dist/scenarios/scenario-registry.js +192 -0
  720. package/dist/scenarios/scenario-registry.js.map +1 -0
  721. package/dist/scenarios/teacher-quickstart.d.ts +41 -0
  722. package/dist/scenarios/teacher-quickstart.d.ts.map +1 -0
  723. package/dist/scenarios/teacher-quickstart.js +32 -0
  724. package/dist/scenarios/teacher-quickstart.js.map +1 -0
  725. package/dist/server/http.d.ts +36 -0
  726. package/dist/server/http.d.ts.map +1 -0
  727. package/dist/server/http.js +144 -0
  728. package/dist/server/http.js.map +1 -0
  729. package/dist/stores/file/checkpoint-store.d.ts +62 -0
  730. package/dist/stores/file/checkpoint-store.d.ts.map +1 -0
  731. package/dist/stores/file/checkpoint-store.js +250 -0
  732. package/dist/stores/file/checkpoint-store.js.map +1 -0
  733. package/dist/stores/file/file-snapshot-store.d.ts +43 -0
  734. package/dist/stores/file/file-snapshot-store.d.ts.map +1 -0
  735. package/dist/stores/file/file-snapshot-store.js +374 -0
  736. package/dist/stores/file/file-snapshot-store.js.map +1 -0
  737. package/dist/stores/file/fs-atomic.d.ts +95 -0
  738. package/dist/stores/file/fs-atomic.d.ts.map +1 -0
  739. package/dist/stores/file/fs-atomic.js +415 -0
  740. package/dist/stores/file/fs-atomic.js.map +1 -0
  741. package/dist/stores/file/index.d.ts +98 -0
  742. package/dist/stores/file/index.d.ts.map +1 -0
  743. package/dist/stores/file/index.js +109 -0
  744. package/dist/stores/file/index.js.map +1 -0
  745. package/dist/stores/file/memory-store.d.ts +95 -0
  746. package/dist/stores/file/memory-store.d.ts.map +1 -0
  747. package/dist/stores/file/memory-store.js +393 -0
  748. package/dist/stores/file/memory-store.js.map +1 -0
  749. package/dist/stores/file/session-policy-store.d.ts +24 -0
  750. package/dist/stores/file/session-policy-store.d.ts.map +1 -0
  751. package/dist/stores/file/session-policy-store.js +123 -0
  752. package/dist/stores/file/session-policy-store.js.map +1 -0
  753. package/dist/stores/file/session-store.d.ts +34 -0
  754. package/dist/stores/file/session-store.d.ts.map +1 -0
  755. package/dist/stores/file/session-store.js +175 -0
  756. package/dist/stores/file/session-store.js.map +1 -0
  757. package/dist/stores/file/tool-result-store.d.ts +23 -0
  758. package/dist/stores/file/tool-result-store.d.ts.map +1 -0
  759. package/dist/stores/file/tool-result-store.js +61 -0
  760. package/dist/stores/file/tool-result-store.js.map +1 -0
  761. package/dist/stores/file/workflow-journal-store.d.ts +36 -0
  762. package/dist/stores/file/workflow-journal-store.d.ts.map +1 -0
  763. package/dist/stores/file/workflow-journal-store.js +157 -0
  764. package/dist/stores/file/workflow-journal-store.js.map +1 -0
  765. package/dist/stores/file/workflow-run-store.d.ts +58 -0
  766. package/dist/stores/file/workflow-run-store.d.ts.map +1 -0
  767. package/dist/stores/file/workflow-run-store.js +178 -0
  768. package/dist/stores/file/workflow-run-store.js.map +1 -0
  769. package/dist/stores/pg.d.ts +210 -0
  770. package/dist/stores/pg.d.ts.map +1 -0
  771. package/dist/stores/pg.js +652 -0
  772. package/dist/stores/pg.js.map +1 -0
  773. package/dist/tools/fs/encoding.d.ts +51 -0
  774. package/dist/tools/fs/encoding.d.ts.map +1 -0
  775. package/dist/tools/fs/encoding.js +74 -0
  776. package/dist/tools/fs/encoding.js.map +1 -0
  777. package/dist/tools/fs/gh-rate-limit.d.ts +19 -0
  778. package/dist/tools/fs/gh-rate-limit.d.ts.map +1 -0
  779. package/dist/tools/fs/gh-rate-limit.js +35 -0
  780. package/dist/tools/fs/gh-rate-limit.js.map +1 -0
  781. package/dist/tools/fs/index.d.ts +246 -0
  782. package/dist/tools/fs/index.d.ts.map +1 -0
  783. package/dist/tools/fs/index.js +2130 -0
  784. package/dist/tools/fs/index.js.map +1 -0
  785. package/dist/tools/fs/pdf.d.ts +106 -0
  786. package/dist/tools/fs/pdf.d.ts.map +1 -0
  787. package/dist/tools/fs/pdf.js +178 -0
  788. package/dist/tools/fs/pdf.js.map +1 -0
  789. package/dist/tools/fs/repo-map.d.ts +15 -0
  790. package/dist/tools/fs/repo-map.d.ts.map +1 -0
  791. package/dist/tools/fs/repo-map.js +251 -0
  792. package/dist/tools/fs/repo-map.js.map +1 -0
  793. package/dist/tools/fs/safety.d.ts +168 -0
  794. package/dist/tools/fs/safety.d.ts.map +1 -0
  795. package/dist/tools/fs/safety.js +479 -0
  796. package/dist/tools/fs/safety.js.map +1 -0
  797. package/dist/tools/fs/search.d.ts +118 -0
  798. package/dist/tools/fs/search.d.ts.map +1 -0
  799. package/dist/tools/fs/search.js +650 -0
  800. package/dist/tools/fs/search.js.map +1 -0
  801. package/dist/tools/gitea-issue.d.ts +39 -0
  802. package/dist/tools/gitea-issue.d.ts.map +1 -0
  803. package/dist/tools/gitea-issue.js +91 -0
  804. package/dist/tools/gitea-issue.js.map +1 -0
  805. package/dist/tools/monitor.d.ts +64 -0
  806. package/dist/tools/monitor.d.ts.map +1 -0
  807. package/dist/tools/monitor.js +135 -0
  808. package/dist/tools/monitor.js.map +1 -0
  809. package/dist/tools/scheduler-tools.d.ts +48 -0
  810. package/dist/tools/scheduler-tools.d.ts.map +1 -0
  811. package/dist/tools/scheduler-tools.js +449 -0
  812. package/dist/tools/scheduler-tools.js.map +1 -0
  813. package/dist/tools/sql-adapters.d.ts +32 -0
  814. package/dist/tools/sql-adapters.d.ts.map +1 -0
  815. package/dist/tools/sql-adapters.js +31 -0
  816. package/dist/tools/sql-adapters.js.map +1 -0
  817. package/dist/tools/sql.d.ts +36 -0
  818. package/dist/tools/sql.d.ts.map +1 -0
  819. package/dist/tools/sql.js +131 -0
  820. package/dist/tools/sql.js.map +1 -0
  821. package/dist/tools/task-list.d.ts +26 -0
  822. package/dist/tools/task-list.d.ts.map +1 -0
  823. package/dist/tools/task-list.js +352 -0
  824. package/dist/tools/task-list.js.map +1 -0
  825. package/dist/tools/todo.d.ts +11 -0
  826. package/dist/tools/todo.d.ts.map +1 -0
  827. package/dist/tools/todo.js +126 -0
  828. package/dist/tools/todo.js.map +1 -0
  829. package/dist/tools/web.d.ts +59 -0
  830. package/dist/tools/web.d.ts.map +1 -0
  831. package/dist/tools/web.js +607 -0
  832. package/dist/tools/web.js.map +1 -0
  833. package/dist/tools/worktree.d.ts +88 -0
  834. package/dist/tools/worktree.d.ts.map +1 -0
  835. package/dist/tools/worktree.js +434 -0
  836. package/dist/tools/worktree.js.map +1 -0
  837. package/docs/A1-ATTRIBUTION-ROUND1-2026-07-09.md +181 -0
  838. package/docs/AB-ORACLE-GATE-VERDICT-2026-07-10.md +100 -0
  839. package/docs/ANCHOR-GAP-INVENTORY-2026-07-09.md +143 -0
  840. package/docs/ARCHITECTURE.md +125 -0
  841. package/docs/BUGHUNT-2026-07-05-NIGHT.md +98 -0
  842. package/docs/BUILD.md +63 -0
  843. package/docs/CANCEL-ASYNC-ATTRIBUTION-2026-07-09.md +98 -0
  844. package/docs/CC-198-VS-201-DRIFT-2026-07-09.md +70 -0
  845. package/docs/CC-BASELINE-FAKE-ZERO-AUDIT-2026-07-09.md +51 -0
  846. package/docs/CC-DRIFT-198-206-AGENT-TYPES-2026-07-10.md +82 -0
  847. package/docs/CC-DRIFT-198-206-CHANGELOG-2026-07-10.md +82 -0
  848. package/docs/CC-DRIFT-198-206-REMINDERS-2026-07-10.md +96 -0
  849. package/docs/CC-DRIFT-198-206-ROADMAP-2026-07-10.md +110 -0
  850. package/docs/CC-DRIFT-198-206-TOOL-INVENTORY-2026-07-10.md +53 -0
  851. package/docs/CC-DRIFT-198-206-USAGE-CONSTANTS-2026-07-10.md +64 -0
  852. package/docs/CC-DRIFT-198-206-WORKFLOW-2026-07-10.md +83 -0
  853. package/docs/CC-PARITY-CHECKLIST.md +220 -0
  854. package/docs/CC-PARITY-DEEP-SWEEP-2026-07-07.md +149 -0
  855. package/docs/CC-SUBAGENT-PROMPT-STUDY-2026-07-09.md +219 -0
  856. package/docs/CC-TASK-REMINDER-CADENCE-STUDY-2026-07-09.md +396 -0
  857. package/docs/CC-TOOL-PARITY-SWEEP-2026-07.md +56 -0
  858. package/docs/CC-TOOL-PROMPT-DEEP-DIFF-2026-07-08.md +274 -0
  859. package/docs/CC-TOOLSURFACE-DEEP-DIVE-2026-07-07.md +197 -0
  860. package/docs/CC206-OBSERVER-ANCHORS-2026-07-11.md +463 -0
  861. package/docs/CC207-CORE-SWEEP-BACKLOG-2026-07-12.md +155 -0
  862. package/docs/CENTER-CONTROL-PLANE-SEAM.md +86 -0
  863. package/docs/CLEANUP-CONTRACT-ANCHOR-2026-07-09.md +83 -0
  864. package/docs/COLD-START-RSI-2026-07-09.md +72 -0
  865. package/docs/COMPACTION-LIVE-AUDIT-2026-07-09.md +114 -0
  866. package/docs/CONTEXT-lifecycle-extension-points-and-stop-attribution.md +71 -0
  867. package/docs/COREWARS-POLYGLOT-TRIAGE-2026-07-09.md +85 -0
  868. package/docs/DEADTARGET-OVERFULL-HBOX-2026-07-10.md +92 -0
  869. package/docs/DEADTARGET-PATH-TRACING-REVERSE-2026-07-10.md +87 -0
  870. package/docs/DEADTARGET-WINNING-AVG-COREWARS-2026-07-10.md +96 -0
  871. package/docs/DEEPSEEK-API-LIMITS-PROBE-2026-07-09.md +118 -0
  872. package/docs/DESIGN-140-MOCK-VERIFY-2026-07-11.md +79 -0
  873. package/docs/DESIGN-140-VERIFICATION-2026-07-11.md +43 -0
  874. package/docs/DESIGN-DRAFT-workflow-collab-2026-07-11.md +56 -0
  875. package/docs/DESIGN-ORACLE-GROUNDING-GATE-2026-07-10.md +167 -0
  876. package/docs/DESIGN-TFRAG-RECONCILE-SCAFFOLD-2026-07-09.md +102 -0
  877. package/docs/EXP-PA2-PE-DESIGN-2026-07-11.md +220 -0
  878. package/docs/EXT-DOGFOOD-2026-07-12.md +50 -0
  879. package/docs/FINAL-VERIFY-SURFACE-AUDIT-2026-07-09.md +44 -0
  880. package/docs/FRAG-RECON-INVESTIGATION-2026-07-09.md +183 -0
  881. package/docs/HANDOFF.md +121 -0
  882. package/docs/KNOWN-ISSUES.md +96 -0
  883. package/docs/LEGW-WINDOW-TAX-2026-07-10.md +82 -0
  884. package/docs/LIVE-PROBE-BATCH-2026-07-11.md +207 -0
  885. package/docs/M2-CERT-ATTRIBUTION-2026-07-10.md +61 -0
  886. package/docs/M25-LEG-VARIANCE-ATTRIBUTION-2026-07-10.md +81 -0
  887. package/docs/MAILMAN-TIMEOUT-ATTRIBUTION-2026-07-10.md +88 -0
  888. package/docs/MEMORY-BACKEND-DIALECT-NOTES.md +69 -0
  889. package/docs/MTEB-ESCAPE-HATCH-ATTRIBUTION-2026-07-09.md +57 -0
  890. package/docs/MTEB-LEADERBOARD-ATTRIBUTION-2026-07-10.md +134 -0
  891. package/docs/ORACLE-GATE-NEGATIVE-SAMPLE-2026-07-11.md +28 -0
  892. package/docs/PARITY-CONTEXT-TRANSACTIONS-2026-07-10.md +67 -0
  893. package/docs/PARITY-PROGRESS-MATRIX-2026-07-10.md +37 -0
  894. package/docs/PARITY-SPOT-AGENT-TYPES-2026-07-10.md +70 -0
  895. package/docs/PARITY-SPOT-REMINDERS-2026-07-10.md +144 -0
  896. package/docs/PARITY-SPOT-TOOL-INVENTORY-2026-07-10.md +61 -0
  897. package/docs/PARITY-SPOT-USAGE-CONSTANTS-2026-07-10.md +95 -0
  898. package/docs/PARITY-SPOT-WORKFLOW-2026-07-10.md +93 -0
  899. package/docs/PASSWORD-RECOVERY-PANEL-VERDICT-2026-07-10.md +62 -0
  900. package/docs/R8-R9-FINALIZE-COORDINATION-2026-07-09.md +124 -0
  901. package/docs/REPL-CODE-MODE-EVALUATION-2026-07-10.md +187 -0
  902. package/docs/REPORT-1249-TARGETED.md +48 -0
  903. package/docs/RESEARCH-3P-MEMORY-SWAP-2026-07-12.md +273 -0
  904. package/docs/ROADMAP.md +111 -0
  905. package/docs/RSI-CLOUD-DEPLOY-2026-07-06.md +289 -0
  906. package/docs/RSI-PROCESS-AI-COLDSTART-2026-07-11.md +68 -0
  907. package/docs/S18-THOROUGHNESS-AUDIT-2026-07-09.md +113 -0
  908. package/docs/SERVICE-INTEGRATION-GUIDE.md +298 -0
  909. package/docs/SUBAGENT-STREAM-RESILIENCE-PARITY-2026-07-10.md +118 -0
  910. package/docs/SWEBENCH-PRO-RECON-2026-07-11.md +31 -0
  911. package/docs/TB-EFFICIENCY-TELEMETRY-2026-07-08.md +114 -0
  912. package/docs/TB-FAILURE-AUTOPSY-2026-07-05-RERUN.md +67 -0
  913. package/docs/TB-FAIRNESS-AUDIT-2026-07-08.md +141 -0
  914. package/docs/TB-FULL-1257-2026-07-08.md +77 -0
  915. package/docs/TB-LEG-GAP-ATTRIBUTION-1261-1263-2026-07-11.md +154 -0
  916. package/docs/TB-REGRESSION-DAEMON-KILL-2026-07-08.md +58 -0
  917. package/docs/TB-RSI-CROSSCHECK-2026-07-06.md +68 -0
  918. package/docs/TB-RSI-LEDGER.md +30 -0
  919. package/docs/TB-STABLE-SET-2026-07-08.md +127 -0
  920. package/docs/TB21-RECON-2026-07-11.md +28 -0
  921. package/docs/TEST-DESIGN-BATCH-1-2-3.md +97 -0
  922. package/docs/THIRD-PARTY-INTEGRATION.md +45 -0
  923. package/docs/TOKEN-ESTIMATE-CALIBRATION-LIVE-2026-07-09.md +102 -0
  924. package/docs/audit-2026-06-10-/347/254/254/344/272/214/350/275/256-/347/251/272/347/231/275/345/214/272/344/270/216/345/277/230/346/216/245/347/272/277.md +147 -0
  925. package/docs/audit-2026-06-10-/350/256/241/347/256/227bug/346/211/253/346/217/217.md +163 -0
  926. package/docs/audit-2026-06-11-/344/277/256/345/244/215/345/244/215/345/256/241/344/270/216/345/233/236/345/275/222/344/270/223/346/211/253.md +95 -0
  927. package/docs/audit-2026-06-12-design71-P1/346/275/234/344/274/217/351/235/242/350/243/201/345/206/263/344/270/216/345/220/236/351/224/231/345/256/241/350/256/241.md +45 -0
  928. package/docs/audit-2026-06-12-/345/205/254/345/274/200/346/227/213/351/222/256/346/264/273/346/200/247/344/270/216vendored/346/255/273/350/267/257.md +63 -0
  929. package/docs/audit-2026-06-15/ADDENDUM-second-pass.md +88 -0
  930. package/docs/audit-2026-06-15/ARCHITECTURE-AND-ROADMAP.md +187 -0
  931. package/docs/audit-2026-06-15/DOC-CORRECTIONS.md +105 -0
  932. package/docs/audit-2026-06-15/INDEX.md +49 -0
  933. package/docs/audit-2026-06-15/ORCHESTRATION-STATUS.md +98 -0
  934. package/docs/audit-2026-06-15/PRODUCTION-ISSUES.md +189 -0
  935. package/docs/audit-2026-06-15/REFERENCES-literature.md +139 -0
  936. package/docs/audit-2026-06-15/VENDOR-REFACTOR-PLAN.md +96 -0
  937. package/docs/cc-probe-198/README.md +72 -0
  938. package/docs/cc-probe-198/STABILITY-AUDIT.md +118 -0
  939. package/docs/cc-probe-198/live-schema-monitor-worktree-2026-07-09.json +56 -0
  940. package/docs/cc-probe-198/mount-variants.json +536 -0
  941. package/docs/cc-probe-198/plan-mode-run.json +1 -0
  942. package/docs/cc-probe-198/probe-bash-bg.json +224 -0
  943. package/docs/cc-probe-198/probe-edit-mismatch.json +120 -0
  944. package/docs/cc-probe-198/probe-read-missing.json +62 -0
  945. package/docs/cc-probe-198/probe-search-empty.json +127 -0
  946. package/docs/cc-probe-198/probe-task-family.json +227 -0
  947. package/docs/cc-probe-198/probes.status +6 -0
  948. package/docs/cc-probe-198/raw-capture-interactive.json +948 -0
  949. package/docs/cc-probe-198/raw-capture-print.json +787 -0
  950. package/docs/cc-probe-198/raw-capture2-interactive.json +948 -0
  951. package/docs/cc-probe-198/raw-capture2-print.json +787 -0
  952. package/docs/cc-probe-198/system-prompt.txt +135 -0
  953. package/docs/cc-probe-198/tools-array.json +962 -0
  954. package/docs/durability-boundary.md +63 -0
  955. package/docs/fix-2026-06-10-/350/256/241/347/256/227bug/344/277/256/345/244/215-search/346/211/271.md +75 -0
  956. package/docs/fix-2026-06-11-/347/254/254/344/272/214/350/275/256-/344/277/256/345/244/215-search/346/211/271.md +62 -0
  957. package/docs/parity-sweep/REPORT-DYNAMIC.md +97 -0
  958. package/docs/parity-sweep/REPORT-STATIC-GGB.md +127 -0
  959. package/docs/parity-sweep/REPORT-STATIC-RWE.md +133 -0
  960. package/docs/vendor-history.md +385 -0
  961. package/docs/vendored-upstream-diff-2026-07.md +83 -0
  962. package/package.json +70 -0
@@ -0,0 +1,714 @@
1
+ /**
2
+ * design/89 §2 — VALUE-JUDGMENT METRICS (the cost-per-truly-correct measurement tool).
3
+ *
4
+ * Pure, deterministic measurement logic for the value-judgment benchmark (design/89, milestone-gap
5
+ * ❓-未判项: "supervisor / multi-agent vs solo 到底值不值?"). The service three-arm harness feeds REAL
6
+ * runs in; this module computes truly-correct / three-class outcomes / cost four-components / Pareto.
7
+ *
8
+ * IRON LAWS (design/89 §2, blood-bought red lines — DO NOT relax):
9
+ * 1. The numerator counts ONLY objective oracles (exec-gate exit-code, build, property-harness, and
10
+ * actual-delivery). LLM-judge is NEVER counted into truly-correct (it is a runtime GATE, not a
11
+ * measurement; §2.2). It burns cost (C1/C2) but never the numerator.
12
+ * 2. NEVER synthesize a single scalar. Cost is FOUR separate components (§2.3); C1 (token µUSD) and
13
+ * C2 (human seconds) are apples + oranges (§2.1) and are NEVER added. The verdict is a 3-D Pareto
14
+ * frontier over (C1, C2.sec, P). A µUSD/tc ratio may be reported ONLY as a per-axis diagnostic.
15
+ * 3. THREE outcome classes (§2.2.1): DELIVERED-CORRECT / DELIVERED-WRONG / CORRECTLY-WITHHELD. A
16
+ * correctly-withheld task (human/gate stopped a would-be DELIVERED-WRONG) is the supervisor's
17
+ * avoided-loss value — it is NOT a failure and NOT in the numerator.
18
+ * 4. Deterministic + testable: this file has zero model/network dependency. Synthetic-run fixtures
19
+ * validate the measurement logic without a real model (see metrics.test.ts).
20
+ *
21
+ * This is a SHADOW-LAB experiment tool (not the core engine). Run via `npx tsx`.
22
+ */
23
+ /**
24
+ * The orchestration arms.
25
+ * - "solo" — no supervision profile (the cost floor / quality-risk baseline).
26
+ * - "sup" — SUP-per-step (S1a): the scripted human gate fires UNCONDITIONALLY at every plan_review +
27
+ * risky tool ask (C2 paid every time). S1a proved this is `dominated` on coding tasks (same P
28
+ * as solo, but pays C2 for nothing the model couldn't get right alone).
29
+ * - "sup-vf" — SUP verifier-first (S1b): the SAME supervision profile, but the scripted human gate is only
30
+ * ESCALATED (C2 paid) when ① a deterministic verifier (the mechanical hidden oracle / RepairOracle
31
+ * / shellGate hazard list) is RED or ② the action hits the danger list (destructive-fs / secret /
32
+ * pipe-to-shell). Otherwise the gate AUTO-ALLOWS with C2=0 (steals reflection/actor-critic + CRITIC:
33
+ * an external deterministic verifier is the critic; the human is the escalation tier only). Hypothesis:
34
+ * on coding tasks where the verifier goes green, SUP-vf collapses C2→~0 and stops being dominated by
35
+ * solo, WHILE keeping the trap-safety CORRECTLY-WITHHELD (the danger list still escalates `rm -rf data`).
36
+ * - "team" — service-deferred (runLeaderTask).
37
+ */
38
+ export type Arm = "solo" | "sup" | "sup-vf" | "team";
39
+ /**
40
+ * The OBJECTIVE oracle verdicts for one run (design/89 §2.2). These are the four AND criteria.
41
+ * Every field is produced by an external, deterministic oracle run AFTER the agent finishes — never
42
+ * by an LLM-judge. Each is computed by the service harness (it owns exec-gate / build / git) and
43
+ * recorded verbatim; this module only ANDs them.
44
+ */
45
+ export interface OracleVerdicts {
46
+ /** §2.2 criterion ① — hidden objective test suite all green: `runExecGate` exit==0 over a NON-EMPTY
47
+ * suite. Encode "empty suite / null exit" as `false` (exec-gate never passes those). */
48
+ hiddenTestsGreen: boolean;
49
+ /** §2.2 criterion ② — build/compile passed (APK assembleOfflineDebug / tsc / gradle build). Guards
50
+ * the "tests green but compile broke" false-positive. */
51
+ buildPassed: boolean;
52
+ /** §2.2 criterion ③ — mechanical invariants un-violated (property-harness). `true` when no violation
53
+ * OR property-harness is not applicable to this task (the AND must not penalize an N/A task). The
54
+ * harness sets this to `propertyHarnessApplicable ? noViolations : true`. */
55
+ invariantsOk: boolean;
56
+ /** §2.2 criterion ④ — ACTUALLY DELIVERED: a git commit exists AND the merge does not roll back.
57
+ * "ran but didn't deliver" (run 019ec5d1 触顶蒸发: 104 lines all lost) MUST count 0, else solo is
58
+ * systematically over-estimated. */
59
+ delivered: boolean;
60
+ }
61
+ /**
62
+ * Whether the human/gate WITHHELD this run's delivery (design/89 §2.2.1). When `true`, the agent
63
+ * (or a human at an approval gate) correctly DID NOT deliver — the §2.2.1 supervisor-fairness fix:
64
+ * a withheld run that WOULD have been DELIVERED-WRONG is avoided-loss value, not a failure, and is
65
+ * single-listed (not in the numerator, not a failure). Only the SUP/TEAM arms can withhold; for SOLO
66
+ * this is always `false` (no human/gate).
67
+ */
68
+ export interface DeliveryDecision {
69
+ /** The human/gate stopped/aborted/refused-to-deliver this run. */
70
+ withheld: boolean;
71
+ }
72
+ /**
73
+ * design/95 §3.2 — the lifecycle status of a run, so INFRA noise never poisons the mode signal
74
+ * (codex BLOCKER B4 / design/89 §3.3 Beatsep red line). The Beatsep task#2b 9% pass-rate was infra
75
+ * death (OOM / K8S passthrough / nested-root), NOT a mode signal — feeding such runs into the
76
+ * numerator turns them into spurious DELIVERED-WRONG / zero datapoints and reproduces the very noise
77
+ * the design claims to have isolated. `buildReport` SCORES only `scored`; `infra-failed` / `excluded`
78
+ * runs are dropped from every cell/Pareto computation and surfaced as an exclusion ledger.
79
+ *
80
+ * - "scored" — a clean run whose oracle verdict is a real mode signal. The ONLY status scored.
81
+ * - "infra-failed" — OOM / sandbox / passthrough / nested-root death; the agent never got a fair
82
+ * attempt. Excluded; counted in the exclusion ledger with reason "infra-failed".
83
+ * - "excluded" — manually quarantined (e.g. corpusHash drift, approver-policy change mid-batch,
84
+ * a known-bad fixture). Excluded; counted with reason "excluded".
85
+ *
86
+ * ABSENT ⇒ treated as "scored" (back-compat: older RunRecord arrays predate this field).
87
+ */
88
+ export type RunStatus = "scored" | "infra-failed" | "excluded";
89
+ /** A single run fed in by the service three-arm harness. */
90
+ export interface RunRecord {
91
+ arm: Arm;
92
+ /** Task id (for paired-seed grouping / cell folding). */
93
+ taskId: string;
94
+ /** Repeat/seed index within the cell (design/89 §3.4 N-repeat). */
95
+ seed?: number | string;
96
+ /**
97
+ * design/95 §3.2 / codex B4 — lifecycle status. Only "scored" runs reach the numerator / cost /
98
+ * Pareto. Absent ⇒ "scored" (back-compat). See {@link RunStatus}.
99
+ */
100
+ runStatus?: RunStatus;
101
+ /**
102
+ * design/95 §2 (B1 / Simpson's-paradox guard) — the heterogeneity coordinates a run belongs to. The
103
+ * suite is heterogeneous (different archetypes / value-dimensions / difficulties); folding everything
104
+ * into an arm mean can flip a per-cell conclusion (Simpson's paradox), making J1-J5 / JV1-JV4
105
+ * UN-evaluable. `buildReport` groups by `(suiteVersion, taskId, archetype, valueDimension, arm)` and
106
+ * keeps the seed-paired rows; the suite-level rollup is a WEIGHTED summary of scored cells only and is
107
+ * NOT a decision surface. All fields optional for back-compat (a run with none falls into a single
108
+ * "ungrouped" cell, preserving the old single-arm-mean behavior for legacy fixtures).
109
+ */
110
+ suiteVersion?: string;
111
+ archetype?: string;
112
+ valueDimension?: string;
113
+ /** The four objective oracle verdicts (§2.2). */
114
+ oracle: OracleVerdicts;
115
+ /** Whether delivery was correctly withheld (§2.2.1). */
116
+ delivery: DeliveryDecision;
117
+ /**
118
+ * The engine-produced `TaskResult.stats` (or the relevant subset). C1 is derived from
119
+ * `stats.costBreakdown` (design/80 D-E-core); C2 from `stats.humanReview` (design/91, 1.110.0 ship).
120
+ * Shape mirrors @sema-ai/core `TaskResult["stats"]` — see {@link CoreStatsSubset}.
121
+ */
122
+ stats: CoreStatsSubset;
123
+ /** Wall-clock seconds for the whole run (task start→done). The C3 source. */
124
+ wallTimeSec?: number;
125
+ /** Infra cost in µUSD (E2B vCPU-hr / egress / k8s) — owned & filled by the SERVICE (core never has
126
+ * this). The C4 source. Absent for solo-local / when the service did not measure it. */
127
+ infraMicroUsd?: number;
128
+ /**
129
+ * §2.4#2 intercept-value counterfactual: for each human intervention on a SUP run, the harness
130
+ * re-runs the same brief + fixed seed with that intervention DISABLED and records whether the final
131
+ * truly-correct flipped. Absent for SOLO (no intervention) and when the counterfactual was not run.
132
+ *
133
+ * CRITICAL (design/89 §2.2.1 line 96): for a WITHHELD run this is REQUIRED to decide whether the
134
+ * withhold was CORRECT. A withhold is avoided-loss ONLY if disabling the intervention would have
135
+ * produced a DELIVERED-WRONG (`withoutInterventionTrulyCorrect===false`). When this is absent on a
136
+ * withheld run, the withhold is UNVERIFIED — it is NOT credited as avoided-loss.
137
+ */
138
+ counterfactual?: InterceptCounterfactual;
139
+ /**
140
+ * R2 (MINOR) — the HONESTY provenance of this run's judgment, stamped at the RECORD level (not only in the
141
+ * report/stamp layer). A SUP/TEAM run's value rides on a SCRIPTED approver (NOT a real human review), so it is
142
+ * an INITIAL judgment, never a firm verdict (design/95 §6.1.bis / §6.1). Carrying it on the record means a
143
+ * record-level filter / re-aggregation / persisted run cannot silently lose the "scripted-human, not firm"
144
+ * semantics (before this, filtering RunRecords dropped the label that lived only on `BatchStamp`). SOLO has no
145
+ * human/approver ⇒ undefined (a pure objective-oracle run — no scripted-human judgment to caveat).
146
+ */
147
+ judgeMode?: "scripted-human-initjudge";
148
+ }
149
+ /**
150
+ * The subset of @sema-ai/core `TaskResult["stats"]` this tool reads. Kept structurally
151
+ * compatible (all optional, same field names/shapes) so a real `TaskResult.stats` is assignable here
152
+ * with no adaptation — verified against src/core/types.ts (1.110.0).
153
+ */
154
+ export interface CoreStatsSubset {
155
+ costMicroUsd?: number;
156
+ /** design/80 D-E-core finance taxonomy. C1 is the SUM of its LLM-derived lines. */
157
+ costBreakdown?: {
158
+ llmRootMicroUsd: number;
159
+ nestedSubagentMicroUsd: number;
160
+ memoryConsolidationMicroUsd: number;
161
+ compactionMicroUsd: number;
162
+ };
163
+ nested?: {
164
+ costMicroUsd?: number;
165
+ };
166
+ /** design/91 human-review burden (the C2 source). Absent ⇒ no approval gate was hit. */
167
+ humanReview?: {
168
+ count: number;
169
+ totalWaitMs: number;
170
+ gates: Array<{
171
+ kind: string;
172
+ waitMs: number;
173
+ decision?: string;
174
+ }>;
175
+ };
176
+ }
177
+ /**
178
+ * §2.2 — `truly-correct(run)` = AND of the four objective criteria (any false ⇒ 0). The numerator of
179
+ * P. By construction this takes ONLY {@link OracleVerdicts} (objective oracles); there is no parameter
180
+ * by which an LLM-judge could enter — that is the type-level enforcement of iron law #1.
181
+ */
182
+ export declare function trulyCorrect(o: OracleVerdicts): boolean;
183
+ export type Outcome = "DELIVERED-CORRECT" | "DELIVERED-WRONG" | "CORRECTLY-WITHHELD" | "INCORRECTLY-WITHHELD" | "UNVERIFIED-WITHHELD";
184
+ /**
185
+ * §2.2.1 — classify a run into one of the outcome classes. The withheld bucket is SPLIT by the §2.1
186
+ * intercept-value counterfactual (design/89 §2.2.1 line 96 — a withhold is only avoided-loss if it
187
+ * stopped a would-be DELIVERED-WRONG):
188
+ * - DELIVERED-CORRECT: not withheld AND truly-correct → the numerator.
189
+ * - DELIVERED-WRONG: not withheld AND not truly-correct → the true negative (solo hard-committing a
190
+ * buggy artifact, OR 触顶蒸发 with delivered=false). §2.2 criterion ④ folds "ran-but-didn't-
191
+ * deliver" into DELIVERED-WRONG, not into a withheld bucket — withheld requires an EXPLICIT
192
+ * human/gate decision, vaporized-on-overflow is a failure.
193
+ * - CORRECTLY-WITHHELD: withheld AND the counterfactual proves the task WOULD have been DELIVERED-
194
+ * WRONG (`withoutInterventionTrulyCorrect===false`). The supervisor's avoided-loss value — NOT in
195
+ * the numerator, NOT a failure.
196
+ * - INCORRECTLY-WITHHELD: withheld BUT the counterfactual shows the task would have been DELIVERED-
197
+ * CORRECT (`withoutInterventionTrulyCorrect===true`). A value-DESTROYING over-cautious intervention
198
+ * (a false-positive withhold). This is a COST/mistake, NEVER laundered into avoided-loss (the
199
+ * focus-item-② failure mode the review caught).
200
+ * - UNVERIFIED-WITHHELD: withheld but NO counterfactual was recorded → correctness unknown. Excluded
201
+ * from the avoided-loss credit (NOT defaulted to CORRECTLY-WITHHELD) and flagged (design/89 §2.2.1
202
+ * line 96: withheld MUST be counterfactual-verified).
203
+ */
204
+ export declare function classifyOutcome(run: {
205
+ oracle: OracleVerdicts;
206
+ delivery: DeliveryDecision;
207
+ counterfactual?: InterceptCounterfactual;
208
+ }): Outcome;
209
+ /**
210
+ * §2.3 — the four cost components for one run. EACH single-listed; C1 and C2 are different units
211
+ * (µUSD vs seconds) and are NEVER added (that is the §2.1 apples+oranges trap). There is deliberately
212
+ * NO field that combines them.
213
+ */
214
+ export interface CostComponents {
215
+ /** C1 — model (LLM-token) cost in µUSD. Derived from `stats.costBreakdown` (design/80 D-E-core):
216
+ * the sum of the LLM-derived lines. */
217
+ c1ModelMicroUsd: number;
218
+ /** C2 — human-review burden: (count, seconds). From `stats.humanReview` (design/91). Seconds, not
219
+ * µUSD — never folded into C1. */
220
+ c2HumanCount: number;
221
+ c2HumanSec: number;
222
+ /** C3 — wall-clock seconds (the speed axis; fan-out's true value場之一). */
223
+ c3WallSec: number;
224
+ /** C4 — infra µUSD (E2B vCPU-hr / egress / k8s), service-owned. 0 when not measured. */
225
+ c4InfraMicroUsd: number;
226
+ }
227
+ /**
228
+ * §2.3 — derive C1 from `stats.costBreakdown` (design/80 D-E-core). C1 is the LLM-token-derived total:
229
+ * the sum of the four breakdown lines. Falls back to `costMicroUsd` (+ nested) when `costBreakdown`
230
+ * is absent (older runs), then 0. This is the ONLY composition done — and it is WITHIN C1 (all µUSD,
231
+ * same unit); it never reaches across to C2.
232
+ */
233
+ export declare function deriveC1(stats: CoreStatsSubset): number;
234
+ /** §2.4 — derive C2 (count, seconds) from `stats.humanReview` (design/91). Absent ⇒ no gate ⇒ (0,0). */
235
+ export declare function deriveC2(stats: CoreStatsSubset): {
236
+ count: number;
237
+ sec: number;
238
+ };
239
+ /** §2.3 — assemble all four cost components for a run. They stay separate by construction. */
240
+ export declare function costComponents(run: RunRecord): CostComponents;
241
+ /**
242
+ * §2.4#2 — the result of the intercept-value counterfactual for ONE human intervention: re-run the
243
+ * same brief + fixed seed with that intervention DISABLED and observe how the final OUTCOME CLASS
244
+ * changed. The intervention has intercept value when the class IMPROVED — including the avoided-loss
245
+ * case (CORRECTLY-WITHHELD vs would-be DELIVERED-WRONG), which truly-correct alone CANNOT see
246
+ * (a withheld run's `withInterventionTrulyCorrect` is trivially false — nothing was delivered).
247
+ * This is what gives J3's "human-review is quality not only cost" a measurement.
248
+ */
249
+ export interface InterceptCounterfactual {
250
+ /** truly-correct WITH the intervention (the actual SUP run). For a WITHHELD run this is trivially
251
+ * false (nothing delivered) — do NOT infer intercept value from it; use the class comparison. */
252
+ withInterventionTrulyCorrect: boolean;
253
+ /** truly-correct WITHOUT it (the re-run with the intervention disabled). For a withhold this is the
254
+ * load-bearing field: `false` ⇒ the withhold prevented a DELIVERED-WRONG (avoided-loss). */
255
+ withoutInterventionTrulyCorrect: boolean;
256
+ /** Optional explicit override. When set, {@link interceptHadValue} uses it verbatim. Prefer leaving
257
+ * it unset so the predicate derives value from the outcome classes (which handles withholds). */
258
+ changedOutcome?: boolean;
259
+ }
260
+ /**
261
+ * §2.4#2 — did a human intervention have intercept VALUE? Outcome-CLASS-aware (NOT truly-correct-binary
262
+ * -aware), so it correctly credits the supervisor's #1 value — an avoided-loss withhold — which a
263
+ * truly-correct XOR cannot see (design/89 §2.2.1: a withheld run's truly-correct is always false).
264
+ *
265
+ * Value exists when disabling the intervention would have WORSENED the outcome class:
266
+ * - DELIVER-correcting intervention: WITH delivers correct, WITHOUT delivers wrong
267
+ * (`withInterventionTrulyCorrect===true && withoutInterventionTrulyCorrect===false`).
268
+ * - AVOIDED-LOSS withhold: the run was correctly withheld (CORRECTLY-WITHHELD) and WITHOUT the
269
+ * intervention it would have been DELIVERED-WRONG (`withoutInterventionTrulyCorrect===false`).
270
+ *
271
+ * An INCORRECTLY-WITHHELD intervention (would-be correct, killed by an over-cautious human) has
272
+ * NEGATIVE value and returns `false` here — it is never counted as intercept value.
273
+ *
274
+ * Pass the run's outcome class so the predicate knows whether this was a withhold; the explicit
275
+ * `changedOutcome` override still wins when the harness sets it.
276
+ */
277
+ export declare function interceptHadValue(cf: InterceptCounterfactual, outcome: Outcome): boolean;
278
+ /**
279
+ * §2.4 — the intercept-value seam the service three-arm harness implements: given a SUP run, clone the
280
+ * brief + fix the seed, disable ONE human intervention, re-run, and return its truly-correct. This is
281
+ * a SEAM (not implemented here — it needs the real Runner/model). The metrics tool consumes its result
282
+ * via `RunRecord.counterfactual`; this type pins the contract so service implements it correctly.
283
+ */
284
+ export type InterceptValueCounterfactualSeam = (args: {
285
+ /** The original SUP run whose intervention is being ablated. */
286
+ run: RunRecord;
287
+ /** Which intervention to disable (index into `stats.humanReview.gates`). */
288
+ interventionIndex: number;
289
+ }) => Promise<InterceptCounterfactual>;
290
+ /**
291
+ * §2.3 output-form — one arm's per-cell vector: `(C1, C2.sec, C3, C4, P=truly-correct rate, intercept
292
+ * value, CORRECTLY-WITHHELD count)` + the raw outcome tallies. Reported WITH n (and a CI when n large
293
+ * enough). NO single µUSD/tc headline (iron law #2).
294
+ */
295
+ export interface ArmCell {
296
+ arm: Arm;
297
+ n: number;
298
+ /** Outcome tallies. The withheld bucket is SPLIT (§2.2.1 line 96): only counterfactual-verified
299
+ * avoided-loss is `correctlyWithheld`; an over-cautious would-be-correct kill is
300
+ * `incorrectlyWithheld` (a cost); a withhold with no counterfactual is `unverifiedWithheld`. */
301
+ deliveredCorrect: number;
302
+ deliveredWrong: number;
303
+ correctlyWithheld: number;
304
+ incorrectlyWithheld: number;
305
+ unverifiedWithheld: number;
306
+ /**
307
+ * P = truly-correct RATE. design/89 §2.2.1: CORRECTLY-WITHHELD is neither numerator nor failure, so
308
+ * it is EXCLUDED from the denominator (it is not an attempt that produced a delivered artifact). P =
309
+ * DELIVERED-CORRECT / (DELIVERED-CORRECT + DELIVERED-WRONG). When all runs were withheld the rate is
310
+ * undefined (no delivery attempt to score).
311
+ */
312
+ trulyCorrectRate: number | undefined;
313
+ /** Avoided-loss rate = CORRECTLY-WITHHELD / n. The supervisor's §2.2.1 value, single-listed. */
314
+ correctlyWithheldRate: number;
315
+ /**
316
+ * codex MINOR / design/95 M10 — withhold treated as a binary detector of would-be-wrong delivery
317
+ * (positive = withheld; ground truth = would-be-wrong, established by the §2.4 counterfactual). Reported
318
+ * as precision/recall — NOT just the raw correctly-withheld count — so an arm cannot look good by
319
+ * withholding indiscriminately (high count, low precision) or by rarely withholding (high precision,
320
+ * low recall). Both undefined when their denominator is 0.
321
+ * withholdPrecision = correctlyWithheld / (correctlyWithheld + incorrectlyWithheld)
322
+ * — of the VERIFIED withhold decisions, the fraction that avoided a real wrong delivery. UNVERIFIED
323
+ * withholds are EXCLUDED (no counterfactual ⇒ TP/FP unknown; the honest, anti-over-claim choice).
324
+ * withholdRecall = correctlyWithheld / (correctlyWithheld + deliveredWrong)
325
+ * — of the wrong-delivery opportunities, the fraction the withhold caught (deliveredWrong = the FN:
326
+ * a wrong artifact was delivered that a withhold would have avoided).
327
+ */
328
+ withholdPrecision: number | undefined;
329
+ withholdRecall: number | undefined;
330
+ /** Mean C1 (µUSD), C2 (count, sec), C3 (sec), C4 (µUSD) across the cell. Each single-listed. */
331
+ c1ModelMicroUsdMean: number;
332
+ c2HumanCountMean: number;
333
+ c2HumanSecMean: number;
334
+ c3WallSecMean: number;
335
+ c4InfraMicroUsdMean: number;
336
+ /** §2.4 intercept value: how many interventions changed the outcome / how many were measured. */
337
+ interceptValueChanged: number;
338
+ interceptValueMeasured: number;
339
+ /**
340
+ * Per-axis DIAGNOSTIC only (iron law #2): mean-C1 µUSD per DELIVERED-CORRECT. Undefined when 0
341
+ * delivered-correct. NEVER combines C2 — it is C1-only, labeled a diagnostic, and never the verdict.
342
+ */
343
+ c1PerTrulyCorrectDiag: number | undefined;
344
+ }
345
+ /** Fold a cell's runs (all same arm) into the per-arm vector. */
346
+ export declare function foldCell(runs: RunRecord[]): ArmCell;
347
+ /**
348
+ * §2.1 — the three Pareto axes for one arm. Lower is better for cost (C1, C2.sec); higher is better
349
+ * for correctness (P). NOTE: an arm with undefined P (all-withheld) cannot be placed on the frontier
350
+ * — it is excluded from domination judgment and flagged.
351
+ */
352
+ export interface ParetoPoint {
353
+ arm: Arm;
354
+ c1ModelMicroUsd: number;
355
+ c2HumanSec: number;
356
+ trulyCorrectRate: number;
357
+ }
358
+ /**
359
+ * §2.1 — does point `a` Pareto-DOMINATE point `b`? `a` dominates `b` iff `a` is no worse on ALL three
360
+ * axes (≤ C1, ≤ C2.sec, ≥ P) AND strictly better on at least one. Domination means b is provably
361
+ * inferior. NOT dominated ⇒ both are on the frontier (a real trade-off — exactly the §2.1 outcome we
362
+ * refuse to collapse into one scalar).
363
+ */
364
+ export declare function dominates(a: ParetoPoint, b: ParetoPoint): boolean;
365
+ export interface ParetoResult {
366
+ /** The input points that could be placed (P defined). */
367
+ points: ParetoPoint[];
368
+ /** Arms on the Pareto frontier (NOT dominated by any other) — the real trade-offs. */
369
+ frontier: Arm[];
370
+ /** Arms dominated by ≥1 other arm, each with WHO dominates it. A dominated arm is provably inferior
371
+ * (the only kind of verdict §2.1 permits — no scalar ranking of frontier members). */
372
+ dominated: Array<{
373
+ arm: Arm;
374
+ dominatedBy: Arm[];
375
+ }>;
376
+ /**
377
+ * Arms excluded from the frontier because P was undefined (all-withheld) — flagged, not silently
378
+ * dropped, and CARRYING their avoided-loss so a consumer that reads `frontier` cannot miss the
379
+ * withheld arm's value (design/89 §2.2.1: an all-withheld supervisor must not vanish, leaving a
380
+ * wrong-shipping solo as the sole "winner").
381
+ */
382
+ excludedUndefinedP: Array<{
383
+ arm: Arm;
384
+ correctlyWithheldRate: number;
385
+ correctlyWithheld: number;
386
+ deliveredWrong: number;
387
+ }>;
388
+ /**
389
+ * HARD COUNTERWEIGHT (design/89 §2.1/§2.2.1): set when the frontier is NOT a clean winner declaration
390
+ * — an arm with avoided-loss (correctlyWithheld>0) was excluded for undefined P WHILE a frontier arm
391
+ * ships real negatives (deliveredWrong>0). A downstream consumer keying on `frontier` MUST read this
392
+ * before concluding "X won": the excluded arm avoided loss the frontier arm did not.
393
+ */
394
+ frontierNotAWinnerDeclaration?: {
395
+ reason: string;
396
+ excludedAvoidedLossArms: Arm[];
397
+ frontierArmsShippingWrong: Arm[];
398
+ };
399
+ }
400
+ /**
401
+ * §2.1 — compute the 3-D Pareto frontier over the per-arm cells. Each arm contributes ONE point
402
+ * `(C1 mean, C2.sec mean, P)`. Arms with undefined P (all-withheld) are flagged and excluded from
403
+ * domination. The output is the frontier + dominated-by map — NEVER a single ranked scalar.
404
+ */
405
+ export declare function paretoFrontier(cells: ArmCell[]): ParetoResult;
406
+ /**
407
+ * §2.1 — the risk-transfer disclosure: solo having no C2 does NOT mean solo is cheaper — it transfers
408
+ * quality risk downstream (single-agent 3-runs-all-failed 0-commit = the cost of no human safety net;
409
+ * METR -19% / DORA more-code≠more-delivered / 31% PR zero-review). The report MUST emit this verbatim
410
+ * whenever a solo arm is present so a low solo C2 is never read as "solo cheaper". Returns the text +
411
+ * the supporting numbers from this run so it is not boilerplate but grounded.
412
+ */
413
+ export declare function riskTransferDisclosure(cells: ArmCell[]): {
414
+ applies: boolean;
415
+ text: string;
416
+ evidence: {
417
+ soloC2Sec: number;
418
+ soloDeliveredWrong: number;
419
+ supCorrectlyWithheld: number;
420
+ };
421
+ };
422
+ /**
423
+ * codex B2 — a paired-binary comparison of two arms on the SAME tasks/seeds. The two arms' truly-
424
+ * correct flags are paired row-by-row (paired-seed, design/89 §3.4). For binary paired data the
425
+ * RIGHT tests are McNemar (discordant pairs) and a paired-bootstrap difference interval — NOT two
426
+ * independent proportions with "CI non-overlap" (that ignores the pairing and is under-powered, codex B2).
427
+ */
428
+ export interface PairedBinaryComparison {
429
+ /** Arm A (e.g. "sup") vs arm B (e.g. "solo"). pDiff = P(A) − P(B). */
430
+ armA: Arm;
431
+ armB: Arm;
432
+ /** Number of PAIRED rows actually compared (only rows where both arms produced a delivery attempt). */
433
+ nPairs: number;
434
+ /** Discordant pair counts: b = A-correct & B-wrong; c = A-wrong & B-correct (McNemar's b,c). */
435
+ bAonly: number;
436
+ cBonly: number;
437
+ /** Point estimate of the paired proportion difference P(A) − P(B). */
438
+ pDiff: number;
439
+ /** McNemar exact-ish two-sided p-value over discordant pairs (binomial, continuity-corrected χ² when
440
+ * b+c large). */
441
+ mcnemarP: number;
442
+ /** Bootstrap percentile 95% CI for the paired difference (lo, hi) — a percentile CI on the seeded
443
+ * paired-bootstrap distribution, NOT Newcombe's analytic interval (codex MAJOR-B). Crosses 0 ⇒ not significant. */
444
+ ci95: [number, number];
445
+ /** TRUE iff the difference is statistically significant at α=0.05 (CI excludes 0 AND McNemar p<0.05). */
446
+ significant: boolean;
447
+ /**
448
+ * codex B2 — pre-registered Minimum Detectable Effect at the observed nPairs (the difference this
449
+ * comparison COULD have detected at 80% power). When |pDiff| is below this AND not significant, the
450
+ * verdict is "not powered" — NOT "no difference". This is the field that stops "N≥15 is an assertion".
451
+ */
452
+ mdeAt80Power: number;
453
+ /** "powered" iff nPairs ≥ the n needed to detect the pre-registered MDE; else "not-powered". */
454
+ power: "powered" | "not-powered";
455
+ /** Human-readable verdict that NEVER over-claims a null result from an under-powered comparison. */
456
+ verdict: "A-better" | "B-better" | "no-detectable-difference" | "not-powered";
457
+ }
458
+ /**
459
+ * codex B2 — compare two arms' delivered truly-correct as PAIRED binary. Pairs runs by the COMPOSITE
460
+ * `(taskId, seed)` key (codex MAJOR-A: a bare `seed` collides across tasks — the same repeat index
461
+ * recurs per task — so cross-task input would overwrite pairs and poison the McNemar sample);
462
+ * only rows where BOTH arms delivered (not withheld, both scored) form a pair — a
463
+ * withheld run has no delivered binary to pair (it is scored in the withhold/avoided-loss axis, not
464
+ * here). `mde` is the pre-registered minimum detectable effect (default 0.20 absolute = a 20pp swing).
465
+ */
466
+ export declare function pairedBinaryCompare(scoredRuns: RunRecord[], armA: Arm, armB: Arm, opts?: {
467
+ mde?: number;
468
+ bootstrapSeed?: number;
469
+ bootstrapIters?: number;
470
+ }): PairedBinaryComparison;
471
+ /**
472
+ * codex B3 — the pre-registered C2 exchange rate(s): how many human-review SECONDS we are willing to
473
+ * pay to buy one unit of supervisor value. Without these, "higher P / more withholds ⇒ worth it" is
474
+ * unfalsifiable (the "helpful but too expensive" counter-thesis cannot be observed). Declared BEFORE
475
+ * the run (design/95 §9), not fit after.
476
+ */
477
+ export interface C2Thresholds {
478
+ /** Max human-review seconds we will pay to avoid ONE DELIVERED-WRONG (per CORRECTLY-WITHHELD). */
479
+ secPerAvoidedWrong: number;
480
+ /** Max human-review seconds we will pay to save ONE repeated decision (V1). */
481
+ secPerSavedDecision: number;
482
+ }
483
+ export interface ParetoVerdict {
484
+ arm: Arm;
485
+ /** Non-dominated on (C1, C2.sec, P) — necessary condition to be considered at all (codex B3). */
486
+ nonDominated: boolean;
487
+ /** The pre-registered exchange-rate check: does the arm's extra C2 buy enough avoided-loss / saved
488
+ * decisions to clear the declared threshold? Undefined when the arm has no extra C2 over baseline. */
489
+ clearsC2Threshold?: boolean;
490
+ /**
491
+ * codex B3 — the label. An arm may ONLY be "worth-it" when it is non-dominated AND clears the C2
492
+ * threshold. A non-dominated but threshold-failing arm is "quality-tradeoff" (higher quality, but the
493
+ * cost is not bought back) — NEVER "worth-it". A dominated arm is "dominated".
494
+ */
495
+ label: "worth-it" | "quality-tradeoff" | "dominated";
496
+ }
497
+ /**
498
+ * codex B3 — classify each arm against the SUP/TEAM-vs-baseline value question with a pre-registered
499
+ * exchange rate. `baselineArm` is the cost floor to compare extra C2 against (default "solo").
500
+ * `avoidedWrong` / `savedDecisions` per arm come from the cells / campaign report.
501
+ *
502
+ * 🔴 ADVERSARIAL-REVIEW DISCIPLINE (B1 partial false-close, design/95 §2.3): `cells` MUST be a
503
+ * HOMOGENEOUS cross-arm set — feed `report.comparisons[*].arms` (one `(suiteVersion,taskId,archetype,
504
+ * valueDimension)` comparison at a time), NEVER `report.cells` (the suite-wide ARM MEAN). The arm mean
505
+ * folds heterogeneous tasks → the value LABEL itself flips (Simpson): a cell that is "quality-tradeoff"
506
+ * (extra human seconds NOT bought back) gets averaged with a "worth-it" cell into a single misleading
507
+ * "worth-it", hiding the "helpful but too expensive" anti-thesis. The frontier folds too (§11 / B1).
508
+ * Regression: metrics.test §13b proves per-cell {worth-it, quality-tradeoff} ≠ arm-mean {worth-it}.
509
+ */
510
+ export declare function paretoValueVerdict(cells: ArmCell[], thresholds: C2Thresholds, perArmValue: Partial<Record<Arm, {
511
+ avoidedWrong: number;
512
+ savedDecisions: number;
513
+ }>>, baselineArm?: Arm): {
514
+ pareto: ParetoResult;
515
+ verdicts: ParetoVerdict[];
516
+ };
517
+ /**
518
+ * design/95 §7.1 — V1 (免重复劳动): campaign-level human-decision delta. The ONLY authoritative V1
519
+ * mechanism (design/95 reconcile, MAJOR#2): cross-task reuse of a decided strategy. Semantics:
520
+ * - `soloHumanDecisions` is the V1 BASELINE — the operator's actual up-front decision count when
521
+ * running solo across the campaign (codex M7: NOT 0, NOT synthetic — measured from real operator
522
+ * prep across runs). `0` is only valid when the campaign genuinely needed no human decision.
523
+ * - `repeatedDecisionsSaved = soloHumanDecisions − supHumanDecisions` (may be negative = SUP cost
524
+ * MORE human decisions; reported honestly, not floored).
525
+ */
526
+ export interface CampaignV1Saved {
527
+ decisionKind: string;
528
+ /** V1 baseline (codex M7): operator's measured up-front decisions when running SOLO. Provenance MUST
529
+ * be recorded in the stamp (real prep, not 0/synthetic). */
530
+ soloHumanDecisions: number;
531
+ /** SUP arm's actual human-review decision count for this decision kind. */
532
+ supHumanDecisions: number;
533
+ /** = soloHumanDecisions − supHumanDecisions. Positive ⇒ SUP saved repeated labour (V1 evidence). */
534
+ repeatedDecisionsSaved: number;
535
+ /** Whether the baseline is a real measurement vs absent (codex M7 honesty gate). */
536
+ baselineProvenance: "measured-operator-baseline" | "absent-not-claimable";
537
+ }
538
+ /**
539
+ * design/95 §7.2 — V2 (蓝图清晰度) THREE-arm ablation (codex BLOCKER#1 + MAJOR#3 / M8). All three are
540
+ * paired on the SAME seeds (paired===true ⇒ the three pX arrays/values are over the same n seeds).
541
+ * INVARIANT: `n` is the paired-seed count common to all three sub-arms; the three deltas are computed
542
+ * over those n pairs.
543
+ * - pSoloRaw — only the original brief (no blueprint baseline).
544
+ * - pSoloSupGenerated — the SUP-arm-GENERATED blueprint (attributable to supervisor; gen cost charged).
545
+ * - pSoloExperimenterIdeal — the experimenter "ideal" blueprint. codex M8: this is a CONSTRAINED upper
546
+ * bound on "better-prompt help", NOT "supervisor's mechanistic ceiling", UNLESS the ideal blueprint
547
+ * was generated under the {@link IdealBlueprintConstraints} (run-time, visible-brief-only, no oracle
548
+ * access, same info budget, leak-reviewed). `idealConstraintsSatisfied` records which it is.
549
+ */
550
+ export interface BlueprintAblationTriple {
551
+ subgoalId: string;
552
+ paired: boolean;
553
+ /** Paired-seed count common to all three sub-arms (array/Δ invariant base). */
554
+ n: number;
555
+ pSoloRaw: number;
556
+ pSoloSupGenerated: number;
557
+ pSoloExperimenterIdeal: number;
558
+ /** = pSoloSupGenerated − pSoloRaw (supervisor blueprint's real net value). */
559
+ deltaSupVsRaw: number;
560
+ /** = pSoloExperimenterIdeal − pSoloRaw. LABELLED per `idealConstraintsSatisfied` (codex M8). */
561
+ deltaIdealVsRaw: number;
562
+ /** codex M8 — when false, deltaIdealVsRaw is "manual-prompt upper bound", NOT "supervisor potential". */
563
+ idealConstraintsSatisfied: boolean;
564
+ /** codex M3 — blueprint generation cost charged to the sup-generated arm (budget-match red line). */
565
+ blueprintGenC1MicroUsd: number;
566
+ blueprintGenC2Count: number;
567
+ blueprintGenC2Sec: number;
568
+ }
569
+ /** codex M8 — the constraints under which an "ideal" blueprint may be read as a supervisor-mechanism
570
+ * upper bound rather than a generic "better prompt helps" result. Recorded per ablation. */
571
+ export interface IdealBlueprintConstraints {
572
+ generatedBeforeRun: boolean;
573
+ fromVisibleBriefOnly: boolean;
574
+ noOracleTestAccess: boolean;
575
+ sameInfoBudget: boolean;
576
+ solutionLeakReviewed: boolean;
577
+ }
578
+ /** True iff ALL ideal-blueprint constraints hold (codex M8 gate). */
579
+ export declare function idealConstraintsSatisfied(c: IdealBlueprintConstraints): boolean;
580
+ /**
581
+ * design/95 §7.3 — V3 (无关性隔离) contamination probe (canary, mechanical, zero LLM-judge). codex M9:
582
+ * the isolated-vs-shared P delta CONFOUNDS execution order / context size / worker count / budget; the
583
+ * PRIMARY signal must be per-subgoal oracle failure + explicit wrong-use of a sibling artifact (the
584
+ * canary leak), with the P delta kept as a DIAGNOSTIC only.
585
+ * INVARIANT: `isolatedSubgoalP.length === sharedSubgoalP.length === factorCount`.
586
+ */
587
+ export interface IsolationContamination {
588
+ factorCount: number;
589
+ /** Per-factor P under isolation. length === factorCount. */
590
+ isolatedSubgoalP: number[];
591
+ /** Per-factor P under shared context. length === factorCount. */
592
+ sharedSubgoalP: number[];
593
+ /** PRIMARY mechanical signal (codex M9): cross-factor canary leak rate (explicit token bleed). */
594
+ canaryLeakRate: number;
595
+ /** PRIMARY mechanical signal (codex M9): count of factors that failed their oracle AND demonstrably
596
+ * used a sibling factor's artifact (the controlled-ablation harm signal). */
597
+ wrongSiblingArtifactUses: number;
598
+ /** DIAGNOSTIC ONLY (codex M9 confound): mean(isolated P) − mean(shared P). Not the primary signal. */
599
+ contaminationRateDiag: number;
600
+ /** Extra C1 the isolation cost (multi-worker / repeated context load). */
601
+ isolationOverheadC1: number;
602
+ }
603
+ /**
604
+ * design/95 §7 — the CAMPAIGN-level wrapper (V1 is campaign-scoped, design/95 reconcile MAJOR#2). Built
605
+ * ON TOP of per-task {@link ValueJudgmentReport}s; does NOT re-derive their numerator/Pareto red lines.
606
+ * V2/V3 attach optionally per the §7.2/§7.3 structures. All §7 fields are populated by the harness
607
+ * (the producer), not synthesized in `buildReport` — `implementedAxes` declares which were filled.
608
+ */
609
+ export interface CampaignReport {
610
+ perTask: ValueJudgmentReport[];
611
+ campaignV1?: CampaignV1Saved;
612
+ blueprintAblation?: BlueprintAblationTriple;
613
+ contaminationProbe?: IsolationContamination;
614
+ implementedAxes: ImplementedAxes;
615
+ }
616
+ /**
617
+ * design/95 §2 / codex B1 — one heterogeneity CELL: a `(suiteVersion, taskId, archetype, valueDimension,
618
+ * arm)` group with its folded {@link ArmCell}. The decision surface is the per-cell vector — NOT the
619
+ * arm mean (the Simpson's-paradox guard). `groupKey` is the stable join key.
620
+ */
621
+ export interface GroupedCell {
622
+ groupKey: string;
623
+ suiteVersion?: string;
624
+ taskId: string;
625
+ archetype?: string;
626
+ valueDimension?: string;
627
+ cell: ArmCell;
628
+ }
629
+ /**
630
+ * 🔴 ADVERSARIAL-REVIEW FIX (B1 partial false-close): the cross-arm decision surface. A {@link
631
+ * GroupedCell} keys on `arm`, so each is SINGLE-ARM — you cannot run a cross-arm Pareto / value verdict
632
+ * (J2/J3/B3) from one. The prior `buildReport` exposed only `report.pareto`, computed on the suite-wide
633
+ * `cells` ARM MEAN — the very Simpson's-prone surface B1 demotes to "NOT a decision surface". A consumer
634
+ * reading the obvious `report.pareto` got the folded-across-heterogeneity frontier = exactly what B1
635
+ * claims to prevent. This is the CORRECT decision surface: one entry per `(suiteVersion, taskId,
636
+ * archetype, valueDimension)` (NO arm), carrying all arms' cells + their per-cell Pareto. J2/J3/B3 MUST
637
+ * read these, never `report.pareto`.
638
+ */
639
+ export interface ComparisonCell {
640
+ comparisonKey: string;
641
+ suiteVersion?: string;
642
+ taskId: string;
643
+ archetype?: string;
644
+ valueDimension?: string;
645
+ /** All arms' folded cells WITHIN this homogeneous comparison (same task/archetype/dimension). */
646
+ arms: ArmCell[];
647
+ /** The per-comparison Pareto over `arms` — the decision surface, NOT the suite arm mean. */
648
+ pareto: ParetoResult;
649
+ }
650
+ /**
651
+ * codex MINOR11 / council Q1 — capability metadata: which of the four §7/Pareto value axes are actually
652
+ * IMPLEMENTED in this report. Consumers must read this before claiming a V1/V2/V3 result; an unset axis
653
+ * is NOT a null result, it is "not measured here". (The T1 structures above are types + pure helpers;
654
+ * the report-level V1/V2/V3 fields are populated by the harness, not synthesized in `buildReport`.)
655
+ */
656
+ export interface ImplementedAxes {
657
+ pareto: boolean;
658
+ v1: boolean;
659
+ v2: boolean;
660
+ v3: boolean;
661
+ }
662
+ export interface ValueJudgmentReport {
663
+ /** codex B1 — per-arm cells grouped by full heterogeneity key (incl. arm). Single-arm; use for cell
664
+ * inspection / `pairedBinaryCompare` inputs. NOT directly a cross-arm verdict surface (each is one arm). */
665
+ groupedCells: GroupedCell[];
666
+ /**
667
+ * 🔴 ADVERSARIAL-REVIEW FIX (B1): the CROSS-ARM decision surface — one per `(suiteVersion, taskId,
668
+ * archetype, valueDimension)` (NO arm), each carrying all arms + a per-comparison Pareto over a
669
+ * HOMOGENEOUS set of runs. J2/J3/B3 (`paretoValueVerdict`) MUST read `comparisons[*].pareto` /
670
+ * `comparisons[*].arms`, NEVER the suite-wide `pareto`/`cells` (which fold heterogeneous tasks → Simpson).
671
+ */
672
+ comparisons: ComparisonCell[];
673
+ /**
674
+ * codex B1 — suite-level rollup: per-arm cells folded over ALL scored runs. A WEIGHTED summary for
675
+ * dashboards ONLY — NOT a decision surface (folding heterogeneous tasks can flip a verdict, Simpson).
676
+ * Consumers MUST decide on `comparisons`; this is convenience aggregation.
677
+ */
678
+ cells: ArmCell[];
679
+ /**
680
+ * 🔴 DASHBOARD ONLY — the Pareto over the suite-wide ARM MEAN (`cells`). This folds heterogeneous
681
+ * tasks into one frontier (Simpson's paradox) and is NOT a verdict surface. The verdict surface is
682
+ * `comparisons[*].pareto`. Kept only for a single-number dashboard glance; flagged so a consumer
683
+ * cannot mistake it for the decision (the B1 false-close: prior code wired the verdict to this).
684
+ */
685
+ pareto: ParetoResult;
686
+ riskTransfer: ReturnType<typeof riskTransferDisclosure>;
687
+ /** design/89 §3.4: cells with n<8 are directional-only, not verdict-grade. Flagged, not dropped. */
688
+ directionalOnly: Arm[];
689
+ /**
690
+ * codex B4 — the exclusion ledger: runs dropped from scoring (infra-failed / excluded) with reasons.
691
+ * A regression-grade invariant: these never reach `cells` / `pareto` (no infra noise in the verdict).
692
+ */
693
+ excluded: Array<{
694
+ taskId: string;
695
+ arm: Arm;
696
+ seed?: number | string;
697
+ reason: RunStatus;
698
+ }>;
699
+ /** codex MINOR11 — which value axes this report actually measured. */
700
+ implementedAxes: ImplementedAxes;
701
+ }
702
+ /**
703
+ * Top-level (codex B1+B4): SCORE only `scored` runs (B4 — drop infra-failed/excluded with reasons),
704
+ * group by `(suiteVersion, taskId, archetype, valueDimension, arm)` (B1 — the per-cell decision surface,
705
+ * Simpson's-paradox guard), fold each group, AND provide a suite-level per-arm rollup for dashboards
706
+ * (explicitly NOT a decision surface). Deterministic; no model.
707
+ *
708
+ * `opts.implementedAxes` lets the harness declare which §7 axes it populated (codex MINOR11); default
709
+ * = only Pareto (the V1/V2/V3 structures are T1 net-new, not synthesized here).
710
+ */
711
+ export declare function buildReport(runs: RunRecord[], opts?: {
712
+ implementedAxes?: Partial<ImplementedAxes>;
713
+ }): ValueJudgmentReport;
714
+ //# sourceMappingURL=metrics.d.ts.map