@tangle-network/agent-eval 0.215.1 → 0.216.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 (400) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/adapters/http.d.ts +3 -3
  3. package/dist/{agent-profile-DmzL8KaJ.d.ts → agent-profile-VFcQncbW.d.ts} +5 -5
  4. package/dist/{agent-profile-DmzL8KaJ.d.ts.map → agent-profile-VFcQncbW.d.ts.map} +1 -1
  5. package/dist/{agent-profile-cell-BYc0bxsL.js → agent-profile-cell-BK8mlqlq.js} +3 -3
  6. package/dist/{agent-profile-cell-BYc0bxsL.js.map → agent-profile-cell-BK8mlqlq.js.map} +1 -1
  7. package/dist/agreement-irr-BEWLIF3_.js +186 -0
  8. package/dist/agreement-irr-BEWLIF3_.js.map +1 -0
  9. package/dist/analyst/index.d.ts +487 -14
  10. package/dist/analyst/index.d.ts.map +1 -1
  11. package/dist/analyst/index.js +1547 -12
  12. package/dist/analyst/index.js.map +1 -1
  13. package/dist/{analyze-runs-3xpby3p2.js → analyze-runs-C84irm4i.js} +608 -604
  14. package/dist/analyze-runs-C84irm4i.js.map +1 -0
  15. package/dist/{analyze-runs-BhFLOztS.d.ts → analyze-runs-D68fd-su.d.ts} +17 -15
  16. package/dist/analyze-runs-D68fd-su.d.ts.map +1 -0
  17. package/dist/{baseline-Dm8966du.js → baseline-Udi_PLuT.js} +5 -5
  18. package/dist/{baseline-Dm8966du.js.map → baseline-Udi_PLuT.js.map} +1 -1
  19. package/dist/{benchmark-BywPeAUo.js → benchmark-CXmVVHH2.js} +2 -2
  20. package/dist/{benchmark-BywPeAUo.js.map → benchmark-CXmVVHH2.js.map} +1 -1
  21. package/dist/{benchmark-command-CgpGi7vY.js → benchmark-command-By0vh8q7.js} +71 -70
  22. package/dist/benchmark-command-By0vh8q7.js.map +1 -0
  23. package/dist/benchmarks/index.d.ts +5 -5
  24. package/dist/benchmarks/index.js +3 -3
  25. package/dist/builder-eval/index.js +2 -2
  26. package/dist/campaign/index.d.ts +7 -7
  27. package/dist/campaign/index.js +14 -14
  28. package/dist/{campaign-CpnsCgfz.js → campaign-BudZ70zo.js} +245 -247
  29. package/dist/campaign-BudZ70zo.js.map +1 -0
  30. package/dist/{campaign-evidence-OcUciD-N.js → campaign-evidence-Clrn4hBV.js} +8 -8
  31. package/dist/campaign-evidence-Clrn4hBV.js.map +1 -0
  32. package/dist/{canonical-BsZVgBhW.js → canonical-B2RqLofv.js} +2 -2
  33. package/dist/{canonical-BsZVgBhW.js.map → canonical-B2RqLofv.js.map} +1 -1
  34. package/dist/{chat-client-DthPOYGd.js → chat-client-l-MVDlDk.js} +2 -2
  35. package/dist/{chat-client-DthPOYGd.js.map → chat-client-l-MVDlDk.js.map} +1 -1
  36. package/dist/{chat-json-call-BrKsyspg.js → chat-json-call-puMArmtW.js} +2 -2
  37. package/dist/{chat-json-call-BrKsyspg.js.map → chat-json-call-puMArmtW.js.map} +1 -1
  38. package/dist/{claim-BXcZw-jo.js → claim-q4HQhK1G.js} +4 -4
  39. package/dist/claim-q4HQhK1G.js.map +1 -0
  40. package/dist/cli.js +9 -9
  41. package/dist/cli.js.map +1 -1
  42. package/dist/cluster-bootstrap-qcUWYFl-.js +66 -0
  43. package/dist/cluster-bootstrap-qcUWYFl-.js.map +1 -0
  44. package/dist/contract/index.d.ts +11 -11
  45. package/dist/contract/index.js +1023 -1079
  46. package/dist/contract/index.js.map +1 -1
  47. package/dist/{cost-ledger-D2FnJPBF.js → cost-ledger-BP8V4kUQ.js} +835 -816
  48. package/dist/cost-ledger-BP8V4kUQ.js.map +1 -0
  49. package/dist/{cost-ledger-CO7UyEcQ.d.ts → cost-ledger-Jk62OBfF.d.ts} +12 -47
  50. package/dist/cost-ledger-Jk62OBfF.d.ts.map +1 -0
  51. package/dist/{counterfactual-DtMWvn7D.js → counterfactual-Dn3veueY.js} +2 -2
  52. package/dist/{counterfactual-DtMWvn7D.js.map → counterfactual-Dn3veueY.js.map} +1 -1
  53. package/dist/{default-registry-KP4-Tolz.js → default-registry-COhk9g36.js} +744 -759
  54. package/dist/default-registry-COhk9g36.js.map +1 -0
  55. package/dist/{default-registry-B4B7GMvI.d.ts → default-registry-DzHiGruW.d.ts} +6 -6
  56. package/dist/{default-registry-B4B7GMvI.d.ts.map → default-registry-DzHiGruW.d.ts.map} +1 -1
  57. package/dist/{define-agent-eval-BdfnqXeP.js → define-agent-eval-CNTPzIkp.js} +10 -10
  58. package/dist/define-agent-eval-CNTPzIkp.js.map +1 -0
  59. package/dist/{define-agent-eval-DfXvNho5.d.ts → define-agent-eval-WSck0CZJ.d.ts} +8 -8
  60. package/dist/{define-agent-eval-DfXvNho5.d.ts.map → define-agent-eval-WSck0CZJ.d.ts.map} +1 -1
  61. package/dist/{descriptive-CnU8Yq29.js → descriptive-DboxPZrG.js} +2 -2
  62. package/dist/{descriptive-CnU8Yq29.js.map → descriptive-DboxPZrG.js.map} +1 -1
  63. package/dist/diagnosis/index.d.ts +3 -3
  64. package/dist/diagnosis/index.js +4 -4
  65. package/dist/{dspy-rlm-engine-DZfHM7kT.js → dspy-rlm-engine-LRCu61m5.js} +3 -3
  66. package/dist/{dspy-rlm-engine-DZfHM7kT.js.map → dspy-rlm-engine-LRCu61m5.js.map} +1 -1
  67. package/dist/{effect-sizes-DiH8MGOH.js → effect-sizes-BhzEpXMc.js} +2 -2
  68. package/dist/{effect-sizes-DiH8MGOH.js.map → effect-sizes-BhzEpXMc.js.map} +1 -1
  69. package/dist/{engine-C37HS2kr.d.ts → engine-3A_4jOlI.d.ts} +5 -5
  70. package/dist/{engine-C37HS2kr.d.ts.map → engine-3A_4jOlI.d.ts.map} +1 -1
  71. package/dist/{equal-terms-Blx9Zk5I.js → equal-terms-BtdXayCJ.js} +2 -2
  72. package/dist/{equal-terms-Blx9Zk5I.js.map → equal-terms-BtdXayCJ.js.map} +1 -1
  73. package/dist/{errors-Dngq5h35.js → errors-DVZiqS7K.js} +6 -2
  74. package/dist/{errors-Dngq5h35.js.map → errors-DVZiqS7K.js.map} +1 -1
  75. package/dist/{eval-campaign-4byTtqrf.js → eval-campaign-90jeaCAI.js} +6 -6
  76. package/dist/{eval-campaign-4byTtqrf.js.map → eval-campaign-90jeaCAI.js.map} +1 -1
  77. package/dist/evaluation-6Yoi74gM.d.ts +75 -0
  78. package/dist/evaluation-6Yoi74gM.d.ts.map +1 -0
  79. package/dist/evaluation.d.ts +2 -74
  80. package/dist/evaluation.js +1 -1
  81. package/dist/{exact-types-Dlb73wN4.d.ts → exact-types-ClugMJfI.d.ts} +2 -2
  82. package/dist/{exact-types-Dlb73wN4.d.ts.map → exact-types-ClugMJfI.d.ts.map} +1 -1
  83. package/dist/experiment/index.d.ts +404 -3
  84. package/dist/experiment/index.d.ts.map +1 -1
  85. package/dist/experiment/index.js +313 -19
  86. package/dist/experiment/index.js.map +1 -1
  87. package/dist/{external-optimizer-process-GngofQML.js → external-optimizer-process-BjMGUuds.js} +3 -3
  88. package/dist/{external-optimizer-process-GngofQML.js.map → external-optimizer-process-BjMGUuds.js.map} +1 -1
  89. package/dist/{external-optimizer-subprocess-BUxifb8g.js → external-optimizer-subprocess-BqW0hHcI.js} +791 -532
  90. package/dist/external-optimizer-subprocess-BqW0hHcI.js.map +1 -0
  91. package/dist/{feedback-trajectory-BLN_6fEs.d.ts → feedback-trajectory-C4EG0nNH.d.ts} +5 -8
  92. package/dist/feedback-trajectory-C4EG0nNH.d.ts.map +1 -0
  93. package/dist/fuzz.d.ts +1 -1
  94. package/dist/fuzz.js +3 -3
  95. package/dist/hosted/index.js +1 -1
  96. package/dist/{index-CPJJr98o.d.ts → index-BFRO6chs.d.ts} +3 -2
  97. package/dist/index-BFRO6chs.d.ts.map +1 -0
  98. package/dist/{index-Ch9VxCpK.d.ts → index-BO41eGj5.d.ts} +2 -2
  99. package/dist/{index-Ch9VxCpK.d.ts.map → index-BO41eGj5.d.ts.map} +1 -1
  100. package/dist/{index-B3WBm953.d.ts → index-CyszSg4O.d.ts} +165 -162
  101. package/dist/index-CyszSg4O.d.ts.map +1 -0
  102. package/dist/{index-B7m2uzJL.d.ts → index-DPcngtwt.d.ts} +30 -17
  103. package/dist/index-DPcngtwt.d.ts.map +1 -0
  104. package/dist/{index-tYLUvk_w.d.ts → index-DV-jSzxF.d.ts} +9 -9
  105. package/dist/{index-tYLUvk_w.d.ts.map → index-DV-jSzxF.d.ts.map} +1 -1
  106. package/dist/index.d.ts +1969 -1871
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +162 -201
  109. package/dist/index.js.map +1 -1
  110. package/dist/{integrity-BvnVARVl.js → integrity-BXOsAb3i.js} +2 -2
  111. package/dist/{integrity-BvnVARVl.js.map → integrity-BXOsAb3i.js.map} +1 -1
  112. package/dist/{integrity-CCAxGVK6.d.ts → integrity-DAMEDFaC.d.ts} +2 -2
  113. package/dist/{integrity-CCAxGVK6.d.ts.map → integrity-DAMEDFaC.d.ts.map} +1 -1
  114. package/dist/{integrity-BV1ZDf42.js → integrity-dLiDe2kD.js} +2 -5
  115. package/dist/integrity-dLiDe2kD.js.map +1 -0
  116. package/dist/{internal-CRHwS9iz.js → internal-Epl-YBZW.js} +3 -3
  117. package/dist/{internal-CRHwS9iz.js.map → internal-Epl-YBZW.js.map} +1 -1
  118. package/dist/interval-CELpye1n.js +219 -0
  119. package/dist/interval-CELpye1n.js.map +1 -0
  120. package/dist/interval-ohuOJurX.d.ts +47 -0
  121. package/dist/interval-ohuOJurX.d.ts.map +1 -0
  122. package/dist/{journal-DvKCvjty.js → journal-DfRz9kps.js} +2 -2
  123. package/dist/{journal-DvKCvjty.js.map → journal-DfRz9kps.js.map} +1 -1
  124. package/dist/{judge-calibration-N44V04Se.js → judge-calibration-BpCy5XQl.js} +3 -3
  125. package/dist/{judge-calibration-N44V04Se.js.map → judge-calibration-BpCy5XQl.js.map} +1 -1
  126. package/dist/{judge-gate-DNcUrRFA.d.ts → judge-gate-CE7CQAgt.d.ts} +3 -3
  127. package/dist/{judge-gate-DNcUrRFA.d.ts.map → judge-gate-CE7CQAgt.d.ts.map} +1 -1
  128. package/dist/{judge-gate-B1qYnkpi.js → judge-gate-iY9s4L44.js} +3 -3
  129. package/dist/judge-gate-iY9s4L44.js.map +1 -0
  130. package/dist/{kind-factory-AaEhUADH.js → kind-factory-BobI5Jy3.js} +5 -5
  131. package/dist/{kind-factory-AaEhUADH.js.map → kind-factory-BobI5Jy3.js.map} +1 -1
  132. package/dist/ledger-core/index.js +3 -3
  133. package/dist/{ledger-core-B2hahzrt.js → ledger-core-Gq7yp8lP.js} +4 -4
  134. package/dist/{ledger-core-B2hahzrt.js.map → ledger-core-Gq7yp8lP.js.map} +1 -1
  135. package/dist/{llm-client-DQveoxSM.js → llm-client-CyBAoYiX.js} +192 -219
  136. package/dist/llm-client-CyBAoYiX.js.map +1 -0
  137. package/dist/{llm-judge-Cd5s5Ei6.js → llm-judge-CG12SQJq.js} +499 -921
  138. package/dist/llm-judge-CG12SQJq.js.map +1 -0
  139. package/dist/matrix/index.d.ts +2 -2
  140. package/dist/matrix/index.js +1 -1
  141. package/dist/{matrix-DXVAJMLD.d.ts → matrix-DSrSxjjy.d.ts} +4 -4
  142. package/dist/{matrix-DXVAJMLD.d.ts.map → matrix-DSrSxjjy.d.ts.map} +1 -1
  143. package/dist/{matrix-_BV9-Lk5.js → matrix-Dm0BQW7U.js} +7 -11
  144. package/dist/matrix-Dm0BQW7U.js.map +1 -0
  145. package/dist/{paired-tests-jbwPdSz5.js → mean-DHoMiudD.js} +11 -5
  146. package/dist/mean-DHoMiudD.js.map +1 -0
  147. package/dist/meta-eval/index.d.ts +3 -3
  148. package/dist/meta-eval/index.js +9 -70
  149. package/dist/meta-eval/index.js.map +1 -1
  150. package/dist/mint-DNU8QPG4.d.ts +81 -0
  151. package/dist/mint-DNU8QPG4.d.ts.map +1 -0
  152. package/dist/{mint-Csor1BLJ.js → mint-QaD5cA0u.js} +3 -3
  153. package/dist/{mint-Csor1BLJ.js.map → mint-QaD5cA0u.js.map} +1 -1
  154. package/dist/{multiplicity-D9cjmStq.js → multiplicity-DQUFcbW4.js} +2 -2
  155. package/dist/{multiplicity-D9cjmStq.js.map → multiplicity-DQUFcbW4.js.map} +1 -1
  156. package/dist/multishot/golden/index.d.ts +1 -1
  157. package/dist/multishot/golden/index.d.ts.map +1 -1
  158. package/dist/multishot/golden/index.js +3 -6
  159. package/dist/multishot/golden/index.js.map +1 -1
  160. package/dist/multishot/index.d.ts +2 -2
  161. package/dist/multishot/index.js +1 -1
  162. package/dist/nonnegative-number-DvdMxg_f.js +9 -0
  163. package/dist/nonnegative-number-DvdMxg_f.js.map +1 -0
  164. package/dist/openapi.json +1 -1
  165. package/dist/{otel-spans-C8YIJWy1.js → otel-spans-B9tUXRHF.js} +3 -3
  166. package/dist/{otel-spans-C8YIJWy1.js.map → otel-spans-B9tUXRHF.js.map} +1 -1
  167. package/dist/{paired-arms-DzKn0TfY.js → paired-arms-CwMGJsrS.js} +5 -5
  168. package/dist/{paired-arms-DzKn0TfY.js.map → paired-arms-CwMGJsrS.js.map} +1 -1
  169. package/dist/{paired-binary-Q36bhn2R.js → paired-binary-CvpFHfKZ.js} +2 -2
  170. package/dist/{paired-binary-Q36bhn2R.js.map → paired-binary-CvpFHfKZ.js.map} +1 -1
  171. package/dist/{paired-promotion-decision-BN6IQTiu.js → paired-promotion-decision-DsAPYGCm.js} +3 -3
  172. package/dist/{paired-promotion-decision-BN6IQTiu.js.map → paired-promotion-decision-DsAPYGCm.js.map} +1 -1
  173. package/dist/{search-kernel-BztlERLv.js → pareto-Cm6ndrWN.js} +883 -861
  174. package/dist/pareto-Cm6ndrWN.js.map +1 -0
  175. package/dist/pipelines/index.d.ts +2 -2
  176. package/dist/pipelines/index.js +3 -3
  177. package/dist/{power-and-mde-fK5Qocwo.js → power-and-mde-Hj2ubb4B.js} +2 -2
  178. package/dist/{power-and-mde-fK5Qocwo.js.map → power-and-mde-Hj2ubb4B.js.map} +1 -1
  179. package/dist/predicate-FdKmElA_.js +38 -0
  180. package/dist/predicate-FdKmElA_.js.map +1 -0
  181. package/dist/{prime-protocol-DcAK9pC8.js → prime-protocol-CHKgA3a6.js} +2 -2
  182. package/dist/{prime-protocol-DcAK9pC8.js.map → prime-protocol-CHKgA3a6.js.map} +1 -1
  183. package/dist/{prime-protocol-BHia9vDz.d.ts → prime-protocol-HiB9HX7E.d.ts} +3 -3
  184. package/dist/{prime-protocol-BHia9vDz.d.ts.map → prime-protocol-HiB9HX7E.d.ts.map} +1 -1
  185. package/dist/{produced-state-BGp4BX8t.js → produced-state-BsDmnwxc.js} +8 -8
  186. package/dist/{produced-state-BGp4BX8t.js.map → produced-state-BsDmnwxc.js.map} +1 -1
  187. package/dist/profile-cell.js +1 -1
  188. package/dist/{release-confidence-BK2QCB5M.d.ts → promotion-gate-BawrdPYr.d.ts} +102 -102
  189. package/dist/promotion-gate-BawrdPYr.d.ts.map +1 -0
  190. package/dist/{promotion-policy-CWW35UWq.js → promotion-policy-KO57gbyV.js} +4 -4
  191. package/dist/{promotion-policy-CWW35UWq.js.map → promotion-policy-KO57gbyV.js.map} +1 -1
  192. package/dist/{proposal-findings-CXblsskH.js → proposal-findings-CY1xKn_a.js} +2 -36
  193. package/dist/proposal-findings-CY1xKn_a.js.map +1 -0
  194. package/dist/{query-B1D1qp2Z.js → query-BUCZCK7F.js} +3 -3
  195. package/dist/{query-B1D1qp2Z.js.map → query-BUCZCK7F.js.map} +1 -1
  196. package/dist/{random-Dn5fPWkt.js → random-ByUSnV9w.js} +2 -2
  197. package/dist/{random-Dn5fPWkt.js.map → random-ByUSnV9w.js.map} +1 -1
  198. package/dist/{raw-provider-sink-rB2DYxr6.js → raw-provider-sink-DoHz4JNG.js} +2 -2
  199. package/dist/{raw-provider-sink-rB2DYxr6.js.map → raw-provider-sink-DoHz4JNG.js.map} +1 -1
  200. package/dist/{redact-Dk1ZdJEm.js → redact-B5xXKqQ3.js} +97 -98
  201. package/dist/redact-B5xXKqQ3.js.map +1 -0
  202. package/dist/{redact-Cveoq6fJ.d.ts → redact-mtCCcT8z.d.ts} +4 -20
  203. package/dist/redact-mtCCcT8z.d.ts.map +1 -0
  204. package/dist/{registry-CMYIaDgS.d.ts → registry-D7_hm2fK.d.ts} +11 -13
  205. package/dist/registry-D7_hm2fK.d.ts.map +1 -0
  206. package/dist/{release-confidence-Dbe9AS_X.js → release-confidence-CpuP65S5.js} +5 -5
  207. package/dist/{release-confidence-Dbe9AS_X.js.map → release-confidence-CpuP65S5.js.map} +1 -1
  208. package/dist/{report-command-CtIIsQKP.js → report-command-SC9nqb4M.js} +128 -177
  209. package/dist/report-command-SC9nqb4M.js.map +1 -0
  210. package/dist/reporting-html-Kvlc8oMt.js +100 -0
  211. package/dist/reporting-html-Kvlc8oMt.js.map +1 -0
  212. package/dist/reporting.d.ts +3 -3
  213. package/dist/reporting.js +6 -6
  214. package/dist/{researcher-f6mZhh58.d.ts → researcher-CEcfku-T.d.ts} +5 -5
  215. package/dist/{researcher-f6mZhh58.d.ts.map → researcher-CEcfku-T.d.ts.map} +1 -1
  216. package/dist/reward-CpCmAM8L.d.ts +78 -0
  217. package/dist/reward-CpCmAM8L.d.ts.map +1 -0
  218. package/dist/{reward-hacking-BFcQgkux.js → reward-hacking-E0d-WVcP.js} +2 -2
  219. package/dist/{reward-hacking-BFcQgkux.js.map → reward-hacking-E0d-WVcP.js.map} +1 -1
  220. package/dist/{reward-hacking-DHA7c1l8.d.ts → reward-hacking-RVdZ6Kkt.d.ts} +2 -2
  221. package/dist/{reward-hacking-DHA7c1l8.d.ts.map → reward-hacking-RVdZ6Kkt.d.ts.map} +1 -1
  222. package/dist/rl.d.ts +8 -8
  223. package/dist/rl.js +14 -14
  224. package/dist/rollout/index.d.ts +3 -2
  225. package/dist/rollout/index.js +2 -2
  226. package/dist/{rollout-D9bKKBnZ.js → rollout-DZV1t2Wg.js} +2 -2
  227. package/dist/{rollout-D9bKKBnZ.js.map → rollout-DZV1t2Wg.js.map} +1 -1
  228. package/dist/round-decimal-COrKglMh.js +10 -0
  229. package/dist/round-decimal-COrKglMh.js.map +1 -0
  230. package/dist/{rubric-predictive-validity-2SgHxoa5.d.ts → rubric-predictive-validity-C03EC7ZE.d.ts} +2 -2
  231. package/dist/{rubric-predictive-validity-2SgHxoa5.d.ts.map → rubric-predictive-validity-C03EC7ZE.d.ts.map} +1 -1
  232. package/dist/{rubric-predictive-validity-BsgkBfT0.js → rubric-predictive-validity-DaFW70y9.js} +3 -3
  233. package/dist/{rubric-predictive-validity-BsgkBfT0.js.map → rubric-predictive-validity-DaFW70y9.js.map} +1 -1
  234. package/dist/{run-record-DlTZ_lqe.js → run-record-Boc5IUTp.js} +4 -4
  235. package/dist/{run-record-DlTZ_lqe.js.map → run-record-Boc5IUTp.js.map} +1 -1
  236. package/dist/{run-record-D1Hw-Jml.d.ts → run-record-C1E24G2A.d.ts} +2 -2
  237. package/dist/{run-record-D1Hw-Jml.d.ts.map → run-record-C1E24G2A.d.ts.map} +1 -1
  238. package/dist/{run-record-ES07wfz9.js → run-record-C5e7FjhJ.js} +3 -5
  239. package/dist/run-record-C5e7FjhJ.js.map +1 -0
  240. package/dist/search/index.d.ts +46 -32
  241. package/dist/search/index.d.ts.map +1 -1
  242. package/dist/search/index.js +3 -3
  243. package/dist/{search-kernel-BqyBZ9Wm.d.ts → search-kernel-DyNEa6IU.d.ts} +14 -10
  244. package/dist/search-kernel-DyNEa6IU.d.ts.map +1 -0
  245. package/dist/{search-ledger-d7V8o9Lk.js → search-ledger-CVUGLDZp.js} +189 -199
  246. package/dist/search-ledger-CVUGLDZp.js.map +1 -0
  247. package/dist/{search-ledger-file-BqOo-bVo.js → search-ledger-file-DDQUgvCg.js} +4 -4
  248. package/dist/{search-ledger-file-BqOo-bVo.js.map → search-ledger-file-DDQUgvCg.js.map} +1 -1
  249. package/dist/search-ledger-types-p2xKfiDJ.d.ts.map +1 -1
  250. package/dist/{search-shipper-er4pK5_Y.js → search-shipper-BOSD46qv.js} +3 -3
  251. package/dist/{search-shipper-er4pK5_Y.js.map → search-shipper-BOSD46qv.js.map} +1 -1
  252. package/dist/{search-summary-CBvz3u_S.js → search-summary-BQCSWf1g.js} +5 -5
  253. package/dist/{search-summary-CBvz3u_S.js.map → search-summary-BQCSWf1g.js.map} +1 -1
  254. package/dist/{semantic-concept-judge-BPqbwIVs.js → semantic-concept-judge-BQF8te0T.js} +12 -14
  255. package/dist/semantic-concept-judge-BQF8te0T.js.map +1 -0
  256. package/dist/{sequential-D-1PPCmM.js → sequential-Bf_pbE50.js} +5 -5
  257. package/dist/{sequential-D-1PPCmM.js.map → sequential-Bf_pbE50.js.map} +1 -1
  258. package/dist/{sequential-eprocess-D1jKoihe.js → sequential-eprocess-DM_qENCl.js} +2 -2
  259. package/dist/{sequential-eprocess-D1jKoihe.js.map → sequential-eprocess-DM_qENCl.js.map} +1 -1
  260. package/dist/{server-DbcC7xMl.js → server-e9oWO_bN.js} +4 -4
  261. package/dist/{server-DbcC7xMl.js.map → server-e9oWO_bN.js.map} +1 -1
  262. package/dist/{single-run-lock-fVu3MZWH.js → single-run-lock-CV9Eyd_q.js} +2 -2
  263. package/dist/{single-run-lock-fVu3MZWH.js.map → single-run-lock-CV9Eyd_q.js.map} +1 -1
  264. package/dist/{skillopt-optimization-method-Dcepr6QL.js → skillopt-optimization-method-BiwA8nfX.js} +427 -12
  265. package/dist/skillopt-optimization-method-BiwA8nfX.js.map +1 -0
  266. package/dist/{spans-D9_ehFuk.d.ts → spans-BHAUXMGN.d.ts} +2 -2
  267. package/dist/{spans-D9_ehFuk.d.ts.map → spans-BHAUXMGN.d.ts.map} +1 -1
  268. package/dist/{statistical-heldout-1Gbmex7v.js → statistical-heldout-42NlCNDe.js} +3 -3
  269. package/dist/{statistical-heldout-1Gbmex7v.js.map → statistical-heldout-42NlCNDe.js.map} +1 -1
  270. package/dist/{statistical-heldout-CJTj2EoS.d.ts → statistical-heldout-CYpGaoDH.d.ts} +3 -3
  271. package/dist/{statistical-heldout-CJTj2EoS.d.ts.map → statistical-heldout-CYpGaoDH.d.ts.map} +1 -1
  272. package/dist/{store-otlp-DWVhUgEj.js → store-otlp-DJ9dtA5x.js} +135 -132
  273. package/dist/store-otlp-DJ9dtA5x.js.map +1 -0
  274. package/dist/{store-tool-spans-BNICrhsb.js → store-tool-spans-CIX5arAG.js} +7 -7
  275. package/dist/{store-tool-spans-BNICrhsb.js.map → store-tool-spans-CIX5arAG.js.map} +1 -1
  276. package/dist/{store-tool-spans-BNzls3OD.d.ts → store-tool-spans-DdCSPa7C.d.ts} +162 -161
  277. package/dist/store-tool-spans-DdCSPa7C.d.ts.map +1 -0
  278. package/dist/storyboard/index.d.ts.map +1 -1
  279. package/dist/storyboard/index.js +20 -3
  280. package/dist/storyboard/index.js.map +1 -1
  281. package/dist/{student-t-BQeKJx2N.js → student-t-DVPW7CdL.js} +2 -2
  282. package/dist/{student-t-BQeKJx2N.js.map → student-t-DVPW7CdL.js.map} +1 -1
  283. package/dist/{summary-report-DtdRucM0.js → summary-report-V_JACR4Y.js} +526 -614
  284. package/dist/summary-report-V_JACR4Y.js.map +1 -0
  285. package/dist/{summary-report-C-CtItCN.d.ts → summary-report-bdFDXq0b.d.ts} +10 -5
  286. package/dist/summary-report-bdFDXq0b.d.ts.map +1 -0
  287. package/dist/supervisor-run/index.d.ts +154 -150
  288. package/dist/supervisor-run/index.d.ts.map +1 -1
  289. package/dist/supervisor-run/index.js +65 -3
  290. package/dist/supervisor-run/index.js.map +1 -1
  291. package/dist/systemone-BomhHr2c.d.ts +135 -0
  292. package/dist/systemone-BomhHr2c.d.ts.map +1 -0
  293. package/dist/systemone-protocol.js +1 -1
  294. package/dist/{systemone-review-C4dZgrgN.d.ts → systemone-review-CUVcQJu6.d.ts} +2 -2
  295. package/dist/{systemone-review-C4dZgrgN.d.ts.map → systemone-review-CUVcQJu6.d.ts.map} +1 -1
  296. package/dist/{systemone-review-DTClwgmE.js → systemone-review-D7sXwsqq.js} +3 -3
  297. package/dist/{systemone-review-DTClwgmE.js.map → systemone-review-D7sXwsqq.js.map} +1 -1
  298. package/dist/systemone.d.ts +4 -134
  299. package/dist/systemone.js +4 -4
  300. package/dist/{task-failure-attributes-DngaLdE4.js → task-failure-attributes-hEmASjix.js} +2 -2
  301. package/dist/{task-failure-attributes-DngaLdE4.js.map → task-failure-attributes-hEmASjix.js.map} +1 -1
  302. package/dist/{terminal-record-BHocwFw1.js → terminal-record-DZyQZ3pz.js} +14 -10
  303. package/dist/terminal-record-DZyQZ3pz.js.map +1 -0
  304. package/dist/{tool-groups-BKRrtqy4.d.ts → tool-groups-C3NEcdCM.d.ts} +3 -3
  305. package/dist/tool-groups-C3NEcdCM.d.ts.map +1 -0
  306. package/dist/{tool-waste-Wi4g6Ekb.d.ts → tool-waste-BKgvd-TP.d.ts} +30 -30
  307. package/dist/tool-waste-BKgvd-TP.d.ts.map +1 -0
  308. package/dist/{tool-waste-BYt5rdt8.js → tool-waste-BlesqTqW.js} +5 -158
  309. package/dist/tool-waste-BlesqTqW.js.map +1 -0
  310. package/dist/{trace-questions-CLx8vt6t.d.ts → trace-questions-CM2CAocU.d.ts} +4 -4
  311. package/dist/{trace-questions-CLx8vt6t.d.ts.map → trace-questions-CM2CAocU.d.ts.map} +1 -1
  312. package/dist/trace-repair/index.d.ts +3 -3
  313. package/dist/trace-repair/index.d.ts.map +1 -1
  314. package/dist/trace-repair/index.js +7 -13
  315. package/dist/trace-repair/index.js.map +1 -1
  316. package/dist/traces.d.ts +76 -58
  317. package/dist/traces.d.ts.map +1 -1
  318. package/dist/traces.js +9 -9
  319. package/dist/trajectory-replay/index.js +3 -3
  320. package/dist/{tree-rXLW3M_4.js → tree-C1XYeXvy.js} +2277 -2339
  321. package/dist/tree-C1XYeXvy.js.map +1 -0
  322. package/dist/{types-DjOMwGY_.d.ts → types-BqkVmHfv.d.ts} +7 -1
  323. package/dist/types-BqkVmHfv.d.ts.map +1 -0
  324. package/dist/{types-DBZ7keha.d.ts → types-C02qtnG8.d.ts} +4 -46
  325. package/dist/types-C02qtnG8.d.ts.map +1 -0
  326. package/dist/{types-DHb5TI36.d.ts → types-C1tnkEgM.d.ts} +347 -6
  327. package/dist/types-C1tnkEgM.d.ts.map +1 -0
  328. package/dist/{types-DinHtRJp.d.ts → types-Cbe2fWBa.d.ts} +3 -3
  329. package/dist/{types-DinHtRJp.d.ts.map → types-Cbe2fWBa.d.ts.map} +1 -1
  330. package/dist/{types-CGEmVYOk.d.ts → types-Cq8mSbq8.d.ts} +78 -72
  331. package/dist/types-Cq8mSbq8.d.ts.map +1 -0
  332. package/dist/{types-CW5b90JH.js → types-IXD2HJzu.js} +16 -3
  333. package/dist/types-IXD2HJzu.js.map +1 -0
  334. package/dist/{verdict-DhPoXApk.js → verdict-Dl0tiT1X.js} +2 -2
  335. package/dist/{verdict-DhPoXApk.js.map → verdict-Dl0tiT1X.js.map} +1 -1
  336. package/dist/{verdict-cache-BQEsVy9n.js → verdict-cache-Bm8EKL2s.js} +2 -2
  337. package/dist/{verdict-cache-BQEsVy9n.js.map → verdict-cache-Bm8EKL2s.js.map} +1 -1
  338. package/dist/wire/index.d.ts +3 -3
  339. package/dist/wire/index.js +1 -1
  340. package/docs/concepts.md +1 -0
  341. package/docs/design/mlbenchmarks-book-review.md +1 -1
  342. package/docs/design/mlbenchmarks-review/probes.mts +23 -31
  343. package/docs/experiment.md +1 -1
  344. package/docs/finding-layers.md +69 -0
  345. package/package.json +1 -1
  346. package/dist/analyze-runs-3xpby3p2.js.map +0 -1
  347. package/dist/analyze-runs-BhFLOztS.d.ts.map +0 -1
  348. package/dist/ast-DJ6Bc7ab.js +0 -558
  349. package/dist/ast-DJ6Bc7ab.js.map +0 -1
  350. package/dist/ast-hI-vjW6J.d.ts +0 -457
  351. package/dist/ast-hI-vjW6J.d.ts.map +0 -1
  352. package/dist/benchmark-command-CgpGi7vY.js.map +0 -1
  353. package/dist/campaign-CpnsCgfz.js.map +0 -1
  354. package/dist/campaign-evidence-OcUciD-N.js.map +0 -1
  355. package/dist/claim-BXcZw-jo.js.map +0 -1
  356. package/dist/cost-ledger-CO7UyEcQ.d.ts.map +0 -1
  357. package/dist/cost-ledger-D2FnJPBF.js.map +0 -1
  358. package/dist/default-registry-KP4-Tolz.js.map +0 -1
  359. package/dist/define-agent-eval-BdfnqXeP.js.map +0 -1
  360. package/dist/evaluation.d.ts.map +0 -1
  361. package/dist/external-optimizer-subprocess-BUxifb8g.js.map +0 -1
  362. package/dist/feedback-trajectory-BLN_6fEs.d.ts.map +0 -1
  363. package/dist/index-B3WBm953.d.ts.map +0 -1
  364. package/dist/index-B7m2uzJL.d.ts.map +0 -1
  365. package/dist/index-CPJJr98o.d.ts.map +0 -1
  366. package/dist/integrity-BV1ZDf42.js.map +0 -1
  367. package/dist/judge-gate-B1qYnkpi.js.map +0 -1
  368. package/dist/llm-client-DQveoxSM.js.map +0 -1
  369. package/dist/llm-judge-Cd5s5Ei6.js.map +0 -1
  370. package/dist/matrix-_BV9-Lk5.js.map +0 -1
  371. package/dist/mint-DCGoBYhB.d.ts +0 -155
  372. package/dist/mint-DCGoBYhB.d.ts.map +0 -1
  373. package/dist/paired-tests-jbwPdSz5.js.map +0 -1
  374. package/dist/proposal-findings-CXblsskH.js.map +0 -1
  375. package/dist/redact-Cveoq6fJ.d.ts.map +0 -1
  376. package/dist/redact-Dk1ZdJEm.js.map +0 -1
  377. package/dist/registry-CMYIaDgS.d.ts.map +0 -1
  378. package/dist/release-confidence-BK2QCB5M.d.ts.map +0 -1
  379. package/dist/report-command-CtIIsQKP.js.map +0 -1
  380. package/dist/run-record-ES07wfz9.js.map +0 -1
  381. package/dist/search-kernel-BqyBZ9Wm.d.ts.map +0 -1
  382. package/dist/search-kernel-BztlERLv.js.map +0 -1
  383. package/dist/search-ledger-d7V8o9Lk.js.map +0 -1
  384. package/dist/semantic-concept-judge-BPqbwIVs.js.map +0 -1
  385. package/dist/skillopt-optimization-method-Dcepr6QL.js.map +0 -1
  386. package/dist/store-otlp-DWVhUgEj.js.map +0 -1
  387. package/dist/store-tool-spans-BNzls3OD.d.ts.map +0 -1
  388. package/dist/summary-report-C-CtItCN.d.ts.map +0 -1
  389. package/dist/summary-report-DtdRucM0.js.map +0 -1
  390. package/dist/systemone.d.ts.map +0 -1
  391. package/dist/terminal-record-BHocwFw1.js.map +0 -1
  392. package/dist/tool-groups-BKRrtqy4.d.ts.map +0 -1
  393. package/dist/tool-waste-BYt5rdt8.js.map +0 -1
  394. package/dist/tool-waste-Wi4g6Ekb.d.ts.map +0 -1
  395. package/dist/tree-rXLW3M_4.js.map +0 -1
  396. package/dist/types-CGEmVYOk.d.ts.map +0 -1
  397. package/dist/types-CW5b90JH.js.map +0 -1
  398. package/dist/types-DBZ7keha.d.ts.map +0 -1
  399. package/dist/types-DHb5TI36.d.ts.map +0 -1
  400. package/dist/types-DjOMwGY_.d.ts.map +0 -1
