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.
Files changed (295) hide show
  1. package/README.md +64 -39
  2. package/THIRD_PARTY_NOTICES.md +75 -106
  3. package/bin/mcp-timer.cjs +224 -0
  4. package/dist/{adapter-DWlpOtRn.js → adapter-DigeVFWC.js} +3 -3
  5. package/dist/{adapter-DWlpOtRn.js.map → adapter-DigeVFWC.js.map} +1 -1
  6. package/dist/{agent-CaS_2Sce.js → agent-CatUEo5h.js} +21 -6
  7. package/dist/{agent-CaS_2Sce.js.map → agent-CatUEo5h.js.map} +1 -1
  8. package/dist/{assemble-B9Alds-z.js → assemble-CF063ms6.js} +19 -17
  9. package/dist/assemble-CF063ms6.js.map +1 -0
  10. package/dist/assemble-CJoD_Rzr.js +1 -0
  11. package/dist/bridge/index.mjs +15 -7
  12. package/dist/{capture-CNb9SuU5.js → capture-BiD7lVaM.js} +26 -18
  13. package/dist/{capture-CNb9SuU5.js.map → capture-BiD7lVaM.js.map} +1 -1
  14. package/dist/capture-Dp3q7K7Y.js +1 -0
  15. package/dist/{cli-D303Vj5N.js → cli-B5zQCR2r.js} +266 -547
  16. package/dist/cli-B5zQCR2r.js.map +1 -0
  17. package/dist/{cli-spec-BPZbQG2p.js → cli-spec-BXIBUlaK.js} +46 -18
  18. package/dist/cli-spec-BXIBUlaK.js.map +1 -0
  19. package/dist/cli.js +2 -2
  20. package/dist/{command-BT9a37ZR.js → command-BMHXHqMT.js} +17 -14
  21. package/dist/command-BMHXHqMT.js.map +1 -0
  22. package/dist/command-C94CQNh8.js +91 -0
  23. package/dist/command-C94CQNh8.js.map +1 -0
  24. package/dist/command-CVtgyqlM.js +335 -0
  25. package/dist/command-CVtgyqlM.js.map +1 -0
  26. package/dist/{command-BLfT7vnQ.js → command-CaZgCTIw.js} +13 -17
  27. package/dist/command-CaZgCTIw.js.map +1 -0
  28. package/dist/{command-CMJtHKRa.js → command-DTgBZR0k.js} +6 -6
  29. package/dist/{command-CMJtHKRa.js.map → command-DTgBZR0k.js.map} +1 -1
  30. package/dist/{commands-1p-bIWhN.js → commands-BXzIDB3X.js} +1 -1
  31. package/dist/commands-CjpGBUWr.js +666 -0
  32. package/dist/commands-CjpGBUWr.js.map +1 -0
  33. package/dist/{config-DEgnUiU-.js → config-Dv5MG7Rp.js} +31 -34
  34. package/dist/config-Dv5MG7Rp.js.map +1 -0
  35. package/dist/{context-C1mxXh80.js → context-Dgn48BqT.js} +13 -2
  36. package/dist/context-Dgn48BqT.js.map +1 -0
  37. package/dist/contrasts-CcoMLC_y.js +101 -0
  38. package/dist/contrasts-CcoMLC_y.js.map +1 -0
  39. package/dist/db-BeqRiWLl.js +602 -0
  40. package/dist/db-BeqRiWLl.js.map +1 -0
  41. package/dist/db-CJDRVQal.js +2 -0
  42. package/dist/{dist-B8hJImYt.js → dist-CMjp3qqF.js} +81 -14
  43. package/dist/dist-CMjp3qqF.js.map +1 -0
  44. package/dist/{docker-sZrNrr82.js → docker-BbTlMmYi.js} +2 -2
  45. package/dist/{docker-sZrNrr82.js.map → docker-BbTlMmYi.js.map} +1 -1
  46. package/dist/{docker-7b_2SaH7.js → docker-CCXdbREk.js} +20 -4
  47. package/dist/{docker-7b_2SaH7.js.map → docker-CCXdbREk.js.map} +1 -1
  48. package/dist/{docker-yauK-9X8.js → docker-DC69dKxB.js} +1 -1
  49. package/dist/{doctor-BYNok4UO.js → doctor-CqttrZcs.js} +56 -22
  50. package/dist/doctor-CqttrZcs.js.map +1 -0
  51. package/dist/{egress-C4PZTSSe.js → egress-BfK_O9ce.js} +435 -31
  52. package/dist/egress-BfK_O9ce.js.map +1 -0
  53. package/dist/{environment-DNjRk0nU.js → environment-BBz1Yes9.js} +225 -12
  54. package/dist/environment-BBz1Yes9.js.map +1 -0
  55. package/dist/{evaluate-D4zeRGBF.js → evaluate-CXQ1o-pd.js} +539 -562
  56. package/dist/evaluate-CXQ1o-pd.js.map +1 -0
  57. package/dist/{evaluate-C1UVL21l.d.ts → evaluate-yjZKUexW.d.ts} +2 -2
  58. package/dist/facts-DtENlf9s.js +898 -0
  59. package/dist/facts-DtENlf9s.js.map +1 -0
  60. package/dist/{files-BXUdY8tr.js → files-B-eUpCZ1.js} +30 -7
  61. package/dist/files-B-eUpCZ1.js.map +1 -0
  62. package/dist/files-BsQbYz2i.js +65 -0
  63. package/dist/files-BsQbYz2i.js.map +1 -0
  64. package/dist/{files-DQmHE7pb.js → files-COHQLEHE.js} +6 -17
  65. package/dist/files-COHQLEHE.js.map +1 -0
  66. package/dist/files-DqCBW7i8.js +1 -0
  67. package/dist/files-Ha-jsQXf.js +1 -0
  68. package/dist/generate-Cs2TMH_k.js +1647 -0
  69. package/dist/generate-Cs2TMH_k.js.map +1 -0
  70. package/dist/{git-DfG-YJ1u.js → git-DhykwgKF.js} +2 -2
  71. package/dist/{git-DfG-YJ1u.js.map → git-DhykwgKF.js.map} +1 -1
  72. package/dist/{harness-B8QC9u0O.js → harness-BAjw1fcr.js} +3 -3
  73. package/dist/{harness-B8QC9u0O.js.map → harness-BAjw1fcr.js.map} +1 -1
  74. package/dist/harness.d.ts +1 -1
  75. package/dist/harness.js +1 -1
  76. package/dist/{header-hK-Z_Po9.js → header-kSmWatcO.js} +10 -3
  77. package/dist/{header-hK-Z_Po9.js.map → header-kSmWatcO.js.map} +1 -1
  78. package/dist/{images-0On0cztu.js → images-BmJRuTpm.js} +61 -13
  79. package/dist/images-BmJRuTpm.js.map +1 -0
  80. package/dist/index.d.ts +3 -3
  81. package/dist/index.js +4 -4
  82. package/dist/init-Bwc9byQr.js +543 -0
  83. package/dist/init-Bwc9byQr.js.map +1 -0
  84. package/dist/init-D7Y1ny1z.js +1 -0
  85. package/dist/insights-B2Xmhz9o.js +64 -0
  86. package/dist/insights-B2Xmhz9o.js.map +1 -0
  87. package/dist/{invocations-DbGfBAA_.js → invocations-CQTbP092.js} +3 -3
  88. package/dist/{invocations-DbGfBAA_.js.map → invocations-CQTbP092.js.map} +1 -1
  89. package/dist/{judge-DW_GDOmB.js → judge-Dt6KW6_O.js} +5 -3
  90. package/dist/judge-Dt6KW6_O.js.map +1 -0
  91. package/dist/judge.d.ts +7 -6
  92. package/dist/judge.js +8 -7
  93. package/dist/judge.js.map +1 -1
  94. package/dist/{live-jlfszAbb.js → live-DYd2QEyR.js} +2 -2
  95. package/dist/{live-jlfszAbb.js.map → live-DYd2QEyR.js.map} +1 -1
  96. package/dist/{model-h_cDtcRr.js → model-B-mel-Gv.js} +46 -20
  97. package/dist/model-B-mel-Gv.js.map +1 -0
  98. package/dist/model-BGKYVpoj.js +1 -0
  99. package/dist/{model-DaVCY3rb.js → model-C7tSwT7f.js} +2 -2
  100. package/dist/{model-DaVCY3rb.js.map → model-C7tSwT7f.js.map} +1 -1
  101. package/dist/{model-oqcDplJG.js → model-CWlAqmbU.js} +150 -46
  102. package/dist/model-CWlAqmbU.js.map +1 -0
  103. package/dist/model-DHY-dfoO.js +1 -0
  104. package/dist/{node-B3ydHo6t.js → node-D0mtjRAO.js} +3 -3
  105. package/dist/{node-B3ydHo6t.js.map → node-D0mtjRAO.js.map} +1 -1
  106. package/dist/{options-Bh2W63dK.js → options-CPUW97_7.js} +9 -12
  107. package/dist/options-CPUW97_7.js.map +1 -0
  108. package/dist/{pairs-CnInRu-G.js → pairs-DP6XOJby.js} +2 -2
  109. package/dist/{pairs-CnInRu-G.js.map → pairs-DP6XOJby.js.map} +1 -1
  110. package/dist/{patch-Zac5aIRM.js → patch-D4oluWzH.js} +2 -2
  111. package/dist/{patch-Zac5aIRM.js.map → patch-D4oluWzH.js.map} +1 -1
  112. package/dist/{plan-C9Cy27Ay.js → plan-OkwUcJQ9.js} +31 -12
  113. package/dist/plan-OkwUcJQ9.js.map +1 -0
  114. package/dist/plugins-CUWMnSNb.js +654 -0
  115. package/dist/plugins-CUWMnSNb.js.map +1 -0
  116. package/dist/{preflight-CPWpQeBI.js → preflight-B6pY89bF.js} +1 -1
  117. package/dist/{preflight-D7iFPKeK.js → preflight-Bjm7_ylE.js} +14 -10
  118. package/dist/preflight-Bjm7_ylE.js.map +1 -0
  119. package/dist/{prepare-doGxaAGR.js → prepare-CQmK3SBn.js} +71 -24
  120. package/dist/prepare-CQmK3SBn.js.map +1 -0
  121. package/dist/prepare-DbdgtZKe.js +2 -0
  122. package/dist/{provenance-DmE9uPVt.js → provenance-B3Y17oCC.js} +2 -2
  123. package/dist/{provenance-DmE9uPVt.js.map → provenance-B3Y17oCC.js.map} +1 -1
  124. package/dist/providers-CXN2RFz-.js +1 -0
  125. package/dist/{providers-tAOD1NQN.js → providers-eoniqK6w.js} +24 -10
  126. package/dist/providers-eoniqK6w.js.map +1 -0
  127. package/dist/query-CLRZmWBT.js +139 -0
  128. package/dist/query-CLRZmWBT.js.map +1 -0
  129. package/dist/query-CmBDYt0_.js +1 -0
  130. package/dist/{questions-DjAwMxZ3.js → questions-1XOulevV.js} +6 -6
  131. package/dist/{questions-DjAwMxZ3.js.map → questions-1XOulevV.js.map} +1 -1
  132. package/dist/{record-BKmMvZ6O.js → record-kk9M1hj-.js} +8 -4
  133. package/dist/record-kk9M1hj-.js.map +1 -0
  134. package/dist/remarks-1521zwfW.js +38 -0
  135. package/dist/remarks-1521zwfW.js.map +1 -0
  136. package/dist/remarks-BhAV1H4V.js +1 -0
  137. package/dist/remarks-DlJCqWRs.js +278 -0
  138. package/dist/remarks-DlJCqWRs.js.map +1 -0
  139. package/dist/{remote-HDRt16ew.js → remote-cE2VWfkJ.js} +3 -3
  140. package/dist/{remote-HDRt16ew.js.map → remote-cE2VWfkJ.js.map} +1 -1
  141. package/dist/resolve-C4zeccCH.js +724 -0
  142. package/dist/resolve-C4zeccCH.js.map +1 -0
  143. package/dist/resolve-D30yZYmB.js +1 -0
  144. package/dist/{results-DuauQI3Z.js → results-Drtt0uFl.js} +33 -7
  145. package/dist/results-Drtt0uFl.js.map +1 -0
  146. package/dist/{resume-BRfa8E_s.js → resume-BEFazUfy.js} +4 -4
  147. package/dist/{resume-BRfa8E_s.js.map → resume-BEFazUfy.js.map} +1 -1
  148. package/dist/rules-BFzQqPIm.js +317 -0
  149. package/dist/rules-BFzQqPIm.js.map +1 -0
  150. package/dist/run-BeMy92Us.js +88 -0
  151. package/dist/run-BeMy92Us.js.map +1 -0
  152. package/dist/{sandbox-D3A8oUb7.js → sandbox-CQaJj7n9.js} +2 -2
  153. package/dist/{sandbox-D3A8oUb7.js.map → sandbox-CQaJj7n9.js.map} +1 -1
  154. package/dist/sandbox.d.ts +1 -1
  155. package/dist/sandbox.js +1 -1
  156. package/dist/server-V4-2w0l8.js +1 -0
  157. package/dist/{server-XDleKaF_.js → server-xK0les4f.js} +8 -8
  158. package/dist/{server-XDleKaF_.js.map → server-xK0les4f.js.map} +1 -1
  159. package/dist/{shared-DYpIb1BI.js → shared-CA61BuPJ.js} +25 -3
  160. package/dist/shared-CA61BuPJ.js.map +1 -0
  161. package/dist/source-BDow_oW8.js +1 -0
  162. package/dist/{source-C8xumIWj.js → source-Q1hEKbCs.js} +2 -2
  163. package/dist/{source-C8xumIWj.js.map → source-Q1hEKbCs.js.map} +1 -1
  164. package/dist/src-B9L9yGKI.js +1 -0
  165. package/dist/{src-ofUaYbuY.js → src-Bcah6ZkT.js} +1 -1
  166. package/dist/{src-DvCg0NBs.js → src-BhmaorOU.js} +28 -6
  167. package/dist/{src-DvCg0NBs.js.map → src-BhmaorOU.js.map} +1 -1
  168. package/dist/{src-CF17Ug08.js → src-C0CeKiLU.js} +19 -4
  169. package/dist/{src-CF17Ug08.js.map → src-C0CeKiLU.js.map} +1 -1
  170. package/dist/src-C0xowZ3C.js +2 -0
  171. package/dist/src-CHIfIKUu.js +2 -0
  172. package/dist/src-DLtyz4w5.js +2 -0
  173. package/dist/src-DPIjmReZ.js +2 -0
  174. package/dist/{src-C_lPtowT.js → src-DXNh5mTr.js} +1 -1
  175. package/dist/{src-FGXhkEkH.js → src-DiLMkIr9.js} +142 -13
  176. package/dist/src-DiLMkIr9.js.map +1 -0
  177. package/dist/{src-B7treWa8.js → src-LekQrr_S.js} +324 -32
  178. package/dist/src-LekQrr_S.js.map +1 -0
  179. package/dist/src-bCnsA6Vp.js +2 -0
  180. package/dist/{src-u8_ixn_F.js → src-cbCb-MPy.js} +20 -4
  181. package/dist/src-cbCb-MPy.js.map +1 -0
  182. package/dist/{src-DvK0EIZx.js → src-qGoFkuJF.js} +55 -6
  183. package/dist/{src-DvK0EIZx.js.map → src-qGoFkuJF.js.map} +1 -1
  184. package/dist/{src-jzagbuqH.js → src-ynBVosfX.js} +1 -1
  185. package/dist/state-BQR_BCm4.js +1 -0
  186. package/dist/{state-C__9swoG.js → state-BmZ8QVZ8.js} +12 -12
  187. package/dist/{state-C__9swoG.js.map → state-BmZ8QVZ8.js.map} +1 -1
  188. package/dist/studio-app/assets/index-CnYJijyI.js +58 -0
  189. package/dist/studio-app/index.html +1 -1
  190. package/dist/suite-BaHPmAGy.js +1 -0
  191. package/dist/suite-C8sw2pox.js +481 -0
  192. package/dist/suite-C8sw2pox.js.map +1 -0
  193. package/dist/summary-0oQNGskv.js +837 -0
  194. package/dist/summary-0oQNGskv.js.map +1 -0
  195. package/dist/testing.d.ts +2 -2
  196. package/dist/testing.js +2 -2
  197. package/dist/{text-gEcKjAyp.js → text-CrVy5ioL.js} +18 -2
  198. package/dist/text-CrVy5ioL.js.map +1 -0
  199. package/dist/{transcript-BNNANU8A.js → transcript-BTxJpW4R.js} +2 -2
  200. package/dist/{transcript-BNNANU8A.js.map → transcript-BTxJpW4R.js.map} +1 -1
  201. package/dist/types-C5vI3g1C.js.map +1 -1
  202. package/dist/{types-g17bRAzt.d.ts → types-GraZtfHN.d.ts} +858 -39
  203. package/dist/usage-BDo2q_yu.js +1 -0
  204. package/dist/{command-Bge8F7Ko.js → validate-BdoXUuL_.js} +35 -383
  205. package/dist/validate-BdoXUuL_.js.map +1 -0
  206. package/dist/view/index.d.ts +20 -9
  207. package/dist/view/index.js +7 -6
  208. package/dist/views-BoUoX4_A.js +125 -0
  209. package/dist/views-BoUoX4_A.js.map +1 -0
  210. package/dist/views-noVQNCUP.js +2 -0
  211. package/dist/{worker-entry-yOchGYYv.js → worker-entry-D0-GErmU.js} +2 -2
  212. package/dist/{worker-entry-yOchGYYv.js.map → worker-entry-D0-GErmU.js.map} +1 -1
  213. package/dist/{workspace-D8sSgpiy.js → workspace-B90YDU_a.js} +1 -1
  214. package/dist/{workspace-CgyHEM0l.js → workspace-tjZFkjxC.js} +4 -4
  215. package/dist/{workspace-CgyHEM0l.js.map → workspace-tjZFkjxC.js.map} +1 -1
  216. package/package.json +10 -8
  217. package/skills/eval-rubric/SKILL.md +130 -0
  218. package/dist/agent-CURAwx_q.js +0 -334
  219. package/dist/agent-CURAwx_q.js.map +0 -1
  220. package/dist/assemble-B9Alds-z.js.map +0 -1
  221. package/dist/assemble-J5MukZFY.js +0 -1
  222. package/dist/capture-jquXZBKK.js +0 -1
  223. package/dist/cli-D303Vj5N.js.map +0 -1
  224. package/dist/cli-spec-BPZbQG2p.js.map +0 -1
  225. package/dist/command-BLfT7vnQ.js.map +0 -1
  226. package/dist/command-BT9a37ZR.js.map +0 -1
  227. package/dist/command-Bge8F7Ko.js.map +0 -1
  228. package/dist/command-BkFjijN2.js +0 -1
  229. package/dist/commands-BFx16WB8.js +0 -225
  230. package/dist/commands-BFx16WB8.js.map +0 -1
  231. package/dist/config-DEgnUiU-.js.map +0 -1
  232. package/dist/context-C1mxXh80.js.map +0 -1
  233. package/dist/db-CdHizc4_.js +0 -1406
  234. package/dist/db-CdHizc4_.js.map +0 -1
  235. package/dist/db-Dm1cRJJP.js +0 -2
  236. package/dist/dist-B8hJImYt.js.map +0 -1
  237. package/dist/doctor-BYNok4UO.js.map +0 -1
  238. package/dist/duration-CEOQww97.js +0 -26
  239. package/dist/duration-CEOQww97.js.map +0 -1
  240. package/dist/egress-C4PZTSSe.js.map +0 -1
  241. package/dist/environment-DNjRk0nU.js.map +0 -1
  242. package/dist/evaluate-D4zeRGBF.js.map +0 -1
  243. package/dist/family-D2b7WD10.js +0 -67
  244. package/dist/family-D2b7WD10.js.map +0 -1
  245. package/dist/files-BXUdY8tr.js.map +0 -1
  246. package/dist/files-BhyltlDB.js +0 -1
  247. package/dist/files-DQmHE7pb.js.map +0 -1
  248. package/dist/files-ZZPqfAo6.js +0 -1
  249. package/dist/images-0On0cztu.js.map +0 -1
  250. package/dist/init-B77Rpcqc.js +0 -360
  251. package/dist/init-B77Rpcqc.js.map +0 -1
  252. package/dist/init-BrOWin3W.js +0 -1
  253. package/dist/judge-DW_GDOmB.js.map +0 -1
  254. package/dist/model-NM3ID0uR.js +0 -1
  255. package/dist/model-h_cDtcRr.js.map +0 -1
  256. package/dist/model-nwWJvaUR.js +0 -1
  257. package/dist/model-oqcDplJG.js.map +0 -1
  258. package/dist/options-Bh2W63dK.js.map +0 -1
  259. package/dist/plan-C9Cy27Ay.js.map +0 -1
  260. package/dist/preflight-D7iFPKeK.js.map +0 -1
  261. package/dist/prepare-BGjePFQl.js +0 -2
  262. package/dist/prepare-doGxaAGR.js.map +0 -1
  263. package/dist/process-CSVO_jsc.js +0 -119
  264. package/dist/process-CSVO_jsc.js.map +0 -1
  265. package/dist/providers-gDMko8fl.js +0 -1
  266. package/dist/providers-tAOD1NQN.js.map +0 -1
  267. package/dist/query-Bes9Kh6Y.js +0 -91
  268. package/dist/query-Bes9Kh6Y.js.map +0 -1
  269. package/dist/query-C_G_svLU.js +0 -1
  270. package/dist/record-BKmMvZ6O.js.map +0 -1
  271. package/dist/results-DuauQI3Z.js.map +0 -1
  272. package/dist/server-C7sg1ndo.js +0 -1
  273. package/dist/shared-DYpIb1BI.js.map +0 -1
  274. package/dist/source-fGd0SaKP.js +0 -1
  275. package/dist/src-B7treWa8.js.map +0 -1
  276. package/dist/src-DNnG4e4R.js +0 -2
  277. package/dist/src-DTbrY1hi.js +0 -2
  278. package/dist/src-DdyJEh2v.js +0 -2
  279. package/dist/src-Dj9PAroc.js +0 -2
  280. package/dist/src-Du8H85Qq.js +0 -2
  281. package/dist/src-FGXhkEkH.js.map +0 -1
  282. package/dist/src-pJZOrYR9.js +0 -1
  283. package/dist/src-u8_ixn_F.js.map +0 -1
  284. package/dist/state-CgjQo29K.js +0 -1
  285. package/dist/studio-app/assets/index-DrQc2Yxd.js +0 -58
  286. package/dist/summary-BLAVLySU.js +0 -385
  287. package/dist/summary-BLAVLySU.js.map +0 -1
  288. package/dist/summary-DgyjUh_l.js +0 -192
  289. package/dist/summary-DgyjUh_l.js.map +0 -1
  290. package/dist/text-gEcKjAyp.js.map +0 -1
  291. package/dist/tools-GCyNYSc1.js +0 -249
  292. package/dist/tools-GCyNYSc1.js.map +0 -1
  293. package/dist/views-BW6oCDUQ.js +0 -2
  294. package/dist/views-BmQF4UCI.js +0 -225
  295. 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 { n as UsageError } from "./errors-B6BSMs03.js";
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-gEcKjAyp.js";
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 { t as ANALYSIS_PROMPT_VERSION } from "./analysis-Bxub9LMT.js";
8
- import { V as labelledJudgements, yt as compare } from "./model-oqcDplJG.js";
9
- import { a as familyLiftLabel, o as familyRateLabel, r as familyEffortLabel } from "./family-D2b7WD10.js";
10
- import { t as runHeader } from "./header-hK-Z_Po9.js";
11
- import { n as headToHeadLines, r as pairTallies, s as sampleReasons, u as splitsLabel } from "./pairs-CnInRu-G.js";
12
- import { o as parseRecord, p as scratchDir } from "./files-BXUdY8tr.js";
13
- import { g as contrastsOf } from "./summary-BLAVLySU.js";
14
- import { l as writeCached, o as readCached, s as saveAnalysis } from "./files-DQmHE7pb.js";
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 attempt counts can never reach it (2 vs 2 cannot) — 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.`,
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 answered = t.pass + t.fail + t.error + t.notRun;
104
- if (answered === 0) return void 0;
105
- return t.pass === answered ? "all" : t.pass === 0 ? "none" : "some";
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.pass}/${k.pass + k.fail + k.error + k.notRun}${mean}`];
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: `${k.a.pass}/${k.a.pass + k.a.fail + k.a.notRun}`,
625
- b: `${k.b.pass}/${k.b.pass + k.b.fail + k.b.notRun}`,
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 ?? []).filter((k) => k.control && k.verdict);
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: `${k.pass}/${k.pass + k.fail + k.notRun}`,
658
- control: `${k.control?.pass}/${(k.control?.pass ?? 0) + (k.control?.fail ?? 0) + (k.control?.notRun ?? 0)}`,
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
- //#region src/analysis/command.ts
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=command-Bge8F7Ko.js.map
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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"}