@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.
- package/CHANGELOG.md +51 -0
- package/dist/adapters/http.d.ts +3 -3
- package/dist/{agent-profile-DmzL8KaJ.d.ts → agent-profile-VFcQncbW.d.ts} +5 -5
- package/dist/{agent-profile-DmzL8KaJ.d.ts.map → agent-profile-VFcQncbW.d.ts.map} +1 -1
- package/dist/{agent-profile-cell-BYc0bxsL.js → agent-profile-cell-BK8mlqlq.js} +3 -3
- package/dist/{agent-profile-cell-BYc0bxsL.js.map → agent-profile-cell-BK8mlqlq.js.map} +1 -1
- package/dist/agreement-irr-BEWLIF3_.js +186 -0
- package/dist/agreement-irr-BEWLIF3_.js.map +1 -0
- package/dist/analyst/index.d.ts +487 -14
- package/dist/analyst/index.d.ts.map +1 -1
- package/dist/analyst/index.js +1547 -12
- package/dist/analyst/index.js.map +1 -1
- package/dist/{analyze-runs-3xpby3p2.js → analyze-runs-C84irm4i.js} +608 -604
- package/dist/analyze-runs-C84irm4i.js.map +1 -0
- package/dist/{analyze-runs-BhFLOztS.d.ts → analyze-runs-D68fd-su.d.ts} +17 -15
- package/dist/analyze-runs-D68fd-su.d.ts.map +1 -0
- package/dist/{baseline-Dm8966du.js → baseline-Udi_PLuT.js} +5 -5
- package/dist/{baseline-Dm8966du.js.map → baseline-Udi_PLuT.js.map} +1 -1
- package/dist/{benchmark-BywPeAUo.js → benchmark-CXmVVHH2.js} +2 -2
- package/dist/{benchmark-BywPeAUo.js.map → benchmark-CXmVVHH2.js.map} +1 -1
- package/dist/{benchmark-command-CgpGi7vY.js → benchmark-command-By0vh8q7.js} +71 -70
- package/dist/benchmark-command-By0vh8q7.js.map +1 -0
- package/dist/benchmarks/index.d.ts +5 -5
- package/dist/benchmarks/index.js +3 -3
- package/dist/builder-eval/index.js +2 -2
- package/dist/campaign/index.d.ts +7 -7
- package/dist/campaign/index.js +14 -14
- package/dist/{campaign-CpnsCgfz.js → campaign-BudZ70zo.js} +245 -247
- package/dist/campaign-BudZ70zo.js.map +1 -0
- package/dist/{campaign-evidence-OcUciD-N.js → campaign-evidence-Clrn4hBV.js} +8 -8
- package/dist/campaign-evidence-Clrn4hBV.js.map +1 -0
- package/dist/{canonical-BsZVgBhW.js → canonical-B2RqLofv.js} +2 -2
- package/dist/{canonical-BsZVgBhW.js.map → canonical-B2RqLofv.js.map} +1 -1
- package/dist/{chat-client-DthPOYGd.js → chat-client-l-MVDlDk.js} +2 -2
- package/dist/{chat-client-DthPOYGd.js.map → chat-client-l-MVDlDk.js.map} +1 -1
- package/dist/{chat-json-call-BrKsyspg.js → chat-json-call-puMArmtW.js} +2 -2
- package/dist/{chat-json-call-BrKsyspg.js.map → chat-json-call-puMArmtW.js.map} +1 -1
- package/dist/{claim-BXcZw-jo.js → claim-q4HQhK1G.js} +4 -4
- package/dist/claim-q4HQhK1G.js.map +1 -0
- package/dist/cli.js +9 -9
- package/dist/cli.js.map +1 -1
- package/dist/cluster-bootstrap-qcUWYFl-.js +66 -0
- package/dist/cluster-bootstrap-qcUWYFl-.js.map +1 -0
- package/dist/contract/index.d.ts +11 -11
- package/dist/contract/index.js +1023 -1079
- package/dist/contract/index.js.map +1 -1
- package/dist/{cost-ledger-D2FnJPBF.js → cost-ledger-BP8V4kUQ.js} +835 -816
- package/dist/cost-ledger-BP8V4kUQ.js.map +1 -0
- package/dist/{cost-ledger-CO7UyEcQ.d.ts → cost-ledger-Jk62OBfF.d.ts} +12 -47
- package/dist/cost-ledger-Jk62OBfF.d.ts.map +1 -0
- package/dist/{counterfactual-DtMWvn7D.js → counterfactual-Dn3veueY.js} +2 -2
- package/dist/{counterfactual-DtMWvn7D.js.map → counterfactual-Dn3veueY.js.map} +1 -1
- package/dist/{default-registry-KP4-Tolz.js → default-registry-COhk9g36.js} +744 -759
- package/dist/default-registry-COhk9g36.js.map +1 -0
- package/dist/{default-registry-B4B7GMvI.d.ts → default-registry-DzHiGruW.d.ts} +6 -6
- package/dist/{default-registry-B4B7GMvI.d.ts.map → default-registry-DzHiGruW.d.ts.map} +1 -1
- package/dist/{define-agent-eval-BdfnqXeP.js → define-agent-eval-CNTPzIkp.js} +10 -10
- package/dist/define-agent-eval-CNTPzIkp.js.map +1 -0
- package/dist/{define-agent-eval-DfXvNho5.d.ts → define-agent-eval-WSck0CZJ.d.ts} +8 -8
- package/dist/{define-agent-eval-DfXvNho5.d.ts.map → define-agent-eval-WSck0CZJ.d.ts.map} +1 -1
- package/dist/{descriptive-CnU8Yq29.js → descriptive-DboxPZrG.js} +2 -2
- package/dist/{descriptive-CnU8Yq29.js.map → descriptive-DboxPZrG.js.map} +1 -1
- package/dist/diagnosis/index.d.ts +3 -3
- package/dist/diagnosis/index.js +4 -4
- package/dist/{dspy-rlm-engine-DZfHM7kT.js → dspy-rlm-engine-LRCu61m5.js} +3 -3
- package/dist/{dspy-rlm-engine-DZfHM7kT.js.map → dspy-rlm-engine-LRCu61m5.js.map} +1 -1
- package/dist/{effect-sizes-DiH8MGOH.js → effect-sizes-BhzEpXMc.js} +2 -2
- package/dist/{effect-sizes-DiH8MGOH.js.map → effect-sizes-BhzEpXMc.js.map} +1 -1
- package/dist/{engine-C37HS2kr.d.ts → engine-3A_4jOlI.d.ts} +5 -5
- package/dist/{engine-C37HS2kr.d.ts.map → engine-3A_4jOlI.d.ts.map} +1 -1
- package/dist/{equal-terms-Blx9Zk5I.js → equal-terms-BtdXayCJ.js} +2 -2
- package/dist/{equal-terms-Blx9Zk5I.js.map → equal-terms-BtdXayCJ.js.map} +1 -1
- package/dist/{errors-Dngq5h35.js → errors-DVZiqS7K.js} +6 -2
- package/dist/{errors-Dngq5h35.js.map → errors-DVZiqS7K.js.map} +1 -1
- package/dist/{eval-campaign-4byTtqrf.js → eval-campaign-90jeaCAI.js} +6 -6
- package/dist/{eval-campaign-4byTtqrf.js.map → eval-campaign-90jeaCAI.js.map} +1 -1
- package/dist/evaluation-6Yoi74gM.d.ts +75 -0
- package/dist/evaluation-6Yoi74gM.d.ts.map +1 -0
- package/dist/evaluation.d.ts +2 -74
- package/dist/evaluation.js +1 -1
- package/dist/{exact-types-Dlb73wN4.d.ts → exact-types-ClugMJfI.d.ts} +2 -2
- package/dist/{exact-types-Dlb73wN4.d.ts.map → exact-types-ClugMJfI.d.ts.map} +1 -1
- package/dist/experiment/index.d.ts +404 -3
- package/dist/experiment/index.d.ts.map +1 -1
- package/dist/experiment/index.js +313 -19
- package/dist/experiment/index.js.map +1 -1
- package/dist/{external-optimizer-process-GngofQML.js → external-optimizer-process-BjMGUuds.js} +3 -3
- package/dist/{external-optimizer-process-GngofQML.js.map → external-optimizer-process-BjMGUuds.js.map} +1 -1
- package/dist/{external-optimizer-subprocess-BUxifb8g.js → external-optimizer-subprocess-BqW0hHcI.js} +791 -532
- package/dist/external-optimizer-subprocess-BqW0hHcI.js.map +1 -0
- package/dist/{feedback-trajectory-BLN_6fEs.d.ts → feedback-trajectory-C4EG0nNH.d.ts} +5 -8
- package/dist/feedback-trajectory-C4EG0nNH.d.ts.map +1 -0
- package/dist/fuzz.d.ts +1 -1
- package/dist/fuzz.js +3 -3
- package/dist/hosted/index.js +1 -1
- package/dist/{index-CPJJr98o.d.ts → index-BFRO6chs.d.ts} +3 -2
- package/dist/index-BFRO6chs.d.ts.map +1 -0
- package/dist/{index-Ch9VxCpK.d.ts → index-BO41eGj5.d.ts} +2 -2
- package/dist/{index-Ch9VxCpK.d.ts.map → index-BO41eGj5.d.ts.map} +1 -1
- package/dist/{index-B3WBm953.d.ts → index-CyszSg4O.d.ts} +165 -162
- package/dist/index-CyszSg4O.d.ts.map +1 -0
- package/dist/{index-B7m2uzJL.d.ts → index-DPcngtwt.d.ts} +30 -17
- package/dist/index-DPcngtwt.d.ts.map +1 -0
- package/dist/{index-tYLUvk_w.d.ts → index-DV-jSzxF.d.ts} +9 -9
- package/dist/{index-tYLUvk_w.d.ts.map → index-DV-jSzxF.d.ts.map} +1 -1
- package/dist/index.d.ts +1969 -1871
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +162 -201
- package/dist/index.js.map +1 -1
- package/dist/{integrity-BvnVARVl.js → integrity-BXOsAb3i.js} +2 -2
- package/dist/{integrity-BvnVARVl.js.map → integrity-BXOsAb3i.js.map} +1 -1
- package/dist/{integrity-CCAxGVK6.d.ts → integrity-DAMEDFaC.d.ts} +2 -2
- package/dist/{integrity-CCAxGVK6.d.ts.map → integrity-DAMEDFaC.d.ts.map} +1 -1
- package/dist/{integrity-BV1ZDf42.js → integrity-dLiDe2kD.js} +2 -5
- package/dist/integrity-dLiDe2kD.js.map +1 -0
- package/dist/{internal-CRHwS9iz.js → internal-Epl-YBZW.js} +3 -3
- package/dist/{internal-CRHwS9iz.js.map → internal-Epl-YBZW.js.map} +1 -1
- package/dist/interval-CELpye1n.js +219 -0
- package/dist/interval-CELpye1n.js.map +1 -0
- package/dist/interval-ohuOJurX.d.ts +47 -0
- package/dist/interval-ohuOJurX.d.ts.map +1 -0
- package/dist/{journal-DvKCvjty.js → journal-DfRz9kps.js} +2 -2
- package/dist/{journal-DvKCvjty.js.map → journal-DfRz9kps.js.map} +1 -1
- package/dist/{judge-calibration-N44V04Se.js → judge-calibration-BpCy5XQl.js} +3 -3
- package/dist/{judge-calibration-N44V04Se.js.map → judge-calibration-BpCy5XQl.js.map} +1 -1
- package/dist/{judge-gate-DNcUrRFA.d.ts → judge-gate-CE7CQAgt.d.ts} +3 -3
- package/dist/{judge-gate-DNcUrRFA.d.ts.map → judge-gate-CE7CQAgt.d.ts.map} +1 -1
- package/dist/{judge-gate-B1qYnkpi.js → judge-gate-iY9s4L44.js} +3 -3
- package/dist/judge-gate-iY9s4L44.js.map +1 -0
- package/dist/{kind-factory-AaEhUADH.js → kind-factory-BobI5Jy3.js} +5 -5
- package/dist/{kind-factory-AaEhUADH.js.map → kind-factory-BobI5Jy3.js.map} +1 -1
- package/dist/ledger-core/index.js +3 -3
- package/dist/{ledger-core-B2hahzrt.js → ledger-core-Gq7yp8lP.js} +4 -4
- package/dist/{ledger-core-B2hahzrt.js.map → ledger-core-Gq7yp8lP.js.map} +1 -1
- package/dist/{llm-client-DQveoxSM.js → llm-client-CyBAoYiX.js} +192 -219
- package/dist/llm-client-CyBAoYiX.js.map +1 -0
- package/dist/{llm-judge-Cd5s5Ei6.js → llm-judge-CG12SQJq.js} +499 -921
- package/dist/llm-judge-CG12SQJq.js.map +1 -0
- package/dist/matrix/index.d.ts +2 -2
- package/dist/matrix/index.js +1 -1
- package/dist/{matrix-DXVAJMLD.d.ts → matrix-DSrSxjjy.d.ts} +4 -4
- package/dist/{matrix-DXVAJMLD.d.ts.map → matrix-DSrSxjjy.d.ts.map} +1 -1
- package/dist/{matrix-_BV9-Lk5.js → matrix-Dm0BQW7U.js} +7 -11
- package/dist/matrix-Dm0BQW7U.js.map +1 -0
- package/dist/{paired-tests-jbwPdSz5.js → mean-DHoMiudD.js} +11 -5
- package/dist/mean-DHoMiudD.js.map +1 -0
- package/dist/meta-eval/index.d.ts +3 -3
- package/dist/meta-eval/index.js +9 -70
- package/dist/meta-eval/index.js.map +1 -1
- package/dist/mint-DNU8QPG4.d.ts +81 -0
- package/dist/mint-DNU8QPG4.d.ts.map +1 -0
- package/dist/{mint-Csor1BLJ.js → mint-QaD5cA0u.js} +3 -3
- package/dist/{mint-Csor1BLJ.js.map → mint-QaD5cA0u.js.map} +1 -1
- package/dist/{multiplicity-D9cjmStq.js → multiplicity-DQUFcbW4.js} +2 -2
- package/dist/{multiplicity-D9cjmStq.js.map → multiplicity-DQUFcbW4.js.map} +1 -1
- package/dist/multishot/golden/index.d.ts +1 -1
- package/dist/multishot/golden/index.d.ts.map +1 -1
- package/dist/multishot/golden/index.js +3 -6
- package/dist/multishot/golden/index.js.map +1 -1
- package/dist/multishot/index.d.ts +2 -2
- package/dist/multishot/index.js +1 -1
- package/dist/nonnegative-number-DvdMxg_f.js +9 -0
- package/dist/nonnegative-number-DvdMxg_f.js.map +1 -0
- package/dist/openapi.json +1 -1
- package/dist/{otel-spans-C8YIJWy1.js → otel-spans-B9tUXRHF.js} +3 -3
- package/dist/{otel-spans-C8YIJWy1.js.map → otel-spans-B9tUXRHF.js.map} +1 -1
- package/dist/{paired-arms-DzKn0TfY.js → paired-arms-CwMGJsrS.js} +5 -5
- package/dist/{paired-arms-DzKn0TfY.js.map → paired-arms-CwMGJsrS.js.map} +1 -1
- package/dist/{paired-binary-Q36bhn2R.js → paired-binary-CvpFHfKZ.js} +2 -2
- package/dist/{paired-binary-Q36bhn2R.js.map → paired-binary-CvpFHfKZ.js.map} +1 -1
- package/dist/{paired-promotion-decision-BN6IQTiu.js → paired-promotion-decision-DsAPYGCm.js} +3 -3
- package/dist/{paired-promotion-decision-BN6IQTiu.js.map → paired-promotion-decision-DsAPYGCm.js.map} +1 -1
- package/dist/{search-kernel-BztlERLv.js → pareto-Cm6ndrWN.js} +883 -861
- package/dist/pareto-Cm6ndrWN.js.map +1 -0
- package/dist/pipelines/index.d.ts +2 -2
- package/dist/pipelines/index.js +3 -3
- package/dist/{power-and-mde-fK5Qocwo.js → power-and-mde-Hj2ubb4B.js} +2 -2
- package/dist/{power-and-mde-fK5Qocwo.js.map → power-and-mde-Hj2ubb4B.js.map} +1 -1
- package/dist/predicate-FdKmElA_.js +38 -0
- package/dist/predicate-FdKmElA_.js.map +1 -0
- package/dist/{prime-protocol-DcAK9pC8.js → prime-protocol-CHKgA3a6.js} +2 -2
- package/dist/{prime-protocol-DcAK9pC8.js.map → prime-protocol-CHKgA3a6.js.map} +1 -1
- package/dist/{prime-protocol-BHia9vDz.d.ts → prime-protocol-HiB9HX7E.d.ts} +3 -3
- package/dist/{prime-protocol-BHia9vDz.d.ts.map → prime-protocol-HiB9HX7E.d.ts.map} +1 -1
- package/dist/{produced-state-BGp4BX8t.js → produced-state-BsDmnwxc.js} +8 -8
- package/dist/{produced-state-BGp4BX8t.js.map → produced-state-BsDmnwxc.js.map} +1 -1
- package/dist/profile-cell.js +1 -1
- package/dist/{release-confidence-BK2QCB5M.d.ts → promotion-gate-BawrdPYr.d.ts} +102 -102
- package/dist/promotion-gate-BawrdPYr.d.ts.map +1 -0
- package/dist/{promotion-policy-CWW35UWq.js → promotion-policy-KO57gbyV.js} +4 -4
- package/dist/{promotion-policy-CWW35UWq.js.map → promotion-policy-KO57gbyV.js.map} +1 -1
- package/dist/{proposal-findings-CXblsskH.js → proposal-findings-CY1xKn_a.js} +2 -36
- package/dist/proposal-findings-CY1xKn_a.js.map +1 -0
- package/dist/{query-B1D1qp2Z.js → query-BUCZCK7F.js} +3 -3
- package/dist/{query-B1D1qp2Z.js.map → query-BUCZCK7F.js.map} +1 -1
- package/dist/{random-Dn5fPWkt.js → random-ByUSnV9w.js} +2 -2
- package/dist/{random-Dn5fPWkt.js.map → random-ByUSnV9w.js.map} +1 -1
- package/dist/{raw-provider-sink-rB2DYxr6.js → raw-provider-sink-DoHz4JNG.js} +2 -2
- package/dist/{raw-provider-sink-rB2DYxr6.js.map → raw-provider-sink-DoHz4JNG.js.map} +1 -1
- package/dist/{redact-Dk1ZdJEm.js → redact-B5xXKqQ3.js} +97 -98
- package/dist/redact-B5xXKqQ3.js.map +1 -0
- package/dist/{redact-Cveoq6fJ.d.ts → redact-mtCCcT8z.d.ts} +4 -20
- package/dist/redact-mtCCcT8z.d.ts.map +1 -0
- package/dist/{registry-CMYIaDgS.d.ts → registry-D7_hm2fK.d.ts} +11 -13
- package/dist/registry-D7_hm2fK.d.ts.map +1 -0
- package/dist/{release-confidence-Dbe9AS_X.js → release-confidence-CpuP65S5.js} +5 -5
- package/dist/{release-confidence-Dbe9AS_X.js.map → release-confidence-CpuP65S5.js.map} +1 -1
- package/dist/{report-command-CtIIsQKP.js → report-command-SC9nqb4M.js} +128 -177
- package/dist/report-command-SC9nqb4M.js.map +1 -0
- package/dist/reporting-html-Kvlc8oMt.js +100 -0
- package/dist/reporting-html-Kvlc8oMt.js.map +1 -0
- package/dist/reporting.d.ts +3 -3
- package/dist/reporting.js +6 -6
- package/dist/{researcher-f6mZhh58.d.ts → researcher-CEcfku-T.d.ts} +5 -5
- package/dist/{researcher-f6mZhh58.d.ts.map → researcher-CEcfku-T.d.ts.map} +1 -1
- package/dist/reward-CpCmAM8L.d.ts +78 -0
- package/dist/reward-CpCmAM8L.d.ts.map +1 -0
- package/dist/{reward-hacking-BFcQgkux.js → reward-hacking-E0d-WVcP.js} +2 -2
- package/dist/{reward-hacking-BFcQgkux.js.map → reward-hacking-E0d-WVcP.js.map} +1 -1
- package/dist/{reward-hacking-DHA7c1l8.d.ts → reward-hacking-RVdZ6Kkt.d.ts} +2 -2
- package/dist/{reward-hacking-DHA7c1l8.d.ts.map → reward-hacking-RVdZ6Kkt.d.ts.map} +1 -1
- package/dist/rl.d.ts +8 -8
- package/dist/rl.js +14 -14
- package/dist/rollout/index.d.ts +3 -2
- package/dist/rollout/index.js +2 -2
- package/dist/{rollout-D9bKKBnZ.js → rollout-DZV1t2Wg.js} +2 -2
- package/dist/{rollout-D9bKKBnZ.js.map → rollout-DZV1t2Wg.js.map} +1 -1
- package/dist/round-decimal-COrKglMh.js +10 -0
- package/dist/round-decimal-COrKglMh.js.map +1 -0
- package/dist/{rubric-predictive-validity-2SgHxoa5.d.ts → rubric-predictive-validity-C03EC7ZE.d.ts} +2 -2
- package/dist/{rubric-predictive-validity-2SgHxoa5.d.ts.map → rubric-predictive-validity-C03EC7ZE.d.ts.map} +1 -1
- package/dist/{rubric-predictive-validity-BsgkBfT0.js → rubric-predictive-validity-DaFW70y9.js} +3 -3
- package/dist/{rubric-predictive-validity-BsgkBfT0.js.map → rubric-predictive-validity-DaFW70y9.js.map} +1 -1
- package/dist/{run-record-DlTZ_lqe.js → run-record-Boc5IUTp.js} +4 -4
- package/dist/{run-record-DlTZ_lqe.js.map → run-record-Boc5IUTp.js.map} +1 -1
- package/dist/{run-record-D1Hw-Jml.d.ts → run-record-C1E24G2A.d.ts} +2 -2
- package/dist/{run-record-D1Hw-Jml.d.ts.map → run-record-C1E24G2A.d.ts.map} +1 -1
- package/dist/{run-record-ES07wfz9.js → run-record-C5e7FjhJ.js} +3 -5
- package/dist/run-record-C5e7FjhJ.js.map +1 -0
- package/dist/search/index.d.ts +46 -32
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +3 -3
- package/dist/{search-kernel-BqyBZ9Wm.d.ts → search-kernel-DyNEa6IU.d.ts} +14 -10
- package/dist/search-kernel-DyNEa6IU.d.ts.map +1 -0
- package/dist/{search-ledger-d7V8o9Lk.js → search-ledger-CVUGLDZp.js} +189 -199
- package/dist/search-ledger-CVUGLDZp.js.map +1 -0
- package/dist/{search-ledger-file-BqOo-bVo.js → search-ledger-file-DDQUgvCg.js} +4 -4
- package/dist/{search-ledger-file-BqOo-bVo.js.map → search-ledger-file-DDQUgvCg.js.map} +1 -1
- package/dist/search-ledger-types-p2xKfiDJ.d.ts.map +1 -1
- package/dist/{search-shipper-er4pK5_Y.js → search-shipper-BOSD46qv.js} +3 -3
- package/dist/{search-shipper-er4pK5_Y.js.map → search-shipper-BOSD46qv.js.map} +1 -1
- package/dist/{search-summary-CBvz3u_S.js → search-summary-BQCSWf1g.js} +5 -5
- package/dist/{search-summary-CBvz3u_S.js.map → search-summary-BQCSWf1g.js.map} +1 -1
- package/dist/{semantic-concept-judge-BPqbwIVs.js → semantic-concept-judge-BQF8te0T.js} +12 -14
- package/dist/semantic-concept-judge-BQF8te0T.js.map +1 -0
- package/dist/{sequential-D-1PPCmM.js → sequential-Bf_pbE50.js} +5 -5
- package/dist/{sequential-D-1PPCmM.js.map → sequential-Bf_pbE50.js.map} +1 -1
- package/dist/{sequential-eprocess-D1jKoihe.js → sequential-eprocess-DM_qENCl.js} +2 -2
- package/dist/{sequential-eprocess-D1jKoihe.js.map → sequential-eprocess-DM_qENCl.js.map} +1 -1
- package/dist/{server-DbcC7xMl.js → server-e9oWO_bN.js} +4 -4
- package/dist/{server-DbcC7xMl.js.map → server-e9oWO_bN.js.map} +1 -1
- package/dist/{single-run-lock-fVu3MZWH.js → single-run-lock-CV9Eyd_q.js} +2 -2
- package/dist/{single-run-lock-fVu3MZWH.js.map → single-run-lock-CV9Eyd_q.js.map} +1 -1
- package/dist/{skillopt-optimization-method-Dcepr6QL.js → skillopt-optimization-method-BiwA8nfX.js} +427 -12
- package/dist/skillopt-optimization-method-BiwA8nfX.js.map +1 -0
- package/dist/{spans-D9_ehFuk.d.ts → spans-BHAUXMGN.d.ts} +2 -2
- package/dist/{spans-D9_ehFuk.d.ts.map → spans-BHAUXMGN.d.ts.map} +1 -1
- package/dist/{statistical-heldout-1Gbmex7v.js → statistical-heldout-42NlCNDe.js} +3 -3
- package/dist/{statistical-heldout-1Gbmex7v.js.map → statistical-heldout-42NlCNDe.js.map} +1 -1
- package/dist/{statistical-heldout-CJTj2EoS.d.ts → statistical-heldout-CYpGaoDH.d.ts} +3 -3
- package/dist/{statistical-heldout-CJTj2EoS.d.ts.map → statistical-heldout-CYpGaoDH.d.ts.map} +1 -1
- package/dist/{store-otlp-DWVhUgEj.js → store-otlp-DJ9dtA5x.js} +135 -132
- package/dist/store-otlp-DJ9dtA5x.js.map +1 -0
- package/dist/{store-tool-spans-BNICrhsb.js → store-tool-spans-CIX5arAG.js} +7 -7
- package/dist/{store-tool-spans-BNICrhsb.js.map → store-tool-spans-CIX5arAG.js.map} +1 -1
- package/dist/{store-tool-spans-BNzls3OD.d.ts → store-tool-spans-DdCSPa7C.d.ts} +162 -161
- package/dist/store-tool-spans-DdCSPa7C.d.ts.map +1 -0
- package/dist/storyboard/index.d.ts.map +1 -1
- package/dist/storyboard/index.js +20 -3
- package/dist/storyboard/index.js.map +1 -1
- package/dist/{student-t-BQeKJx2N.js → student-t-DVPW7CdL.js} +2 -2
- package/dist/{student-t-BQeKJx2N.js.map → student-t-DVPW7CdL.js.map} +1 -1
- package/dist/{summary-report-DtdRucM0.js → summary-report-V_JACR4Y.js} +526 -614
- package/dist/summary-report-V_JACR4Y.js.map +1 -0
- package/dist/{summary-report-C-CtItCN.d.ts → summary-report-bdFDXq0b.d.ts} +10 -5
- package/dist/summary-report-bdFDXq0b.d.ts.map +1 -0
- package/dist/supervisor-run/index.d.ts +154 -150
- package/dist/supervisor-run/index.d.ts.map +1 -1
- package/dist/supervisor-run/index.js +65 -3
- package/dist/supervisor-run/index.js.map +1 -1
- package/dist/systemone-BomhHr2c.d.ts +135 -0
- package/dist/systemone-BomhHr2c.d.ts.map +1 -0
- package/dist/systemone-protocol.js +1 -1
- package/dist/{systemone-review-C4dZgrgN.d.ts → systemone-review-CUVcQJu6.d.ts} +2 -2
- package/dist/{systemone-review-C4dZgrgN.d.ts.map → systemone-review-CUVcQJu6.d.ts.map} +1 -1
- package/dist/{systemone-review-DTClwgmE.js → systemone-review-D7sXwsqq.js} +3 -3
- package/dist/{systemone-review-DTClwgmE.js.map → systemone-review-D7sXwsqq.js.map} +1 -1
- package/dist/systemone.d.ts +4 -134
- package/dist/systemone.js +4 -4
- package/dist/{task-failure-attributes-DngaLdE4.js → task-failure-attributes-hEmASjix.js} +2 -2
- package/dist/{task-failure-attributes-DngaLdE4.js.map → task-failure-attributes-hEmASjix.js.map} +1 -1
- package/dist/{terminal-record-BHocwFw1.js → terminal-record-DZyQZ3pz.js} +14 -10
- package/dist/terminal-record-DZyQZ3pz.js.map +1 -0
- package/dist/{tool-groups-BKRrtqy4.d.ts → tool-groups-C3NEcdCM.d.ts} +3 -3
- package/dist/tool-groups-C3NEcdCM.d.ts.map +1 -0
- package/dist/{tool-waste-Wi4g6Ekb.d.ts → tool-waste-BKgvd-TP.d.ts} +30 -30
- package/dist/tool-waste-BKgvd-TP.d.ts.map +1 -0
- package/dist/{tool-waste-BYt5rdt8.js → tool-waste-BlesqTqW.js} +5 -158
- package/dist/tool-waste-BlesqTqW.js.map +1 -0
- package/dist/{trace-questions-CLx8vt6t.d.ts → trace-questions-CM2CAocU.d.ts} +4 -4
- package/dist/{trace-questions-CLx8vt6t.d.ts.map → trace-questions-CM2CAocU.d.ts.map} +1 -1
- package/dist/trace-repair/index.d.ts +3 -3
- package/dist/trace-repair/index.d.ts.map +1 -1
- package/dist/trace-repair/index.js +7 -13
- package/dist/trace-repair/index.js.map +1 -1
- package/dist/traces.d.ts +76 -58
- package/dist/traces.d.ts.map +1 -1
- package/dist/traces.js +9 -9
- package/dist/trajectory-replay/index.js +3 -3
- package/dist/{tree-rXLW3M_4.js → tree-C1XYeXvy.js} +2277 -2339
- package/dist/tree-C1XYeXvy.js.map +1 -0
- package/dist/{types-DjOMwGY_.d.ts → types-BqkVmHfv.d.ts} +7 -1
- package/dist/types-BqkVmHfv.d.ts.map +1 -0
- package/dist/{types-DBZ7keha.d.ts → types-C02qtnG8.d.ts} +4 -46
- package/dist/types-C02qtnG8.d.ts.map +1 -0
- package/dist/{types-DHb5TI36.d.ts → types-C1tnkEgM.d.ts} +347 -6
- package/dist/types-C1tnkEgM.d.ts.map +1 -0
- package/dist/{types-DinHtRJp.d.ts → types-Cbe2fWBa.d.ts} +3 -3
- package/dist/{types-DinHtRJp.d.ts.map → types-Cbe2fWBa.d.ts.map} +1 -1
- package/dist/{types-CGEmVYOk.d.ts → types-Cq8mSbq8.d.ts} +78 -72
- package/dist/types-Cq8mSbq8.d.ts.map +1 -0
- package/dist/{types-CW5b90JH.js → types-IXD2HJzu.js} +16 -3
- package/dist/types-IXD2HJzu.js.map +1 -0
- package/dist/{verdict-DhPoXApk.js → verdict-Dl0tiT1X.js} +2 -2
- package/dist/{verdict-DhPoXApk.js.map → verdict-Dl0tiT1X.js.map} +1 -1
- package/dist/{verdict-cache-BQEsVy9n.js → verdict-cache-Bm8EKL2s.js} +2 -2
- package/dist/{verdict-cache-BQEsVy9n.js.map → verdict-cache-Bm8EKL2s.js.map} +1 -1
- package/dist/wire/index.d.ts +3 -3
- package/dist/wire/index.js +1 -1
- package/docs/concepts.md +1 -0
- package/docs/design/mlbenchmarks-book-review.md +1 -1
- package/docs/design/mlbenchmarks-review/probes.mts +23 -31
- package/docs/experiment.md +1 -1
- package/docs/finding-layers.md +69 -0
- package/package.json +1 -1
- package/dist/analyze-runs-3xpby3p2.js.map +0 -1
- package/dist/analyze-runs-BhFLOztS.d.ts.map +0 -1
- package/dist/ast-DJ6Bc7ab.js +0 -558
- package/dist/ast-DJ6Bc7ab.js.map +0 -1
- package/dist/ast-hI-vjW6J.d.ts +0 -457
- package/dist/ast-hI-vjW6J.d.ts.map +0 -1
- package/dist/benchmark-command-CgpGi7vY.js.map +0 -1
- package/dist/campaign-CpnsCgfz.js.map +0 -1
- package/dist/campaign-evidence-OcUciD-N.js.map +0 -1
- package/dist/claim-BXcZw-jo.js.map +0 -1
- package/dist/cost-ledger-CO7UyEcQ.d.ts.map +0 -1
- package/dist/cost-ledger-D2FnJPBF.js.map +0 -1
- package/dist/default-registry-KP4-Tolz.js.map +0 -1
- package/dist/define-agent-eval-BdfnqXeP.js.map +0 -1
- package/dist/evaluation.d.ts.map +0 -1
- package/dist/external-optimizer-subprocess-BUxifb8g.js.map +0 -1
- package/dist/feedback-trajectory-BLN_6fEs.d.ts.map +0 -1
- package/dist/index-B3WBm953.d.ts.map +0 -1
- package/dist/index-B7m2uzJL.d.ts.map +0 -1
- package/dist/index-CPJJr98o.d.ts.map +0 -1
- package/dist/integrity-BV1ZDf42.js.map +0 -1
- package/dist/judge-gate-B1qYnkpi.js.map +0 -1
- package/dist/llm-client-DQveoxSM.js.map +0 -1
- package/dist/llm-judge-Cd5s5Ei6.js.map +0 -1
- package/dist/matrix-_BV9-Lk5.js.map +0 -1
- package/dist/mint-DCGoBYhB.d.ts +0 -155
- package/dist/mint-DCGoBYhB.d.ts.map +0 -1
- package/dist/paired-tests-jbwPdSz5.js.map +0 -1
- package/dist/proposal-findings-CXblsskH.js.map +0 -1
- package/dist/redact-Cveoq6fJ.d.ts.map +0 -1
- package/dist/redact-Dk1ZdJEm.js.map +0 -1
- package/dist/registry-CMYIaDgS.d.ts.map +0 -1
- package/dist/release-confidence-BK2QCB5M.d.ts.map +0 -1
- package/dist/report-command-CtIIsQKP.js.map +0 -1
- package/dist/run-record-ES07wfz9.js.map +0 -1
- package/dist/search-kernel-BqyBZ9Wm.d.ts.map +0 -1
- package/dist/search-kernel-BztlERLv.js.map +0 -1
- package/dist/search-ledger-d7V8o9Lk.js.map +0 -1
- package/dist/semantic-concept-judge-BPqbwIVs.js.map +0 -1
- package/dist/skillopt-optimization-method-Dcepr6QL.js.map +0 -1
- package/dist/store-otlp-DWVhUgEj.js.map +0 -1
- package/dist/store-tool-spans-BNzls3OD.d.ts.map +0 -1
- package/dist/summary-report-C-CtItCN.d.ts.map +0 -1
- package/dist/summary-report-DtdRucM0.js.map +0 -1
- package/dist/systemone.d.ts.map +0 -1
- package/dist/terminal-record-BHocwFw1.js.map +0 -1
- package/dist/tool-groups-BKRrtqy4.d.ts.map +0 -1
- package/dist/tool-waste-BYt5rdt8.js.map +0 -1
- package/dist/tool-waste-Wi4g6Ekb.d.ts.map +0 -1
- package/dist/tree-rXLW3M_4.js.map +0 -1
- package/dist/types-CGEmVYOk.d.ts.map +0 -1
- package/dist/types-CW5b90JH.js.map +0 -1
- package/dist/types-DBZ7keha.d.ts.map +0 -1
- package/dist/types-DHb5TI36.d.ts.map +0 -1
- package/dist/types-DjOMwGY_.d.ts.map +0 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { s as ValidationError, t as AgentEvalError } from "./errors-
|
|
2
|
-
import { a as hashCanonical, i as compareCodeUnits, r as canonicalString } from "./canonical-
|
|
3
|
-
import { c as agentProfileId, d as harnessAxisOf, i as verifyCompletion, l as agentProfileModelId, s as agentProfileHash, t as extractProducedState } from "./produced-state-
|
|
4
|
-
import { o as buildAgentProfileCell } from "./agent-profile-cell-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { n as contentHash, t as canonicalJson } from "./verdict-cache-
|
|
10
|
-
import { at as resolveRunDir, d as combineComparisonCosts, it as planCampaignRun, lt as cellCachePath, rt as runCampaign,
|
|
11
|
-
import { n as campaignCellToRunRecord, r as projectCampaignCellQuality, t as campaignCellCostProvenance } from "./run-record-
|
|
12
|
-
import {
|
|
13
|
-
import { B as assertCampaignDesign, N as surfaceContentHash, R as assertRealBackend, W as campaignScenarioIdentity, k as assertCodeSurfaceIdentity, z as summarizeBackendIntegrity } from "./campaign-evidence-
|
|
14
|
-
import { m as mapConcurrent } from "./journal-
|
|
15
|
-
import {
|
|
16
|
-
import "./
|
|
17
|
-
import "./search-ledger-
|
|
18
|
-
import "./search-summary-
|
|
19
|
-
import { a as scoreAnalystFindings } from "./benchmark-
|
|
20
|
-
import "./external-optimizer-process-
|
|
21
|
-
import "./skillopt-optimization-method-
|
|
22
|
-
import "./sequential-
|
|
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-
|
|
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
|
|
417
|
-
const
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
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
|
-
|
|
427
|
-
|
|
347
|
+
bothTaskIds,
|
|
348
|
+
leftOnlyTaskIds,
|
|
349
|
+
rightOnlyTaskIds,
|
|
350
|
+
neitherTaskIds,
|
|
351
|
+
unobservedTaskIds
|
|
428
352
|
};
|
|
429
353
|
}
|
|
430
|
-
function
|
|
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
|
-
|
|
435
|
-
|
|
436
|
-
}
|
|
361
|
+
//#endregion
|
|
362
|
+
//#region src/campaign/cross-surface-interaction.ts
|
|
437
363
|
/**
|
|
438
|
-
*
|
|
439
|
-
*
|
|
440
|
-
*
|
|
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
|
-
|
|
443
|
-
|
|
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
|
|
446
|
-
const
|
|
447
|
-
|
|
448
|
-
const
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
if (
|
|
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
|
-
|
|
457
|
-
|
|
458
|
-
|
|
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
|
-
|
|
686
|
-
|
|
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
|
|
729
|
-
const
|
|
730
|
-
const
|
|
731
|
-
const
|
|
732
|
-
|
|
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
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
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
|
|
776
|
-
const
|
|
777
|
-
const
|
|
778
|
-
const
|
|
779
|
-
const
|
|
780
|
-
const
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
else if (
|
|
788
|
-
else
|
|
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
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
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
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
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
|
-
|
|
824
|
-
|
|
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
|
|
832
|
-
return
|
|
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
|
-
|
|
835
|
-
|
|
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
|
|
838
|
-
|
|
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-
|
|
3437
|
+
//# sourceMappingURL=campaign-BudZ70zo.js.map
|