@@ -1,25 +1,25 @@
1
- import { s as ValidationError, t as AgentEvalError } from "./errors-Dngq5h35.js";
2
- import { a as hashCanonical, i as compareCodeUnits, r as canonicalString } from "./canonical-BsZVgBhW.js";
3
- import { c as agentProfileId, d as harnessAxisOf, i as verifyCompletion, l as agentProfileModelId, s as agentProfileHash, t as extractProducedState } from "./produced-state-BGp4BX8t.js";
4
- import { o as buildAgentProfileCell } from "./agent-profile-cell-BYc0bxsL.js";
5
- import { r as pairedBootstrap } from "./paired-tests-jbwPdSz5.js";
6
- import { t as comparePairedArms } from "./paired-arms-DzKn0TfY.js";
7
- import { o as pairHoldout } from "./statistical-heldout-1Gbmex7v.js";
8
- import { c as validateRunRecord, i as modelHasSnapshot, n as UNKNOWN_MODEL, o as runTaskScore } from "./run-record-DlTZ_lqe.js";
9
- import { n as contentHash, t as canonicalJson } from "./verdict-cache-BQEsVy9n.js";
10
- import { at as resolveRunDir, d as combineComparisonCosts, it as planCampaignRun, lt as cellCachePath, rt as runCampaign, u as executeOptimizationMethod, ut as computeManifestHash, v as labelTrustRank } from "./llm-judge-Cd5s5Ei6.js";
11
- import { n as campaignCellToRunRecord, r as projectCampaignCellQuality, t as campaignCellCostProvenance } from "./run-record-ES07wfz9.js";
12
- import { t as CostAccountingIncompleteError } from "./cost-ledger-D2FnJPBF.js";
13
- import { B as assertCampaignDesign, N as surfaceContentHash, R as assertRealBackend, W as campaignScenarioIdentity, k as assertCodeSurfaceIdentity, z as summarizeBackendIntegrity } from "./campaign-evidence-OcUciD-N.js";
14
- import { m as mapConcurrent } from "./journal-DvKCvjty.js";
15
- import { S as fsCampaignStorage } from "./external-optimizer-subprocess-BUxifb8g.js";
16
- import "./search-kernel-BztlERLv.js";
17
- import "./search-ledger-d7V8o9Lk.js";
18
- import "./search-summary-CBvz3u_S.js";
19
- import { a as scoreAnalystFindings } from "./benchmark-BywPeAUo.js";
20
- import "./external-optimizer-process-GngofQML.js";
21
- import "./skillopt-optimization-method-Dcepr6QL.js";
22
- import "./sequential-D-1PPCmM.js";
1
+ import { s as ValidationError, t as AgentEvalError } from "./errors-DVZiqS7K.js";
2
+ import { a as hashCanonical, i as compareCodeUnits, r as canonicalString } from "./canonical-B2RqLofv.js";
3
+ import { c as agentProfileId, d as harnessAxisOf, i as verifyCompletion, l as agentProfileModelId, s as agentProfileHash, t as extractProducedState } from "./produced-state-BsDmnwxc.js";
4
+ import { o as buildAgentProfileCell } from "./agent-profile-cell-BK8mlqlq.js";
5
+ import { c as validateRunRecord, i as modelHasSnapshot, n as UNKNOWN_MODEL, o as runTaskScore } from "./run-record-Boc5IUTp.js";
6
+ import { i as pairedBootstrap } from "./mean-DHoMiudD.js";
7
+ import { t as comparePairedArms } from "./paired-arms-CwMGJsrS.js";
8
+ import { o as pairHoldout } from "./statistical-heldout-42NlCNDe.js";
9
+ import { n as contentHash, t as canonicalJson } from "./verdict-cache-Bm8EKL2s.js";
10
+ import { _ as labelTrustRank, at as resolveRunDir, c as executeOptimizationMethod, d as combineComparisonCosts, it as planCampaignRun, lt as cellCachePath, rt as runCampaign, ut as computeManifestHash } from "./llm-judge-CG12SQJq.js";
11
+ import { n as campaignCellToRunRecord, r as projectCampaignCellQuality, t as campaignCellCostProvenance } from "./run-record-C5e7FjhJ.js";
12
+ import { n as CostAccountingIncompleteError } from "./cost-ledger-BP8V4kUQ.js";
13
+ import { B as assertCampaignDesign, N as surfaceContentHash, R as assertRealBackend, W as campaignScenarioIdentity, k as assertCodeSurfaceIdentity, z as summarizeBackendIntegrity } from "./campaign-evidence-Clrn4hBV.js";
14
+ import { m as mapConcurrent } from "./journal-DfRz9kps.js";
15
+ import { P as fsCampaignStorage } from "./external-optimizer-subprocess-BqW0hHcI.js";
16
+ import "./pareto-Cm6ndrWN.js";
17
+ import "./search-ledger-CVUGLDZp.js";
18
+ import "./search-summary-BQCSWf1g.js";
19
+ import { a as scoreAnalystFindings } from "./benchmark-CXmVVHH2.js";
20
+ import "./external-optimizer-process-BjMGUuds.js";
21
+ import "./skillopt-optimization-method-BiwA8nfX.js";
22
+ import "./sequential-Bf_pbE50.js";
23
23
  import { createHash } from "node:crypto";
