reeval 0.10.0 → 0.12.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 +64 -39
- package/THIRD_PARTY_NOTICES.md +75 -106
- package/bin/mcp-timer.cjs +224 -0
- package/dist/{adapter-DWlpOtRn.js → adapter-DigeVFWC.js} +3 -3
- package/dist/{adapter-DWlpOtRn.js.map → adapter-DigeVFWC.js.map} +1 -1
- package/dist/{agent-CaS_2Sce.js → agent-CatUEo5h.js} +21 -6
- package/dist/{agent-CaS_2Sce.js.map → agent-CatUEo5h.js.map} +1 -1
- package/dist/{assemble-B9Alds-z.js → assemble-CF063ms6.js} +19 -17
- package/dist/assemble-CF063ms6.js.map +1 -0
- package/dist/assemble-CJoD_Rzr.js +1 -0
- package/dist/bridge/index.mjs +15 -7
- package/dist/{capture-CNb9SuU5.js → capture-BiD7lVaM.js} +26 -18
- package/dist/{capture-CNb9SuU5.js.map → capture-BiD7lVaM.js.map} +1 -1
- package/dist/capture-Dp3q7K7Y.js +1 -0
- package/dist/{cli-D303Vj5N.js → cli-B5zQCR2r.js} +266 -547
- package/dist/cli-B5zQCR2r.js.map +1 -0
- package/dist/{cli-spec-BPZbQG2p.js → cli-spec-BXIBUlaK.js} +46 -18
- package/dist/cli-spec-BXIBUlaK.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/{command-BT9a37ZR.js → command-BMHXHqMT.js} +17 -14
- package/dist/command-BMHXHqMT.js.map +1 -0
- package/dist/command-C94CQNh8.js +91 -0
- package/dist/command-C94CQNh8.js.map +1 -0
- package/dist/command-CVtgyqlM.js +335 -0
- package/dist/command-CVtgyqlM.js.map +1 -0
- package/dist/{command-BLfT7vnQ.js → command-CaZgCTIw.js} +13 -17
- package/dist/command-CaZgCTIw.js.map +1 -0
- package/dist/{command-CMJtHKRa.js → command-DTgBZR0k.js} +6 -6
- package/dist/{command-CMJtHKRa.js.map → command-DTgBZR0k.js.map} +1 -1
- package/dist/{commands-1p-bIWhN.js → commands-BXzIDB3X.js} +1 -1
- package/dist/commands-CjpGBUWr.js +666 -0
- package/dist/commands-CjpGBUWr.js.map +1 -0
- package/dist/{config-DEgnUiU-.js → config-Dv5MG7Rp.js} +31 -34
- package/dist/config-Dv5MG7Rp.js.map +1 -0
- package/dist/{context-C1mxXh80.js → context-Dgn48BqT.js} +13 -2
- package/dist/context-Dgn48BqT.js.map +1 -0
- package/dist/contrasts-CcoMLC_y.js +101 -0
- package/dist/contrasts-CcoMLC_y.js.map +1 -0
- package/dist/db-BeqRiWLl.js +602 -0
- package/dist/db-BeqRiWLl.js.map +1 -0
- package/dist/db-CJDRVQal.js +2 -0
- package/dist/{dist-B8hJImYt.js → dist-CMjp3qqF.js} +81 -14
- package/dist/dist-CMjp3qqF.js.map +1 -0
- package/dist/{docker-sZrNrr82.js → docker-BbTlMmYi.js} +2 -2
- package/dist/{docker-sZrNrr82.js.map → docker-BbTlMmYi.js.map} +1 -1
- package/dist/{docker-7b_2SaH7.js → docker-CCXdbREk.js} +20 -4
- package/dist/{docker-7b_2SaH7.js.map → docker-CCXdbREk.js.map} +1 -1
- package/dist/{docker-yauK-9X8.js → docker-DC69dKxB.js} +1 -1
- package/dist/{doctor-BYNok4UO.js → doctor-CqttrZcs.js} +56 -22
- package/dist/doctor-CqttrZcs.js.map +1 -0
- package/dist/{egress-C4PZTSSe.js → egress-BfK_O9ce.js} +435 -31
- package/dist/egress-BfK_O9ce.js.map +1 -0
- package/dist/{environment-DNjRk0nU.js → environment-BBz1Yes9.js} +225 -12
- package/dist/environment-BBz1Yes9.js.map +1 -0
- package/dist/{evaluate-D4zeRGBF.js → evaluate-CXQ1o-pd.js} +539 -562
- package/dist/evaluate-CXQ1o-pd.js.map +1 -0
- package/dist/{evaluate-C1UVL21l.d.ts → evaluate-yjZKUexW.d.ts} +2 -2
- package/dist/facts-DtENlf9s.js +898 -0
- package/dist/facts-DtENlf9s.js.map +1 -0
- package/dist/{files-BXUdY8tr.js → files-B-eUpCZ1.js} +30 -7
- package/dist/files-B-eUpCZ1.js.map +1 -0
- package/dist/files-BsQbYz2i.js +65 -0
- package/dist/files-BsQbYz2i.js.map +1 -0
- package/dist/{files-DQmHE7pb.js → files-COHQLEHE.js} +6 -17
- package/dist/files-COHQLEHE.js.map +1 -0
- package/dist/files-DqCBW7i8.js +1 -0
- package/dist/files-Ha-jsQXf.js +1 -0
- package/dist/generate-Cs2TMH_k.js +1647 -0
- package/dist/generate-Cs2TMH_k.js.map +1 -0
- package/dist/{git-DfG-YJ1u.js → git-DhykwgKF.js} +2 -2
- package/dist/{git-DfG-YJ1u.js.map → git-DhykwgKF.js.map} +1 -1
- package/dist/{harness-B8QC9u0O.js → harness-BAjw1fcr.js} +3 -3
- package/dist/{harness-B8QC9u0O.js.map → harness-BAjw1fcr.js.map} +1 -1
- package/dist/harness.d.ts +1 -1
- package/dist/harness.js +1 -1
- package/dist/{header-hK-Z_Po9.js → header-kSmWatcO.js} +10 -3
- package/dist/{header-hK-Z_Po9.js.map → header-kSmWatcO.js.map} +1 -1
- package/dist/{images-0On0cztu.js → images-BmJRuTpm.js} +61 -13
- package/dist/images-BmJRuTpm.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +4 -4
- package/dist/init-Bwc9byQr.js +543 -0
- package/dist/init-Bwc9byQr.js.map +1 -0
- package/dist/init-D7Y1ny1z.js +1 -0
- package/dist/insights-B2Xmhz9o.js +64 -0
- package/dist/insights-B2Xmhz9o.js.map +1 -0
- package/dist/{invocations-DbGfBAA_.js → invocations-CQTbP092.js} +3 -3
- package/dist/{invocations-DbGfBAA_.js.map → invocations-CQTbP092.js.map} +1 -1
- package/dist/{judge-DW_GDOmB.js → judge-Dt6KW6_O.js} +5 -3
- package/dist/judge-Dt6KW6_O.js.map +1 -0
- package/dist/judge.d.ts +7 -6
- package/dist/judge.js +8 -7
- package/dist/judge.js.map +1 -1
- package/dist/{live-jlfszAbb.js → live-DYd2QEyR.js} +2 -2
- package/dist/{live-jlfszAbb.js.map → live-DYd2QEyR.js.map} +1 -1
- package/dist/{model-h_cDtcRr.js → model-B-mel-Gv.js} +46 -20
- package/dist/model-B-mel-Gv.js.map +1 -0
- package/dist/model-BGKYVpoj.js +1 -0
- package/dist/{model-DaVCY3rb.js → model-C7tSwT7f.js} +2 -2
- package/dist/{model-DaVCY3rb.js.map → model-C7tSwT7f.js.map} +1 -1
- package/dist/{model-oqcDplJG.js → model-CWlAqmbU.js} +150 -46
- package/dist/model-CWlAqmbU.js.map +1 -0
- package/dist/model-DHY-dfoO.js +1 -0
- package/dist/{node-B3ydHo6t.js → node-D0mtjRAO.js} +3 -3
- package/dist/{node-B3ydHo6t.js.map → node-D0mtjRAO.js.map} +1 -1
- package/dist/{options-Bh2W63dK.js → options-CPUW97_7.js} +9 -12
- package/dist/options-CPUW97_7.js.map +1 -0
- package/dist/{pairs-CnInRu-G.js → pairs-DP6XOJby.js} +2 -2
- package/dist/{pairs-CnInRu-G.js.map → pairs-DP6XOJby.js.map} +1 -1
- package/dist/{patch-Zac5aIRM.js → patch-D4oluWzH.js} +2 -2
- package/dist/{patch-Zac5aIRM.js.map → patch-D4oluWzH.js.map} +1 -1
- package/dist/{plan-C9Cy27Ay.js → plan-OkwUcJQ9.js} +31 -12
- package/dist/plan-OkwUcJQ9.js.map +1 -0
- package/dist/plugins-CUWMnSNb.js +654 -0
- package/dist/plugins-CUWMnSNb.js.map +1 -0
- package/dist/{preflight-CPWpQeBI.js → preflight-B6pY89bF.js} +1 -1
- package/dist/{preflight-D7iFPKeK.js → preflight-Bjm7_ylE.js} +14 -10
- package/dist/preflight-Bjm7_ylE.js.map +1 -0
- package/dist/{prepare-doGxaAGR.js → prepare-CQmK3SBn.js} +71 -24
- package/dist/prepare-CQmK3SBn.js.map +1 -0
- package/dist/prepare-DbdgtZKe.js +2 -0
- package/dist/{provenance-DmE9uPVt.js → provenance-B3Y17oCC.js} +2 -2
- package/dist/{provenance-DmE9uPVt.js.map → provenance-B3Y17oCC.js.map} +1 -1
- package/dist/providers-CXN2RFz-.js +1 -0
- package/dist/{providers-tAOD1NQN.js → providers-eoniqK6w.js} +24 -10
- package/dist/providers-eoniqK6w.js.map +1 -0
- package/dist/query-CLRZmWBT.js +139 -0
- package/dist/query-CLRZmWBT.js.map +1 -0
- package/dist/query-CmBDYt0_.js +1 -0
- package/dist/{questions-DjAwMxZ3.js → questions-1XOulevV.js} +6 -6
- package/dist/{questions-DjAwMxZ3.js.map → questions-1XOulevV.js.map} +1 -1
- package/dist/{record-BKmMvZ6O.js → record-kk9M1hj-.js} +8 -4
- package/dist/record-kk9M1hj-.js.map +1 -0
- package/dist/remarks-1521zwfW.js +38 -0
- package/dist/remarks-1521zwfW.js.map +1 -0
- package/dist/remarks-BhAV1H4V.js +1 -0
- package/dist/remarks-DlJCqWRs.js +278 -0
- package/dist/remarks-DlJCqWRs.js.map +1 -0
- package/dist/{remote-HDRt16ew.js → remote-cE2VWfkJ.js} +3 -3
- package/dist/{remote-HDRt16ew.js.map → remote-cE2VWfkJ.js.map} +1 -1
- package/dist/resolve-C4zeccCH.js +724 -0
- package/dist/resolve-C4zeccCH.js.map +1 -0
- package/dist/resolve-D30yZYmB.js +1 -0
- package/dist/{results-DuauQI3Z.js → results-Drtt0uFl.js} +33 -7
- package/dist/results-Drtt0uFl.js.map +1 -0
- package/dist/{resume-BRfa8E_s.js → resume-BEFazUfy.js} +4 -4
- package/dist/{resume-BRfa8E_s.js.map → resume-BEFazUfy.js.map} +1 -1
- package/dist/rules-BFzQqPIm.js +317 -0
- package/dist/rules-BFzQqPIm.js.map +1 -0
- package/dist/run-BeMy92Us.js +88 -0
- package/dist/run-BeMy92Us.js.map +1 -0
- package/dist/{sandbox-D3A8oUb7.js → sandbox-CQaJj7n9.js} +2 -2
- package/dist/{sandbox-D3A8oUb7.js.map → sandbox-CQaJj7n9.js.map} +1 -1
- package/dist/sandbox.d.ts +1 -1
- package/dist/sandbox.js +1 -1
- package/dist/server-V4-2w0l8.js +1 -0
- package/dist/{server-XDleKaF_.js → server-xK0les4f.js} +8 -8
- package/dist/{server-XDleKaF_.js.map → server-xK0les4f.js.map} +1 -1
- package/dist/{shared-DYpIb1BI.js → shared-CA61BuPJ.js} +25 -3
- package/dist/shared-CA61BuPJ.js.map +1 -0
- package/dist/source-BDow_oW8.js +1 -0
- package/dist/{source-C8xumIWj.js → source-Q1hEKbCs.js} +2 -2
- package/dist/{source-C8xumIWj.js.map → source-Q1hEKbCs.js.map} +1 -1
- package/dist/src-B9L9yGKI.js +1 -0
- package/dist/{src-ofUaYbuY.js → src-Bcah6ZkT.js} +1 -1
- package/dist/{src-DvCg0NBs.js → src-BhmaorOU.js} +28 -6
- package/dist/{src-DvCg0NBs.js.map → src-BhmaorOU.js.map} +1 -1
- package/dist/{src-CF17Ug08.js → src-C0CeKiLU.js} +19 -4
- package/dist/{src-CF17Ug08.js.map → src-C0CeKiLU.js.map} +1 -1
- package/dist/src-C0xowZ3C.js +2 -0
- package/dist/src-CHIfIKUu.js +2 -0
- package/dist/src-DLtyz4w5.js +2 -0
- package/dist/src-DPIjmReZ.js +2 -0
- package/dist/{src-C_lPtowT.js → src-DXNh5mTr.js} +1 -1
- package/dist/{src-FGXhkEkH.js → src-DiLMkIr9.js} +142 -13
- package/dist/src-DiLMkIr9.js.map +1 -0
- package/dist/{src-B7treWa8.js → src-LekQrr_S.js} +324 -32
- package/dist/src-LekQrr_S.js.map +1 -0
- package/dist/src-bCnsA6Vp.js +2 -0
- package/dist/{src-u8_ixn_F.js → src-cbCb-MPy.js} +20 -4
- package/dist/src-cbCb-MPy.js.map +1 -0
- package/dist/{src-DvK0EIZx.js → src-qGoFkuJF.js} +55 -6
- package/dist/{src-DvK0EIZx.js.map → src-qGoFkuJF.js.map} +1 -1
- package/dist/{src-jzagbuqH.js → src-ynBVosfX.js} +1 -1
- package/dist/state-BQR_BCm4.js +1 -0
- package/dist/{state-C__9swoG.js → state-BmZ8QVZ8.js} +12 -12
- package/dist/{state-C__9swoG.js.map → state-BmZ8QVZ8.js.map} +1 -1
- package/dist/studio-app/assets/index-CnYJijyI.js +58 -0
- package/dist/studio-app/index.html +1 -1
- package/dist/suite-BaHPmAGy.js +1 -0
- package/dist/suite-C8sw2pox.js +481 -0
- package/dist/suite-C8sw2pox.js.map +1 -0
- package/dist/summary-0oQNGskv.js +837 -0
- package/dist/summary-0oQNGskv.js.map +1 -0
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +2 -2
- package/dist/{text-gEcKjAyp.js → text-CrVy5ioL.js} +18 -2
- package/dist/text-CrVy5ioL.js.map +1 -0
- package/dist/{transcript-BNNANU8A.js → transcript-BTxJpW4R.js} +2 -2
- package/dist/{transcript-BNNANU8A.js.map → transcript-BTxJpW4R.js.map} +1 -1
- package/dist/types-C5vI3g1C.js.map +1 -1
- package/dist/{types-g17bRAzt.d.ts → types-GraZtfHN.d.ts} +858 -39
- package/dist/usage-BDo2q_yu.js +1 -0
- package/dist/{command-Bge8F7Ko.js → validate-BdoXUuL_.js} +35 -383
- package/dist/validate-BdoXUuL_.js.map +1 -0
- package/dist/view/index.d.ts +20 -9
- package/dist/view/index.js +7 -6
- package/dist/views-BoUoX4_A.js +125 -0
- package/dist/views-BoUoX4_A.js.map +1 -0
- package/dist/views-noVQNCUP.js +2 -0
- package/dist/{worker-entry-yOchGYYv.js → worker-entry-D0-GErmU.js} +2 -2
- package/dist/{worker-entry-yOchGYYv.js.map → worker-entry-D0-GErmU.js.map} +1 -1
- package/dist/{workspace-D8sSgpiy.js → workspace-B90YDU_a.js} +1 -1
- package/dist/{workspace-CgyHEM0l.js → workspace-tjZFkjxC.js} +4 -4
- package/dist/{workspace-CgyHEM0l.js.map → workspace-tjZFkjxC.js.map} +1 -1
- package/package.json +10 -8
- package/skills/eval-rubric/SKILL.md +130 -0
- package/dist/agent-CURAwx_q.js +0 -334
- package/dist/agent-CURAwx_q.js.map +0 -1
- package/dist/assemble-B9Alds-z.js.map +0 -1
- package/dist/assemble-J5MukZFY.js +0 -1
- package/dist/capture-jquXZBKK.js +0 -1
- package/dist/cli-D303Vj5N.js.map +0 -1
- package/dist/cli-spec-BPZbQG2p.js.map +0 -1
- package/dist/command-BLfT7vnQ.js.map +0 -1
- package/dist/command-BT9a37ZR.js.map +0 -1
- package/dist/command-Bge8F7Ko.js.map +0 -1
- package/dist/command-BkFjijN2.js +0 -1
- package/dist/commands-BFx16WB8.js +0 -225
- package/dist/commands-BFx16WB8.js.map +0 -1
- package/dist/config-DEgnUiU-.js.map +0 -1
- package/dist/context-C1mxXh80.js.map +0 -1
- package/dist/db-CdHizc4_.js +0 -1406
- package/dist/db-CdHizc4_.js.map +0 -1
- package/dist/db-Dm1cRJJP.js +0 -2
- package/dist/dist-B8hJImYt.js.map +0 -1
- package/dist/doctor-BYNok4UO.js.map +0 -1
- package/dist/duration-CEOQww97.js +0 -26
- package/dist/duration-CEOQww97.js.map +0 -1
- package/dist/egress-C4PZTSSe.js.map +0 -1
- package/dist/environment-DNjRk0nU.js.map +0 -1
- package/dist/evaluate-D4zeRGBF.js.map +0 -1
- package/dist/family-D2b7WD10.js +0 -67
- package/dist/family-D2b7WD10.js.map +0 -1
- package/dist/files-BXUdY8tr.js.map +0 -1
- package/dist/files-BhyltlDB.js +0 -1
- package/dist/files-DQmHE7pb.js.map +0 -1
- package/dist/files-ZZPqfAo6.js +0 -1
- package/dist/images-0On0cztu.js.map +0 -1
- package/dist/init-B77Rpcqc.js +0 -360
- package/dist/init-B77Rpcqc.js.map +0 -1
- package/dist/init-BrOWin3W.js +0 -1
- package/dist/judge-DW_GDOmB.js.map +0 -1
- package/dist/model-NM3ID0uR.js +0 -1
- package/dist/model-h_cDtcRr.js.map +0 -1
- package/dist/model-nwWJvaUR.js +0 -1
- package/dist/model-oqcDplJG.js.map +0 -1
- package/dist/options-Bh2W63dK.js.map +0 -1
- package/dist/plan-C9Cy27Ay.js.map +0 -1
- package/dist/preflight-D7iFPKeK.js.map +0 -1
- package/dist/prepare-BGjePFQl.js +0 -2
- package/dist/prepare-doGxaAGR.js.map +0 -1
- package/dist/process-CSVO_jsc.js +0 -119
- package/dist/process-CSVO_jsc.js.map +0 -1
- package/dist/providers-gDMko8fl.js +0 -1
- package/dist/providers-tAOD1NQN.js.map +0 -1
- package/dist/query-Bes9Kh6Y.js +0 -91
- package/dist/query-Bes9Kh6Y.js.map +0 -1
- package/dist/query-C_G_svLU.js +0 -1
- package/dist/record-BKmMvZ6O.js.map +0 -1
- package/dist/results-DuauQI3Z.js.map +0 -1
- package/dist/server-C7sg1ndo.js +0 -1
- package/dist/shared-DYpIb1BI.js.map +0 -1
- package/dist/source-fGd0SaKP.js +0 -1
- package/dist/src-B7treWa8.js.map +0 -1
- package/dist/src-DNnG4e4R.js +0 -2
- package/dist/src-DTbrY1hi.js +0 -2
- package/dist/src-DdyJEh2v.js +0 -2
- package/dist/src-Dj9PAroc.js +0 -2
- package/dist/src-Du8H85Qq.js +0 -2
- package/dist/src-FGXhkEkH.js.map +0 -1
- package/dist/src-pJZOrYR9.js +0 -1
- package/dist/src-u8_ixn_F.js.map +0 -1
- package/dist/state-CgjQo29K.js +0 -1
- package/dist/studio-app/assets/index-DrQc2Yxd.js +0 -58
- package/dist/summary-BLAVLySU.js +0 -385
- package/dist/summary-BLAVLySU.js.map +0 -1
- package/dist/summary-DgyjUh_l.js +0 -192
- package/dist/summary-DgyjUh_l.js.map +0 -1
- package/dist/text-gEcKjAyp.js.map +0 -1
- package/dist/tools-GCyNYSc1.js +0 -249
- package/dist/tools-GCyNYSc1.js.map +0 -1
- package/dist/views-BW6oCDUQ.js +0 -2
- package/dist/views-BmQF4UCI.js +0 -225
- package/dist/views-BmQF4UCI.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { n as formatTokens } from "./usage-CleNKkly.js";
|
|
@@ -1,29 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as fromCwd, l as sha256 } from "./ids-Bp6ut7ZD.js";
|
|
1
|
+
import { l as sha256 } from "./ids-Bp6ut7ZD.js";
|
|
3
2
|
import { r as questionShows, t as DEFAULT_QUESTION_STATE } from "./state-CeR6oz0k.js";
|
|
4
|
-
import { n as clip } from "./text-
|
|
5
|
-
import { c as resolveAnalysisModel, l as SYSTEM_PROMPT, n as callAnalysisModel, t as analysisModelName } from "./model-h_cDtcRr.js";
|
|
3
|
+
import { n as clip } from "./text-CrVy5ioL.js";
|
|
6
4
|
import { n as formatTokens } from "./usage-CleNKkly.js";
|
|
7
|
-
import
|
|
8
|
-
import { V as labelledJudgements,
|
|
9
|
-
import {
|
|
10
|
-
import { t as runHeader } from "./header-
|
|
11
|
-
import { n as headToHeadLines, r as pairTallies, s as sampleReasons, u as splitsLabel } from "./pairs-
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { c as resolveRun, s as pickBaseline, t as RefError } from "./views-BmQF4UCI.js";
|
|
16
|
-
import { c as lines, n as allRuns, t as CommandError, u as reachability } from "./commands-BFx16WB8.js";
|
|
17
|
-
import { i as checkCommand, o as commandSummary } from "./cli-spec-BPZbQG2p.js";
|
|
18
|
-
import { l as TOOL_CLASSES, s as openHistoryDb } from "./db-CdHizc4_.js";
|
|
19
|
-
import { t as author } from "./provenance-DmE9uPVt.js";
|
|
5
|
+
import "./analysis-Bxub9LMT.js";
|
|
6
|
+
import { St as compare, V as labelledJudgements, Y as bothUnderATenth } from "./model-CWlAqmbU.js";
|
|
7
|
+
import { f as familyEffortLabel, h as familyRateLabel, m as familyLiftLabel } from "./suite-C8sw2pox.js";
|
|
8
|
+
import { t as runHeader } from "./header-kSmWatcO.js";
|
|
9
|
+
import { n as headToHeadLines, r as pairTallies, s as sampleReasons, u as splitsLabel } from "./pairs-DP6XOJby.js";
|
|
10
|
+
import { i as checkCommand, o as commandSummary } from "./cli-spec-BXIBUlaK.js";
|
|
11
|
+
import { r as contrastsOf } from "./contrasts-CcoMLC_y.js";
|
|
12
|
+
import { i as TOOL_CLASSES } from "./facts-DtENlf9s.js";
|
|
20
13
|
import { basename, join } from "node:path";
|
|
21
14
|
import { readFile } from "node:fs/promises";
|
|
22
15
|
//#region src/analysis/digest.ts
|
|
23
16
|
const RULES = [
|
|
24
17
|
`Lift (variant pass@1 minus control pass@1) is insufficient (not measured, never a results line) when either side has fewer than 2 counted attempts; otherwise it is an effect only when its 95% interval (Newcombe) excludes 0, and within noise when the interval spans 0, whatever the point estimate.`,
|
|
25
18
|
"When sources or the eval fingerprint differ across the compared runs, the pass@1 difference is not comparable: the eval changed. Never call it an effect. Do not put those mixed counts on a results line. The first line of the analysis says the eval changed. A lift is an effect only when sources match; the two-attempt floor still applies then.",
|
|
26
|
-
`Effort (tool calls, agent time, and tokens when both sides have usage samples) is compared with an exact Mann-Whitney test: "fewer"/"more" at p < 0.05; "insufficient" when the
|
|
19
|
+
`Effort (tool calls, agent time, and tokens when both sides have usage samples) is compared with an exact Mann-Whitney test: "fewer"/"more" at p < 0.05; "insufficient" when no split of the attempts' values can reach it (2 vs 2 cannot, and ties raise the floor) — never because a harness dropped usage. Attempts without usage are left out of the token sample only. If either side then has no token sample, the token metric is omitted (no line, not insufficient). A Goose cell does not blank tokens on Cursor cells in the same study. Pooled across evals, tokens are an effect only when at least 2/3 of the strata that reported usage agree. Effort's separated (given from 3 vs 3) says, per metric, that the two sides' ranges do not overlap: every attempt on one side beat every attempt on the other. insufficient with separated true is a directional signal: report the ratio, the n and "no overlap, not significant" as directional, never as an effect. separated false is no direction at all.`,
|
|
27
20
|
"A family fact is one pooled evaluate.each: its cases are paired samples of one suite, so its lift (Newcombe paired interval and McNemar at one attempt a case, a t interval over cases otherwise) is the result for those cases; their own pass-rate facts carry no lift. insufficient (fewer than 6 discordant pairs or 6 cases) is not measured. A family's minLift gates the pooled lower bound.",
|
|
28
21
|
"Each factor claim has a tier: controlled (two cells in one run that differ in one factor), pooled (the same contrast over comparable runs, and across evals), observed (a change between runs, which is weaker; \"confounded\" when several parts changed), not_measured (one level only).",
|
|
29
22
|
`A cell with mixed outcomes is flaky only with at least 6 counted attempts over comparable runs; below that it is "insufficient", not flaky.`,
|
|
@@ -98,12 +91,18 @@ const round1 = (x) => Math.round(x * 10) / 10;
|
|
|
98
91
|
const ratioText = (r) => r == null ? "×–" : `×${Number(r).toFixed(2)}`;
|
|
99
92
|
/** The labels of an attempt's assertions that failed or couldn't answer. */
|
|
100
93
|
const failedLabels = (a) => (a.assertions ?? []).filter((x) => x.status !== "pass").map((x) => clip(x.label, LABEL_CHARS));
|
|
94
|
+
/** The counted attempts that reached a check: one stopped before it by a hard failure didn't. */
|
|
95
|
+
const answered = (t) => t.pass + t.fail + t.error;
|
|
101
96
|
/** Every counted attempt passed (`all`), none did, or some; undefined when none answered. */
|
|
102
97
|
const sideOf = (t) => {
|
|
103
|
-
const
|
|
104
|
-
if (
|
|
105
|
-
return t.pass ===
|
|
98
|
+
const n = answered(t);
|
|
99
|
+
if (n === 0) return void 0;
|
|
100
|
+
return t.pass === n ? "all" : t.pass === 0 ? "none" : "some";
|
|
106
101
|
};
|
|
102
|
+
/** `2/3`, or `not run` when no counted attempt reached the check. */
|
|
103
|
+
const rateOf = (t) => answered(t) ? `${t.pass}/${answered(t)}` : "not run";
|
|
104
|
+
/** A side of a check with a verdict, counted as the verdict counts it: passes over pass or fail. */
|
|
105
|
+
const verdictRate = (t) => `${t.pass}/${t.pass + t.fail}`;
|
|
107
106
|
/** Items interleaved by group, groups in order of first appearance: one from each, then the next. */
|
|
108
107
|
function roundRobin(items, key) {
|
|
109
108
|
const groups = /* @__PURE__ */ new Map();
|
|
@@ -154,7 +153,7 @@ function criteriaOf(e, tag) {
|
|
|
154
153
|
cells: Object.fromEntries(tallies.map(({ c, k }) => {
|
|
155
154
|
const s = scores.get(`${c.key}\0${label}`);
|
|
156
155
|
const mean = s?.length ? ` · ${(s.reduce((x, y) => x + y, 0) / s.length).toFixed(2)}` : "";
|
|
157
|
-
return [tag(c.key), `${k
|
|
156
|
+
return [tag(c.key), `${rateOf(k)}${mean}`];
|
|
158
157
|
}))
|
|
159
158
|
});
|
|
160
159
|
}
|
|
@@ -293,7 +292,7 @@ async function buildDigestKeepingDropped(input) {
|
|
|
293
292
|
...row.control_key ? { vsControl: {
|
|
294
293
|
n: `${row.n} vs ${row.control_n}`,
|
|
295
294
|
toolCalls: `${row.tools_median} vs ${row.control_tools_median} (${ratioText(row.tools_ratio)})`,
|
|
296
|
-
agentS: `${row.agent_s_median} vs ${row.control_agent_s_median} (${ratioText(row.agent_s_ratio)})`,
|
|
295
|
+
agentS: bothUnderATenth(Number(row.agent_s_median) * 1e3, Number(row.control_agent_s_median) * 1e3) ? "<0.1 vs <0.1" : `${row.agent_s_median} vs ${row.control_agent_s_median} (${ratioText(row.agent_s_ratio)})`,
|
|
297
296
|
p: row.tools_p,
|
|
298
297
|
verdict: row.verdict,
|
|
299
298
|
timeVerdict: row.time_verdict,
|
|
@@ -569,7 +568,8 @@ async function buildDigestKeepingDropped(input) {
|
|
|
569
568
|
rows: compare(runHeader(base.record, true), runHeader(head.record, true)).filter((row) => scopeEvals.some((e) => e.id === row.id)).map((row) => ({
|
|
570
569
|
eval: tagOf(scopeEvals.find((e) => e.id === row.id)?.key ?? row.id),
|
|
571
570
|
status: row.status,
|
|
572
|
-
...row.changes?.length ? { changes: row.changes } : {}
|
|
571
|
+
...row.changes?.length ? { changes: row.changes } : {},
|
|
572
|
+
...row.cancelled ? { cancelled: row.cancelled } : {}
|
|
573
573
|
}))
|
|
574
574
|
});
|
|
575
575
|
}
|
|
@@ -621,15 +621,15 @@ async function buildDigestKeepingDropped(input) {
|
|
|
621
621
|
} : {},
|
|
622
622
|
checks: apart.map((k) => ({
|
|
623
623
|
label: clip(k.label, LABEL_CHARS),
|
|
624
|
-
a:
|
|
625
|
-
b:
|
|
624
|
+
a: verdictRate(k.a),
|
|
625
|
+
b: verdictRate(k.b),
|
|
626
626
|
verdict: k.verdict
|
|
627
627
|
})),
|
|
628
628
|
sameOnBoth: x.checks.length - apart.length,
|
|
629
629
|
...ef ? { effort: {
|
|
630
630
|
n: `${ef.variant.n} vs ${ef.control.n}`,
|
|
631
631
|
toolCalls: `${ef.variant.tools.median} vs ${ef.control.tools.median} (${ratioText(ef.toolsRatio)})`,
|
|
632
|
-
agentS: `${round1(ef.variant.agentMs.median / 1e3)} vs ${round1(ef.control.agentMs.median / 1e3)} (${ratioText(ef.agentMsRatio)})`,
|
|
632
|
+
agentS: bothUnderATenth(ef.variant.agentMs.median, ef.control.agentMs.median) ? "<0.1 vs <0.1" : `${round1(ef.variant.agentMs.median / 1e3)} vs ${round1(ef.control.agentMs.median / 1e3)} (${ratioText(ef.agentMsRatio)})`,
|
|
633
633
|
verdict: ef.verdict,
|
|
634
634
|
timeVerdict: ef.timeVerdict,
|
|
635
635
|
...ef.tokensVerdict && ef.variant.tokens && ef.control.tokens ? {
|
|
@@ -646,7 +646,10 @@ async function buildDigestKeepingDropped(input) {
|
|
|
646
646
|
}
|
|
647
647
|
if (contrasts.length) continue;
|
|
648
648
|
for (const c of e.cells) {
|
|
649
|
-
const rows = (c.checks ?? []).
|
|
649
|
+
const rows = (c.checks ?? []).flatMap((k) => k.control && k.verdict ? [{
|
|
650
|
+
...k,
|
|
651
|
+
control: k.control
|
|
652
|
+
}] : []);
|
|
650
653
|
if (!rows.length) continue;
|
|
651
654
|
fact("checks", {
|
|
652
655
|
run: short.get(r.record.runId),
|
|
@@ -654,8 +657,8 @@ async function buildDigestKeepingDropped(input) {
|
|
|
654
657
|
cell: c.key,
|
|
655
658
|
rows: rows.map((k) => ({
|
|
656
659
|
label: clip(k.label, 80),
|
|
657
|
-
variant:
|
|
658
|
-
control:
|
|
660
|
+
variant: verdictRate(k),
|
|
661
|
+
control: verdictRate(k.control),
|
|
659
662
|
verdict: k.verdict
|
|
660
663
|
}))
|
|
661
664
|
});
|
|
@@ -793,77 +796,6 @@ function citable(d) {
|
|
|
793
796
|
};
|
|
794
797
|
}
|
|
795
798
|
//#endregion
|
|
796
|
-
//#region src/analysis/render.ts
|
|
797
|
-
const cite = (cs) => cs.length ? ` ${cs.map((c) => `[${c}]`).join(" ")}` : "";
|
|
798
|
-
const unverified = (numbers) => numbers?.length ? `unverified: ${numbers.join(", ")}` : "";
|
|
799
|
-
const note = (c) => [c.confidence === "high" ? "" : `${c.confidence} confidence`, unverified(c.unverifiedNumbers)].filter(Boolean).join("; ");
|
|
800
|
-
function footer(doc) {
|
|
801
|
-
const v = doc.validation;
|
|
802
|
-
const tokens = doc.usage.inputTokens !== null ? `${doc.usage.inputTokens} in / ${doc.usage.outputTokens ?? "?"} out tokens · ` : "";
|
|
803
|
-
return `${doc.resolvedModel ?? doc.model} · ${doc.promptVersion} · digest v${doc.inputs.digestVersion} · ${tokens}${Math.round(doc.latencyMs / 1e3)}s · ${v.citations} citations checked, ${v.invalid.length} invalid, ${v.dropped} dropped · ${v.commands} commands checked, ${v.invalidCommands.length} rejected`;
|
|
804
|
-
}
|
|
805
|
-
/** The analysis as Markdown (`--md`, and the `.md` twin of a saved analysis). */
|
|
806
|
-
function renderMarkdown(doc) {
|
|
807
|
-
const a = doc.analysis;
|
|
808
|
-
const md = [
|
|
809
|
-
`## reeval analysis · ${doc.scope.head}${doc.scope.base ? ` vs ${doc.scope.base}` : ""}`,
|
|
810
|
-
"",
|
|
811
|
-
`**TL;DR** (${a.confidence.overall}). ${a.tldr}`,
|
|
812
|
-
""
|
|
813
|
-
];
|
|
814
|
-
for (const [title, items] of [
|
|
815
|
-
["What happened", a.whatHappened],
|
|
816
|
-
["Results", a.results],
|
|
817
|
-
["Why", a.why]
|
|
818
|
-
]) {
|
|
819
|
-
if (!items.length) continue;
|
|
820
|
-
md.push(`### ${title}`, "");
|
|
821
|
-
for (const c of items) md.push(`- ${c.text}${cite(c.cites)}${note(c) ? ` *(${note(c)})*` : ""}`);
|
|
822
|
-
md.push("");
|
|
823
|
-
}
|
|
824
|
-
if (a.anomalies.length) {
|
|
825
|
-
md.push("### Anomalies", "");
|
|
826
|
-
for (const x of a.anomalies) md.push(`- **${x.kind}**: ${x.text}${cite(x.cites)}${unverified(x.unverifiedNumbers) ? ` *(${unverified(x.unverifiedNumbers)})*` : ""}`);
|
|
827
|
-
md.push("");
|
|
828
|
-
}
|
|
829
|
-
md.push("### Suggested actions", "");
|
|
830
|
-
if (!a.actions.length) md.push("None: nothing here is worth acting on.");
|
|
831
|
-
a.actions.forEach((x, i) => {
|
|
832
|
-
md.push(`${i + 1}. **${x.title}** (${x.kind} · impact ${x.impact} · effort ${x.effort}) `, ` Target: \`${x.target}\`. ${x.change} `, ` Expect: ${x.expectedEffect} `, x.verify ? ` Verify: \`${x.verify}\`${cite(x.cites)}` : ` Verify: none (the suggested command isn't reeval's CLI: ${x.verifyProblem ?? "unknown"})${cite(x.cites)}`);
|
|
833
|
-
});
|
|
834
|
-
md.push("", `**Confidence: ${a.confidence.overall}.** ${a.confidence.why}`, "", `<sub>${footer(doc)}</sub>`, "");
|
|
835
|
-
return md.join("\n");
|
|
836
|
-
}
|
|
837
|
-
/** The analysis for a terminal: the same sections, plain. */
|
|
838
|
-
function renderText(doc) {
|
|
839
|
-
const a = doc.analysis;
|
|
840
|
-
const lines = [
|
|
841
|
-
`analysis ${doc.scope.head}${doc.scope.base ? ` vs ${doc.scope.base}` : ""}`,
|
|
842
|
-
"",
|
|
843
|
-
`TL;DR (${a.confidence.overall}) ${a.tldr}`
|
|
844
|
-
];
|
|
845
|
-
for (const [title, items] of [
|
|
846
|
-
["What happened", a.whatHappened],
|
|
847
|
-
["Results", a.results],
|
|
848
|
-
["Why", a.why]
|
|
849
|
-
]) {
|
|
850
|
-
if (!items.length) continue;
|
|
851
|
-
lines.push("", title);
|
|
852
|
-
for (const c of items) lines.push(` - ${c.text}${cite(c.cites)}${note(c) ? ` (${note(c)})` : ""}`);
|
|
853
|
-
}
|
|
854
|
-
if (a.anomalies.length) {
|
|
855
|
-
lines.push("", "Anomalies");
|
|
856
|
-
for (const x of a.anomalies) lines.push(` - ${x.kind}: ${x.text}${cite(x.cites)}${unverified(x.unverifiedNumbers) ? ` (${unverified(x.unverifiedNumbers)})` : ""}`);
|
|
857
|
-
}
|
|
858
|
-
lines.push("", "Suggested actions");
|
|
859
|
-
if (!a.actions.length) lines.push(" none: nothing here is worth acting on");
|
|
860
|
-
a.actions.forEach((x, i) => {
|
|
861
|
-
lines.push(` ${i + 1}. ${x.title} (${x.kind} · impact ${x.impact} · effort ${x.effort})${cite(x.cites)}`, ` target: ${x.target}. ${x.change}`, ` expect: ${x.expectedEffect}`, x.verify ? ` verify: ${x.verify}` : ` verify: none (${x.verifyProblem ?? "rejected"})`);
|
|
862
|
-
});
|
|
863
|
-
lines.push("", `Confidence: ${a.confidence.overall}. ${a.confidence.why}`, "", footer(doc));
|
|
864
|
-
return lines.join("\n");
|
|
865
|
-
}
|
|
866
|
-
//#endregion
|
|
867
799
|
//#region src/analysis/validate.ts
|
|
868
800
|
const EXEC = /^(.+):exec(\d+)$/;
|
|
869
801
|
const LINE = /^(E\d+):L(\d+)$/;
|
|
@@ -1097,286 +1029,6 @@ function validateAnalysis(output, digest, tables, evals) {
|
|
|
1097
1029
|
};
|
|
1098
1030
|
}
|
|
1099
1031
|
//#endregion
|
|
1100
|
-
|
|
1101
|
-
async function load(config, entry) {
|
|
1102
|
-
const dir = entry.recorded ? config.history.dir : scratchDir(config.root);
|
|
1103
|
-
const bytes = await readFile(join(dir, `${entry.runId}.json`));
|
|
1104
|
-
return {
|
|
1105
|
-
record: parseRecord(bytes, entry.runId),
|
|
1106
|
-
dir,
|
|
1107
|
-
bytes
|
|
1108
|
-
};
|
|
1109
|
-
}
|
|
1110
|
-
/** The model's input: the project's own instructions, which set the question, then the digest as JSON. */
|
|
1111
|
-
const promptOf = (d) => `${d.instructions ? `PROJECT INSTRUCTIONS (the question this analysis answers): ${d.instructions}\n\n` : ""}DIGEST:\n${JSON.stringify(d)}`;
|
|
1112
|
-
/** `--context`: the same digest and rules, for the user's own coding agent. */
|
|
1113
|
-
function contextMarkdown(d, head, base) {
|
|
1114
|
-
return [
|
|
1115
|
-
`# reeval analysis context: ${head}${base ? ` vs ${base}` : ""}`,
|
|
1116
|
-
"",
|
|
1117
|
-
"Analyse this reeval run for the engineer who wrote the evals. The digest below holds facts reeval computed (F…), evidence excerpts (E…, transcript lines as L<n>) and the attempts table. Cite those ids for every claim, keep to the verdicts in the facts, and suggest at most 5 concrete actions, each verified with a reeval command from the CLI list.",
|
|
1118
|
-
"",
|
|
1119
|
-
...d.frame === "study" ? ["This run is a study: every cell is ungated (gate: 'none'), so it measures how the arms differ. Failing attempts are data, not a failed gate.", ""] : [],
|
|
1120
|
-
...d.instructions ? [
|
|
1121
|
-
"## Project instructions (the question this analysis answers)",
|
|
1122
|
-
"",
|
|
1123
|
-
d.instructions,
|
|
1124
|
-
""
|
|
1125
|
-
] : [],
|
|
1126
|
-
"## How reeval decided each verdict",
|
|
1127
|
-
"",
|
|
1128
|
-
...RULES.map((r) => `- ${r}`),
|
|
1129
|
-
"",
|
|
1130
|
-
"## Instructions reeval gives its own analysis model",
|
|
1131
|
-
"",
|
|
1132
|
-
SYSTEM_PROMPT,
|
|
1133
|
-
"",
|
|
1134
|
-
"## reeval CLI (verify commands must be one of these)",
|
|
1135
|
-
"",
|
|
1136
|
-
...commandSummary().map((c) => `- \`${c}\``),
|
|
1137
|
-
"",
|
|
1138
|
-
"## To dig further",
|
|
1139
|
-
"",
|
|
1140
|
-
"- `reeval query effort`, `reeval query factor_effects`, `reeval query skill_reads`, `reeval query flaky_cells`, `reeval query drift`",
|
|
1141
|
-
`- \`reeval query "SELECT line, tool, target FROM tool_calls WHERE attempt_key = '<key>'"\`: an attempt's tool calls`,
|
|
1142
|
-
"- `reeval show <run> --json`: the whole record; transcripts are under the run's artifact folder",
|
|
1143
|
-
"",
|
|
1144
|
-
"## Digest",
|
|
1145
|
-
"",
|
|
1146
|
-
"```json",
|
|
1147
|
-
JSON.stringify(d, null, 1),
|
|
1148
|
-
"```",
|
|
1149
|
-
""
|
|
1150
|
-
].join("\n");
|
|
1151
|
-
}
|
|
1152
|
-
function citedSummary(d, cites) {
|
|
1153
|
-
const out = {};
|
|
1154
|
-
for (const c of cites) {
|
|
1155
|
-
const fact = d.facts.find((f) => f.id === c);
|
|
1156
|
-
const evidence = d.evidence.find((e) => e.id === c || c.startsWith(`${e.id}:`));
|
|
1157
|
-
const attempt = d.attempts[c.replace(/:exec\d+$/, "")];
|
|
1158
|
-
if (fact) {
|
|
1159
|
-
const { id: _id, ...rest } = fact;
|
|
1160
|
-
out[c] = clip(JSON.stringify(rest), 400);
|
|
1161
|
-
} else if (evidence) {
|
|
1162
|
-
const line = /:L(\d+)$/.exec(c);
|
|
1163
|
-
out[c] = line ? clip(evidence.lines.find((l) => l.startsWith(`L${line[1]} `)) ?? evidence.ref, 400) : `${evidence.ref}: ${evidence.why}`;
|
|
1164
|
-
} else if (attempt) out[c] = `${attempt.runId} · ${attempt.attempt} · ${attempt.outcome} · ${attempt.tools} tool calls${attempt.checks ? ` · checks ${attempt.checks}` : ""}`;
|
|
1165
|
-
}
|
|
1166
|
-
return out;
|
|
1167
|
-
}
|
|
1168
|
-
/** The run `reeval analyze` compares `head` with when `--vs` is omitted: its nearest recorded ancestor. */
|
|
1169
|
-
async function defaultBase(config, entries, head) {
|
|
1170
|
-
const reach = await reachability(config.root);
|
|
1171
|
-
const from = head.git && (!reach || reach.has(head.git.sha)) ? head.git.sha : "HEAD";
|
|
1172
|
-
const ancestry = await lines(config.root, [
|
|
1173
|
-
"rev-list",
|
|
1174
|
-
"--max-count=5000",
|
|
1175
|
-
from
|
|
1176
|
-
]);
|
|
1177
|
-
return pickBaseline(entries.filter((e) => e.recorded && e.runId !== head.runId), head, ancestry);
|
|
1178
|
-
}
|
|
1179
|
-
/** Reads the runs and builds the digest and its cache key; no model call. */
|
|
1180
|
-
async function prepareAnalysis(config, head, base, evalFilter) {
|
|
1181
|
-
const headRun = await load(config, head);
|
|
1182
|
-
const baseRun = base ? await load(config, base) : null;
|
|
1183
|
-
const db = await openHistoryDb(config.root, config.history.dir);
|
|
1184
|
-
let built;
|
|
1185
|
-
let tables;
|
|
1186
|
-
try {
|
|
1187
|
-
built = await buildDigestKeepingDropped({
|
|
1188
|
-
head: headRun,
|
|
1189
|
-
base: baseRun,
|
|
1190
|
-
evalFilter,
|
|
1191
|
-
db,
|
|
1192
|
-
maxChars: config.analysis.maxInputTokens * 4,
|
|
1193
|
-
...config.analysis.instructions ? { instructions: config.analysis.instructions } : {}
|
|
1194
|
-
});
|
|
1195
|
-
tables = db.schema().map((o) => o.name);
|
|
1196
|
-
} finally {
|
|
1197
|
-
db.close();
|
|
1198
|
-
}
|
|
1199
|
-
const modelName = (() => {
|
|
1200
|
-
try {
|
|
1201
|
-
const m = analysisModelName(config);
|
|
1202
|
-
return typeof m === "string" ? m : "fake";
|
|
1203
|
-
} catch {
|
|
1204
|
-
return "none";
|
|
1205
|
-
}
|
|
1206
|
-
})();
|
|
1207
|
-
const scope = {
|
|
1208
|
-
kind: "run",
|
|
1209
|
-
head: head.runId,
|
|
1210
|
-
base: base?.runId ?? null,
|
|
1211
|
-
evals: evalFilter
|
|
1212
|
-
};
|
|
1213
|
-
const key = sha256(JSON.stringify({
|
|
1214
|
-
scope,
|
|
1215
|
-
hash: digestHash(built.digest),
|
|
1216
|
-
prompt: ANALYSIS_PROMPT_VERSION,
|
|
1217
|
-
model: modelName
|
|
1218
|
-
})).replace(/^sha256:/, "");
|
|
1219
|
-
return {
|
|
1220
|
-
head,
|
|
1221
|
-
base,
|
|
1222
|
-
headRun,
|
|
1223
|
-
baseRun,
|
|
1224
|
-
...built,
|
|
1225
|
-
tables,
|
|
1226
|
-
scope,
|
|
1227
|
-
modelName,
|
|
1228
|
-
key
|
|
1229
|
-
};
|
|
1230
|
-
}
|
|
1231
|
-
const docBase = async (config, p) => ({
|
|
1232
|
-
kind: "reeval-analysis",
|
|
1233
|
-
schemaVersion: 1,
|
|
1234
|
-
scope: p.scope,
|
|
1235
|
-
anchor: p.head.runId,
|
|
1236
|
-
inputs: {
|
|
1237
|
-
records: [p.baseRun, p.headRun].flatMap((r) => r ? [{
|
|
1238
|
-
runId: r.record.runId,
|
|
1239
|
-
sha256: sha256(r.bytes)
|
|
1240
|
-
}] : []),
|
|
1241
|
-
digestVersion: p.digest.digestVersion,
|
|
1242
|
-
digestHash: digestHash(p.digest)
|
|
1243
|
-
},
|
|
1244
|
-
promptVersion: ANALYSIS_PROMPT_VERSION,
|
|
1245
|
-
author: await author(config.root)
|
|
1246
|
-
});
|
|
1247
|
-
/** One structured call on the prepared digest (and what tools read), validated: the document the cache holds. */
|
|
1248
|
-
async function analyseDigest(config, p, model, reads) {
|
|
1249
|
-
const seen = reads?.evidence.length ? {
|
|
1250
|
-
...p.digest,
|
|
1251
|
-
evidence: [...p.digest.evidence, ...reads.evidence]
|
|
1252
|
-
} : p.digest;
|
|
1253
|
-
const answer = await callAnalysisModel(model, seen, `${promptOf(p.digest)}${reads?.text ?? ""}`, config.analysis.maxOutputTokens);
|
|
1254
|
-
const evals = p.headRun.record.evals.map((e) => ({
|
|
1255
|
-
file: e.file,
|
|
1256
|
-
name: [...e.group, e.name].join(" "),
|
|
1257
|
-
id: e.id,
|
|
1258
|
-
tags: e.tags,
|
|
1259
|
-
cells: e.cells.map((c) => c.key)
|
|
1260
|
-
}));
|
|
1261
|
-
const { body, validation } = validateAnalysis(answer.output, seen, p.tables, evals);
|
|
1262
|
-
const cites = [
|
|
1263
|
-
...body.whatHappened,
|
|
1264
|
-
...body.results,
|
|
1265
|
-
...body.why,
|
|
1266
|
-
...body.anomalies,
|
|
1267
|
-
...body.actions
|
|
1268
|
-
].flatMap((x) => x.cites);
|
|
1269
|
-
return {
|
|
1270
|
-
...await docBase(config, p),
|
|
1271
|
-
model: model.name,
|
|
1272
|
-
resolvedModel: answer.resolvedModel,
|
|
1273
|
-
route: model.route,
|
|
1274
|
-
usage: answer.usage,
|
|
1275
|
-
latencyMs: answer.latencyMs,
|
|
1276
|
-
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1277
|
-
validation,
|
|
1278
|
-
analysis: body,
|
|
1279
|
-
attempts: Object.fromEntries(Object.entries(p.digest.attempts).map(([id, a]) => [id, {
|
|
1280
|
-
runId: a.runId,
|
|
1281
|
-
evalSlug: a.evalSlug,
|
|
1282
|
-
attempt: a.attempt
|
|
1283
|
-
}])),
|
|
1284
|
-
cited: citedSummary(seen, [...new Set(cites)])
|
|
1285
|
-
};
|
|
1286
|
-
}
|
|
1287
|
-
/** A failed analysis as the cache keeps it: an empty body and the `error`. */
|
|
1288
|
-
async function failedAnalysis(config, p, model, error, latencyMs) {
|
|
1289
|
-
return {
|
|
1290
|
-
...await docBase(config, p),
|
|
1291
|
-
model: model.name,
|
|
1292
|
-
resolvedModel: null,
|
|
1293
|
-
route: model.route,
|
|
1294
|
-
usage: {
|
|
1295
|
-
inputTokens: null,
|
|
1296
|
-
outputTokens: null
|
|
1297
|
-
},
|
|
1298
|
-
latencyMs,
|
|
1299
|
-
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1300
|
-
validation: {
|
|
1301
|
-
citations: 0,
|
|
1302
|
-
invalid: [],
|
|
1303
|
-
dropped: 0,
|
|
1304
|
-
commands: 0,
|
|
1305
|
-
invalidCommands: [],
|
|
1306
|
-
unverifiedNumbers: 0
|
|
1307
|
-
},
|
|
1308
|
-
analysis: {
|
|
1309
|
-
tldr: "",
|
|
1310
|
-
whatHappened: [],
|
|
1311
|
-
results: [],
|
|
1312
|
-
why: [],
|
|
1313
|
-
anomalies: [],
|
|
1314
|
-
actions: [],
|
|
1315
|
-
confidence: {
|
|
1316
|
-
overall: "low",
|
|
1317
|
-
why: ""
|
|
1318
|
-
}
|
|
1319
|
-
},
|
|
1320
|
-
attempts: {},
|
|
1321
|
-
cited: {},
|
|
1322
|
-
error
|
|
1323
|
-
};
|
|
1324
|
-
}
|
|
1325
|
-
async function analyzeCommand(ctx, args) {
|
|
1326
|
-
const { config, flags } = ctx;
|
|
1327
|
-
if (flags.json && flags.md) throw new UsageError("reeval analyze takes --json or --md, not both");
|
|
1328
|
-
if (flags.context && flags.save) throw new UsageError("reeval analyze --context makes no analysis to save; drop --save");
|
|
1329
|
-
const entries = await allRuns(config);
|
|
1330
|
-
let evalFilter = flags.eval ?? null;
|
|
1331
|
-
let head;
|
|
1332
|
-
try {
|
|
1333
|
-
head = resolveRun(entries, args[0] ?? "latest");
|
|
1334
|
-
} catch (error) {
|
|
1335
|
-
const needle = args[0]?.toLowerCase();
|
|
1336
|
-
const latest = entries.at(-1);
|
|
1337
|
-
if (!(error instanceof RefError) || !needle || !latest?.evals.some((e) => e.id.toLowerCase().includes(needle))) throw error;
|
|
1338
|
-
evalFilter ??= args[0];
|
|
1339
|
-
head = latest;
|
|
1340
|
-
}
|
|
1341
|
-
const base = flags.vs === "none" ? null : flags.vs ? resolveRun(entries, flags.vs) : await defaultBase(config, entries, head);
|
|
1342
|
-
if (base?.runId === head.runId) throw new UsageError("reeval analyze --vs names the run itself");
|
|
1343
|
-
if (flags.save && !head.recorded) throw new CommandError(`${head.runId} isn't recorded, so there's no history folder to save into. Run reeval record ${head.runId} first, then reeval analyze ${head.runId} --save.`);
|
|
1344
|
-
const model = flags.context || flags["dry-run"] ? null : resolveAnalysisModel(config);
|
|
1345
|
-
const prepared = await prepareAnalysis(config, head, base, evalFilter);
|
|
1346
|
-
const { digest, key, modelName } = prepared;
|
|
1347
|
-
if (evalFilter && digest.setup.evals.length === 0) throw new UsageError(`No eval in ${head.runId} matches "${evalFilter}"`);
|
|
1348
|
-
if (flags.context) {
|
|
1349
|
-
ctx.out(contextMarkdown(digest, head.runId, base?.runId ?? null));
|
|
1350
|
-
return 0;
|
|
1351
|
-
}
|
|
1352
|
-
const cached = flags["no-cache"] ? null : await readCached(config.root, key);
|
|
1353
|
-
if (flags["dry-run"]) {
|
|
1354
|
-
const chars = digestChars(digest);
|
|
1355
|
-
ctx.out([
|
|
1356
|
-
`digest ${head.runId}${base ? ` vs ${base.runId}` : ""}: ${digest.facts.length} facts, ${digest.evidence.length} evidence items${digest.dropped.length ? ` (${digest.dropped.length} dropped to fit)` : ""}, ${Object.keys(digest.attempts).length} attempts`,
|
|
1357
|
-
`size ${chars} characters ≈ ${Math.ceil(chars / 4)} tokens (cap ${config.analysis.maxInputTokens} in, ${config.analysis.maxOutputTokens} out)`,
|
|
1358
|
-
`model ${modelName} · ${ANALYSIS_PROMPT_VERSION} · cache ${cached ? "hit" : "miss"} (.reeval/analysis/${key}.json)`
|
|
1359
|
-
].join("\n"));
|
|
1360
|
-
return 0;
|
|
1361
|
-
}
|
|
1362
|
-
let doc;
|
|
1363
|
-
if (cached) {
|
|
1364
|
-
doc = cached;
|
|
1365
|
-
ctx.err(`cached analysis from ${cached.createdAt} (.reeval/analysis/${key}.json); --no-cache calls the model again`);
|
|
1366
|
-
} else {
|
|
1367
|
-
const resolved = model ?? resolveAnalysisModel(config);
|
|
1368
|
-
ctx.err(`analysing ${head.runId}${base ? ` vs ${base.runId}` : ""} with ${resolved.name}…`);
|
|
1369
|
-
doc = await analyseDigest(config, prepared, resolved);
|
|
1370
|
-
await writeCached(config.root, key, doc);
|
|
1371
|
-
}
|
|
1372
|
-
if (flags.save) {
|
|
1373
|
-
const saved = await saveAnalysis(config.history.dir, doc, key, renderMarkdown(doc));
|
|
1374
|
-
ctx.err(`saved ${saved.map((p) => fromCwd(p)).join(" and ")}. Commit them with git.`);
|
|
1375
|
-
}
|
|
1376
|
-
ctx.out(flags.json ? JSON.stringify(doc, null, 2) : flags.md ? renderMarkdown(doc) : renderText(doc));
|
|
1377
|
-
return 0;
|
|
1378
|
-
}
|
|
1379
|
-
//#endregion
|
|
1380
|
-
export { failedAnalysis as a, defaultBase as i, analyzeCommand as n, prepareAnalysis as o, contextMarkdown as r, promptOf as s, analyseDigest as t };
|
|
1032
|
+
export { digestChars as a, buildDigestKeepingDropped as i, validateAnalysis as n, digestHash as o, RULES as r, unverifiedNumbers as t };
|
|
1381
1033
|
|
|
1382
|
-
//# sourceMappingURL=
|
|
1034
|
+
//# sourceMappingURL=validate-BdoXUuL_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-BdoXUuL_.js","names":[],"sources":["../src/analysis/digest.ts","../src/analysis/validate.ts"],"mappings":"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"}
|