reeval 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -12
- package/dist/{agent-Dhd5FJCZ.js → agent-6FefIhX7.js} +6 -6
- package/dist/{agent-Dhd5FJCZ.js.map → agent-6FefIhX7.js.map} +1 -1
- package/dist/{agent-gjBiZis8.js → agent-WSmTaesf.js} +52 -17
- package/dist/agent-WSmTaesf.js.map +1 -0
- package/dist/{analysis-BV3TCznv.js → analysis-DlGBDjTj.js} +4 -4
- package/dist/{analysis-BV3TCznv.js.map → analysis-DlGBDjTj.js.map} +1 -1
- package/dist/{assemble-Dd_mZYnu.js → assemble-BCZzTyR7.js} +259 -18
- package/dist/assemble-BCZzTyR7.js.map +1 -0
- package/dist/assemble-C5qq5yT2.js +2 -0
- package/dist/capture-Bp74Z6Fr.js +1257 -0
- package/dist/capture-Bp74Z6Fr.js.map +1 -0
- package/dist/capture-DS-cPyuE.js +2 -0
- package/dist/{cli-r9CDqoFL.js → cli-CVrMh_qz.js} +210 -112
- package/dist/cli-CVrMh_qz.js.map +1 -0
- package/dist/{cli-spec-DOyxAMc2.js → cli-spec-CKEYa8V2.js} +6 -5
- package/dist/cli-spec-CKEYa8V2.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/{client-LsfDiD-X.js → client-Bbo9SPlK.js} +31 -201
- package/dist/client-Bbo9SPlK.js.map +1 -0
- package/dist/{command-l4ZFCeMh.js → command-BFP0hKEb.js} +7 -7
- package/dist/{command-l4ZFCeMh.js.map → command-BFP0hKEb.js.map} +1 -1
- package/dist/command-BrmXUC-W.js +2 -0
- package/dist/{command-DMR69l5G.js → command-C5xFPKHM.js} +21 -20
- package/dist/command-C5xFPKHM.js.map +1 -0
- package/dist/{command-Cej2t3y-.js → command-CzIFp1JQ.js} +10 -10
- package/dist/{command-Cej2t3y-.js.map → command-CzIFp1JQ.js.map} +1 -1
- package/dist/{command-D6r2pwO5.js → command-DUT5l13I.js} +221 -54
- package/dist/command-DUT5l13I.js.map +1 -0
- package/dist/{commands-BA_NCh2h.js → commands-CLmPBrTS.js} +6 -6
- package/dist/{commands-BA_NCh2h.js.map → commands-CLmPBrTS.js.map} +1 -1
- package/dist/{commands-DgOUkcSO.js → commands-fI3G2Wnh.js} +1 -1
- package/dist/{config-DuQDCx0B.js → config-CGvBeewH.js} +18 -8
- package/dist/config-CGvBeewH.js.map +1 -0
- package/dist/{context-CvUv7DUb.js → context-DbSMEVKs.js} +1 -5
- package/dist/{context-CvUv7DUb.js.map → context-DbSMEVKs.js.map} +1 -1
- package/dist/{db-o_osRkqr.js → db-CSSFtGcN.js} +1 -1
- package/dist/{db-CjX7JF4o.js → db-CfQFwJtq.js} +209 -40
- package/dist/db-CfQFwJtq.js.map +1 -0
- package/dist/{docker-DaUaG4XZ.js → docker-CRQGQbIt.js} +17 -5
- package/dist/docker-CRQGQbIt.js.map +1 -0
- package/dist/{docker-ZaYeKE2w.js → docker-DV2GNgle.js} +2 -2
- package/dist/{docker-ZaYeKE2w.js.map → docker-DV2GNgle.js.map} +1 -1
- package/dist/{docker-Dnya8eo9.js → docker-Df_YOxxB.js} +1 -1
- package/dist/{doctor-Bk6aJeec.js → doctor-DlKycx5H.js} +13 -13
- package/dist/{doctor-Bk6aJeec.js.map → doctor-DlKycx5H.js.map} +1 -1
- package/dist/{egress-BKbyriEa.js → egress-BhzNh7Yi.js} +18 -10
- package/dist/egress-BhzNh7Yi.js.map +1 -0
- package/dist/{environment-DiCljXMD.js → environment-1jE-HhO-.js} +2 -2
- package/dist/{environment-DiCljXMD.js.map → environment-1jE-HhO-.js.map} +1 -1
- package/dist/fake-instructions-CUI33I_F.js +32 -0
- package/dist/fake-instructions-CUI33I_F.js.map +1 -0
- package/dist/family-D2b7WD10.js +67 -0
- package/dist/family-D2b7WD10.js.map +1 -0
- package/dist/files-AiEKuEZe.js +2 -0
- package/dist/files-BMCvfB4X.js +2 -0
- package/dist/{files-TNrZJQ3Y.js → files-CSzVADHn.js} +5 -5
- package/dist/{files-TNrZJQ3Y.js.map → files-CSzVADHn.js.map} +1 -1
- package/dist/{files-BSMSnQMa.js → files-DJUFg-4e.js} +3 -3
- package/dist/{files-BSMSnQMa.js.map → files-DJUFg-4e.js.map} +1 -1
- package/dist/{git-DNGtrOg9.js → git-DfG-YJ1u.js} +2 -2
- package/dist/{git-DNGtrOg9.js.map → git-DfG-YJ1u.js.map} +1 -1
- package/dist/{harness-CDRaaGvR.js → harness-CeCp2GSW.js} +52 -12
- package/dist/harness-CeCp2GSW.js.map +1 -0
- package/dist/harness.d.ts +26 -13
- package/dist/harness.js +1 -1
- package/dist/{header-BZF8Xss1.js → header-CALhmafp.js} +10 -3
- package/dist/{header-BZF8Xss1.js.map → header-CALhmafp.js.map} +1 -1
- package/dist/{images-BpwFDT1E.js → images-BMgdpMAX.js} +6 -6
- package/dist/{images-BpwFDT1E.js.map → images-BMgdpMAX.js.map} +1 -1
- package/dist/index.d.ts +17 -5
- package/dist/index.js +165 -67
- package/dist/index.js.map +1 -1
- package/dist/init-B6vegaP_.js +2 -0
- package/dist/{init-CBWt1rZT.js → init-BIdLF0F9.js} +4 -4
- package/dist/{init-CBWt1rZT.js.map → init-BIdLF0F9.js.map} +1 -1
- package/dist/{invocations-DArYWyXN.js → invocations-CLaL8AuW.js} +3 -3
- package/dist/{invocations-DArYWyXN.js.map → invocations-CLaL8AuW.js.map} +1 -1
- package/dist/{judge-7WjNdU9z.js → judge-CeYPN8P_.js} +2 -2
- package/dist/{judge-7WjNdU9z.js.map → judge-CeYPN8P_.js.map} +1 -1
- package/dist/judge.d.ts +5 -4
- package/dist/judge.js +4 -3
- package/dist/judge.js.map +1 -1
- package/dist/{live-DZkCtmNP.js → live-S0qODb6o.js} +2 -2
- package/dist/{live-DZkCtmNP.js.map → live-S0qODb6o.js.map} +1 -1
- package/dist/{model-Cp6NoAT3.js → model-B1BZoZ9b.js} +9 -8
- package/dist/model-B1BZoZ9b.js.map +1 -0
- package/dist/{model-DyQbu7KF.js → model-BOnlAPzs.js} +288 -38
- package/dist/model-BOnlAPzs.js.map +1 -0
- package/dist/{model-Bv8uUZ07.js → model-DEQo3FkZ.js} +6 -6
- package/dist/model-DEQo3FkZ.js.map +1 -0
- package/dist/model-DWeg5J7z.js +2 -0
- package/dist/{model-BeoRxCcJ.js → model-FXko2kl7.js} +1 -1
- package/dist/{options-Ge_x32XE.js → options-CKqyPGxX.js} +161 -34
- package/dist/options-CKqyPGxX.js.map +1 -0
- package/dist/pairs-DDsjgm5F.js +149 -0
- package/dist/pairs-DDsjgm5F.js.map +1 -0
- package/dist/{patch-CGCVipPu.js → patch-bDV8YFW0.js} +2 -2
- package/dist/{patch-CGCVipPu.js.map → patch-bDV8YFW0.js.map} +1 -1
- package/dist/{plan-BqBadHYj.js → plan-DUydFc_1.js} +69 -31
- package/dist/plan-DUydFc_1.js.map +1 -0
- package/dist/{preflight-CyaAZE9r.js → preflight-BkoSxf4C.js} +3 -3
- package/dist/{preflight-CyaAZE9r.js.map → preflight-BkoSxf4C.js.map} +1 -1
- package/dist/{preflight-CFtZNTLt.js → preflight-D5LW7Oqi.js} +1 -1
- package/dist/{prepare-Zr1xOMUX.js → prepare-CUAWHebF.js} +5 -5
- package/dist/{prepare-Zr1xOMUX.js.map → prepare-CUAWHebF.js.map} +1 -1
- package/dist/{prepare-Dl7-t3fO.js → prepare-oji2oO8W.js} +2 -2
- package/dist/process-CSVO_jsc.js +119 -0
- package/dist/process-CSVO_jsc.js.map +1 -0
- package/dist/{provenance-Byl2T6LJ.js → provenance-D7HK3vzt.js} +2 -2
- package/dist/{provenance-Byl2T6LJ.js.map → provenance-D7HK3vzt.js.map} +1 -1
- package/dist/{providers-Cflw7Ks-.js → providers-B1DzMvmH.js} +3 -3
- package/dist/{providers-Cflw7Ks-.js.map → providers-B1DzMvmH.js.map} +1 -1
- package/dist/{providers-SBMExI53.js → providers-CpEfNU1F.js} +1 -1
- package/dist/{query-DUSLlic0.js → query-BjBMLa-C.js} +2 -2
- package/dist/{query-DUSLlic0.js.map → query-BjBMLa-C.js.map} +1 -1
- package/dist/query-oPO_XrTy.js +2 -0
- package/dist/{questions-ZdT3JDyQ.js → questions-B8by4Bbt.js} +28 -119
- package/dist/questions-B8by4Bbt.js.map +1 -0
- package/dist/{record-CbuQH4l1.js → record-BRP9vZrj.js} +21 -1
- package/dist/record-BRP9vZrj.js.map +1 -0
- package/dist/{results-owJR-NFm.js → results-Di7m8dQ3.js} +4 -4
- package/dist/{results-owJR-NFm.js.map → results-Di7m8dQ3.js.map} +1 -1
- package/dist/{resume-BL4Yw7Ld.js → resume-SUz1GskV.js} +4 -4
- package/dist/{resume-BL4Yw7Ld.js.map → resume-SUz1GskV.js.map} +1 -1
- package/dist/runtime-DdsfnRz_.js +344 -0
- package/dist/runtime-DdsfnRz_.js.map +1 -0
- package/dist/{sandbox--ZXuscAZ.js → sandbox-D5v-of6d.js} +10 -5
- package/dist/sandbox-D5v-of6d.js.map +1 -0
- package/dist/sandbox.d.ts +4 -3
- package/dist/sandbox.js +1 -1
- package/dist/{server-yFVUxAm0.js → server-BNnXtmS8.js} +9 -9
- package/dist/{server-yFVUxAm0.js.map → server-BNnXtmS8.js.map} +1 -1
- package/dist/server-BNwoKzlm.js +2 -0
- package/dist/source-Bk_0ZaEY.js +2 -0
- package/dist/{source-M3gS517R.js → source-Dof0NQBm.js} +2 -2
- package/dist/{source-M3gS517R.js.map → source-Dof0NQBm.js.map} +1 -1
- package/dist/{src-79JhW-zG.js → src-8rRXy4u9.js} +71 -124
- package/dist/src-8rRXy4u9.js.map +1 -0
- package/dist/src-BGWuWp6I.js +3 -0
- package/dist/src-BRt0O02i.js +3 -0
- package/dist/src-Bx2x1ekD.js +3 -0
- package/dist/{src-s-VffoYK.js → src-C1E9HDWO.js} +5 -3
- package/dist/{src-s-VffoYK.js.map → src-C1E9HDWO.js.map} +1 -1
- package/dist/{src-IOr1rhEg.js → src-COgE7991.js} +10 -8
- package/dist/{src-IOr1rhEg.js.map → src-COgE7991.js.map} +1 -1
- package/dist/{src-CokPbYCb.js → src-C_4Umgh2.js} +23 -14
- package/dist/{src-CokPbYCb.js.map → src-C_4Umgh2.js.map} +1 -1
- package/dist/{src-DxFJrMUA.js → src-D95O-Smv.js} +12 -7
- package/dist/{src-DxFJrMUA.js.map → src-D95O-Smv.js.map} +1 -1
- package/dist/{src-DTcalvuF.js → src-DDNXsD9H.js} +28 -4
- package/dist/{src-DTcalvuF.js.map → src-DDNXsD9H.js.map} +1 -1
- package/dist/src-DLa-ESW0.js +4 -0
- package/dist/{src-DSE0FWaU.js → src-DVy58-zZ.js} +2 -2
- package/dist/{src-DSE0FWaU.js.map → src-DVy58-zZ.js.map} +1 -1
- package/dist/src-cN0aB-WR.js +3 -0
- package/dist/{src-DH0jhpoi.js → src-cdIVjC5b.js} +1 -1
- package/dist/src-sIsDHWYq.js +3 -0
- package/dist/state-Bo5zg4da.js +2 -0
- package/dist/{state-DEj_utaE.js → state-CiXyLqg0.js} +10 -10
- package/dist/{state-DEj_utaE.js.map → state-CiXyLqg0.js.map} +1 -1
- package/dist/studio-app/assets/index-B9MCTfuu.css +2 -0
- package/dist/studio-app/assets/{index-Bbl0oTxu.js → index-CROH2NB3.js} +12 -12
- package/dist/studio-app/index.html +2 -2
- package/dist/{summary-D012KlUM.js → summary-2OAWF2N7.js} +7 -7
- package/dist/{summary-D012KlUM.js.map → summary-2OAWF2N7.js.map} +1 -1
- package/dist/{summary--FBuB_sr.js → summary-BTksrIxn.js} +63 -5
- package/dist/summary-BTksrIxn.js.map +1 -0
- package/dist/testing.d.ts +14 -0
- package/dist/testing.js +2 -0
- package/dist/{tools-CJHw-zCo.js → tools-B10Uj7OI.js} +4 -4
- package/dist/tools-B10Uj7OI.js.map +1 -0
- package/dist/types-C5vI3g1C.js.map +1 -1
- package/dist/{types-BsRSknLe.d.ts → types-D8RLfkFP.d.ts} +453 -42
- package/dist/{usage-DsYUqIUM.js → usage-DDF_6tkV.js} +4 -2
- package/dist/{usage-DsYUqIUM.js.map → usage-DDF_6tkV.js.map} +1 -1
- package/dist/view/index.d.ts +60 -15
- package/dist/view/index.js +7 -6
- package/dist/views-Cs2Oqayd.js +3 -0
- package/dist/{views-jhL9Jb8A.js → views-Dqa5ojfZ.js} +4 -4
- package/dist/{views-jhL9Jb8A.js.map → views-Dqa5ojfZ.js.map} +1 -1
- package/dist/{worker-entry-OwnsrUdr.js → worker-entry-BAikHl9F.js} +9 -4
- package/dist/worker-entry-BAikHl9F.js.map +1 -0
- package/dist/{workspace-C4_J0pqb.js → workspace-C-TrNIUc.js} +4 -4
- package/dist/{workspace-C4_J0pqb.js.map → workspace-C-TrNIUc.js.map} +1 -1
- package/dist/{workspace-wudSz_W-.js → workspace-Do_SiWBs.js} +1 -1
- package/docker/Dockerfile +7 -5
- package/package.json +9 -4
- package/dist/agent-gjBiZis8.js.map +0 -1
- package/dist/assemble-D8sZ4Jiv.js +0 -2
- package/dist/assemble-Dd_mZYnu.js.map +0 -1
- package/dist/capture-CisAmy-G.js +0 -587
- package/dist/capture-CisAmy-G.js.map +0 -1
- package/dist/capture-DquyqAHC.js +0 -2
- package/dist/cli-r9CDqoFL.js.map +0 -1
- package/dist/cli-spec-DOyxAMc2.js.map +0 -1
- package/dist/client-LsfDiD-X.js.map +0 -1
- package/dist/command-Cxfgghqo.js +0 -2
- package/dist/command-D6r2pwO5.js.map +0 -1
- package/dist/command-DMR69l5G.js.map +0 -1
- package/dist/config-DuQDCx0B.js.map +0 -1
- package/dist/db-CjX7JF4o.js.map +0 -1
- package/dist/docker-DaUaG4XZ.js.map +0 -1
- package/dist/egress-BKbyriEa.js.map +0 -1
- package/dist/files-DmZGPsWK.js +0 -2
- package/dist/files-Tb8wY0Ze.js +0 -2
- package/dist/harness-CDRaaGvR.js.map +0 -1
- package/dist/init-1THeGfut.js +0 -2
- package/dist/model-Bv8uUZ07.js.map +0 -1
- package/dist/model-Cp6NoAT3.js.map +0 -1
- package/dist/model-D_pF3Vcl.js +0 -2
- package/dist/model-DyQbu7KF.js.map +0 -1
- package/dist/options-Ge_x32XE.js.map +0 -1
- package/dist/plan-BqBadHYj.js.map +0 -1
- package/dist/query-CvutWHaL.js +0 -2
- package/dist/questions-ZdT3JDyQ.js.map +0 -1
- package/dist/record-CbuQH4l1.js.map +0 -1
- package/dist/sandbox--ZXuscAZ.js.map +0 -1
- package/dist/server-CNPsB0cT.js +0 -2
- package/dist/source-Cmc5SKFn.js +0 -2
- package/dist/src--L8B4WGa.js +0 -3
- package/dist/src-79JhW-zG.js.map +0 -1
- package/dist/src-BLN459er.js +0 -3
- package/dist/src-Bz66jDtE.js +0 -3
- package/dist/src-CfUwg9UY.js +0 -3
- package/dist/src-DV_3QDHA.js +0 -4
- package/dist/src-Ljh2vKXm.js +0 -3
- package/dist/state-DkqbCVVp.js +0 -2
- package/dist/studio-app/assets/index-CUx6GoL5.css +0 -2
- package/dist/summary--FBuB_sr.js.map +0 -1
- package/dist/tools-CJHw-zCo.js.map +0 -1
- package/dist/views-yPmmoo8f.js +0 -3
- package/dist/worker-entry-OwnsrUdr.js.map +0 -1
package/README.md
CHANGED
|
@@ -86,13 +86,13 @@ all three agents passed every check.
|
|
|
86
86
|
```text
|
|
87
87
|
$ reeval run evals/api.eval.ts --runs 1
|
|
88
88
|
…
|
|
89
|
-
✓ how well the api-conventions skill influences the output 3/6 · 100% gated 6 attempts
|
|
90
|
-
cursor:composer-2.5/nextjs-api/docker control 0/1
|
|
91
|
-
cursor:composer-2.5/with-api-conventions/docker variant 1/1 100% lift +100 pts (95% −12…+100, 1/1 vs 0/1), within noise
|
|
92
|
-
claude-code:claude-sonnet-5/nextjs-api/docker control 0/1
|
|
93
|
-
claude-code:claude-sonnet-5/with-api-conventions/docker variant 1/1 100% lift +100 pts (95% −12…+100, 1/1 vs 0/1), within noise
|
|
94
|
-
codex:gpt-5.6-luna/nextjs-api/docker control 0/1
|
|
95
|
-
codex:gpt-5.6-luna/with-api-conventions/docker variant 1/1 100% lift +100 pts (95% −12…+100, 1/1 vs 0/1), within noise
|
|
89
|
+
✓ how well the api-conventions skill influences the output 3/6 · pass@1 100% gated 6 attempts
|
|
90
|
+
cursor:composer-2.5/nextjs-api/docker control 0/1 pass@1 0% not gated
|
|
91
|
+
cursor:composer-2.5/with-api-conventions/docker variant 1/1 pass@1 100% lift +100 pts (95% −12…+100, 1/1 vs 0/1), within noise
|
|
92
|
+
claude-code:claude-sonnet-5/nextjs-api/docker control 0/1 pass@1 0% not gated
|
|
93
|
+
claude-code:claude-sonnet-5/with-api-conventions/docker variant 1/1 pass@1 100% lift +100 pts (95% −12…+100, 1/1 vs 0/1), within noise
|
|
94
|
+
codex:gpt-5.6-luna/nextjs-api/docker control 0/1 pass@1 0% not gated
|
|
95
|
+
codex:gpt-5.6-luna/with-api-conventions/docker variant 1/1 pass@1 100% lift +100 pts (95% −12…+100, 1/1 vs 0/1), within noise
|
|
96
96
|
question "Which endpoint follows our API conventions?" across: claude-code:claude-sonnet-5 2/4 (50%), codex:gpt-5.6-luna 0/4 (0%), cursor:composer-2.5 4/4 (100%) · 6 votes, 0 ties · gemini-3.8-flash
|
|
97
97
|
…
|
|
98
98
|
```
|
|
@@ -187,9 +187,9 @@ group(
|
|
|
187
187
|
$ reeval run skill --runs 2
|
|
188
188
|
plan 1 eval · 2 cells · 4 attempts · ~50s serial (~13s at concurrency 4)
|
|
189
189
|
…
|
|
190
|
-
✓ greets in the house style 2/4 · 100% gated 4 attempts
|
|
191
|
-
cursor:composer-2.5/plain/docker control 0/2
|
|
192
|
-
cursor:composer-2.5/with-house-greeting/docker variant 2/2 100% lift +100 pts (95% +7…+100, 2/2 vs 0/2)
|
|
190
|
+
✓ greets in the house style 2/4 · pass@1 100% gated 4 attempts
|
|
191
|
+
cursor:composer-2.5/plain/docker control 0/2 pass@1 0% not gated
|
|
192
|
+
cursor:composer-2.5/with-house-greeting/docker variant 2/2 pass@1 100% lift +100 pts (95% +7…+100, 2/2 vs 0/2)
|
|
193
193
|
effort: tools 3 vs 8 (×0.38), agent 9s vs 18s (×0.50): too few attempts to test
|
|
194
194
|
```
|
|
195
195
|
|
|
@@ -225,8 +225,8 @@ record. To see what an attempt did step by step, add `-v`: a timestamped line pe
|
|
|
225
225
|
container, setup, brokering, each tool call, checks, judge calls, every gateway request).
|
|
226
226
|
`-vv` adds the raw payloads and every `docker` command. Either way each attempt's trace is
|
|
227
227
|
kept locally in `.reeval/debug`, never in the committed history. Commit runs into `evals/.history/` with `reeval record`, then track them with `reeval history`
|
|
228
|
-
and `reeval compare`, or ask across runs with SQL: `reeval query lift`, `reeval query effort` (tool calls
|
|
229
|
-
agent time, variant against control), `reeval query factor_effects`, or
|
|
228
|
+
and `reeval compare`, or ask across runs with SQL: `reeval query lift`, `reeval query effort` (tool calls,
|
|
229
|
+
agent time and tokens, variant against control), `reeval query factor_effects`, or
|
|
230
230
|
`reeval query "SELECT * FROM failing_attempts WHERE skill = 'house-greeting'"`. Where the harness
|
|
231
231
|
reports them (Cursor, Claude Code, Antigravity, pi and Codex do), the record keeps each turn's tokens and the model that
|
|
232
232
|
served it, and totals them per attempt and per run.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { a as fromCwd } from "./ids-Bp6ut7ZD.js";
|
|
2
|
-
import { a as
|
|
3
|
-
import { a as
|
|
4
|
-
import { a as stagedAttempts, i as listOutcomes, n as divergence, t as attemptSummary } from "./tools-
|
|
5
|
-
import { z } from "zod";
|
|
2
|
+
import { a as providerModel } from "./model-B1BZoZ9b.js";
|
|
3
|
+
import { a as notesDir, u as writeNote } from "./files-DJUFg-4e.js";
|
|
4
|
+
import { a as stagedAttempts, i as listOutcomes, n as divergence, t as attemptSummary } from "./tools-B10Uj7OI.js";
|
|
6
5
|
import { generateText, stepCountIs, tool } from "ai";
|
|
6
|
+
import { z } from "zod";
|
|
7
7
|
/** Pairs the fake compares, as a careful model would: a few, not all of them. */
|
|
8
8
|
const FAKE_PAIRS = 3;
|
|
9
9
|
const NOTE_PROMPT = `You write a short note on how one coding agent (the harness) did on one eval of a reeval run. You can't see transcripts; read the attempts with the tools.
|
|
@@ -301,7 +301,7 @@ function startNotes({ config, model, runId, stagingDir, planned, warn }) {
|
|
|
301
301
|
*/
|
|
302
302
|
async function summarizeRun(config, runId, model) {
|
|
303
303
|
try {
|
|
304
|
-
const { writeRunSummary } = await import("./summary-
|
|
304
|
+
const { writeRunSummary } = await import("./summary-2OAWF2N7.js");
|
|
305
305
|
const { doc, path } = await writeRunSummary({
|
|
306
306
|
config,
|
|
307
307
|
runId,
|
|
@@ -331,4 +331,4 @@ const notesLine = (root, runId, notes) => {
|
|
|
331
331
|
//#endregion
|
|
332
332
|
export { notesLine, startNotes, summarizeRun };
|
|
333
333
|
|
|
334
|
-
//# sourceMappingURL=agent-
|
|
334
|
+
//# sourceMappingURL=agent-6FefIhX7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-
|
|
1
|
+
{"version":3,"file":"agent-6FefIhX7.js","names":[],"sources":["../src/analysis/agent/note.ts","../src/analysis/agent/index.ts"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as InfraError } from "./types-C5vI3g1C.js";
|
|
2
|
-
import { d as agentFor, f as authHint, u as agentAuth } from "./egress-
|
|
3
|
-
import { B as WORKSPACE_DIR, R as SANDBOX_ROOT } from "./src-
|
|
2
|
+
import { d as agentFor, f as authHint, u as agentAuth } from "./egress-BhzNh7Yi.js";
|
|
3
|
+
import { B as WORKSPACE_DIR, R as SANDBOX_ROOT } from "./src-8rRXy4u9.js";
|
|
4
4
|
import { i as debugTrace, r as debugLog } from "./attempt-CGPV3BZY.js";
|
|
5
|
-
import { t as addUsage } from "./usage-
|
|
6
|
-
import { n as isDockerSandbox } from "./docker-
|
|
5
|
+
import { t as addUsage } from "./usage-DDF_6tkV.js";
|
|
6
|
+
import { n as isDockerSandbox } from "./docker-CRQGQbIt.js";
|
|
7
7
|
import { HarnessAgent } from "@ai-sdk/harness/agent";
|
|
8
8
|
//#region src/harness/transcript.ts
|
|
9
9
|
const str = (value) => typeof value === "string" ? value : "";
|
|
@@ -236,7 +236,7 @@ function normaliseStream(parts, startedAt) {
|
|
|
236
236
|
});
|
|
237
237
|
return;
|
|
238
238
|
}
|
|
239
|
-
if (name === "webSearch"
|
|
239
|
+
if (name === "webSearch") {
|
|
240
240
|
out.push({
|
|
241
241
|
at: call.ms,
|
|
242
242
|
event: {
|
|
@@ -244,7 +244,8 @@ function normaliseStream(parts, startedAt) {
|
|
|
244
244
|
type: "web-search",
|
|
245
245
|
toolCallId: id,
|
|
246
246
|
query: str(input.searchTerm) || str(input.query),
|
|
247
|
-
references: searchReferences(output)
|
|
247
|
+
references: failed ? null : searchReferences(output),
|
|
248
|
+
ok: !failed
|
|
248
249
|
}
|
|
249
250
|
});
|
|
250
251
|
return;
|
|
@@ -348,19 +349,53 @@ function normaliseStream(parts, startedAt) {
|
|
|
348
349
|
}
|
|
349
350
|
}
|
|
350
351
|
}
|
|
351
|
-
for (const [id, call] of pending)
|
|
352
|
-
|
|
353
|
-
|
|
352
|
+
for (const [id, call] of pending) {
|
|
353
|
+
const name = toolName(call.part);
|
|
354
|
+
const input = record(call.part.input);
|
|
355
|
+
const base = {
|
|
354
356
|
...stamp(call.ms),
|
|
355
|
-
type: "tool",
|
|
356
|
-
toolCallId: id,
|
|
357
|
-
tool: toolName(call.part),
|
|
358
|
-
input: call.part.input,
|
|
359
|
-
output: null,
|
|
360
|
-
ok: false,
|
|
361
357
|
durationMs: null
|
|
358
|
+
};
|
|
359
|
+
if (name === "webSearch") {
|
|
360
|
+
out.push({
|
|
361
|
+
at: call.ms,
|
|
362
|
+
event: {
|
|
363
|
+
...base,
|
|
364
|
+
type: "web-search",
|
|
365
|
+
toolCallId: id,
|
|
366
|
+
query: str(input.searchTerm) || str(input.query),
|
|
367
|
+
references: null,
|
|
368
|
+
ok: false
|
|
369
|
+
}
|
|
370
|
+
});
|
|
371
|
+
continue;
|
|
362
372
|
}
|
|
363
|
-
|
|
373
|
+
if (name === "webFetch" || name === "WebFetch") {
|
|
374
|
+
out.push({
|
|
375
|
+
at: call.ms,
|
|
376
|
+
event: {
|
|
377
|
+
...base,
|
|
378
|
+
type: "web-fetch",
|
|
379
|
+
toolCallId: id,
|
|
380
|
+
url: str(input.url),
|
|
381
|
+
ok: false
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
continue;
|
|
385
|
+
}
|
|
386
|
+
out.push({
|
|
387
|
+
at: call.ms,
|
|
388
|
+
event: {
|
|
389
|
+
...base,
|
|
390
|
+
type: "tool",
|
|
391
|
+
toolCallId: id,
|
|
392
|
+
tool: name,
|
|
393
|
+
input: call.part.input,
|
|
394
|
+
output: null,
|
|
395
|
+
ok: false
|
|
396
|
+
}
|
|
397
|
+
});
|
|
398
|
+
}
|
|
364
399
|
for (const [, block] of blocks) if (block.text.trim()) out.push({
|
|
365
400
|
at: block.ms,
|
|
366
401
|
event: {
|
|
@@ -529,4 +564,4 @@ function createAgentHarness(descriptor) {
|
|
|
529
564
|
//#endregion
|
|
530
565
|
export { createAgentHarness };
|
|
531
566
|
|
|
532
|
-
//# sourceMappingURL=agent-
|
|
567
|
+
//# sourceMappingURL=agent-WSmTaesf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-WSmTaesf.js","names":[],"sources":["../src/harness/transcript.ts","../src/harness/agent.ts"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
//#region src/view/analysis.ts
|
|
2
2
|
/** Bumped when the system prompt or output schema changes: an older analysis is superseded. */
|
|
3
|
-
const ANALYSIS_PROMPT_VERSION = "analysis-
|
|
3
|
+
const ANALYSIS_PROMPT_VERSION = "analysis-v9";
|
|
4
4
|
/** Bumped when the digest's shape or selection rules change. */
|
|
5
|
-
const DIGEST_VERSION =
|
|
5
|
+
const DIGEST_VERSION = 8;
|
|
6
6
|
const analysisDataPath = (runId) => `data/analysis/${runId}.json`;
|
|
7
7
|
/** The newest analysis that wrote a TL;DR, for the studio run header. */
|
|
8
8
|
function pinnedAnalysis(entries) {
|
|
@@ -13,8 +13,8 @@ function sortAnalyses(entries) {
|
|
|
13
13
|
return [...entries].sort((a, b) => a.doc.createdAt === b.doc.createdAt ? a.source === b.source ? 0 : a.source === "saved" ? -1 : 1 : a.doc.createdAt < b.doc.createdAt ? 1 : -1);
|
|
14
14
|
}
|
|
15
15
|
/** Superseded by a newer prompt or digest version: the studio says so. */
|
|
16
|
-
const isSuperseded = (doc) => doc.promptVersion !== "analysis-
|
|
16
|
+
const isSuperseded = (doc) => doc.promptVersion !== "analysis-v9" || doc.inputs.digestVersion !== 8;
|
|
17
17
|
//#endregion
|
|
18
18
|
export { pinnedAnalysis as a, isSuperseded as i, DIGEST_VERSION as n, sortAnalyses as o, analysisDataPath as r, ANALYSIS_PROMPT_VERSION as t };
|
|
19
19
|
|
|
20
|
-
//# sourceMappingURL=analysis-
|
|
20
|
+
//# sourceMappingURL=analysis-DlGBDjTj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-
|
|
1
|
+
{"version":3,"file":"analysis-DlGBDjTj.js","names":[],"sources":["../src/view/analysis.ts"],"mappings":";;AAIA,MAAa,0BAA0B;;AAEvC,MAAa,iBAAiB;AAwI9B,MAAa,oBAAoB,UAAkB,iBAAiB,MAAM;;AAG1E,SAAgB,eAAe,SAA8D;CAC3F,OAAO,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAC/B,MAAM,EAAE,IAAI,UAAU,KAAA,KAAa,EAAE,IAAI,SAAS,KAAK,SAAS,CACnE;AACF;;AAGA,SAAgB,aAAa,SAA2C;CACtE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,MAC3B,EAAE,IAAI,cAAc,EAAE,IAAI,YACtB,EAAE,WAAW,EAAE,SACb,IACA,EAAE,WAAW,UACX,KACA,IACJ,EAAE,IAAI,YAAY,EAAE,IAAI,YACtB,IACA,EACR;AACF;;AAGA,MAAa,gBAAgB,QAC3B,IAAI,kBAAA,iBAA6C,IAAI,OAAO,kBAAA"}
|
|
@@ -1,16 +1,185 @@
|
|
|
1
1
|
import { r as isTimeout } from "./errors-yDAEwmZo.js";
|
|
2
2
|
import { o as redactSecrets } from "./redact-DJ9JCShu.js";
|
|
3
|
-
import { u as environmentSandbox } from "./environment-
|
|
3
|
+
import { u as environmentSandbox } from "./environment-1jE-HhO-.js";
|
|
4
4
|
import { i as evalSlug, l as sha256, n as attemptKey, s as recordFileName, t as attemptId } from "./ids-Bp6ut7ZD.js";
|
|
5
|
-
import { c as judgeModelName } from "./judge-
|
|
6
|
-
import { d as sandboxId, s as harnessId, u as profileJudge } from "./options-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { a as packageVersions, r as judgeVersion, t as FINGERPRINT_SCOPE } from "./state-
|
|
11
|
-
import { a as previousAttempt, n as isCompletedAttempt } from "./resume-
|
|
5
|
+
import { c as judgeModelName } from "./judge-CeYPN8P_.js";
|
|
6
|
+
import { _ as resolvedEffortOf, d as sandboxId, g as harnessEffort, s as harnessId, u as profileJudge, v as servedEffortOf } from "./options-CKqyPGxX.js";
|
|
7
|
+
import { n as promptTokens, r as sumUsage } from "./usage-DDF_6tkV.js";
|
|
8
|
+
import { r as patchForJudge, t as collapseDependencies } from "./patch-bDV8YFW0.js";
|
|
9
|
+
import { Y as effortSample, at as median, ct as signedRank, it as meanInterval, lt as wilson, nt as liftInterval, ot as pairedLiftInterval, rt as mcnemar, st as round3 } from "./model-BOnlAPzs.js";
|
|
10
|
+
import { a as packageVersions, r as judgeVersion, t as FINGERPRINT_SCOPE } from "./state-CiXyLqg0.js";
|
|
11
|
+
import { a as previousAttempt, n as isCompletedAttempt } from "./resume-SUz1GskV.js";
|
|
12
12
|
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
13
13
|
import { readFile, stat } from "node:fs/promises";
|
|
14
|
+
//#region src/history/families.ts
|
|
15
|
+
const isCounted = (a) => a.outcome === "pass" || a.outcome === "fail";
|
|
16
|
+
function sideOf$1(entry, cell) {
|
|
17
|
+
const counted = entry.attempts.filter((a) => a.cell === cell && isCounted(a));
|
|
18
|
+
if (!counted.length) return null;
|
|
19
|
+
return {
|
|
20
|
+
pass: counted.filter((a) => a.outcome === "pass").length,
|
|
21
|
+
counted: counted.length,
|
|
22
|
+
samples: counted.map(effortSample)
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const clamp = (x, lo, hi) => Math.min(hi, Math.max(lo, x));
|
|
26
|
+
const interval = (lo, hi, method, bound) => ({
|
|
27
|
+
lo: round3(clamp(lo, ...bound)),
|
|
28
|
+
hi: round3(clamp(hi, ...bound)),
|
|
29
|
+
level: .95,
|
|
30
|
+
method
|
|
31
|
+
});
|
|
32
|
+
function rateOf(cell, sides) {
|
|
33
|
+
const pass = sides.reduce((s, x) => s + x.pass, 0);
|
|
34
|
+
const counted = sides.reduce((s, x) => s + x.counted, 0);
|
|
35
|
+
const single = sides.every((x) => x.counted === 1);
|
|
36
|
+
const rates = sides.map((x) => x.pass / x.counted);
|
|
37
|
+
const t = meanInterval(rates);
|
|
38
|
+
const w = wilson(pass, counted);
|
|
39
|
+
return {
|
|
40
|
+
cell,
|
|
41
|
+
cases: sides.length,
|
|
42
|
+
pass,
|
|
43
|
+
counted,
|
|
44
|
+
rate: round3(t.mean),
|
|
45
|
+
interval: single ? interval(w.low, w.high, "wilson", [0, 1]) : interval(t.low, t.high, "t-cases", [0, 1])
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function metric(pairs) {
|
|
49
|
+
const differences = pairs.map(([v, c]) => v - c);
|
|
50
|
+
const control = median(pairs.map(([, c]) => c)) ?? 0;
|
|
51
|
+
const variant = median(pairs.map(([v]) => v)) ?? 0;
|
|
52
|
+
const p = signedRank(differences);
|
|
53
|
+
const verdict = differences.filter((d) => d !== 0).length < 6 ? "insufficient" : p === null || p >= .05 ? "noise" : (median(differences) ?? 0) < 0 ? "fewer" : "more";
|
|
54
|
+
return {
|
|
55
|
+
pairs: pairs.length,
|
|
56
|
+
ratio: control === 0 ? null : round3(variant / control),
|
|
57
|
+
p: p === null ? null : round3(p),
|
|
58
|
+
verdict
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function effortOf(pairs) {
|
|
62
|
+
const per = (pick) => pairs.flatMap(([v, c]) => {
|
|
63
|
+
const vs = v.samples.map(pick);
|
|
64
|
+
const cs = c.samples.map(pick);
|
|
65
|
+
if (vs.some((x) => x === void 0) || cs.some((x) => x === void 0)) return [];
|
|
66
|
+
return [[median(vs) ?? 0, median(cs) ?? 0]];
|
|
67
|
+
});
|
|
68
|
+
const tokens = per((s) => s.tokens);
|
|
69
|
+
return {
|
|
70
|
+
tools: metric(per((s) => s.tools)),
|
|
71
|
+
agentMs: metric(per((s) => s.agentMs)),
|
|
72
|
+
...tokens.length ? { tokens: metric(tokens) } : {}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function liftOf$1(variant, control, cases, minLift) {
|
|
76
|
+
const pairs = cases.flatMap((e) => {
|
|
77
|
+
const v = sideOf$1(e, variant);
|
|
78
|
+
const c = sideOf$1(e, control);
|
|
79
|
+
return v && c ? [[v, c]] : [];
|
|
80
|
+
});
|
|
81
|
+
if (!pairs.length) return null;
|
|
82
|
+
const single = pairs.every(([v, c]) => v.counted === 1 && c.counted === 1);
|
|
83
|
+
const vRates = pairs.map(([v]) => v.pass / v.counted);
|
|
84
|
+
const cRates = pairs.map(([, c]) => c.pass / c.counted);
|
|
85
|
+
const mean = (xs) => xs.reduce((s, x) => s + x, 0) / xs.length;
|
|
86
|
+
let points;
|
|
87
|
+
let range;
|
|
88
|
+
let p;
|
|
89
|
+
let discordant;
|
|
90
|
+
let decided;
|
|
91
|
+
if (single) {
|
|
92
|
+
const counts = {
|
|
93
|
+
both: 0,
|
|
94
|
+
variantOnly: 0,
|
|
95
|
+
controlOnly: 0,
|
|
96
|
+
neither: 0
|
|
97
|
+
};
|
|
98
|
+
for (const [v, c] of pairs) if (v.pass && c.pass) counts.both++;
|
|
99
|
+
else if (v.pass) counts.variantOnly++;
|
|
100
|
+
else if (c.pass) counts.controlOnly++;
|
|
101
|
+
else counts.neither++;
|
|
102
|
+
const paired = pairedLiftInterval(counts);
|
|
103
|
+
points = paired.points;
|
|
104
|
+
range = interval(paired.low, paired.high, "newcombe-paired", [-1, 1]);
|
|
105
|
+
p = round3(mcnemar(counts.variantOnly, counts.controlOnly));
|
|
106
|
+
discordant = {
|
|
107
|
+
variantOnly: counts.variantOnly,
|
|
108
|
+
controlOnly: counts.controlOnly
|
|
109
|
+
};
|
|
110
|
+
decided = counts.variantOnly + counts.controlOnly >= 6;
|
|
111
|
+
} else {
|
|
112
|
+
const differences = vRates.map((r, i) => r - cRates[i]);
|
|
113
|
+
const t = meanInterval(differences);
|
|
114
|
+
points = t.mean;
|
|
115
|
+
range = interval(t.low, t.high, "t-cases", [-1, 1]);
|
|
116
|
+
const rank = signedRank(differences);
|
|
117
|
+
p = rank === null ? null : round3(rank);
|
|
118
|
+
decided = pairs.length >= 6;
|
|
119
|
+
}
|
|
120
|
+
const verdict = !decided ? "insufficient" : range.lo > 0 ? "lift" : range.hi < 0 ? "drop" : "noise";
|
|
121
|
+
return {
|
|
122
|
+
variant,
|
|
123
|
+
vs: control,
|
|
124
|
+
pairs: pairs.length,
|
|
125
|
+
variantRate: round3(mean(vRates)),
|
|
126
|
+
controlRate: round3(mean(cRates)),
|
|
127
|
+
...discordant ? { discordant } : {},
|
|
128
|
+
points: round3(points),
|
|
129
|
+
interval: range,
|
|
130
|
+
p,
|
|
131
|
+
withinNoise: range.lo < 0 && range.hi > 0,
|
|
132
|
+
verdict,
|
|
133
|
+
...minLift !== void 0 ? { minLift } : {},
|
|
134
|
+
outcome: minLift !== void 0 && range.lo < minLift ? "fail" : "pass",
|
|
135
|
+
effort: effortOf(pairs)
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The run's pooled families, in the order their first case appears; `minLiftOf` gives a variant
|
|
140
|
+
* cell's `compare.minLift`.
|
|
141
|
+
*/
|
|
142
|
+
function familiesOf(evals, minLiftOf) {
|
|
143
|
+
const byId = /* @__PURE__ */ new Map();
|
|
144
|
+
for (const e of evals) {
|
|
145
|
+
if (!e.family || e.todo) continue;
|
|
146
|
+
byId.set(e.family.id, [...byId.get(e.family.id) ?? [], e]);
|
|
147
|
+
}
|
|
148
|
+
return [...byId.values()].map((members) => {
|
|
149
|
+
const cases = [...members].sort((a, b) => (a.family?.case ?? 0) - (b.family?.case ?? 0));
|
|
150
|
+
const first = cases[0];
|
|
151
|
+
const family = first.family;
|
|
152
|
+
const cellKeys = [];
|
|
153
|
+
for (const e of cases) for (const c of e.cells) if (!cellKeys.includes(c.key)) cellKeys.push(c.key);
|
|
154
|
+
const rates = cellKeys.flatMap((key) => {
|
|
155
|
+
const sides = cases.flatMap((e) => sideOf$1(e, key) ?? []);
|
|
156
|
+
return sides.length ? [rateOf(key, sides)] : [];
|
|
157
|
+
});
|
|
158
|
+
const lifts = [];
|
|
159
|
+
for (const key of cellKeys) {
|
|
160
|
+
const holder = cases.find((e) => e.cells.some((c) => c.key === key && c.role === "variant"));
|
|
161
|
+
const variant = holder?.cells.find((c) => c.key === key);
|
|
162
|
+
if (!holder || !variant) continue;
|
|
163
|
+
const control = holder.cells.find((c) => c.role === "control" && c.harness === variant.harness && c.sandbox === variant.sandbox);
|
|
164
|
+
if (!control) continue;
|
|
165
|
+
const minLift = cases.flatMap((e) => e.cells.filter((c) => c.key === key)).map(minLiftOf).find((m) => m !== void 0);
|
|
166
|
+
const lift = liftOf$1(key, control.key, cases, minLift);
|
|
167
|
+
if (lift) lifts.push(lift);
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
id: family.id,
|
|
171
|
+
file: first.file,
|
|
172
|
+
group: first.group,
|
|
173
|
+
name: family.name,
|
|
174
|
+
cases: family.cases,
|
|
175
|
+
ran: cases.length,
|
|
176
|
+
rates,
|
|
177
|
+
lifts,
|
|
178
|
+
outcome: lifts.some((l) => l.outcome === "fail") ? "fail" : "pass"
|
|
179
|
+
};
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
//#endregion
|
|
14
183
|
//#region src/history/sources.ts
|
|
15
184
|
/** `from '…'`, `import '…'`, `import('…')` and `export … from '…'`, with a literal specifier. */
|
|
16
185
|
const SPECIFIER = /(?:\bfrom\s*|\bimport\s*\(\s*|\bimport\s+)(['"])((?:\.{1,2}\/|\/)[^'"]+)\1/g;
|
|
@@ -301,7 +470,8 @@ var Seen = class {
|
|
|
301
470
|
this.harnesses.set(cell.harness, {
|
|
302
471
|
id: cell.harness,
|
|
303
472
|
kind: h.kind,
|
|
304
|
-
model: harnessModel(h)
|
|
473
|
+
model: harnessModel(h),
|
|
474
|
+
effort: harnessEffort(h) ?? null
|
|
305
475
|
});
|
|
306
476
|
}
|
|
307
477
|
const resolved = this.resolvedHarnesses.get(cell.harness) ?? /* @__PURE__ */ new Set();
|
|
@@ -321,6 +491,7 @@ var Seen = class {
|
|
|
321
491
|
name: e.name,
|
|
322
492
|
tags: e.attempt?.tags ?? [],
|
|
323
493
|
...e.attempt?.plan.compare ? { compare: e.attempt.plan.compare } : {},
|
|
494
|
+
...e.attempt?.family ? { family: familyOf(e.attempt.family) } : {},
|
|
324
495
|
fingerprint: "",
|
|
325
496
|
sources,
|
|
326
497
|
outcome: "skipped",
|
|
@@ -334,6 +505,12 @@ var Seen = class {
|
|
|
334
505
|
return entry;
|
|
335
506
|
}
|
|
336
507
|
};
|
|
508
|
+
const familyOf = ({ id, name, case: index, cases }) => ({
|
|
509
|
+
id,
|
|
510
|
+
name,
|
|
511
|
+
case: index,
|
|
512
|
+
cases
|
|
513
|
+
});
|
|
337
514
|
const UNKNOWN_CELL = {
|
|
338
515
|
key: "unknown",
|
|
339
516
|
harness: "unknown",
|
|
@@ -362,6 +539,7 @@ function cellOf(entry, cell, gate, harness) {
|
|
|
362
539
|
environmentDigest: null,
|
|
363
540
|
harnessKind: harness?.kind ?? "unknown",
|
|
364
541
|
model: harness ? harnessModel(harness) : null,
|
|
542
|
+
effort: harness ? harnessEffort(harness) ?? null : null,
|
|
365
543
|
gate,
|
|
366
544
|
overrides: [],
|
|
367
545
|
runs: 0,
|
|
@@ -503,6 +681,8 @@ async function addAttempt(e, ctx, seen, out, judge, previous, previousArtifacts)
|
|
|
503
681
|
context,
|
|
504
682
|
egress: record?.egress ?? null,
|
|
505
683
|
servedModels: record?.servedModels ?? null,
|
|
684
|
+
effort: e.attempt ? harnessEffort(e.attempt.harness) ?? null : null,
|
|
685
|
+
servedEffort: servedEffortOf([...record?.servedModels ?? [], ...(record?.turns ?? []).map((t) => t.model)]) ?? null,
|
|
506
686
|
outcome,
|
|
507
687
|
error,
|
|
508
688
|
durationMs: e.durationMs,
|
|
@@ -556,6 +736,7 @@ async function attemptEvidence(record, dir, out, stagingRecord) {
|
|
|
556
736
|
text: t.text.length > TURN_TEXT_LIMIT ? `${t.text.slice(0, TURN_TEXT_LIMIT)}… [reeval: truncated ${t.text.length} characters; the whole message is the turn's last text event in transcript.jsonl]` : t.text
|
|
557
737
|
})),
|
|
558
738
|
usage: sumUsage((record?.turns ?? []).map((t) => t.usage)),
|
|
739
|
+
...record?.captureUse ? { captureUse: record.captureUse } : {},
|
|
559
740
|
timings: record?.timings ?? {
|
|
560
741
|
setupMs: 0,
|
|
561
742
|
agentMs: 0,
|
|
@@ -572,6 +753,7 @@ async function attemptEvidence(record, dir, out, stagingRecord) {
|
|
|
572
753
|
},
|
|
573
754
|
judgements,
|
|
574
755
|
...record?.startRetries?.length ? { startRetries: record.startRetries } : {},
|
|
756
|
+
...record?.assertions?.length ? { assertions: record.assertions } : {},
|
|
575
757
|
checks: (record?.checks ?? []).map((c, i) => ({
|
|
576
758
|
command: c.command,
|
|
577
759
|
exitCode: c.exitCode,
|
|
@@ -583,9 +765,9 @@ async function attemptEvidence(record, dir, out, stagingRecord) {
|
|
|
583
765
|
};
|
|
584
766
|
}
|
|
585
767
|
/** Lift of a variant cell over the control on the same harness and sandbox, with its interval. */
|
|
586
|
-
function liftOf(control, variant) {
|
|
768
|
+
function liftOf(control, variant, pooled) {
|
|
587
769
|
if (control.passRate === null || variant.passRate === null) return void 0;
|
|
588
|
-
const minLift = minLifts.get(variant);
|
|
770
|
+
const minLift = pooled ? void 0 : minLifts.get(variant);
|
|
589
771
|
const c = {
|
|
590
772
|
pass: control.pass,
|
|
591
773
|
counted: control.pass + control.fail
|
|
@@ -617,6 +799,53 @@ function liftOf(control, variant) {
|
|
|
617
799
|
};
|
|
618
800
|
}
|
|
619
801
|
/**
|
|
802
|
+
* Each cell's checks: every label any attempt of the eval recorded, tallied over the cell's
|
|
803
|
+
* counted attempts (pass or fail). An attempt that counted without reaching a label, because
|
|
804
|
+
* a hard `expect` before it failed, counts it `notRun`.
|
|
805
|
+
*/
|
|
806
|
+
function checkTallies(entry) {
|
|
807
|
+
const labels = [...new Set(entry.attempts.flatMap((a) => (a.assertions ?? []).map((x) => x.label)))];
|
|
808
|
+
if (!labels.length) return;
|
|
809
|
+
for (const c of entry.cells) {
|
|
810
|
+
const counted = entry.attempts.filter((a) => a.cell === c.key && (a.outcome === "pass" || a.outcome === "fail"));
|
|
811
|
+
if (!counted.length) continue;
|
|
812
|
+
c.checks = labels.map((label) => {
|
|
813
|
+
const tally = {
|
|
814
|
+
label,
|
|
815
|
+
pass: 0,
|
|
816
|
+
fail: 0,
|
|
817
|
+
error: 0,
|
|
818
|
+
notRun: 0
|
|
819
|
+
};
|
|
820
|
+
for (const a of counted) {
|
|
821
|
+
const status = a.assertions?.find((x) => x.label === label)?.status;
|
|
822
|
+
if (status === void 0) tally.notRun++;
|
|
823
|
+
else tally[status]++;
|
|
824
|
+
}
|
|
825
|
+
return tally;
|
|
826
|
+
});
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
/** Where every counted attempt that answered a check passed it (`all`), none did, or some. */
|
|
830
|
+
const sideOf = (t) => {
|
|
831
|
+
const answered = t.pass + t.fail + t.notRun;
|
|
832
|
+
if (answered === 0) return void 0;
|
|
833
|
+
return t.pass === answered ? "all" : t.pass === 0 ? "none" : "some";
|
|
834
|
+
};
|
|
835
|
+
/** Puts the control's tally beside each of the variant's checks, with whether it discriminates. */
|
|
836
|
+
function discrimination(control, variant) {
|
|
837
|
+
for (const check of variant.checks ?? []) {
|
|
838
|
+
const k = control.checks?.find((x) => x.label === check.label);
|
|
839
|
+
if (!k) continue;
|
|
840
|
+
const { label: _label, ...tally } = k;
|
|
841
|
+
check.control = tally;
|
|
842
|
+
const v = sideOf(check);
|
|
843
|
+
const c = sideOf(k);
|
|
844
|
+
if (v === void 0 || c === void 0) continue;
|
|
845
|
+
check.verdict = v === "all" && c === "all" ? "both-pass" : v === "none" && c === "none" ? "both-fail" : v === "all" && c === "none" || v === "none" && c === "all" ? "discriminates" : "mixed";
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
620
849
|
* A cell's outcome by its gate. `'all'` matches `{ passRate: 1 }`: every counted attempt must
|
|
621
850
|
* pass, and it is an infra error only when nothing counted. `'none'` takes the worst attempt.
|
|
622
851
|
*/
|
|
@@ -640,10 +869,12 @@ function rollUp(evals) {
|
|
|
640
869
|
c.passRate = passRateOf(outcomes);
|
|
641
870
|
c.outcome = cellOutcome(outcomes, c.gate);
|
|
642
871
|
}
|
|
872
|
+
checkTallies(entry);
|
|
643
873
|
for (const c of entry.cells) {
|
|
644
874
|
if (c.role !== "variant") continue;
|
|
645
875
|
const control = entry.cells.find((x) => x.role === "control" && x.harness === c.harness && x.sandbox === c.sandbox);
|
|
646
|
-
|
|
876
|
+
if (control) discrimination(control, c);
|
|
877
|
+
const lift = control && liftOf(control, c, entry.family !== void 0);
|
|
647
878
|
if (!lift) continue;
|
|
648
879
|
c.lift = lift;
|
|
649
880
|
if (lift.minLift !== void 0 && lift.interval.lo < lift.minLift && c.outcome === "pass") c.outcome = "fail";
|
|
@@ -693,10 +924,14 @@ function stackOf(input, seen, judgeModel, threshold) {
|
|
|
693
924
|
arch: process.arch,
|
|
694
925
|
images: [...seen.images.values()].sort(byName((i) => i.ref)),
|
|
695
926
|
packages,
|
|
696
|
-
harnesses: [...seen.harnesses.values()].map((h) =>
|
|
697
|
-
...h
|
|
698
|
-
|
|
699
|
-
|
|
927
|
+
harnesses: [...seen.harnesses.values()].map((h) => {
|
|
928
|
+
const resolvedModels = [...seen.resolvedHarnesses.get(h.id) ?? []].sort();
|
|
929
|
+
return {
|
|
930
|
+
...h,
|
|
931
|
+
resolvedModels,
|
|
932
|
+
resolvedEffort: resolvedEffortOf(resolvedModels)
|
|
933
|
+
};
|
|
934
|
+
}).sort(byName((h) => h.id)),
|
|
700
935
|
judge: {
|
|
701
936
|
model: judgeModel,
|
|
702
937
|
resolvedModels: [...seen.resolvedJudges].sort(),
|
|
@@ -753,7 +988,12 @@ async function assembleRun(input) {
|
|
|
753
988
|
}
|
|
754
989
|
}
|
|
755
990
|
const evals = [...seen.byEval.values()];
|
|
991
|
+
for (const entry of evals) {
|
|
992
|
+
const before = input.previous?.evals.find((p) => p.id === entry.id)?.family;
|
|
993
|
+
if (!entry.family && before) entry.family = before;
|
|
994
|
+
}
|
|
756
995
|
rollUp(evals);
|
|
996
|
+
const families = familiesOf(evals, (cell) => minLifts.get(cell));
|
|
757
997
|
sequence(evals);
|
|
758
998
|
for (const e of evals) {
|
|
759
999
|
const answers = input.answers?.get(e.id);
|
|
@@ -821,7 +1061,8 @@ async function assembleRun(input) {
|
|
|
821
1061
|
infraError: count("infra_error"),
|
|
822
1062
|
skipped: count("skipped")
|
|
823
1063
|
},
|
|
824
|
-
evals
|
|
1064
|
+
evals,
|
|
1065
|
+
...families.length ? { families } : {}
|
|
825
1066
|
},
|
|
826
1067
|
artifacts: out.files
|
|
827
1068
|
};
|
|
@@ -829,4 +1070,4 @@ async function assembleRun(input) {
|
|
|
829
1070
|
//#endregion
|
|
830
1071
|
export { fingerprintOf as a, transcriptLines as c, cellOutcome as i, worstOutcome as l, assembleRun as n, judgementKey as o, capText as r, mergeOutcome as s, OUTPUT_CAP as t };
|
|
831
1072
|
|
|
832
|
-
//# sourceMappingURL=assemble-
|
|
1073
|
+
//# sourceMappingURL=assemble-BCZzTyR7.js.map
|