24
24
  import { closeSync, constants, existsSync, fstatSync, lstatSync, mkdirSync, mkdtempSync, openSync, readFileSync, readSync, readdirSync, readlinkSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
25
25
  import { z } from "zod";
@@ -283,92 +283,7 @@ function arraysEqual(left, right) {
283
283
  return left.length === right.length && left.every((value, index) => value === right[index]);
284
284
  }
285
285
  //#endregion
286
- //#region src/campaign/cross-surface-interaction.ts
287
- /**
288
- * Task-paired comparison and deterministic selection for independently
289
- * proposed agent surfaces. Unlike factorial cell-mean attribution, every
290
- * benefit, regression, and interaction remains attached to its task row.
291
- */
292
- /**
293
- * Build the complete cross-surface evidence matrix and derive all three frozen
294
- * candidates. The task/candidate/component orders are part of the input so
295
- * neither insertion order nor an after-the-fact tie-break can change a result.
296
- */
297
- function analyzeCrossSurfaceInteractions(input) {
298
- const context = validateCrossSurfaceInput(input);
299
- const baseline = context.candidateById.get(input.baselineCandidateId);
300
- const preliminary = context.candidates.map((candidate) => summarizeCandidate(context, candidate, baseline));
301
- const baselineSummary = preliminary.find((summary) => summary.candidate.candidateId === input.baselineCandidateId);
302
- const summaries = preliminary.map((summary) => summary.candidate.candidateId === input.baselineCandidateId ? summary : {
303
- ...summary,
304
- eligibility: candidateEligibility(context, summary, baselineSummary)
305
- });
306
- const summaryById = new Map(summaries.map((summary) => [summary.candidate.candidateId, summary]));
307
- const eligibleSingles = rankedEligibleSingles(context, summaryById);
308
- const interactionReadySingles = rankedInteractionReadySingles(context, summaryById);
309
- const pairwise = buildPairwise(context, summaryById, interactionReadySingles, baselineSummary);
310
- const selections = selectCandidates(context, summaryById, eligibleSingles, interactionReadySingles, pairwise);
311
- const rows = context.candidates.flatMap((candidate) => input.taskOrder.map((taskId) => context.rowsByCandidate.get(candidate.candidateId).get(taskId)));
312
- return {
313
- taskIds: [...input.taskOrder],
314
- componentIds: [...input.componentOrder],
315
- candidateIds: [...input.candidateOrder],
316
- costMetrics: [...input.costMetricOrder],
317
- rows,
318
- missingAttempts: rows.filter((row) => row.completeness === "missing"),
319
- invalidAttempts: rows.filter((row) => row.completeness === "invalid"),
320
- candidates: summaries,
321
- pairwise,
322
- selections
323
- };
324
- }
325
- function summarizeCandidate(context, candidate, baseline) {
326
- const rows = crossSurfaceRowsFor(context, candidate.candidateId);
327
- const outcome = summarizeOutcome(context, rows, crossSurfaceRowsFor(context, baseline.candidateId), candidate.candidateId === baseline.candidateId);
328
- const completeScores = rows.filter((row) => row.completeness === "complete").map((row) => row.score);
329
- const costs = Object.fromEntries(context.input.costMetricOrder.map((metric) => [metric, distribution(rows.map((row) => row.cost[metric]))]));
330
- return {
331
- candidate,
332
- outcome,
333
- score: completeScores.length === 0 ? null : distribution(completeScores),
334
- costs,
335
- firing: summarizeCandidateEvidence(rows, candidate.componentIds, "fired"),
336
- effect: summarizeCandidateEvidence(rows, candidate.componentIds, "effectObserved"),
337
- comparisonToBaseline: candidate.candidateId === baseline.candidateId ? null : pairedComparison(context, baseline.candidateId, candidate.candidateId),
338
- eligibility: null
339
- };
340
- }
341
- function summarizeOutcome(context, rows, baselineRows, isBaseline) {
342
- const resolvedTaskIds = [];
343
- const failedTaskIds = [];
344
- const missingTaskIds = [];
345
- const invalidTaskIds = [];
346
- const benefitTaskIds = [];
347
- const regressionTaskIds = [];
348
- const comparisonMissingTaskIds = [];
349
- for (let index = 0; index < context.input.taskOrder.length; index++) {
350
- const row = rows[index];
351
- const baseline = baselineRows[index];
352
- if (row.completeness === "missing") missingTaskIds.push(row.taskId);
353
- else if (row.completeness === "invalid") invalidTaskIds.push(row.taskId);
354
- else if (row.pass) resolvedTaskIds.push(row.taskId);
355
- else failedTaskIds.push(row.taskId);
356
- if (isBaseline) continue;
357
- if (row.completeness !== "complete" || baseline.completeness !== "complete") comparisonMissingTaskIds.push(row.taskId);
358
- else if (row.pass && !baseline.pass) benefitTaskIds.push(row.taskId);
359
- else if (!row.pass && baseline.pass) regressionTaskIds.push(row.taskId);
360
- }
361
- return {
362
- resolvedTaskIds,
363
- failedTaskIds,
364
- missingTaskIds,
365
- invalidTaskIds,
366
- benefitTaskIds,
367
- regressionTaskIds,
368
- comparisonMissingTaskIds,
369
- netBenefit: benefitTaskIds.length - regressionTaskIds.length
370
- };
371
- }
286
+ //#region src/campaign/cross-surface-evidence.ts
372
287
  function summarizeCandidateEvidence(rows, componentIds, field) {
373
288
  if (componentIds.length === 0) return {
374
289
  byComponent: [],
@@ -413,49 +328,161 @@ function summarizeCandidateEvidence(rows, componentIds, field) {
413
328
  unobservedTaskIds
414
329
  };
415
330
  }
416
- function candidateEligibility(context, summary, baseline) {
417
- const reasons = [];
418
- if (summary.outcome.missingTaskIds.length > 0) reasons.push("missing_attempt");
419
- if (summary.outcome.invalidTaskIds.length > 0) reasons.push("invalid_attempt");
420
- if (summary.outcome.comparisonMissingTaskIds.length > 0) reasons.push("baseline_outcome_missing");
421
- if (summary.outcome.benefitTaskIds.length <= summary.outcome.regressionTaskIds.length) reasons.push("benefit_not_greater_than_regression");
422
- appendEvidenceEligibilityReasons(reasons, summary.firing, context.input.selection.minimumFiringTasks, context.input.selection.requireObservedFiring, "firing_below_minimum", "firing_unobserved");
423
- appendEvidenceEligibilityReasons(reasons, summary.effect, context.input.selection.minimumEffectTasks, context.input.selection.requireObservedEffect, "effect_below_minimum", "effect_unobserved");
424
- if (!withinCostLimits(context, summary, baseline)) reasons.push("cost_limit_exceeded");
331
+ function summarizePairEvidence(rows, leftComponentId, rightComponentId, field) {
332
+ const bothTaskIds = [];
333
+ const leftOnlyTaskIds = [];
334
+ const rightOnlyTaskIds = [];
335
+ const neitherTaskIds = [];
336
+ const unobservedTaskIds = [];
337
+ for (const row of rows) {
338
+ const left = evidenceValue(row, leftComponentId, field);
339
+ const right = evidenceValue(row, rightComponentId, field);
340
+ if (left === null || right === null) unobservedTaskIds.push(row.taskId);
341
+ else if (left && right) bothTaskIds.push(row.taskId);
342
+ else if (left) leftOnlyTaskIds.push(row.taskId);
343
+ else if (right) rightOnlyTaskIds.push(row.taskId);
344
+ else neitherTaskIds.push(row.taskId);
345
+ }
425
346
  return {
426
- eligible: reasons.length === 0,
427
- reasons: unique(reasons)
347
+ bothTaskIds,
348
+ leftOnlyTaskIds,
349
+ rightOnlyTaskIds,
350
+ neitherTaskIds,
351
+ unobservedTaskIds
428
352
  };
429
353
  }
430
- function appendEvidenceEligibilityReasons(reasons, evidence, minimum, requireObserved, belowReason, unobservedReason) {
354
+ function evidenceValue(row, componentId, field) {
355
+ return row.componentEvidence.find((evidence) => evidence.componentId === componentId)[field];
356
+ }
357
+ function appendEvidenceReasons(reasons, evidence, minimum, requireObserved, belowReason, unobservedReason) {
431
358
  if (evidence.byComponent.some((component) => component.observedTaskIds.length < minimum)) reasons.push(belowReason);
432
359
  if (requireObserved && evidence.byComponent.some((component) => component.unobservedTaskIds.length > 0)) reasons.push(unobservedReason);
433
360
  }
434
- function rankedEligibleSingles(context, summaryById) {
435
- return [...context.singleByComponent.values()].map((candidate) => summaryById.get(candidate.candidateId)).filter((summary) => summary.eligibility?.eligible).sort((left, right) => compareSingleSummaries(context, left, right));
436
- }
361
+ //#endregion
362
+ //#region src/campaign/cross-surface-interaction.ts
437
363
  /**
438
- * A neutral constituent may seed a composition when it has complete, bounded,
439
- * observed evidence and causes no baseline regression. Individual benefit is
440
- * deliberately left to the best-single arm rather than used as a pair gate.
364
+ * Task-paired comparison and deterministic selection for independently
365
+ * proposed agent surfaces. Unlike factorial cell-mean attribution, every
366
+ * benefit, regression, and interaction remains attached to its task row.
441
367
  */
442
- function rankedInteractionReadySingles(context, summaryById) {
443
- return [...context.singleByComponent.values()].map((candidate) => summaryById.get(candidate.candidateId)).filter((summary) => summary.outcome.regressionTaskIds.length === 0 && summary.eligibility?.reasons.every((reason) => reason === "benefit_not_greater_than_regression")).sort((left, right) => compareSingleSummaries(context, left, right));
368
+ /**
369
+ * Build the complete cross-surface evidence matrix and derive all three frozen
370
+ * candidates. The task/candidate/component orders are part of the input so
371
+ * neither insertion order nor an after-the-fact tie-break can change a result.
372
+ */
373
+ function analyzeCrossSurfaceInteractions(input) {
374
+ const context = validateCrossSurfaceInput(input);
375
+ const baseline = context.candidateById.get(input.baselineCandidateId);
376
+ const preliminary = context.candidates.map((candidate) => summarizeCandidate(context, candidate, baseline));
377
+ const baselineSummary = preliminary.find((summary) => summary.candidate.candidateId === input.baselineCandidateId);
378
+ const summaries = preliminary.map((summary) => summary.candidate.candidateId === input.baselineCandidateId ? summary : {
379
+ ...summary,
380
+ eligibility: candidateEligibility(context, summary, baselineSummary)
381
+ });
382
+ const summaryById = new Map(summaries.map((summary) => [summary.candidate.candidateId, summary]));
383
+ const eligibleSingles = rankedEligibleSingles(context, summaryById);
384
+ const interactionReadySingles = rankedInteractionReadySingles(context, summaryById);
385
+ const pairwise = buildPairwise(context, summaryById, interactionReadySingles, baselineSummary);
386
+ const selections = selectCandidates(context, summaryById, eligibleSingles, interactionReadySingles, pairwise);
387
+ const rows = context.candidates.flatMap((candidate) => input.taskOrder.map((taskId) => context.rowsByCandidate.get(candidate.candidateId).get(taskId)));
388
+ return {
389
+ taskIds: [...input.taskOrder],
390
+ componentIds: [...input.componentOrder],
391
+ candidateIds: [...input.candidateOrder],
392
+ costMetrics: [...input.costMetricOrder],
393
+ rows,
394
+ missingAttempts: rows.filter((row) => row.completeness === "missing"),
395
+ invalidAttempts: rows.filter((row) => row.completeness === "invalid"),
396
+ candidates: summaries,
397
+ pairwise,
398
+ selections
399
+ };
444
400
  }
445
- function compareSingleSummaries(context, left, right) {
446
- const byNetBenefit = right.outcome.netBenefit - left.outcome.netBenefit;
447
- if (byNetBenefit !== 0) return byNetBenefit;
448
- const byBenefit = right.outcome.benefitTaskIds.length - left.outcome.benefitTaskIds.length;
449
- if (byBenefit !== 0) return byBenefit;
450
- const byRegression = left.outcome.regressionTaskIds.length - right.outcome.regressionTaskIds.length;
451
- if (byRegression !== 0) return byRegression;
452
- for (const metric of context.input.costMetricOrder) {
453
- const byCost = left.costs[metric].median - right.costs[metric].median;
454
- if (byCost !== 0) return byCost;
401
+ function compareCandidates(context, summaryById, comparatorCandidateId, treatmentCandidateId) {
402
+ const winsTaskIds = [];
403
+ const regressionTaskIds = [];
404
+ const missingTaskIds = [];
405
+ for (const taskId of context.input.taskOrder) {
406
+ const comparator = crossSurfaceRowFor(context, comparatorCandidateId, taskId);
407
+ const treatment = crossSurfaceRowFor(context, treatmentCandidateId, taskId);
408
+ if (comparator.completeness !== "complete" || treatment.completeness !== "complete") missingTaskIds.push(taskId);
409
+ else if (treatment.pass && !comparator.pass) winsTaskIds.push(taskId);
410
+ else if (!treatment.pass && comparator.pass) regressionTaskIds.push(taskId);
455
411
  }
456
- const byBytes = left.candidate.artifactBytes - right.candidate.artifactBytes;
457
- if (byBytes !== 0) return byBytes;
458
- return context.candidateIndex.get(left.candidate.candidateId) - context.candidateIndex.get(right.candidate.candidateId);
412
+ return {
413
+ comparatorCandidateId,
414
+ treatmentCandidateId,
415
+ winsTaskIds,
416
+ regressionTaskIds,
417
+ missingTaskIds,
418
+ paired: pairedComparison(context, comparatorCandidateId, treatmentCandidateId),
419
+ relativeCost: relativeCosts(context, summaryById.get(treatmentCandidateId), summaryById.get(comparatorCandidateId))
420
+ };
421
+ }
422
+ function pairedComparison(context, comparatorCandidateId, treatmentCandidateId) {
423
+ const rows = [];
424
+ for (const taskId of context.input.taskOrder) {
425
+ rows.push(toPairedArmRow(context, crossSurfaceRowFor(context, comparatorCandidateId, taskId)));
426
+ rows.push(toPairedArmRow(context, crossSurfaceRowFor(context, treatmentCandidateId, taskId)));
427
+ }
428
+ return comparePairedArms(rows, {
429
+ baselineArm: comparatorCandidateId,
430
+ treatmentArm: treatmentCandidateId,
431
+ metricNames: ["score", ...context.input.costMetricOrder],
432
+ bootstrap: {
433
+ ...context.input.bootstrap,
434
+ statistic: "mean"
435
+ }
436
+ });
437
+ }
438
+ function toPairedArmRow(context, row) {
439
+ const metrics = Object.fromEntries(context.input.costMetricOrder.map((metric) => [metric, row.cost[metric]]));
440
+ if (row.completeness === "complete") metrics.score = row.score;
441
+ return {
442
+ pairKey: row.taskId,
443
+ arm: row.candidateId,
444
+ ...row.completeness === "complete" ? { pass: row.pass } : {},
445
+ metrics
446
+ };
447
+ }
448
+ function relativeCosts(context, treatment, comparator) {
449
+ return Object.fromEntries(context.input.costMetricOrder.map((metric) => {
450
+ const treatmentMedian = treatment.costs[metric].median;
451
+ const comparatorMedian = comparator.costs[metric].median;
452
+ return [metric, {
453
+ treatmentMedian,
454
+ comparatorMedian,
455
+ medianDelta: treatmentMedian - comparatorMedian,
456
+ medianRatio: comparatorMedian === 0 ? treatmentMedian === 0 ? 1 : null : treatmentMedian / comparatorMedian
457
+ }];
458
+ }));
459
+ }
460
+ function withinCostLimits(context, treatment, baseline) {
461
+ const relative = relativeCosts(context, treatment, baseline);
462
+ return Object.entries(context.input.selection.maximumMedianCostRatioToBaseline).every(([metric, limit]) => {
463
+ const ratio = relative[metric].medianRatio;
464
+ return ratio !== null && ratio <= limit;
465
+ });
466
+ }
467
+ function distribution(values) {
468
+ const sorted = [...values].sort((left, right) => left - right);
469
+ const total = sorted.reduce((sum, value) => sum + value, 0);
470
+ const middle = Math.floor(sorted.length / 2);
471
+ const median = sorted.length % 2 === 1 ? sorted[middle] : (sorted[middle - 1] + sorted[middle]) / 2;
472
+ return {
473
+ n: sorted.length,
474
+ min: sorted[0],
475
+ median,
476
+ mean: total / sorted.length,
477
+ max: sorted[sorted.length - 1],
478
+ total
479
+ };
480
+ }
481
+ function meanOrNull$1(values) {
482
+ return values.length === 0 ? null : values.reduce((sum, value) => sum + value, 0) / values.length;
483
+ }
484
+ function unique(values) {
485
+ return [...new Set(values)];
459
486
  }
460
487
  function buildPairwise(context, summaryById, interactionReadySingles, baseline) {
461
488
  const interactionReadyIds = new Set(interactionReadySingles.map((summary) => summary.candidate.candidateId));
@@ -682,8 +709,8 @@ function evaluateAddition(context, summaryById, pairByComponents, baseline, curr
682
709
  const comparison = compareCandidates(context, summaryById, current.candidate.candidateId, bundle.candidateId);
683
710
  if (comparison.winsTaskIds.length === 0) reasons.push("no_incremental_resolution");
684
711
  if (comparison.regressionTaskIds.length > 0) reasons.push("incremental_regression");
685
- appendBundleEvidenceReasons(reasons, bundleSummary.firing, context.input.selection.minimumFiringTasks, context.input.selection.requireObservedFiring, "firing_below_minimum", "firing_unobserved");
686
- appendBundleEvidenceReasons(reasons, bundleSummary.effect, context.input.selection.minimumEffectTasks, context.input.selection.requireObservedEffect, "effect_below_minimum", "effect_unobserved");
712
+ appendEvidenceReasons(reasons, bundleSummary.firing, context.input.selection.minimumFiringTasks, context.input.selection.requireObservedFiring, "firing_below_minimum", "firing_unobserved");
713
+ appendEvidenceReasons(reasons, bundleSummary.effect, context.input.selection.minimumEffectTasks, context.input.selection.requireObservedEffect, "effect_below_minimum", "effect_unobserved");
687
714
  if (!withinCostLimits(context, bundleSummary, baseline)) reasons.push("cost_limit_exceeded");
688
715
  return {
689
716
  additionCandidateId: addition.candidate.candidateId,
@@ -710,10 +737,6 @@ function emptyAdditionDecision(addition, additionComponentId, reasons) {
710
737
  reasons: unique(reasons)
711
738
  };
712
739
  }
713
- function appendBundleEvidenceReasons(reasons, evidence, minimum, requireObserved, belowReason, unobservedReason) {
714
- if (evidence.byComponent.some((component) => component.observedTaskIds.length < minimum)) reasons.push(belowReason);
715
- if (requireObserved && evidence.byComponent.some((component) => component.unobservedTaskIds.length > 0)) reasons.push(unobservedReason);
716
- }
717
740
  function compareAdditionDecisions(context, summaryById, left, right) {
718
741
  const byWins = right.incrementalResolutionTaskIds.length - left.incrementalResolutionTaskIds.length;
719
742
  if (byWins !== 0) return byWins;
@@ -725,117 +748,92 @@ function compareAdditionDecisions(context, summaryById, left, right) {
725
748
  if (byBytes !== 0) return byBytes;
726
749
  return context.candidateIndex.get(left.additionCandidateId) - context.candidateIndex.get(right.additionCandidateId);
727
750
  }
728
- function compareCandidates(context, summaryById, comparatorCandidateId, treatmentCandidateId) {
729
- const winsTaskIds = [];
730
- const regressionTaskIds = [];
731
- const missingTaskIds = [];
732
- for (const taskId of context.input.taskOrder) {
733
- const comparator = crossSurfaceRowFor(context, comparatorCandidateId, taskId);
734
- const treatment = crossSurfaceRowFor(context, treatmentCandidateId, taskId);
735
- if (comparator.completeness !== "complete" || treatment.completeness !== "complete") missingTaskIds.push(taskId);
736
- else if (treatment.pass && !comparator.pass) winsTaskIds.push(taskId);
737
- else if (!treatment.pass && comparator.pass) regressionTaskIds.push(taskId);
738
- }
739
- return {
740
- comparatorCandidateId,
741
- treatmentCandidateId,
742
- winsTaskIds,
743
- regressionTaskIds,
744
- missingTaskIds,
745
- paired: pairedComparison(context, comparatorCandidateId, treatmentCandidateId),
746
- relativeCost: relativeCosts(context, summaryById.get(treatmentCandidateId), summaryById.get(comparatorCandidateId))
747
- };
748
- }
749
- function pairedComparison(context, comparatorCandidateId, treatmentCandidateId) {
750
- const rows = [];
751
- for (const taskId of context.input.taskOrder) {
752
- rows.push(toPairedArmRow(context, crossSurfaceRowFor(context, comparatorCandidateId, taskId)));
753
- rows.push(toPairedArmRow(context, crossSurfaceRowFor(context, treatmentCandidateId, taskId)));
754
- }
755
- return comparePairedArms(rows, {
756
- baselineArm: comparatorCandidateId,
757
- treatmentArm: treatmentCandidateId,
758
- metricNames: ["score", ...context.input.costMetricOrder],
759
- bootstrap: {
760
- ...context.input.bootstrap,
761
- statistic: "mean"
762
- }
763
- });
764
- }
765
- function toPairedArmRow(context, row) {
766
- const metrics = Object.fromEntries(context.input.costMetricOrder.map((metric) => [metric, row.cost[metric]]));
767
- if (row.completeness === "complete") metrics.score = row.score;
751
+ function summarizeCandidate(context, candidate, baseline) {
752
+ const rows = crossSurfaceRowsFor(context, candidate.candidateId);
753
+ const outcome = summarizeOutcome(context, rows, crossSurfaceRowsFor(context, baseline.candidateId), candidate.candidateId === baseline.candidateId);
754
+ const completeScores = rows.filter((row) => row.completeness === "complete").map((row) => row.score);
755
+ const costs = Object.fromEntries(context.input.costMetricOrder.map((metric) => [metric, distribution(rows.map((row) => row.cost[metric]))]));
768
756
  return {
769
- pairKey: row.taskId,
770
- arm: row.candidateId,
771
- ...row.completeness === "complete" ? { pass: row.pass } : {},
772
- metrics
757
+ candidate,
758
+ outcome,
759
+ score: completeScores.length === 0 ? null : distribution(completeScores),
760
+ costs,
761
+ firing: summarizeCandidateEvidence(rows, candidate.componentIds, "fired"),
762
+ effect: summarizeCandidateEvidence(rows, candidate.componentIds, "effectObserved"),
763
+ comparisonToBaseline: candidate.candidateId === baseline.candidateId ? null : pairedComparison(context, baseline.candidateId, candidate.candidateId),
764
+ eligibility: null
773
765
  };
774
766
  }
775
- function summarizePairEvidence(rows, leftComponentId, rightComponentId, field) {
776
- const bothTaskIds = [];
777
- const leftOnlyTaskIds = [];
778
- const rightOnlyTaskIds = [];
779
- const neitherTaskIds = [];
780
- const unobservedTaskIds = [];
781
- for (const row of rows) {
782
- const left = evidenceValue(row, leftComponentId, field);
783
- const right = evidenceValue(row, rightComponentId, field);
784
- if (left === null || right === null) unobservedTaskIds.push(row.taskId);
785
- else if (left && right) bothTaskIds.push(row.taskId);
786
- else if (left) leftOnlyTaskIds.push(row.taskId);
787
- else if (right) rightOnlyTaskIds.push(row.taskId);
788
- else neitherTaskIds.push(row.taskId);
767
+ function summarizeOutcome(context, rows, baselineRows, isBaseline) {
768
+ const resolvedTaskIds = [];
769
+ const failedTaskIds = [];
770
+ const missingTaskIds = [];
771
+ const invalidTaskIds = [];
772
+ const benefitTaskIds = [];
773
+ const regressionTaskIds = [];
774
+ const comparisonMissingTaskIds = [];
775
+ for (let index = 0; index < context.input.taskOrder.length; index++) {
776
+ const row = rows[index];
777
+ const baseline = baselineRows[index];
778
+ if (row.completeness === "missing") missingTaskIds.push(row.taskId);
779
+ else if (row.completeness === "invalid") invalidTaskIds.push(row.taskId);
780
+ else if (row.pass) resolvedTaskIds.push(row.taskId);
781
+ else failedTaskIds.push(row.taskId);
782
+ if (isBaseline) continue;
783
+ if (row.completeness !== "complete" || baseline.completeness !== "complete") comparisonMissingTaskIds.push(row.taskId);
784
+ else if (row.pass && !baseline.pass) benefitTaskIds.push(row.taskId);
785
+ else if (!row.pass && baseline.pass) regressionTaskIds.push(row.taskId);
789
786
  }
790
787
  return {
791
- bothTaskIds,
792
- leftOnlyTaskIds,
793
- rightOnlyTaskIds,
794
- neitherTaskIds,
795
- unobservedTaskIds
788
+ resolvedTaskIds,
789
+ failedTaskIds,
790
+ missingTaskIds,
791
+ invalidTaskIds,
792
+ benefitTaskIds,
793
+ regressionTaskIds,
794
+ comparisonMissingTaskIds,
795
+ netBenefit: benefitTaskIds.length - regressionTaskIds.length
796
796
  };
797
797
  }
798
- function relativeCosts(context, treatment, comparator) {
799
- return Object.fromEntries(context.input.costMetricOrder.map((metric) => {
800
- const treatmentMedian = treatment.costs[metric].median;
801
- const comparatorMedian = comparator.costs[metric].median;
802
- return [metric, {
803
- treatmentMedian,
804
- comparatorMedian,
805
- medianDelta: treatmentMedian - comparatorMedian,
806
- medianRatio: comparatorMedian === 0 ? treatmentMedian === 0 ? 1 : null : treatmentMedian / comparatorMedian
807
- }];
808
- }));
809
- }
810
- function withinCostLimits(context, treatment, baseline) {
811
- const relative = relativeCosts(context, treatment, baseline);
812
- return Object.entries(context.input.selection.maximumMedianCostRatioToBaseline).every(([metric, limit]) => {
813
- const ratio = relative[metric].medianRatio;
814
- return ratio !== null && ratio <= limit;
815
- });
816
- }
817
- function distribution(values) {
818
- const sorted = [...values].sort((left, right) => left - right);
819
- const total = sorted.reduce((sum, value) => sum + value, 0);
820
- const middle = Math.floor(sorted.length / 2);
821
- const median = sorted.length % 2 === 1 ? sorted[middle] : (sorted[middle - 1] + sorted[middle]) / 2;
798
+ function candidateEligibility(context, summary, baseline) {
799
+ const reasons = [];
800
+ if (summary.outcome.missingTaskIds.length > 0) reasons.push("missing_attempt");
801
+ if (summary.outcome.invalidTaskIds.length > 0) reasons.push("invalid_attempt");
802
+ if (summary.outcome.comparisonMissingTaskIds.length > 0) reasons.push("baseline_outcome_missing");
803
+ if (summary.outcome.benefitTaskIds.length <= summary.outcome.regressionTaskIds.length) reasons.push("benefit_not_greater_than_regression");
804
+ appendEvidenceReasons(reasons, summary.firing, context.input.selection.minimumFiringTasks, context.input.selection.requireObservedFiring, "firing_below_minimum", "firing_unobserved");
805
+ appendEvidenceReasons(reasons, summary.effect, context.input.selection.minimumEffectTasks, context.input.selection.requireObservedEffect, "effect_below_minimum", "effect_unobserved");
806
+ if (!withinCostLimits(context, summary, baseline)) reasons.push("cost_limit_exceeded");
822
807
  return {
823
- n: sorted.length,
824
- min: sorted[0],
825
- median,
826
- mean: total / sorted.length,
827
- max: sorted[sorted.length - 1],
828
- total
808
+ eligible: reasons.length === 0,
809
+ reasons: unique(reasons)
829
810
  };
830
811
  }
831
- function evidenceValue(row, componentId, field) {
832
- return row.componentEvidence.find((evidence) => evidence.componentId === componentId)[field];
812
+ function rankedEligibleSingles(context, summaryById) {
813
+ return [...context.singleByComponent.values()].map((candidate) => summaryById.get(candidate.candidateId)).filter((summary) => summary.eligibility?.eligible).sort((left, right) => compareSingleSummaries(context, left, right));
833
814
  }
834
- function meanOrNull$1(values) {
835
- return values.length === 0 ? null : values.reduce((sum, value) => sum + value, 0) / values.length;
815
+ /**
816
+ * A neutral constituent may seed a composition when it has complete, bounded,
817
+ * observed evidence and causes no baseline regression. Individual benefit is
818
+ * deliberately left to the best-single arm rather than used as a pair gate.
819
+ */
820
+ function rankedInteractionReadySingles(context, summaryById) {
821
+ return [...context.singleByComponent.values()].map((candidate) => summaryById.get(candidate.candidateId)).filter((summary) => summary.outcome.regressionTaskIds.length === 0 && summary.eligibility?.reasons.every((reason) => reason === "benefit_not_greater_than_regression")).sort((left, right) => compareSingleSummaries(context, left, right));
836
822
  }
837
- function unique(values) {
838
- return [...new Set(values)];
823
+ function compareSingleSummaries(context, left, right) {
824
+ const byNetBenefit = right.outcome.netBenefit - left.outcome.netBenefit;
825
+ if (byNetBenefit !== 0) return byNetBenefit;
826
+ const byBenefit = right.outcome.benefitTaskIds.length - left.outcome.benefitTaskIds.length;
827
+ if (byBenefit !== 0) return byBenefit;
828
+ const byRegression = left.outcome.regressionTaskIds.length - right.outcome.regressionTaskIds.length;
829
+ if (byRegression !== 0) return byRegression;
830
+ for (const metric of context.input.costMetricOrder) {
831
+ const byCost = left.costs[metric].median - right.costs[metric].median;
832
+ if (byCost !== 0) return byCost;
833
+ }
834
+ const byBytes = left.candidate.artifactBytes - right.candidate.artifactBytes;
835
+ if (byBytes !== 0) return byBytes;
836
+ return context.candidateIndex.get(left.candidate.candidateId) - context.candidateIndex.get(right.candidate.candidateId);
839
837
  }
840
838
  //#endregion
841
839
  //#region src/campaign/fixtures.ts
@@ -3436,4 +3434,4 @@ function resolveWorktreePath(surface, worktreeDir) {
3436
3434
  //#endregion
3437
3435
  export { loadEvalFixtureScenarios as A, FsLabeledScenarioStore as C, neutralizationGate as D, rolloutArgumentDiff as E, analyzeCrossSurfaceInteractions as M, buildTraceAnalystSurfaceDispatch as N, discoverEvalFixtures as O, traceAnalystQualityJudge as P, neutralizeText as S, classifyUngroundedLiterals as T, scoreUserStory as _, autoevalsScorerJudge as a, scopedOptimizationMethod as b, selectDiscriminative as c, finalizeProfileMatrix as d, runProfileMatrixSegment as f, renderScoreboardMarkdown as g, makePlaybackDispatch as h, verifyCodeSurface as i, planEvalFixtureRun as j, loadEvalFixture as k, createRetainedDispatch as l, runProfileMatrix as m, gitWorktreeAdapter as n, phoenixEvaluatorJudge as o, ProfileMatrixError as p, resolveWorktreePath as r, scoreDiscrimination as s, WorktreeAdapterError as t, createProfileMatrixPlan as u, scoreboardSummary as v, LabeledScenarioStoreError as w, sequentialOptimizationMethod as x, userStoryScoreboard as y };
3438
3436
 
3439
- //# sourceMappingURL=campaign-CpnsCgfz.js.map
3437
+ //# sourceMappingURL=campaign-BudZ70zo.js.map