@tangle-network/agent-eval 1.0.12 → 1.0.14
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 +36 -0
- package/dist/adapters/http.d.ts +2 -2
- package/dist/{agent-profile-CoD1Dotf.d.ts → agent-profile-CPv4tENR.d.ts} +2 -2
- package/dist/{agent-profile-CoD1Dotf.d.ts.map → agent-profile-CPv4tENR.d.ts.map} +1 -1
- package/dist/{agreement-irr-w-t3XUTD.js → agreement-irr-DXcXEt4I.js} +20 -23
- package/dist/agreement-irr-DXcXEt4I.js.map +1 -0
- package/dist/analyst/index.d.ts +59 -13
- package/dist/analyst/index.d.ts.map +1 -1
- package/dist/analyst/index.js +144 -57
- package/dist/analyst/index.js.map +1 -1
- package/dist/{analyze-runs-dGYmYNtb.js → analyze-runs-C7vWBDhl.js} +11 -11
- package/dist/{analyze-runs-dGYmYNtb.js.map → analyze-runs-C7vWBDhl.js.map} +1 -1
- package/dist/{analyze-runs-BYyMShsj.d.ts → analyze-runs-pJ4fhnYg.d.ts} +2 -2
- package/dist/{analyze-runs-BYyMShsj.d.ts.map → analyze-runs-pJ4fhnYg.d.ts.map} +1 -1
- package/dist/{benchmark-command-DZQrxqUL.js → benchmark-command-BRRhjX2k.js} +12 -14
- package/dist/benchmark-command-BRRhjX2k.js.map +1 -0
- package/dist/benchmarks/index.d.ts +4 -4
- package/dist/benchmarks/index.js +5 -5
- package/dist/builder-eval/index.js +1 -1
- package/dist/{calibration-DLzckXnn.js → calibration-CbZPApIO.js} +2 -2
- package/dist/{calibration-DLzckXnn.js.map → calibration-CbZPApIO.js.map} +1 -1
- package/dist/campaign/index.d.ts +6 -6
- package/dist/campaign/index.js +12 -12
- package/dist/{campaign-VKtf8HRr.js → campaign-DzLlT0So.js} +17 -17
- package/dist/{campaign-VKtf8HRr.js.map → campaign-DzLlT0So.js.map} +1 -1
- package/dist/{campaign-evidence-BICB3a9Z.js → campaign-evidence-CcA7a67m.js} +3 -3
- package/dist/{campaign-evidence-BICB3a9Z.js.map → campaign-evidence-CcA7a67m.js.map} +1 -1
- package/dist/cli.js +16 -10
- package/dist/cli.js.map +1 -1
- package/dist/{cluster-bootstrap-hNXESoc1.js → cluster-bootstrap-BteuR1hg.js} +2 -2
- package/dist/{cluster-bootstrap-hNXESoc1.js.map → cluster-bootstrap-BteuR1hg.js.map} +1 -1
- package/dist/contract/index.d.ts +9 -9
- package/dist/contract/index.js +14 -14
- package/dist/{decision-point-CErE7GnP.js → decision-point-CNyoKOkz.js} +13 -7
- package/dist/{decision-point-CErE7GnP.js.map → decision-point-CNyoKOkz.js.map} +1 -1
- package/dist/{default-registry-DKlKVXMx.d.ts → default-registry-BNv7eB1C.d.ts} +10 -7
- package/dist/default-registry-BNv7eB1C.d.ts.map +1 -0
- package/dist/{default-registry-gmDeN0KT.js → default-registry-eCkZFfuF.js} +6 -6
- package/dist/default-registry-eCkZFfuF.js.map +1 -0
- package/dist/{define-agent-eval-DyzJ0wOo.js → define-agent-eval-CjF2nTA3.js} +8 -8
- package/dist/{define-agent-eval-DyzJ0wOo.js.map → define-agent-eval-CjF2nTA3.js.map} +1 -1
- package/dist/{define-agent-eval-B9zPWFSK.d.ts → define-agent-eval-DKVYlm-T.d.ts} +7 -7
- package/dist/{define-agent-eval-B9zPWFSK.d.ts.map → define-agent-eval-DKVYlm-T.d.ts.map} +1 -1
- package/dist/{descriptive-BTzLL-aj.js → descriptive-B3Eb7tX0.js} +2 -2
- package/dist/{descriptive-BTzLL-aj.js.map → descriptive-B3Eb7tX0.js.map} +1 -1
- package/dist/diagnosis/index.d.ts +2 -2
- package/dist/diagnosis/index.js +1 -1
- package/dist/{dspy-rlm-engine-Xt3znknf.js → dspy-rlm-engine-_MEe2jIO.js} +3 -3
- package/dist/{dspy-rlm-engine-Xt3znknf.js.map → dspy-rlm-engine-_MEe2jIO.js.map} +1 -1
- package/dist/{engine-CaHaCc3W.d.ts → engine-rfV8Ff8V.d.ts} +2 -2
- package/dist/{engine-CaHaCc3W.d.ts.map → engine-rfV8Ff8V.d.ts.map} +1 -1
- package/dist/{eval-campaign-B-dQl_lA.js → eval-campaign-CZSCjxVb.js} +3 -3
- package/dist/{eval-campaign-B-dQl_lA.js.map → eval-campaign-CZSCjxVb.js.map} +1 -1
- package/dist/{evaluation-B0-KVXaV.d.ts → evaluation-DYAIkPQB.d.ts} +4 -4
- package/dist/{evaluation-B0-KVXaV.d.ts.map → evaluation-DYAIkPQB.d.ts.map} +1 -1
- package/dist/evaluation.d.ts +1 -1
- package/dist/{exact-types-CIViGj98.d.ts → exact-types-CaLLU1Pz.d.ts} +2 -2
- package/dist/{exact-types-CIViGj98.d.ts.map → exact-types-CaLLU1Pz.d.ts.map} +1 -1
- package/dist/experiment/index.d.ts +1 -1
- package/dist/experiment/index.js +9 -9
- package/dist/{external-optimizer-process-BgitfZ-Q.js → external-optimizer-process-za-SsIap.js} +2 -2
- package/dist/{external-optimizer-process-BgitfZ-Q.js.map → external-optimizer-process-za-SsIap.js.map} +1 -1
- package/dist/{external-optimizer-subprocess-CeHuAaMJ.js → external-optimizer-subprocess-B44kOfZb.js} +3 -3
- package/dist/external-optimizer-subprocess-B44kOfZb.js.map +1 -0
- package/dist/{feedback-trajectory-BgomnFOe.d.ts → feedback-trajectory-P37ju-gW.d.ts} +3 -3
- package/dist/{feedback-trajectory-BgomnFOe.d.ts.map → feedback-trajectory-P37ju-gW.d.ts.map} +1 -1
- package/dist/{finding-composition-DlvE1Qul.js → finding-composition-Belh_qU3.js} +12 -3
- package/dist/finding-composition-Belh_qU3.js.map +1 -0
- package/dist/{findings-store-Bp-0Guuv.js → findings-store-DWiBvJVM.js} +22 -5
- package/dist/findings-store-DWiBvJVM.js.map +1 -0
- package/dist/fuzz.js +1 -1
- package/dist/hosted/index.js +1 -1
- package/dist/{index-BwutH5i7.d.ts → index-BJM4rwP2.d.ts} +6 -6
- package/dist/{index-BwutH5i7.d.ts.map → index-BJM4rwP2.d.ts.map} +1 -1
- package/dist/{index-DAk2quYu.d.ts → index-C3t17kHu.d.ts} +16 -21
- package/dist/index-C3t17kHu.d.ts.map +1 -0
- package/dist/{index-Bn-P_XAl.d.ts → index-Dt6E4BHX.d.ts} +6 -6
- package/dist/{index-Bn-P_XAl.d.ts.map → index-Dt6E4BHX.d.ts.map} +1 -1
- package/dist/{index-ByJ20lyu.d.ts → index-chNyKroE.d.ts} +8 -8
- package/dist/{index-ByJ20lyu.d.ts.map → index-chNyKroE.d.ts.map} +1 -1
- package/dist/{index-CtcCSO1Y.d.ts → index-f09MX_H_.d.ts} +2 -2
- package/dist/{index-CtcCSO1Y.d.ts.map → index-f09MX_H_.d.ts.map} +1 -1
- package/dist/index.d.ts +52 -146
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +80 -204
- package/dist/index.js.map +1 -1
- package/dist/{integrity-B1V6klyO.js → integrity-Vx5xgn3s.js} +2 -2
- package/dist/{integrity-B1V6klyO.js.map → integrity-Vx5xgn3s.js.map} +1 -1
- package/dist/{judge-calibration-D93UCm1k.js → judge-calibration-DKR6Xi-w.js} +13 -36
- package/dist/judge-calibration-DKR6Xi-w.js.map +1 -0
- package/dist/judge-calibration-DnrbQaXI.d.ts.map +1 -1
- package/dist/{judge-gate-DMlX38B7.js → judge-gate-CIlBrn6q.js} +2 -2
- package/dist/{judge-gate-DMlX38B7.js.map → judge-gate-CIlBrn6q.js.map} +1 -1
- package/dist/{kind-factory-VKysp1ds.js → kind-factory-Cfz8DUCc.js} +2 -2
- package/dist/{kind-factory-VKysp1ds.js.map → kind-factory-Cfz8DUCc.js.map} +1 -1
- package/dist/{llm-judge-CyDyqb6V.js → llm-judge-CHLvjbVR.js} +14 -14
- package/dist/{llm-judge-CyDyqb6V.js.map → llm-judge-CHLvjbVR.js.map} +1 -1
- package/dist/{matrix-4DcRFJ7Q.d.ts → matrix-Cy3oy7Rq.d.ts} +2 -2
- package/dist/{matrix-4DcRFJ7Q.d.ts.map → matrix-Cy3oy7Rq.d.ts.map} +1 -1
- package/dist/{mean-DDFhslBt.js → mean-D1d6gedE.js} +28 -2
- package/dist/{mean-DDFhslBt.js.map → mean-D1d6gedE.js.map} +1 -1
- package/dist/meta-eval/index.d.ts +1 -1
- package/dist/meta-eval/index.js +6 -6
- package/dist/{mint-D9ZysYtY.js → mint-BH_3Ak2x.js} +3 -3
- package/dist/{mint-D9ZysYtY.js.map → mint-BH_3Ak2x.js.map} +1 -1
- package/dist/multishot/golden/index.d.ts +1 -1
- package/dist/multishot/index.d.ts +2 -2
- package/dist/openapi.json +1 -1
- package/dist/{outcome-observations-ahbNtxuP.js → outcome-observations-DZu5hLYF.js} +3 -3
- package/dist/{outcome-observations-ahbNtxuP.js.map → outcome-observations-DZu5hLYF.js.map} +1 -1
- package/dist/{paired-arms-C0Vd9bGG.js → paired-arms-3-tsXvvC.js} +5 -5
- package/dist/{paired-arms-C0Vd9bGG.js.map → paired-arms-3-tsXvvC.js.map} +1 -1
- package/dist/{paired-binary-B477lksS.js → paired-binary-CMzmSSd5.js} +2 -2
- package/dist/{paired-binary-B477lksS.js.map → paired-binary-CMzmSSd5.js.map} +1 -1
- package/dist/{paired-promotion-decision-5Pl_qJLX.js → paired-promotion-decision-CiueaTTj.js} +3 -3
- package/dist/{paired-promotion-decision-5Pl_qJLX.js.map → paired-promotion-decision-CiueaTTj.js.map} +1 -1
- package/dist/{paired-tests-kASEKpc-.js → paired-tests-Buh6feJ4.js} +2 -2
- package/dist/{paired-tests-kASEKpc-.js.map → paired-tests-Buh6feJ4.js.map} +1 -1
- package/dist/{pareto-DY_x3HHg.js → pareto-B34N-vnn.js} +7 -7
- package/dist/{pareto-DY_x3HHg.js.map → pareto-B34N-vnn.js.map} +1 -1
- package/dist/pipelines/index.js +1 -1
- package/dist/{power-and-mde-CRxepy8y.js → power-and-mde-g3vOn0XK.js} +3 -3
- package/dist/{power-and-mde-CRxepy8y.js.map → power-and-mde-g3vOn0XK.js.map} +1 -1
- package/dist/{prime-protocol-COFkxas6.d.ts → prime-protocol-DKRk4l4U.d.ts} +2 -2
- package/dist/{prime-protocol-COFkxas6.d.ts.map → prime-protocol-DKRk4l4U.d.ts.map} +1 -1
- package/dist/{promotion-policy-f79oklG_.js → promotion-policy-DLPcEnCf.js} +4 -4
- package/dist/{promotion-policy-f79oklG_.js.map → promotion-policy-DLPcEnCf.js.map} +1 -1
- package/dist/{proposal-findings-BclX0PFh.js → proposal-findings-CZJkS_GY.js} +2 -2
- package/dist/{proposal-findings-BclX0PFh.js.map → proposal-findings-CZJkS_GY.js.map} +1 -1
- package/dist/{registry-CMtGAxOw.d.ts → registry-Ck7w-rr5.d.ts} +3 -3
- package/dist/{registry-CMtGAxOw.d.ts.map → registry-Ck7w-rr5.d.ts.map} +1 -1
- package/dist/{release-confidence--1iP-d3x.js → release-confidence-nfQNh3eb.js} +4 -4
- package/dist/{release-confidence--1iP-d3x.js.map → release-confidence-nfQNh3eb.js.map} +1 -1
- package/dist/{render-CFrJ7M0o.js → render-DIQ5nqp_.js} +80 -51
- package/dist/{render-CFrJ7M0o.js.map → render-DIQ5nqp_.js.map} +1 -1
- package/dist/reporting.js +5 -5
- package/dist/{reward-P0VD_Aft.js → reward-DqMfaEax.js} +10 -2
- package/dist/{reward-P0VD_Aft.js.map → reward-DqMfaEax.js.map} +1 -1
- package/dist/{reward-hacking-D-Vi9-fE.js → reward-hacking-B88f-Kh7.js} +4 -4
- package/dist/{reward-hacking-D-Vi9-fE.js.map → reward-hacking-B88f-Kh7.js.map} +1 -1
- package/dist/rl.d.ts +3 -3
- package/dist/rl.js +12 -12
- package/dist/rollout/index.d.ts +2 -2
- package/dist/rollout/index.js +3 -3
- package/dist/{rollout-BC4u-d_I.js → rollout-CbOGxuHl.js} +2 -2
- package/dist/{rollout-BC4u-d_I.js.map → rollout-CbOGxuHl.js.map} +1 -1
- package/dist/{rollout-nodes-BHR9Q5jP.js → rollout-nodes-DKZ3vAYY.js} +2 -2
- package/dist/{rollout-nodes-BHR9Q5jP.js.map → rollout-nodes-DKZ3vAYY.js.map} +1 -1
- package/dist/{rubric-predictive-validity-BdxXDN6h.js → rubric-predictive-validity-D_6ZPTNR.js} +2 -2
- package/dist/{rubric-predictive-validity-BdxXDN6h.js.map → rubric-predictive-validity-D_6ZPTNR.js.map} +1 -1
- package/dist/{run-record-B-G2Tu11.js → run-record-CbUi2adH.js} +3 -3
- package/dist/{run-record-B-G2Tu11.js.map → run-record-CbUi2adH.js.map} +1 -1
- package/dist/{run-record-DEjx43cI.js → run-record-CpLS4Uid.js} +2 -2
- package/dist/{run-record-DEjx43cI.js.map → run-record-CpLS4Uid.js.map} +1 -1
- package/dist/search/index.d.ts +2 -2
- package/dist/search/index.js +2 -2
- package/dist/{search-kernel-BjR2Sr7w.d.ts → search-kernel-kwO-sgCq.d.ts} +2 -2
- package/dist/{search-kernel-BjR2Sr7w.d.ts.map → search-kernel-kwO-sgCq.d.ts.map} +1 -1
- package/dist/{search-ledger-BsVi-Ngv.js → search-ledger-CV_bQQed.js} +2 -2
- package/dist/{search-ledger-BsVi-Ngv.js.map → search-ledger-CV_bQQed.js.map} +1 -1
- package/dist/{search-shipper-pdg4viK7.js → search-shipper-CA3ooBbC.js} +2 -2
- package/dist/{search-shipper-pdg4viK7.js.map → search-shipper-CA3ooBbC.js.map} +1 -1
- package/dist/{search-summary-DedyTdiM.js → search-summary-DBMjdecs.js} +4 -4
- package/dist/{search-summary-DedyTdiM.js.map → search-summary-DBMjdecs.js.map} +1 -1
- package/dist/{sequential-Zp1tsxqI.js → sequential-BPbvgzfe.js} +2 -2
- package/dist/{sequential-Zp1tsxqI.js.map → sequential-BPbvgzfe.js.map} +1 -1
- package/dist/{skillopt-optimization-method-O35aMdxU.js → skillopt-optimization-method-D72XZZfR.js} +9 -9
- package/dist/{skillopt-optimization-method-O35aMdxU.js.map → skillopt-optimization-method-D72XZZfR.js.map} +1 -1
- package/dist/{statistical-heldout-DYF5f10K.js → statistical-heldout-NBxC7jGo.js} +3 -3
- package/dist/{statistical-heldout-DYF5f10K.js.map → statistical-heldout-NBxC7jGo.js.map} +1 -1
- package/dist/{statistical-heldout-bU7FBNjR.d.ts → statistical-heldout-_dXihc9T.d.ts} +3 -3
- package/dist/{statistical-heldout-bU7FBNjR.d.ts.map → statistical-heldout-_dXihc9T.d.ts.map} +1 -1
- package/dist/{store-otlp-DmLm65XW.js → store-otlp-BfPRa2p8.js} +2 -2
- package/dist/{store-otlp-DmLm65XW.js.map → store-otlp-BfPRa2p8.js.map} +1 -1
- package/dist/{store-tool-spans-lWf6INTH.d.ts → store-tool-spans-BgwVHXma.d.ts} +4 -4
- package/dist/{store-tool-spans-lWf6INTH.d.ts.map → store-tool-spans-BgwVHXma.d.ts.map} +1 -1
- package/dist/{store-tool-spans-GGaCijFy.js → store-tool-spans-BrSWHB9O.js} +3 -3
- package/dist/{store-tool-spans-GGaCijFy.js.map → store-tool-spans-BrSWHB9O.js.map} +1 -1
- package/dist/{summary-report-B4BLQb88.js → summary-report-C3IJvp0i.js} +7 -7
- package/dist/{summary-report-B4BLQb88.js.map → summary-report-C3IJvp0i.js.map} +1 -1
- package/dist/supervisor-run/index.d.ts +6 -0
- package/dist/supervisor-run/index.d.ts.map +1 -1
- package/dist/supervisor-run/index.js +3 -3
- package/dist/{systemone-BDVgb6XV.d.ts → systemone-CBvL1gx-.d.ts} +14 -8
- package/dist/systemone-CBvL1gx-.d.ts.map +1 -0
- package/dist/{systemone-review-S49gsy_y.js → systemone-review-BusEIzsg.js} +2 -2
- package/dist/{systemone-review-S49gsy_y.js.map → systemone-review-BusEIzsg.js.map} +1 -1
- package/dist/{systemone-review-BLgxt-4Q.d.ts → systemone-review-nbuMxxmi.d.ts} +2 -2
- package/dist/{systemone-review-BLgxt-4Q.d.ts.map → systemone-review-nbuMxxmi.d.ts.map} +1 -1
- package/dist/systemone.d.ts +4 -4
- package/dist/systemone.js +3 -3
- package/dist/{tool-groups-C3K-d3gd.d.ts → tool-groups-BQsjZD9F.d.ts} +3 -3
- package/dist/tool-groups-BQsjZD9F.d.ts.map +1 -0
- package/dist/{tool-waste-CRJqOASv.js → tool-waste-Czt3aWID.js} +3 -3
- package/dist/{tool-waste-CRJqOASv.js.map → tool-waste-Czt3aWID.js.map} +1 -1
- package/dist/{trace-questions-ej5AEJ5X.d.ts → trace-questions-CpTrtEcm.d.ts} +3 -3
- package/dist/{trace-questions-ej5AEJ5X.d.ts.map → trace-questions-CpTrtEcm.d.ts.map} +1 -1
- package/dist/trace-repair/index.d.ts +1 -1
- package/dist/trace-repair/index.js +2 -2
- package/dist/traces.d.ts +3 -3
- package/dist/traces.js +4 -4
- package/dist/{tree-C2N31CoI.js → tree-DPwgM2LX.js} +6 -6
- package/dist/{tree-C2N31CoI.js.map → tree-DPwgM2LX.js.map} +1 -1
- package/dist/{types-DzCO-S1m.d.ts → types-B9s9Xo5_.d.ts} +24 -2
- package/dist/types-B9s9Xo5_.d.ts.map +1 -0
- package/dist/{types-BF-xQGQn.d.ts → types-CBkDo7ja.d.ts} +2 -2
- package/dist/{types-BF-xQGQn.d.ts.map → types-CBkDo7ja.d.ts.map} +1 -1
- package/dist/{types-BK0blWhe.js → types-CL1_N7AZ.js} +2 -2
- package/dist/{types-BK0blWhe.js.map → types-CL1_N7AZ.js.map} +1 -1
- package/dist/{types-yofaDmQa.d.ts → types-D91tnhzf.d.ts} +2 -2
- package/dist/{types-yofaDmQa.d.ts.map → types-D91tnhzf.d.ts.map} +1 -1
- package/dist/wire/index.d.ts +3 -3
- package/docs/behavioral-trace-questions.md +23 -0
- package/docs/public-api.md +1 -1
- package/package.json +2 -2
- package/dist/agreement-irr-w-t3XUTD.js.map +0 -1
- package/dist/benchmark-command-DZQrxqUL.js.map +0 -1
- package/dist/default-registry-DKlKVXMx.d.ts.map +0 -1
- package/dist/default-registry-gmDeN0KT.js.map +0 -1
- package/dist/external-optimizer-subprocess-CeHuAaMJ.js.map +0 -1
- package/dist/finding-composition-DlvE1Qul.js.map +0 -1
- package/dist/findings-store-Bp-0Guuv.js.map +0 -1
- package/dist/index-DAk2quYu.d.ts.map +0 -1
- package/dist/judge-calibration-D93UCm1k.js.map +0 -1
- package/dist/systemone-BDVgb6XV.d.ts.map +0 -1
- package/dist/tool-groups-C3K-d3gd.d.ts.map +0 -1
- package/dist/types-DzCO-S1m.d.ts.map +0 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { a as hashCanonical } from "./canonical-CicJlINA.js";
|
|
2
|
-
import {
|
|
3
|
-
import { c as summarizeNumberSeries } from "./descriptive-
|
|
2
|
+
import { l as unscreenedRewardFields, o as screenedRewardFields } from "./reward-DqMfaEax.js";
|
|
3
|
+
import { c as summarizeNumberSeries } from "./descriptive-B3Eb7tX0.js";
|
|
4
4
|
import { t as roundDecimal } from "./round-decimal-ZmjAQPo1.js";
|
|
5
5
|
import { S as licenseClassOfName } from "./schema-YUIXT8iW.js";
|
|
6
|
-
import { _ as showMeasured, a as readTerminalRecord, c as parseJsonRecord, d as recordOrNull, f as workerSourceKey, g as isUnavailable, h as SUPERVISOR_RUN_SCHEMA, l as parseJsonl, n as supervisorRunRolloutLinesFromFacts, o as asRecord, p as NO_SOURCE_LIMITS, s as nonEmptyString, u as parseSupervisorTree, v as unavailable, y as expandJournalEventGroup } from "./rollout-nodes-
|
|
6
|
+
import { _ as showMeasured, a as readTerminalRecord, c as parseJsonRecord, d as recordOrNull, f as workerSourceKey, g as isUnavailable, h as SUPERVISOR_RUN_SCHEMA, l as parseJsonl, n as supervisorRunRolloutLinesFromFacts, o as asRecord, p as NO_SOURCE_LIMITS, s as nonEmptyString, u as parseSupervisorTree, v as unavailable, y as expandJournalEventGroup } from "./rollout-nodes-DKZ3vAYY.js";
|
|
7
7
|
import { basename, join } from "node:path";
|
|
8
8
|
import { execFile } from "node:child_process";
|
|
9
9
|
import { readFile, readdir, stat } from "node:fs/promises";
|
|
10
|
+
import { sandboxEventsSession, toChatMessages, toOtlpSpans } from "@tangle-network/harness-sessions";
|
|
10
11
|
import { promisify } from "node:util";
|
|
11
12
|
// src/supervisor-run/analyze-context.ts
|
|
12
13
|
/** The parsed sources and shared lookups every metric group reads. `gap` records an unavailable measurement on the report. */
|
|
@@ -1378,16 +1379,19 @@ async function isFile(path) {
|
|
|
1378
1379
|
* - Producer: each node's `materialized` receipt names the model it ran on
|
|
1379
1380
|
* (`opencode/zai-coding-plan/glm-5.3` → harness, provider, model), and the
|
|
1380
1381
|
* root's `root-segment` names the root's. The license class follows.
|
|
1381
|
-
* - Episode
|
|
1382
|
-
*
|
|
1383
|
-
*
|
|
1382
|
+
* - Episode: each execution's input (`execution-input.taskRef`) and result
|
|
1383
|
+
* (`execution-result.outRef`, a `{content, events}` blob), read as Sandbox
|
|
1384
|
+
* sessions in order, so a node steered twice keeps both turns and every tool
|
|
1385
|
+
* call. A node with no event stream stays a lossy projection.
|
|
1384
1386
|
* - A node respawned under the same id (a reopened run) is one row.
|
|
1385
1387
|
* - Reward: the run's newest known play-check verdict on the root row
|
|
1386
1388
|
* (`solved` → 1, a staged `SCORE` → stages passed / stages), and each
|
|
1387
1389
|
* agent's own commits on its `workers/<label>` branch of `deliverables.git`.
|
|
1390
|
+
* - Screen: the calibration frozen in the run's receipt, where a fake fixture
|
|
1391
|
+
* failed every stage of the check, and the goal audit, whose `contradiction`
|
|
1392
|
+
* gates the reward. A check nothing calibrated stays unscreened.
|
|
1388
1393
|
*
|
|
1389
|
-
* Every read is of files the run already wrote; nothing in the run dir is
|
|
1390
|
-
* changed. Rewards stay unscreened: no realness screen ran on a play-check.
|
|
1394
|
+
* Every read is of files the run already wrote; nothing in the run dir is changed.
|
|
1391
1395
|
*/
|
|
1392
1396
|
const run = promisify(execFile);
|
|
1393
1397
|
/** A run's pursuit: its directory name without the `-YYYYMMDD<letter>` date suffix. */
|
|
@@ -1413,6 +1417,14 @@ function producerOf(id) {
|
|
|
1413
1417
|
model: id
|
|
1414
1418
|
};
|
|
1415
1419
|
}
|
|
1420
|
+
/** A row holding the agent's whole stream is no longer lossy; a workspace capture gap still stands. */
|
|
1421
|
+
function wholeEpisode({ lossy_projection: _, gap, ...kept }) {
|
|
1422
|
+
const workspace = gap?.match(/workspace capture evidence \w+/u)?.[0];
|
|
1423
|
+
return workspace === void 0 ? kept : {
|
|
1424
|
+
...kept,
|
|
1425
|
+
gap: workspace
|
|
1426
|
+
};
|
|
1427
|
+
}
|
|
1416
1428
|
const record = (v) => v !== null && typeof v === "object" && !Array.isArray(v) ? v : null;
|
|
1417
1429
|
const text = (v) => typeof v === "string" && v.length > 0 ? v : void 0;
|
|
1418
1430
|
async function journalFacts(runDir) {
|
|
@@ -1423,15 +1435,7 @@ async function journalFacts(runDir) {
|
|
|
1423
1435
|
facts.set(id, fact);
|
|
1424
1436
|
return fact;
|
|
1425
1437
|
};
|
|
1426
|
-
for (const
|
|
1427
|
-
if (!line.trim()) continue;
|
|
1428
|
-
let row;
|
|
1429
|
-
try {
|
|
1430
|
-
row = record(JSON.parse(line));
|
|
1431
|
-
} catch {
|
|
1432
|
-
continue;
|
|
1433
|
-
}
|
|
1434
|
-
if (row === null) continue;
|
|
1438
|
+
for (const row of parseJsonl(raw)) {
|
|
1435
1439
|
const expanded = expandJournalEventGroup(row);
|
|
1436
1440
|
if (!expanded.succeeded) continue;
|
|
1437
1441
|
for (const entry of expanded.value) {
|
|
@@ -1451,19 +1455,49 @@ async function journalFacts(runDir) {
|
|
|
1451
1455
|
model
|
|
1452
1456
|
].join("/");
|
|
1453
1457
|
} else if (event.kind === "settled" && text(event.outRef)) node(id).outRef = text(event.outRef);
|
|
1458
|
+
else if (event.kind === "execution-input") node(id).inputRef = text(event.taskRef);
|
|
1459
|
+
else if (event.kind === "execution-result" && text(event.outRef)) {
|
|
1460
|
+
const fact = node(id);
|
|
1461
|
+
const taskRef = fact.inputRef ?? fact.taskRef;
|
|
1462
|
+
(fact.executions ??= []).push({
|
|
1463
|
+
taskRef,
|
|
1464
|
+
outRef: event.outRef
|
|
1465
|
+
});
|
|
1466
|
+
}
|
|
1454
1467
|
}
|
|
1455
1468
|
}
|
|
1456
1469
|
return facts;
|
|
1457
1470
|
}
|
|
1458
|
-
|
|
1471
|
+
const readJson = (path) => readFile(path, "utf8").then(JSON.parse).catch(() => void 0);
|
|
1472
|
+
async function blobValue(runDir, ref) {
|
|
1459
1473
|
if (ref === void 0 || !/^sha256:[0-9a-f]{64}$/u.test(ref)) return void 0;
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1474
|
+
return readJson(join(runDir, "blobs", `${ref.replace(":", "-")}.json`));
|
|
1475
|
+
}
|
|
1476
|
+
const jsonlRows = async (path) => parseJsonl(await readFile(path, "utf8").catch(() => null));
|
|
1477
|
+
/** One Sandbox session per execution, oldest first; older runs keep only the settled result. */
|
|
1478
|
+
async function nodeSessions(runDir, harness, id, fact) {
|
|
1479
|
+
const executions = fact.executions ?? [{
|
|
1480
|
+
taskRef: fact.taskRef,
|
|
1481
|
+
outRef: fact.outRef
|
|
1482
|
+
}];
|
|
1483
|
+
const sessions = [];
|
|
1484
|
+
for (const [index, { taskRef, outRef }] of executions.entries()) {
|
|
1485
|
+
const [input, result] = await Promise.all([blobValue(runDir, taskRef), blobValue(runDir, outRef)]);
|
|
1486
|
+
const task = text(input) ?? text(record(input)?.prompt) ?? text(record(input)?.instruction);
|
|
1487
|
+
const answer = text(result) ?? text(record(result)?.content);
|
|
1488
|
+
const stream = record(result)?.events;
|
|
1489
|
+
const events = Array.isArray(stream) ? stream : [];
|
|
1490
|
+
if (task === void 0 || answer === void 0 && events.length === 0) continue;
|
|
1491
|
+
const nativeSessionId = `${id}:${index}`;
|
|
1492
|
+
sessions.push(sandboxEventsSession({
|
|
1493
|
+
harness,
|
|
1494
|
+
nativeSessionId,
|
|
1495
|
+
task,
|
|
1496
|
+
answer: answer ?? "",
|
|
1497
|
+
events
|
|
1498
|
+
}));
|
|
1466
1499
|
}
|
|
1500
|
+
return sessions;
|
|
1467
1501
|
}
|
|
1468
1502
|
/**
|
|
1469
1503
|
* The newest play-check row whose verdict is known. A staged check
|
|
@@ -1472,32 +1506,27 @@ async function blobText(runDir, ref) {
|
|
|
1472
1506
|
* Only the SCORE line itself is parsed; the check prints more lines after it.
|
|
1473
1507
|
*/
|
|
1474
1508
|
async function discoveryPlayCheckReward(runDir) {
|
|
1475
|
-
const rows =
|
|
1476
|
-
const
|
|
1477
|
-
|
|
1478
|
-
const row = record(JSON.parse(line));
|
|
1479
|
-
if (row) rows.push(row);
|
|
1480
|
-
} catch {}
|
|
1481
|
-
if (rows.length === 0) {
|
|
1482
|
-
const single = await readFile(join(runDir, "play-check.json"), "utf8").catch(() => null);
|
|
1483
|
-
try {
|
|
1484
|
-
const row = single === null ? null : record(JSON.parse(single));
|
|
1485
|
-
if (row) rows.push(row);
|
|
1486
|
-
} catch {}
|
|
1487
|
-
}
|
|
1509
|
+
const rows = await jsonlRows(join(runDir, "play-checks.jsonl"));
|
|
1510
|
+
const single = rows.length === 0 ? record(await readJson(join(runDir, "play-check.json"))) : null;
|
|
1511
|
+
if (single) rows.push(single);
|
|
1488
1512
|
const last = rows.filter((row) => row.known !== false && typeof row.solved === "boolean").sort((a, b) => String(a.at ?? "").localeCompare(String(b.at ?? ""))).at(-1);
|
|
1489
1513
|
if (last === void 0) return null;
|
|
1490
1514
|
const detail = typeof last.detail === "string" ? last.detail : "";
|
|
1491
1515
|
let reward = last.solved === true ? 1 : 0;
|
|
1492
1516
|
const score = detail.split("\n").find((line) => line.startsWith("SCORE {"));
|
|
1493
1517
|
if (reward === 0 && score !== void 0) try {
|
|
1494
|
-
const
|
|
1495
|
-
const reached = staged?.reached;
|
|
1496
|
-
const of = staged?.of;
|
|
1518
|
+
const { reached, of } = JSON.parse(score.slice(6));
|
|
1497
1519
|
if (Number.isSafeInteger(reached) && Number.isSafeInteger(of) && 1 <= reached && reached <= of) reward = (reached - 1) / of;
|
|
1498
1520
|
} catch {}
|
|
1521
|
+
const key = last.contentHash ?? last.commit ?? last.at;
|
|
1522
|
+
const ruling = (await jsonlRows(join(runDir, "goal-audits.jsonl"))).filter((a) => a.key === key && a.verdict !== "unavailable").at(-1);
|
|
1523
|
+
const receipt = record(await readJson(join(runDir, "RECEIPT.json")));
|
|
1524
|
+
const calibration = record(record(receipt?.check)?.calibration);
|
|
1525
|
+
const stages = Object.values(record(calibration?.stages) ?? {});
|
|
1499
1526
|
return {
|
|
1500
1527
|
reward,
|
|
1528
|
+
calibrated: stages.length > 0 && stages.every((state) => state === "calibrated"),
|
|
1529
|
+
contradicted: (ruling?.verdict ?? record(last.goalAudit)?.verdict) === "contradiction",
|
|
1501
1530
|
at: String(last.at ?? ""),
|
|
1502
1531
|
commit: typeof last.commit === "string" ? last.commit : null,
|
|
1503
1532
|
detail: detail.slice(0, 500)
|
|
@@ -1559,16 +1588,18 @@ async function discoveryRunRolloutLines(runDir, options = {}) {
|
|
|
1559
1588
|
const check = await discoveryPlayCheckReward(runDir);
|
|
1560
1589
|
const commits = await deliverableCommits(runDir);
|
|
1561
1590
|
const lines = [];
|
|
1591
|
+
const otlp = /* @__PURE__ */ new Map();
|
|
1562
1592
|
for (const node of tree.nodes) {
|
|
1563
1593
|
const fact = facts.get(node.rollout_id) ?? {};
|
|
1564
1594
|
const producer = fact.model === void 0 ? null : producerOf(fact.model);
|
|
1565
1595
|
const license = licenseClassOfName(producer?.model) ?? licenseClassOfName(producer?.harness);
|
|
1566
|
-
const
|
|
1596
|
+
const sessions = await nodeSessions(runDir, producer?.harness ?? node.policy.harness ?? "sandbox", node.rollout_id, fact);
|
|
1597
|
+
const messages = sessions.flatMap((session) => toChatMessages(session));
|
|
1567
1598
|
const label = typeof node.outcome.metrics.label === "string" ? node.outcome.metrics.label : null;
|
|
1568
1599
|
const isRoot = node.parent_rollout_id === null;
|
|
1569
1600
|
const outcome = isRoot && check !== null ? {
|
|
1570
1601
|
...node.outcome,
|
|
1571
|
-
...unscreenedRewardFields(check.reward),
|
|
1602
|
+
...check.calibrated || check.contradicted ? screenedRewardFields(check.reward, check.contradicted) : unscreenedRewardFields(check.reward),
|
|
1572
1603
|
reward_source: "discovery/play-check",
|
|
1573
1604
|
verdict: {
|
|
1574
1605
|
at: check.at,
|
|
@@ -1576,6 +1607,8 @@ async function discoveryRunRolloutLines(runDir, options = {}) {
|
|
|
1576
1607
|
detail: check.detail
|
|
1577
1608
|
}
|
|
1578
1609
|
} : node.outcome;
|
|
1610
|
+
const spans = sessions.flatMap((session) => toOtlpSpans(session));
|
|
1611
|
+
otlp.set(node.rollout_id, spans.map((span) => `${JSON.stringify(span)}\n`).join(""));
|
|
1579
1612
|
lines.push({
|
|
1580
1613
|
...node,
|
|
1581
1614
|
policy: {
|
|
@@ -1587,13 +1620,8 @@ async function discoveryRunRolloutLines(runDir, options = {}) {
|
|
|
1587
1620
|
},
|
|
1588
1621
|
...license === null ? {} : { license_class: license }
|
|
1589
1622
|
},
|
|
1590
|
-
messages:
|
|
1591
|
-
|
|
1592
|
-
content: task
|
|
1593
|
-
}, {
|
|
1594
|
-
role: "assistant",
|
|
1595
|
-
content: answer
|
|
1596
|
-
}] : node.messages,
|
|
1623
|
+
messages: sessions.length === 0 ? node.messages : messages,
|
|
1624
|
+
provenance: messages.some((m) => m.role === "tool") ? wholeEpisode(node.provenance) : node.provenance,
|
|
1597
1625
|
outcome: {
|
|
1598
1626
|
...outcome,
|
|
1599
1627
|
metrics: {
|
|
@@ -1609,7 +1637,8 @@ async function discoveryRunRolloutLines(runDir, options = {}) {
|
|
|
1609
1637
|
pursuit,
|
|
1610
1638
|
lines,
|
|
1611
1639
|
gaps: tree.gaps.filter((gap) => check === null || gap.code !== "root-reward-unavailable"),
|
|
1612
|
-
notes
|
|
1640
|
+
notes,
|
|
1641
|
+
otlp
|
|
1613
1642
|
};
|
|
1614
1643
|
}
|
|
1615
1644
|
// src/supervisor-run/reader.ts
|
|
@@ -1866,4 +1895,4 @@ function renderSupervisorRollupMarkdown(rollup, title = "Round rollup") {
|
|
|
1866
1895
|
}
|
|
1867
1896
|
export { findSupervisorRunDirs as a, discoveryRunRolloutLines as c, analyzeSupervisorRunSources as d, parsePatch as f, analyzeSupervisorRun as i, isRuntimeSupervisorRunDir as l, renderSupervisorRunHeadline as n, discoveryPlayCheckReward as o, renderSupervisorRunMarkdown as r, discoveryPursuitOf as s, renderSupervisorRollupMarkdown as t, readRuntimeSupervisorRun as u };
|
|
1868
1897
|
|
|
1869
|
-
//# sourceMappingURL=render-
|
|
1898
|
+
//# sourceMappingURL=render-DIQ5nqp_.js.map
|