reeval 0.0.1 → 0.3.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 (202) hide show
  1. package/THIRD_PARTY_NOTICES.md +4 -4
  2. package/assets/package.json +1 -1
  3. package/assets/pnpm-lock.yaml +84 -33
  4. package/dist/agent-BYy0Tc6P.js +334 -0
  5. package/dist/agent-BYy0Tc6P.js.map +1 -0
  6. package/dist/{agent-DVHkx8aT.js → agent-DcQAvomp.js} +4 -4
  7. package/dist/{agent-DVHkx8aT.js.map → agent-DcQAvomp.js.map} +1 -1
  8. package/dist/analysis-CxSCt1YY.js.map +1 -1
  9. package/dist/assemble-BFsyMhb-.js +2 -0
  10. package/dist/{assemble-B-nmz8oH.js → assemble-h8s0hzTQ.js} +23 -14
  11. package/dist/assemble-h8s0hzTQ.js.map +1 -0
  12. package/dist/{cli--CQ3Iy9q.js → cli-DemDdg8J.js} +165 -54
  13. package/dist/cli-DemDdg8J.js.map +1 -0
  14. package/dist/{cli-spec-DKAu09Gi.js → cli-spec-BxLPgNN-.js} +8 -2
  15. package/dist/cli-spec-BxLPgNN-.js.map +1 -0
  16. package/dist/cli.js +2 -2
  17. package/dist/{command-D-jnQWVG.js → command-CxwnRrTs.js} +11 -11
  18. package/dist/{command-D-jnQWVG.js.map → command-CxwnRrTs.js.map} +1 -1
  19. package/dist/command-DhgZPhsY.js +2 -0
  20. package/dist/{command-DQAvbG7d.js → command-PEbIzJj3.js} +12 -12
  21. package/dist/{command-DQAvbG7d.js.map → command-PEbIzJj3.js.map} +1 -1
  22. package/dist/{command-BSJzHMtP.js → command-pHfluVCF.js} +11 -9
  23. package/dist/command-pHfluVCF.js.map +1 -0
  24. package/dist/{command-CEm8PZ1N.js → command-y91-aNhu.js} +169 -280
  25. package/dist/command-y91-aNhu.js.map +1 -0
  26. package/dist/{commands-A4udfyKZ.js → commands-De-SxIgY.js} +1 -1
  27. package/dist/{commands-CF8mOfiu.js → commands-DhCuEa6z.js} +6 -6
  28. package/dist/{commands-CF8mOfiu.js.map → commands-DhCuEa6z.js.map} +1 -1
  29. package/dist/{config-Cuj0kVYj.js → config-CqSLZkwx.js} +39 -14
  30. package/dist/{config-Cuj0kVYj.js.map → config-CqSLZkwx.js.map} +1 -1
  31. package/dist/{db-DxDzMhtB.js → db-DA4LBwi_.js} +4 -4
  32. package/dist/{db-DxDzMhtB.js.map → db-DA4LBwi_.js.map} +1 -1
  33. package/dist/db-DDfq7Tx_.js +2 -0
  34. package/dist/{dist-BZXYHN2X.js → dist-BSoys6pg.js} +2 -2
  35. package/dist/{dist-BZXYHN2X.js.map → dist-BSoys6pg.js.map} +1 -1
  36. package/dist/{docker-DQDZWXF9.js → docker-DMRwn7yh.js} +2 -2
  37. package/dist/{docker-DQDZWXF9.js.map → docker-DMRwn7yh.js.map} +1 -1
  38. package/dist/{docker-oSbCExHL.js → docker-DwG9f76x.js} +4 -4
  39. package/dist/{docker-oSbCExHL.js.map → docker-DwG9f76x.js.map} +1 -1
  40. package/dist/{docker-DnWAVdEm.js → docker-jf52ARP7.js} +1 -1
  41. package/dist/{doctor-CxlH1pDM.js → doctor-DhvVbNKv.js} +23 -18
  42. package/dist/doctor-DhvVbNKv.js.map +1 -0
  43. package/dist/{egress-73SQfKdx.js → egress-D9vJCATi.js} +35 -19
  44. package/dist/egress-D9vJCATi.js.map +1 -0
  45. package/dist/{environment-Mz7wvrtD.js → environment-ByCF9s3n.js} +6 -16
  46. package/dist/{environment-Mz7wvrtD.js.map → environment-ByCF9s3n.js.map} +1 -1
  47. package/dist/files-B16cQ6XX.js +2 -0
  48. package/dist/files-BC5Yqir-.js +2 -0
  49. package/dist/{files-bF2fPuT9.js → files-CfsIRN7n.js} +40 -7
  50. package/dist/files-CfsIRN7n.js.map +1 -0
  51. package/dist/{files-D2-qn_Dl.js → files-DHBBIYx_.js} +6 -6
  52. package/dist/{files-D2-qn_Dl.js.map → files-DHBBIYx_.js.map} +1 -1
  53. package/dist/{git-D6hMeieS.js → git-oX92_Jh-.js} +2 -2
  54. package/dist/{git-D6hMeieS.js.map → git-oX92_Jh-.js.map} +1 -1
  55. package/dist/{harness-ls5aX1UO.js → harness-BbMShUC-.js} +4 -4
  56. package/dist/{harness-ls5aX1UO.js.map → harness-BbMShUC-.js.map} +1 -1
  57. package/dist/harness.d.ts +2 -2
  58. package/dist/harness.js +1 -1
  59. package/dist/{header-DzFDoMCI.js → header-sPQ9Lq2S.js} +2 -2
  60. package/dist/{header-DzFDoMCI.js.map → header-sPQ9Lq2S.js.map} +1 -1
  61. package/dist/{images-Cc1-coFc.js → images-C9Y4ijbG.js} +6 -6
  62. package/dist/{images-Cc1-coFc.js.map → images-C9Y4ijbG.js.map} +1 -1
  63. package/dist/index.d.ts +4 -4
  64. package/dist/index.js +23 -23
  65. package/dist/index.js.map +1 -1
  66. package/dist/init-DPJv7OmX.js +2 -0
  67. package/dist/{init-CFljS8BJ.js → init-x55uF8a4.js} +10 -10
  68. package/dist/{init-CFljS8BJ.js.map → init-x55uF8a4.js.map} +1 -1
  69. package/dist/{invocations-rXktgSAn.js → invocations-DSMfs3Dx.js} +3 -3
  70. package/dist/{invocations-rXktgSAn.js.map → invocations-DSMfs3Dx.js.map} +1 -1
  71. package/dist/{jiti-BOLXpKyG.js → jiti-DWsGEgxD.js} +4 -4
  72. package/dist/{jiti-BOLXpKyG.js.map → jiti-DWsGEgxD.js.map} +1 -1
  73. package/dist/judge.d.ts +7 -6
  74. package/dist/judge.js +8 -3
  75. package/dist/judge.js.map +1 -1
  76. package/dist/{live-Bs3LReMV.js → live-DZkCtmNP.js} +2 -2
  77. package/dist/{live-Bs3LReMV.js.map → live-DZkCtmNP.js.map} +1 -1
  78. package/dist/{matchers-DyLvm7EG.js → matchers-D51lM8dO.js} +4 -4
  79. package/dist/{matchers-DyLvm7EG.js.map → matchers-D51lM8dO.js.map} +1 -1
  80. package/dist/model-CNoc8t2Y.js +2 -0
  81. package/dist/model-DQQQ3q_n.js +2 -0
  82. package/dist/model-GFM8iOzM.js +228 -0
  83. package/dist/model-GFM8iOzM.js.map +1 -0
  84. package/dist/{model-CDL98xue.js → model-ORtLm2UB.js} +41 -3
  85. package/dist/{model-CDL98xue.js.map → model-ORtLm2UB.js.map} +1 -1
  86. package/dist/{node-kG64XxdE.js → node-OXPxBD2N.js} +3 -3
  87. package/dist/{node-kG64XxdE.js.map → node-OXPxBD2N.js.map} +1 -1
  88. package/dist/{opencode-providers-DZuD_oYt.js → opencode-providers-DJVocFOU.js} +31 -3
  89. package/dist/opencode-providers-DJVocFOU.js.map +1 -0
  90. package/dist/{options-CAQhu--C.js → options-CIutEeuy.js} +86 -46
  91. package/dist/options-CIutEeuy.js.map +1 -0
  92. package/dist/{plan-gwk6dJ8c.js → plan-DcHTdiJN.js} +21 -5
  93. package/dist/plan-DcHTdiJN.js.map +1 -0
  94. package/dist/{preflight-BtubXKQ8.js → preflight-BQyUr_hW.js} +1 -1
  95. package/dist/{preflight-BypZMNBG.js → preflight-vISQIiF1.js} +3 -3
  96. package/dist/{preflight-BypZMNBG.js.map → preflight-vISQIiF1.js.map} +1 -1
  97. package/dist/{prepare-D6Uzcubb.js → prepare-BTeAiW9Q.js} +5 -5
  98. package/dist/{prepare-D6Uzcubb.js.map → prepare-BTeAiW9Q.js.map} +1 -1
  99. package/dist/{prepare-Cwv0bHs_.js → prepare-Ca0Nxd9b.js} +2 -2
  100. package/dist/{provenance-Dfb8YY5Y.js → provenance-D4vo7RF6.js} +21 -3
  101. package/dist/provenance-D4vo7RF6.js.map +1 -0
  102. package/dist/{providers-2p3ylMHI.js → providers-Bjgky1u8.js} +3 -3
  103. package/dist/{providers-2p3ylMHI.js.map → providers-Bjgky1u8.js.map} +1 -1
  104. package/dist/{providers-BUOxitcT.js → providers-DfVMglqP.js} +1 -1
  105. package/dist/query-CWkZnV62.js +2 -0
  106. package/dist/{query-CFATHZmV.js → query-D2KaStTs.js} +2 -2
  107. package/dist/{query-CFATHZmV.js.map → query-D2KaStTs.js.map} +1 -1
  108. package/dist/questions-CzXdVVsh.js +325 -0
  109. package/dist/questions-CzXdVVsh.js.map +1 -0
  110. package/dist/{record-DQ8wzyco.js → record-CbuQH4l1.js} +7 -3
  111. package/dist/record-CbuQH4l1.js.map +1 -0
  112. package/dist/{results-CeXb8Wde.js → results-BI-zTqQy.js} +4 -4
  113. package/dist/{results-CeXb8Wde.js.map → results-BI-zTqQy.js.map} +1 -1
  114. package/dist/{root-CFDjpWuc.js → root-Zeokqt3-.js} +2 -2
  115. package/dist/{root-CFDjpWuc.js.map → root-Zeokqt3-.js.map} +1 -1
  116. package/dist/{sandbox-By2gkdkC.js → sandbox-Dd-4Bx6B.js} +3 -3
  117. package/dist/{sandbox-By2gkdkC.js.map → sandbox-Dd-4Bx6B.js.map} +1 -1
  118. package/dist/sandbox.d.ts +2 -2
  119. package/dist/sandbox.js +1 -1
  120. package/dist/server-BjbgFX28.js +2 -0
  121. package/dist/{server-Bi61uiY0.js → server-C7t8WYCR.js} +11 -9
  122. package/dist/{server-Bi61uiY0.js.map → server-C7t8WYCR.js.map} +1 -1
  123. package/dist/source-CLE8vMNa.js +2 -0
  124. package/dist/{source-Bsfa3LZH.js → source-fNUCWsCW.js} +2 -2
  125. package/dist/{source-Bsfa3LZH.js.map → source-fNUCWsCW.js.map} +1 -1
  126. package/dist/{src-DXx_29pq.js → src-B1OT_Zhf.js} +46 -46
  127. package/dist/{src-DXx_29pq.js.map → src-B1OT_Zhf.js.map} +1 -1
  128. package/dist/{src-BQyMiWri.js → src-BAiYD4eC.js} +48 -7
  129. package/dist/{src-BQyMiWri.js.map → src-BAiYD4eC.js.map} +1 -1
  130. package/dist/{src-D8KYzxBX.js → src-BmBFlEIe.js} +12 -7
  131. package/dist/{src-D8KYzxBX.js.map → src-BmBFlEIe.js.map} +1 -1
  132. package/dist/{src-N7E_mfcZ.js → src-C91RndLw.js} +1 -1
  133. package/dist/{src-C-LHyTSV.js → src-CEQFcAJH.js} +1 -1
  134. package/dist/src-CNp0srm9.js +3 -0
  135. package/dist/{src-DwwiVLqv.js → src-D3eW1e7Y.js} +19 -15
  136. package/dist/{src-DwwiVLqv.js.map → src-D3eW1e7Y.js.map} +1 -1
  137. package/dist/src-DJsBrqo6.js +4 -0
  138. package/dist/src-DTlmkpJe.js +3 -0
  139. package/dist/{src-Cmp-7YrD.js → src-DWk0e7ix.js} +5 -5
  140. package/dist/{src-Cmp-7YrD.js.map → src-DWk0e7ix.js.map} +1 -1
  141. package/dist/{src-AEwxd1UP.js → src-DfEAlC9s.js} +4 -4
  142. package/dist/{src-AEwxd1UP.js.map → src-DfEAlC9s.js.map} +1 -1
  143. package/dist/src-DgYURuJ6.js +3 -0
  144. package/dist/src-sSPmuaAc.js +3 -0
  145. package/dist/state-Bx-pH2ON.js +2 -0
  146. package/dist/{state-DZ7eqb1F.js → state-g6ij_40j.js} +14 -14
  147. package/dist/{state-DZ7eqb1F.js.map → state-g6ij_40j.js.map} +1 -1
  148. package/dist/studio-app/assets/index-B1Pf3LAT.css +2 -0
  149. package/dist/studio-app/assets/index-DciOL7BI.js +58 -0
  150. package/dist/studio-app/index.html +2 -2
  151. package/dist/summary-DjbxgCDi.js +192 -0
  152. package/dist/summary-DjbxgCDi.js.map +1 -0
  153. package/dist/{summary-D7Ttky0z.js → summary-gawvEpNu.js} +33 -5
  154. package/dist/summary-gawvEpNu.js.map +1 -0
  155. package/dist/tools-B7SoW5kU.js +249 -0
  156. package/dist/tools-B7SoW5kU.js.map +1 -0
  157. package/dist/{types-DLec-6Cx.d.ts → types-C5AEPr29.d.ts} +178 -29
  158. package/dist/view/index.d.ts +63 -1
  159. package/dist/view/index.js +5 -5
  160. package/dist/{views-BrHOv6wg.js → views-CHXQfSWQ.js} +4 -4
  161. package/dist/{views-BrHOv6wg.js.map → views-CHXQfSWQ.js.map} +1 -1
  162. package/dist/views-DDei2LHa.js +3 -0
  163. package/dist/{worker-entry-DnYkANPG.js → worker-entry-B6nuDpBX.js} +3 -3
  164. package/dist/{worker-entry-DnYkANPG.js.map → worker-entry-B6nuDpBX.js.map} +1 -1
  165. package/dist/{workspace-C2S0Z6gl.js → workspace-DUUfne8b.js} +4 -4
  166. package/dist/{workspace-C2S0Z6gl.js.map → workspace-DUUfne8b.js.map} +1 -1
  167. package/dist/{workspace-CyoXG6CY.js → workspace-DXV77ZqW.js} +1 -1
  168. package/docker/Dockerfile +2 -0
  169. package/docker/reeval-path.sh +21 -0
  170. package/package.json +1 -1
  171. package/dist/assemble-B-nmz8oH.js.map +0 -1
  172. package/dist/assemble-CmRVDZ2Q.js +0 -2
  173. package/dist/cli--CQ3Iy9q.js.map +0 -1
  174. package/dist/cli-spec-DKAu09Gi.js.map +0 -1
  175. package/dist/command-BSJzHMtP.js.map +0 -1
  176. package/dist/command-CEm8PZ1N.js.map +0 -1
  177. package/dist/db-Cjj2ZsfQ.js +0 -2
  178. package/dist/doctor-CxlH1pDM.js.map +0 -1
  179. package/dist/egress-73SQfKdx.js.map +0 -1
  180. package/dist/files--6CEUXm7.js +0 -2
  181. package/dist/files-Bd25OAQH.js +0 -2
  182. package/dist/files-bF2fPuT9.js.map +0 -1
  183. package/dist/init-z2ZPn9Tj.js +0 -2
  184. package/dist/model-v-0_Ik7S.js +0 -2
  185. package/dist/opencode-providers-DZuD_oYt.js.map +0 -1
  186. package/dist/options-CAQhu--C.js.map +0 -1
  187. package/dist/plan-gwk6dJ8c.js.map +0 -1
  188. package/dist/provenance-Dfb8YY5Y.js.map +0 -1
  189. package/dist/query-DR4m6CXf.js +0 -2
  190. package/dist/record-DQ8wzyco.js.map +0 -1
  191. package/dist/server-CsSBL8NC.js +0 -2
  192. package/dist/source-BXzrmof5.js +0 -2
  193. package/dist/src-55j1zNHH.js +0 -3
  194. package/dist/src-BDwSuyIo.js +0 -3
  195. package/dist/src-DEgff9Z7.js +0 -4
  196. package/dist/src-W9g-y5X5.js +0 -3
  197. package/dist/src-daS0wKH2.js +0 -3
  198. package/dist/state-Cyw3QTsN.js +0 -2
  199. package/dist/studio-app/assets/index-D6XyfFSH.js +0 -58
  200. package/dist/studio-app/assets/index-xwzWdcE_.css +0 -2
  201. package/dist/summary-D7Ttky0z.js.map +0 -1
  202. package/dist/views-CwCWLWqo.js +0 -3
@@ -174,7 +174,7 @@ type AttemptRecord = {
174
174
  * The models the harness's own API calls were served by, as the egress gateway saw them: named
175
175
  * in the request (e.g. `gemini-3.8-flash` for the id `gemini-3.8-flash-low`, plus any the agent
176
176
  * uses on the side) or, for Codex, in the response, with its effort
177
- * (`gpt-5.4-mini-2026-03-17[effort=medium]`); null when neither names one (Cursor) or nothing
177
+ * (`gpt-5.6-luna[effort=medium]`); null when neither names one (Cursor) or nothing
178
178
  * recorded them.
179
179
  */
180
180
  servedModels: string[] | null;
@@ -242,6 +242,8 @@ type EvalEntry = {
242
242
  sha256: string;
243
243
  }>;
244
244
  tags: string[];
245
+ /** The baseline environment, when the eval uses `compare`. */
246
+ compare?: EvalCompareMeta;
245
247
  /**
246
248
  * Over gated cells: `fail` if any failed, else `infra_error` if any errored, else `skipped` if
247
249
  * all were, else `pass`. An ungated cell's failures don't fail the eval.
@@ -253,6 +255,11 @@ type EvalEntry = {
253
255
  passRate: number | null;
254
256
  cells: CellRecord[];
255
257
  attempts: AttemptRecord[];
258
+ /**
259
+ * The compare's questions, answered after its attempts by pairwise votes, one per question;
260
+ * unset without any. They annotate: `outcome` and `passRate` never depend on them.
261
+ */
262
+ answers?: CompareAnswer[];
256
263
  };
257
264
  /** A variant cell's pass rate against the control's, on the same harness and sandbox. */
258
265
  type Lift = {
@@ -421,7 +428,24 @@ type RunRecord = {
421
428
  /** What ran and graded the agents: the machine, images, harnesses and judge. */
422
429
  type Stack = {
423
430
  es: string;
431
+ /** `process.versions.node`: under Bun or Deno, the Node version they're compatible with. */
424
432
  node: string;
433
+ /**
434
+ * The runtime reeval ran on, `node`, `bun`, `deno` or another, and its own version. Absent in
435
+ * runs recorded before it, which ran on Node.
436
+ */
437
+ runtime?: {
438
+ name: string;
439
+ version: string;
440
+ };
441
+ /**
442
+ * The language the evals are written in, `typescript` for `*.eval.ts`, and the version of its
443
+ * toolchain when the runner reports one. Absent in runs recorded before it.
444
+ */
445
+ language?: {
446
+ name: string;
447
+ version?: string;
448
+ };
425
449
  os: string;
426
450
  arch: string;
427
451
  /** Every image an attempt started from. `id` is content-addressed; `repoDigests` only exist once pushed. */
@@ -447,8 +471,12 @@ type Stack = {
447
471
  */
448
472
  resolvedModels: string[];
449
473
  }>;
474
+ /**
475
+ * The run's judge: the config's, with what the profile's `judge` and `defaults.judge` set over it.
476
+ * `config.judgeModel` and `config.threshold` name the same one.
477
+ */
450
478
  judge: {
451
- /** The config's default model; groups, evals and calls may use others (see each verdict). */
479
+ /** Its model; groups, evals and calls may use others (see each verdict). */
452
480
  model: string | null;
453
481
  /** Model ids the provider reported serving, across every judge call in the run. */
454
482
  resolvedModels: string[];
@@ -609,7 +637,7 @@ type TokenUsage = {
609
637
  cacheWrite: number;
610
638
  reasoning: number | null;
611
639
  };
612
- /** One agent turn. Immutable once `t.send()` resolves. */
640
+ /** One agent turn. Immutable once `c.send()` resolves. */
613
641
  /** A turn as data, as a record or another language's runner carries it: `Turn` without its methods. */
614
642
  type TurnData = {
615
643
  prompt: string;
@@ -637,7 +665,7 @@ type TurnData = {
637
665
  diff: Diff;
638
666
  };
639
667
  type Turn = TurnData & {
640
- /** Runs in the eval's sandbox. Same as `t.exec`. */
668
+ /** Runs in the eval's sandbox. Same as `c.exec`. */
641
669
  exec(command: string): Promise<ExecResult>;
642
670
  readFile(path: string): Promise<string | null>;
643
671
  };
@@ -679,7 +707,7 @@ type Verdict = {
679
707
  /** The model id the provider says served the call, when it reports one. */
680
708
  resolvedModel?: string;
681
709
  };
682
- type EvalContext = {
710
+ type AttemptContext = {
683
711
  /** Sends the next turn of this eval's agent session, starting the sandbox on first use. */
684
712
  send(prompt: string): Promise<Turn>;
685
713
  /** Asks the judge a yes/no question about the latest turn (or `options.on`). */
@@ -689,9 +717,9 @@ type EvalContext = {
689
717
  readFile(path: string): Promise<string | null>;
690
718
  /**
691
719
  * Starts the sandbox and the agent session without a turn, for checks on what the environment
692
- * set up. `t.send()` starts them too; calling both starts them once.
720
+ * set up. `c.send()` starts them too; calling both starts them once.
693
721
  */
694
- sandbox(): Promise<Pick<EvalContext, 'exec' | 'readFile'>>;
722
+ sandbox(): Promise<Pick<AttemptContext, 'exec' | 'readFile'>>;
695
723
  /** Every turn so far, oldest first. */
696
724
  readonly turns: readonly Turn[];
697
725
  /** Aborted on timeout or Ctrl-C. */
@@ -703,7 +731,7 @@ type EvalContext = {
703
731
  n: number;
704
732
  };
705
733
  };
706
- type EvalFn = (t: EvalContext) => Promise<void>;
734
+ type EvalFn = (c: AttemptContext) => Promise<void>;
707
735
  type FakeHarnessDescriptor = {
708
736
  kind: 'fake';
709
737
  /** Cell id; defaults to `fake`. */
@@ -741,7 +769,7 @@ type FakeHarnessDescriptor = {
741
769
  /** Chance (0–1) that an attempt writes no files and says so, for flaky pass rates. */
742
770
  flakeRate?: number;
743
771
  /**
744
- * Real sandbox actions, one list per `t.send` (the last list repeats), run in order before
772
+ * Real sandbox actions, one list per `c.send` (the last list repeats), run in order before
745
773
  * `files`. `exec` runs as the agent: with the sandbox's own variables, none of the checks'.
746
774
  */
747
775
  script?: FakeScriptStep[][];
@@ -874,7 +902,8 @@ type GooseHarnessDescriptor = {
874
902
  };
875
903
  /**
876
904
  * pi through `@reeval/harness-pi` (`pi --mode json` in the sandbox), made by `pi()`. It runs
877
- * Google models on a Gemini API key and reports each model call's tokens. It has no MCP client.
905
+ * Google models on a Gemini API key and reports each model call's tokens. It takes stdio and
906
+ * HTTP MCP servers, not SSE ones.
878
907
  */
879
908
  type PiHarnessDescriptor = {
880
909
  kind: 'pi';
@@ -896,7 +925,7 @@ type PiHarnessDescriptor = {
896
925
  */
897
926
  type CodexHarnessDescriptor = {
898
927
  kind: 'codex';
899
- /** An OpenAI model id Codex runs on the Responses API, e.g. `gpt-5.4-mini`. */
928
+ /** An OpenAI model id Codex runs on the Responses API, e.g. `gpt-5.6-luna`. */
900
929
  model: string;
901
930
  /** Cell id; defaults to `codex:<model>`. */
902
931
  id?: string;
@@ -938,7 +967,7 @@ type DockerSandboxDescriptor = {
938
967
  maxConcurrent?: number;
939
968
  /**
940
969
  * Run the agent, setup steps and checks as root, with the capabilities `apt-get` needs, instead
941
- * of the unprivileged `es` user. For evals that install system packages at run time.
970
+ * of the unprivileged `reeval` user. For evals that install system packages at run time.
942
971
  */
943
972
  root?: boolean;
944
973
  /** Linux capabilities to add back, e.g. `['NET_RAW']`; every other one is dropped. */
@@ -961,7 +990,7 @@ type Secret = {
961
990
  from?: string;
962
991
  /** When the host variable is unset, skip it (the record says so) instead of failing. */
963
992
  optional?: boolean;
964
- /** `agent` (default): the container's environment. `checks`: only `t.exec` and `setup` steps. */
993
+ /** `agent` (default): the container's environment. `checks`: only `c.exec` and `setup` steps. */
965
994
  to?: 'agent' | 'checks';
966
995
  /**
967
996
  * Brokers the secret: the sandbox gets a per-attempt placeholder, and the Docker egress gateway
@@ -1104,14 +1133,17 @@ type EnvironmentLayer = {
1104
1133
  };
1105
1134
  /**
1106
1135
  * What an eval runs in: skills, MCP servers, files, rules, variables, secrets and setup. Plain
1107
- * data (`layers` root first), plus a non-enumerable `extend`; see `defineEnvironment`.
1136
+ * data (`layers` root first), plus a non-enumerable `extendEnvironment`; see `defineEnvironment`.
1108
1137
  */
1109
1138
  type Environment = {
1110
1139
  readonly kind: 'environment';
1111
1140
  readonly name: string;
1112
1141
  readonly layers: readonly EnvironmentLayer[];
1113
- /** A child environment layered on this one; wherever it sets a key this one has, it wins. */
1114
- extend(name: string, spec: EnvironmentInput): Environment;
1142
+ /**
1143
+ * A child environment layered on this one; wherever it sets a key this one has, it wins.
1144
+ * This is how two `compare` arms share setup: `compare` itself never layers.
1145
+ */
1146
+ extendEnvironment(name: string, spec: EnvironmentInput): Environment;
1115
1147
  };
1116
1148
  /** Typed helpers for environment specs, passed to `defineEnvironment` and `extend` callbacks. */
1117
1149
  type EnvironmentHelpers = {
@@ -1199,8 +1231,15 @@ type HarnessData = HarnessDescriptor | HarnessDescriptor[] | HarnessEdit;
1199
1231
  /** `HarnessData`, or a function that edits the inherited list (TypeScript only). */
1200
1232
  type HarnessOption = HarnessData | ((inherited: HarnessDescriptor[]) => HarnessDescriptor | HarnessDescriptor[]);
1201
1233
  type CompareGate = 'variants' | 'all' | 'none';
1202
- /** Variants run next to the inherited environment (the control), with the same prompt and checks. */
1203
- type CompareOptions<E = Environment> = E[] | {
1234
+ /**
1235
+ * The baseline and each variant run as their own environments, with the same prompt and checks.
1236
+ * `compare` does not layer them. Share setup first with `environment.extendEnvironment`.
1237
+ * `false` is not a value here: a profile turns compare off with `limit.compare`.
1238
+ */
1239
+ type CompareOptions<E = Environment> = {
1240
+ /** The control. Not layered under the variants, and not the eval's `environment`. */
1241
+ baseline: E;
1242
+ /** Other environments, each planned and run as itself. */
1204
1243
  variants: E[];
1205
1244
  /** Which cells decide pass/fail: `variants` (default), `all`, or `none` (report only). */
1206
1245
  gate?: CompareGate;
@@ -1208,7 +1247,58 @@ type CompareOptions<E = Environment> = E[] | {
1208
1247
  minLift?: number;
1209
1248
  /** Harnesses (ids or descriptors) to compare on; the others run the control only. */
1210
1249
  harness?: Array<string | HarnessDescriptor>;
1211
- } | false;
1250
+ /**
1251
+ * Asked of pairs of attempts after the run, one question or several. They annotate the
1252
+ * compare with win rates and never change pass, fail or the exit code.
1253
+ */
1254
+ question?: CompareQuestion | CompareQuestion[];
1255
+ };
1256
+ /**
1257
+ * A question for pairwise judgement: its text, or the text and the `'provider/model'` that
1258
+ * answers it. Without a model, `analysis.model` answers, else the judge's when it's a language model.
1259
+ */
1260
+ type CompareQuestion = string | {
1261
+ question: string;
1262
+ model?: string;
1263
+ };
1264
+ /** Which pairs a vote is over: two arms on one harness, or two harnesses on one arm. */
1265
+ type CompareCut = 'within' | 'across';
1266
+ /** One judgement of one pair of attempts, in one order. */
1267
+ type PairVote = {
1268
+ question: string;
1269
+ cut: CompareCut;
1270
+ /** Set on a within-harness pair: the harness both arms ran on. */
1271
+ harness?: string;
1272
+ /** Set on a cross-harness pair: the arm (environment) both harnesses ran. */
1273
+ arm?: string;
1274
+ /** The run number both attempts share, from 1. */
1275
+ run: number;
1276
+ /** The two sides by name: arms within a harness, harness ids across. */
1277
+ a: string;
1278
+ b: string;
1279
+ /** `a`, `b` or `'tie'`, mapped back from the blinded labels. */
1280
+ winner: string | 'tie';
1281
+ /** True for the repeat that showed `b` first. */
1282
+ swapped: boolean;
1283
+ };
1284
+ /** A compare question's answer: every vote, and each side's wins over decided votes per cut. */
1285
+ type CompareAnswer = {
1286
+ question: string;
1287
+ /** `'provider/model'`, or `fake` for `fakeAnalysis()`. */
1288
+ model: string;
1289
+ /** The model id the provider says served the calls, when it reports one. */
1290
+ resolvedModel?: string;
1291
+ votes: PairVote[];
1292
+ /** Wins over decided pairs, per named side, per cut. */
1293
+ rates: Array<{
1294
+ cut: CompareCut;
1295
+ name: string;
1296
+ wins: number;
1297
+ n: number;
1298
+ }>;
1299
+ /** Why some or all of its votes are missing: the model call failed. Outcomes never change. */
1300
+ error?: string;
1301
+ };
1212
1302
  type PinnableKey = 'harness' | 'runs' | 'compare';
1213
1303
  /**
1214
1304
  * How a cell's attempts decide its outcome: `'all'` (the default) passes only when every attempt
@@ -1219,13 +1309,13 @@ type GatePolicy = 'all' | {
1219
1309
  };
1220
1310
  /** A cell's gate: its policy, or `'none'` when its failures don't fail the eval (a control's). */
1221
1311
  type CellGate = GatePolicy | 'none';
1222
- type EvalOptions = {
1312
+ /** A compare object: `baseline` and `variants`. Same as `CompareOptions`. */
1313
+ type CompareSpec<E = Environment> = CompareOptions<E>;
1314
+ /** Options other than `environment` and `compare`, which are exclusive of each other. */
1315
+ type EvalOptionFields = {
1223
1316
  /** The only list: each harness is its own cell. */
1224
1317
  harness?: HarnessOption;
1225
1318
  sandbox?: SandboxDescriptor;
1226
- /** What the eval runs in; the control of `compare`. */
1227
- environment?: Environment;
1228
- compare?: CompareOptions;
1229
1319
  /** Attempts per cell. */
1230
1320
  runs?: number;
1231
1321
  /** How each cell's attempts decide its outcome; default `'all'`. */
@@ -1244,6 +1334,21 @@ type EvalOptions = {
1244
1334
  /** Keys a profile's `limit` may not narrow for this group or eval. */
1245
1335
  pin?: PinnableKey[];
1246
1336
  };
1337
+ /**
1338
+ * One or the other. `compare: false` is not an option here: a profile's `limit.compare: false`
1339
+ * strips variants. A parent `environment` and a child that only sets `compare` are two objects,
1340
+ * so that cascade is allowed; the inherited environment is not applied.
1341
+ */
1342
+ type EnvironmentOrCompare<E> = {
1343
+ /** What this group or eval runs in. Not together with `compare`. */
1344
+ environment?: E;
1345
+ compare?: never;
1346
+ } | {
1347
+ /** Forbidden beside `compare`. The compare object names every arm. */
1348
+ environment?: never;
1349
+ compare: CompareSpec<E>;
1350
+ };
1351
+ type EvalOptions = EvalOptionFields & EnvironmentOrCompare<Environment>;
1247
1352
  type GroupOptions = EvalOptions;
1248
1353
  /** The config file is plain data sent to workers, so its judge model can't be an object. */
1249
1354
  type ConfigJudgeOptions = Omit<JudgeOptions, 'model'> & {
@@ -1293,16 +1398,56 @@ type Profile = {
1293
1398
  /** Tag filters for this profile, like `--tag` (`'!slow'` excludes). */
1294
1399
  tags?: string[];
1295
1400
  };
1401
+ /** What a fake note is written from: the eval, the harness, and what its tools returned. */
1402
+ type FakeNoteInput = {
1403
+ eval: string;
1404
+ harness: string;
1405
+ attempts: Array<{
1406
+ id: string;
1407
+ outcome: string;
1408
+ }>;
1409
+ /** Each failed attempt the fake opened beside a passing one, and the step where they diverged. */
1410
+ compared: Array<{
1411
+ failed: string;
1412
+ passed: string;
1413
+ divergedAt: number | null;
1414
+ }>;
1415
+ };
1296
1416
  /** A canned analysis for tests; see `fakeAnalysis()` in `reeval/judge`. */
1297
1417
  type FakeAnalysisModel = {
1298
1418
  kind: 'fake-analysis';
1299
1419
  /** The model's structured answer, or a function of the digest it was given. */
1300
- output: unknown | ((digest: unknown) => unknown);
1420
+ output?: unknown | ((digest: unknown) => unknown);
1421
+ /** `analysis.agent`'s note on each eval and harness: text, a function of its tools' results, or an error to throw. */
1422
+ note?: string | ((input: FakeNoteInput) => string) | {
1423
+ error: string;
1424
+ };
1425
+ /**
1426
+ * How it answers compare questions: a fixed pick, a function of the blinded pair, or
1427
+ * `{ error }` to fail every call. Default `'tie'`.
1428
+ */
1429
+ vote?: FakeVote | ((pair: BlindPair) => FakeVote) | {
1430
+ error: string;
1431
+ };
1432
+ };
1433
+ /** A blinded label's pick: the attempt shown first (`A`), second (`B`), or neither. */
1434
+ type FakeVote = 'A' | 'B' | 'tie';
1435
+ /** What a compare question's model is shown: the prompt, and the two diffs in slot order. */
1436
+ type BlindPair = {
1437
+ question: string;
1438
+ prompt: string;
1439
+ a: string;
1440
+ b: string;
1301
1441
  };
1302
1442
  /** `reeval analyze`: a language model (not an evaluation model) and what matters in this project. */
1303
1443
  type AnalysisConfig = {
1304
1444
  /** `'provider/model'`, e.g. `'google/gemini-3.8-flash'`; default: the judge's, if it's one. */
1305
1445
  model?: string | FakeAnalysisModel;
1446
+ /**
1447
+ * `reeval run` writes a note on each eval and harness once its attempts finish, with the analysis
1448
+ * model (default false: one call per eval and harness, every run).
1449
+ */
1450
+ agent?: boolean;
1306
1451
  /** Added to the prompt, e.g. "Fewer tool calls count as a win. The skill under test is reeval-good." */
1307
1452
  instructions?: string;
1308
1453
  /** The digest's cap; evidence is dropped, lowest priority first, to fit (default 20000). */
@@ -1393,7 +1538,7 @@ type PhaseTimings = {
1393
1538
  type CellRole = 'control' | 'variant';
1394
1539
  /**
1395
1540
  * One cell of an eval: a harness and an environment (`-` for none) on the eval's sandbox. With
1396
- * `compare`, the control runs the inherited environment and each variant runs it extended.
1541
+ * `compare`, the control is `baseline` and each variant is that environment on its own.
1397
1542
  */
1398
1543
  type Cell = {
1399
1544
  key: string;
@@ -1407,7 +1552,7 @@ type Cell = {
1407
1552
  /** An environment as it was applied, without secret values. */
1408
1553
  type EnvironmentRecord = {
1409
1554
  name: string;
1410
- /** The environment this one extends (for a variant cell, the control), else null. */
1555
+ /** The previous `extendEnvironment` layer's name, else null. */
1411
1556
  parent: string | null;
1412
1557
  /** Keys a later layer replaced, e.g. `env.KEY`, `skills.genkit`, `mcp.docs`, `rules`. */
1413
1558
  overrides: string[];
@@ -1513,8 +1658,12 @@ type StartRetry = {
1513
1658
  /** How long it waited before giving up on that start. */
1514
1659
  waitedMs: number;
1515
1660
  };
1661
+ /** Which environment ran as the control, so the studio can show it. */
1662
+ type EvalCompareMeta = {
1663
+ baseline: string;
1664
+ };
1516
1665
  /**
1517
- * A sandbox with more privilege than the default `es` user: `docker({ root: true })`, or
1666
+ * A sandbox with more privilege than the default `reeval` user: `docker({ root: true })`, or
1518
1667
  * `docker({ capabilities })`. One per level that set such a sandbox, however many evals inherit it.
1519
1668
  */
1520
1669
  type SandboxWarning = {
@@ -1531,5 +1680,5 @@ type SandboxWarning = {
1531
1680
  message: string;
1532
1681
  };
1533
1682
  //#endregion
1534
- export { SandboxWarning as $, FakeJudgeModel as A, contrastEffort as At, HostFile as B, EsConfig as C, EffortSample as Ct, ExecResult as D, cellContrast as Dt, EvalOptions as E, VERDICT_TEXT as Et, HarnessData as F, effortSummary as Ft, OpenCodeHarnessDescriptor as G, JudgeModel as H, HarnessDescriptor as I, effortVerdict as It, PinnableKey as J, Outcome as K, HarnessEdit as L, formatCount as Lt, FakeScriptStep as M, effortLabel as Mt, GooseHarnessDescriptor as N, effortOf as Nt, FakeAnalysisModel as O, cellEffort as Ot, GroupOptions as P, effortSample as Pt, SandboxDescriptor as Q, HarnessOption as R, formatRatio as Rt, EnvironmentSpec as S, EffortContrast as St, EvalFn as T, Spread as Tt, JudgeOptions as U, JudgeCallOptions as V, McpServer as W, ProfileDefaults as X, Profile as Y, ProfileLimit as Z, EgressRecord as _, JudgementRecord as _t, Cell as a, TranscriptEvent as at, EnvironmentHelpers as b, CellEffort as bt, CodexHarnessDescriptor as c, TurnStatus as ct, ConfigJudgeOptions as d, AttemptRecord as dt, Secret as et, CursorHarnessDescriptor as f, CellRecord as ft, EgressPolicy as g, HistoryEntry as gt, Duration as h, HistoryCell as ht, Budget as i, TokenUsage as it, FakeSandboxDescriptor as j, effortChangeLabel as jt, FakeHarnessDescriptor as k, cellSamples as kt, CompareOptions as l, Verdict as lt, DockerSandboxDescriptor as m, FileRef as mt, AnalysisConfig as n, SetupStep as nt, CellRole as o, Turn as ot, Diff as p, EvalEntry as pt, PiHarnessDescriptor as q, AntigravityHarnessDescriptor as r, SkillSource as rt, ClaudeCodeHarnessDescriptor as s, TurnData as st, AgentHarnessDescriptor as t, SecretTemplate as tt, ConfigHelpers as u, WebEventType as ut, EnvVars as v, RunRecord as vt, EvalContext as w, EffortVerdict as wt, EnvironmentInput as x, EFFORT_ALPHA as xt, Environment as y, StackSummary as yt, HistoryConfig as z, formatSeconds as zt };
1535
- //# sourceMappingURL=types-DLec-6Cx.d.ts.map
1683
+ export { PairVote as $, EvalOptions as A, EffortSample as At, GroupOptions as B, effortOf as Bt, EnvVars as C, HistoryEntry as Ct, EnvironmentSpec as D, CellEffort as Dt, EnvironmentInput as E, StackSummary as Et, FakeNoteInput as F, cellEffort as Ft, HistoryConfig as G, formatRatio as Gt, HarnessDescriptor as H, effortSummary as Ht, FakeSandboxDescriptor as I, cellSamples as It, JudgeModel as J, HostFile as K, formatSeconds as Kt, FakeScriptStep as L, contrastEffort as Lt, FakeAnalysisModel as M, Spread as Mt, FakeHarnessDescriptor as N, VERDICT_TEXT as Nt, EsConfig as O, EFFORT_ALPHA as Ot, FakeJudgeModel as P, cellContrast as Pt, Outcome as Q, FakeVote as R, effortChangeLabel as Rt, EgressRecord as S, HistoryCell as St, EnvironmentHelpers as T, RunRecord as Tt, HarnessEdit as U, effortVerdict as Ut, HarnessData as V, effortSample as Vt, HarnessOption as W, formatCount as Wt, McpServer as X, JudgeOptions as Y, OpenCodeHarnessDescriptor as Z, CursorHarnessDescriptor as _, WebEventType as _t, BlindPair as a, SandboxDescriptor as at, Duration as b, EvalEntry as bt, CellRole as c, SecretTemplate as ct, CompareAnswer as d, TokenUsage as dt, PiHarnessDescriptor as et, CompareCut as f, TranscriptEvent as ft, ConfigJudgeOptions as g, Verdict as gt, ConfigHelpers as h, TurnStatus as ht, AttemptContext as i, ProfileLimit as it, ExecResult as j, EffortVerdict as jt, EvalFn as k, EffortContrast as kt, ClaudeCodeHarnessDescriptor as l, SetupStep as lt, CompareQuestion as m, TurnData as mt, AnalysisConfig as n, Profile as nt, Budget as o, SandboxWarning as ot, CompareOptions as p, Turn as pt, JudgeCallOptions as q, AntigravityHarnessDescriptor as r, ProfileDefaults as rt, Cell as s, Secret as st, AgentHarnessDescriptor as t, PinnableKey as tt, CodexHarnessDescriptor as u, SkillSource as ut, Diff as v, AttemptRecord as vt, Environment as w, JudgementRecord as wt, EgressPolicy as x, FileRef as xt, DockerSandboxDescriptor as y, CellRecord as yt, GooseHarnessDescriptor as z, effortLabel as zt };
1684
+ //# sourceMappingURL=types-C5AEPr29.d.ts.map
@@ -1,4 +1,4 @@
1
- import { $ as SandboxWarning, At as contrastEffort, Ct as EffortSample, Dt as cellContrast, Et as VERDICT_TEXT, Ft as effortSummary, It as effortVerdict, K as Outcome, Lt as formatCount, Mt as effortLabel, Nt as effortOf, Ot as cellEffort, Pt as effortSample, Rt as formatRatio, St as EffortContrast, Tt as Spread, _t as JudgementRecord, at as TranscriptEvent, bt as CellEffort, ct as TurnStatus, dt as AttemptRecord, ft as CellRecord, gt as HistoryEntry, ht as HistoryCell, it as TokenUsage, jt as effortChangeLabel, kt as cellSamples, mt as FileRef, pt as EvalEntry, vt as RunRecord, wt as EffortVerdict, xt as EFFORT_ALPHA, yt as StackSummary, zt as formatSeconds } from "../types-DLec-6Cx.js";
1
+ import { At as EffortSample, Bt as effortOf, Ct as HistoryEntry, Dt as CellEffort, Et as StackSummary, Ft as cellEffort, Gt as formatRatio, Ht as effortSummary, It as cellSamples, Kt as formatSeconds, Lt as contrastEffort, Mt as Spread, Nt as VERDICT_TEXT, Ot as EFFORT_ALPHA, Pt as cellContrast, Q as Outcome, Rt as effortChangeLabel, St as HistoryCell, Tt as RunRecord, Ut as effortVerdict, Vt as effortSample, Wt as formatCount, bt as EvalEntry, dt as TokenUsage, ft as TranscriptEvent, ht as TurnStatus, jt as EffortVerdict, kt as EffortContrast, ot as SandboxWarning, vt as AttemptRecord, wt as JudgementRecord, xt as FileRef, yt as CellRecord, zt as effortLabel } from "../types-C5AEPr29.js";
2
2
  //#region src/view/analysis.d.ts
3
3
  /** Bumped when the system prompt or output schema changes: an older analysis is superseded. */
4
4
  export declare const ANALYSIS_PROMPT_VERSION = "analysis-v2";
@@ -102,6 +102,36 @@ export type AnalysisDoc = {
102
102
  }>;
103
103
  /** Each cited fact or evidence id, summarised in one line. */
104
104
  cited: Record<string, string>;
105
+ /**
106
+ * Why `analysis.agent`'s run summary failed; its `analysis` is then empty. `reeval analyze` treats
107
+ * a cached one as a miss and calls the model again.
108
+ */
109
+ error?: string;
110
+ };
111
+ /**
112
+ * `analysis.agent`'s note on one eval and harness of a run, written once that harness's attempts
113
+ * finish: `.reeval/analysis/<runId>/notes/<eval slug>__<harness slug>.json`.
114
+ */
115
+ export type AnalysisNote = {
116
+ kind: 'reeval-analysis-note';
117
+ schemaVersion: 1;
118
+ runId: string;
119
+ evalId: string;
120
+ /** The harness id, as in the cell key. */
121
+ harness: string;
122
+ model: string;
123
+ resolvedModel: string | null;
124
+ createdAt: string;
125
+ /** The attempt ids (`<cell key>#<n>`) the note covers. */
126
+ attempts: string[];
127
+ /** Empty when the call failed. */
128
+ text: string;
129
+ /** Why the call failed; the run's outcomes don't change. */
130
+ error?: string;
131
+ usage: {
132
+ inputTokens: number | null;
133
+ outputTokens: number | null;
134
+ };
105
135
  };
106
136
  /** One analysis file the studio can show: saved in the run's folder, or in the local cache. */
107
137
  export type AnalysisEntry = {
@@ -112,6 +142,8 @@ export type AnalysisEntry = {
112
142
  export type AnalysisIndex = {
113
143
  runId: string;
114
144
  entries: AnalysisEntry[];
145
+ /** `analysis.agent`'s notes on the run, by eval and harness; absent when there are none. */
146
+ notes?: AnalysisNote[];
115
147
  };
116
148
  export declare const analysisDataPath: (runId: string) => string;
117
149
  /** Newest first, saved before cached at the same time. */
@@ -383,6 +415,13 @@ export declare const formatPercent: (rate: number | null) => string;
383
415
  * the configured model, then the variant the harness says it resolved.
384
416
  */
385
417
  export declare function harnessLabel(h: RunRecord['stack']['harnesses'][number]): string;
418
+ /**
419
+ * The runtime reeval ran on, as `node 22.14.0`, or `bun 1.4.2 (node 26.3.0)` with the Node version
420
+ * it's compatible with. A run recorded before `stack.runtime` ran on Node.
421
+ */
422
+ export declare function runtimeLabel(stack: Pick<RunRecord['stack'], 'node' | 'runtime'>): string;
423
+ /** The evals' language as `typescript evals` or `dart 3.13.5 evals`; null when not recorded. */
424
+ export declare function languageLabel(stack: Pick<RunRecord['stack'], 'language'>): string | null;
386
425
  /** Harness-reported tokens as `127k in (98k cached) · 776 out`; null when none were reported. */
387
426
  export declare function formatUsage(usage: TokenUsage | null | undefined): string | null;
388
427
  export declare const shortSha: (sha: string | null | undefined) => string;
@@ -475,6 +514,29 @@ export type CellRow = {
475
514
  };
476
515
  /** One row per cell: controls and variants, with each variant's recorded lift. */
477
516
  export declare function cellRows(e: EvalEntry): CellRow[];
517
+ /** One side's wins over the decided votes it was in; `rate` is null when none decided. */
518
+ export type AnswerRate = {
519
+ name: string;
520
+ wins: number;
521
+ n: number;
522
+ rate: number | null;
523
+ };
524
+ export type AnswerRow = {
525
+ question: string;
526
+ /** The model that answered: as served, when the provider said, else as configured. */
527
+ model: string;
528
+ votes: number;
529
+ ties: number;
530
+ /** Arms against each other on one harness, then harnesses against each other on one arm. */
531
+ within: AnswerRate[];
532
+ across: AnswerRate[];
533
+ /** Why some or all of its votes are missing: the model call failed. */
534
+ error: string | null;
535
+ /** No votes and no error: no pair had both sides pass their checks. */
536
+ noPairs: boolean;
537
+ };
538
+ /** One row per compare question, with each cut's win rates in the record's order. */
539
+ export declare function answerRows(e: Pick<EvalEntry, 'answers'>): AnswerRow[];
478
540
  /** Whether an eval needs the cells table: several cells, or several runs of one. */
479
541
  export declare const isMatrix: (e: Pick<EvalEntry, 'cells'>) => boolean;
480
542
  export type EvalHistoryPoint = {
@@ -1,8 +1,8 @@
1
1
  import { a as parseDataPath, c as shardPath, i as manifestPath, l as studioPath, n as artifactPath, o as recordPath, r as artifactType, s as shardOf, t as RUN_ID } from "../paths-CBvm6pap.js";
2
2
  import { a as debugApiPath, c as formatBytes, d as requestLine, f as traceApiPath, i as TRACE_FILE, l as parseDebugLog, n as DEBUG_PHASES, o as debugLogLine, r as REQUESTS_FILE, s as debugTime, t as DEBUG_LOG, u as parseNdjson } from "../debug-D24NOQH1.js";
3
3
  import { a as sortAnalyses, i as isSuperseded, n as DIGEST_VERSION, r as analysisDataPath, t as ANALYSIS_PROMPT_VERSION } from "../analysis-CxSCt1YY.js";
4
- import { A as cellSamples, B as formatSeconds, C as splitEvalId, D as VERDICT_TEXT, E as EFFORT_ALPHA, F as effortSample, G as whyChanged, H as compare, I as effortSummary, L as effortVerdict, M as effortChangeLabel, N as effortLabel, O as cellContrast, P as effortOf, R as formatCount, S as shortSha, T as transcriptItems, U as sourceChanges, V as cellsChanged, W as stackChanges, _ as isMatrix, a as compareView, b as runOutcome, c as evalTree, d as formatDuration, f as formatPercent, g as indexFiles, h as hasUngatedCells, i as cellRows, j as contrastEffort, k as cellEffort, l as findAttempt, m as harnessLabel, n as activityLabel, o as defaultAttempt, p as formatUsage, r as buildIndex, s as evalHistory, t as COMPARE_ORDER, u as findEval, v as isUngatedMiss, w as splitPatch, x as runRows, y as parseTranscript, z as formatRatio } from "../model-CDL98xue.js";
5
- import { t as runHeader } from "../header-DzFDoMCI.js";
6
- import { o as readableRecord, r as readableAnalysis, s as readableTranscriptLine, t as NewerSchemaError } from "../record-DQ8wzyco.js";
7
- import { a as liveApiPath, c as readableLiveProgress, i as isFinished, n as LIVE_FILE, o as liveCounts, r as LIVE_SCHEMA_VERSION, s as liveTranscriptPath, t as FINISHED } from "../live-Bs3LReMV.js";
8
- export { ANALYSIS_PROMPT_VERSION, COMPARE_ORDER, DEBUG_LOG, DEBUG_PHASES, DIGEST_VERSION, EFFORT_ALPHA, FINISHED, LIVE_FILE, LIVE_SCHEMA_VERSION, NewerSchemaError, REQUESTS_FILE, RUN_ID, TRACE_FILE, VERDICT_TEXT, activityLabel, analysisDataPath, artifactPath, artifactType, buildIndex, cellContrast, cellEffort, cellRows, cellSamples, cellsChanged, compare, compareView, contrastEffort, debugApiPath, debugLogLine, debugTime, defaultAttempt, effortChangeLabel, effortLabel, effortOf, effortSample, effortSummary, effortVerdict, evalHistory, evalTree, findAttempt, findEval, formatBytes, formatCount, formatDuration, formatPercent, formatRatio, formatSeconds, formatUsage, harnessLabel, hasUngatedCells, indexFiles, isFinished, isMatrix, isSuperseded, isUngatedMiss, liveApiPath, liveCounts, liveTranscriptPath, manifestPath, parseDataPath, parseDebugLog, parseNdjson, parseTranscript, readableAnalysis, readableLiveProgress, readableRecord, readableTranscriptLine, recordPath, requestLine, runHeader, runOutcome, runRows, shardOf, shardPath, shortSha, sortAnalyses, sourceChanges, splitEvalId, splitPatch, stackChanges, studioPath, traceApiPath, transcriptItems, whyChanged };
4
+ import { A as VERDICT_TEXT, B as effortVerdict, C as runRows, D as splitPatch, E as splitEvalId, F as effortChangeLabel, G as compare, H as formatRatio, I as effortLabel, J as whyChanged, K as sourceChanges, L as effortOf, M as cellEffort, N as cellSamples, O as transcriptItems, P as contrastEffort, R as effortSample, S as runOutcome, T as shortSha, U as formatSeconds, V as formatCount, W as cellsChanged, _ as indexFiles, a as cellRows, b as languageLabel, c as evalHistory, d as findEval, f as formatDuration, g as hasUngatedCells, h as harnessLabel, i as buildIndex, j as cellContrast, k as EFFORT_ALPHA, l as evalTree, m as formatUsage, n as activityLabel, o as compareView, p as formatPercent, q as stackChanges, r as answerRows, s as defaultAttempt, t as COMPARE_ORDER, u as findAttempt, v as isMatrix, w as runtimeLabel, x as parseTranscript, y as isUngatedMiss, z as effortSummary } from "../model-ORtLm2UB.js";
5
+ import { t as runHeader } from "../header-sPQ9Lq2S.js";
6
+ import { c as readableTranscriptLine, r as readableAnalysis, s as readableRecord, t as NewerSchemaError } from "../record-CbuQH4l1.js";
7
+ import { a as liveApiPath, c as readableLiveProgress, i as isFinished, n as LIVE_FILE, o as liveCounts, r as LIVE_SCHEMA_VERSION, s as liveTranscriptPath, t as FINISHED } from "../live-DZkCtmNP.js";
8
+ export { ANALYSIS_PROMPT_VERSION, COMPARE_ORDER, DEBUG_LOG, DEBUG_PHASES, DIGEST_VERSION, EFFORT_ALPHA, FINISHED, LIVE_FILE, LIVE_SCHEMA_VERSION, NewerSchemaError, REQUESTS_FILE, RUN_ID, TRACE_FILE, VERDICT_TEXT, activityLabel, analysisDataPath, answerRows, artifactPath, artifactType, buildIndex, cellContrast, cellEffort, cellRows, cellSamples, cellsChanged, compare, compareView, contrastEffort, debugApiPath, debugLogLine, debugTime, defaultAttempt, effortChangeLabel, effortLabel, effortOf, effortSample, effortSummary, effortVerdict, evalHistory, evalTree, findAttempt, findEval, formatBytes, formatCount, formatDuration, formatPercent, formatRatio, formatSeconds, formatUsage, harnessLabel, hasUngatedCells, indexFiles, isFinished, isMatrix, isSuperseded, isUngatedMiss, languageLabel, liveApiPath, liveCounts, liveTranscriptPath, manifestPath, parseDataPath, parseDebugLog, parseNdjson, parseTranscript, readableAnalysis, readableLiveProgress, readableRecord, readableTranscriptLine, recordPath, requestLine, runHeader, runOutcome, runRows, runtimeLabel, shardOf, shardPath, shortSha, sortAnalyses, sourceChanges, splitEvalId, splitPatch, stackChanges, studioPath, traceApiPath, transcriptItems, whyChanged };
@@ -1,7 +1,7 @@
1
1
  import { r as formatDuration } from "./text-gEcKjAyp.js";
2
- import { M as effortChangeLabel, V as cellsChanged, W as stackChanges } from "./model-CDL98xue.js";
3
- import { o as warnings } from "./state-DZ7eqb1F.js";
4
- import { c as summaryCounts, n as cellCounts, o as repeatsVerdict, s as stateRows, t as OUTCOME_MARK } from "./summary-D7Ttky0z.js";
2
+ import { F as effortChangeLabel, W as cellsChanged, q as stackChanges } from "./model-ORtLm2UB.js";
3
+ import { o as warnings } from "./state-g6ij_40j.js";
4
+ import { c as stateRows, l as summaryCounts, r as cellCounts, s as repeatsVerdict, t as OUTCOME_MARK } from "./summary-gawvEpNu.js";
5
5
  //#region src/history/views.ts
6
6
  var RefError = class extends Error {
7
7
  name = "RefError";
@@ -217,4 +217,4 @@ function formatShow(run) {
217
217
  //#endregion
218
218
  export { formatShow as a, resolveRun as c, formatNoBaseline as i, unreachable as l, formatCompare as n, history as o, formatHistory as r, pickBaseline as s, RefError as t };
219
219
 
220
- //# sourceMappingURL=views-BrHOv6wg.js.map
220
+ //# sourceMappingURL=views-CHXQfSWQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"views-BrHOv6wg.js","names":[],"sources":["../src/history/views.ts"],"mappings":"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"}
1
+ {"version":3,"file":"views-CHXQfSWQ.js","names":[],"sources":["../src/history/views.ts"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import "./model-ORtLm2UB.js";
2
+ import { c as resolveRun } from "./views-CHXQfSWQ.js";
3
+ export { resolveRun };
@@ -1,7 +1,7 @@
1
1
  import { t as UsageError } from "./errors-CSxfJ4qu.js";
2
2
  import { c as relativeFile } from "./ids-Bp6ut7ZD.js";
3
- import { t as esJiti } from "./jiti-BOLXpKyG.js";
4
- import { d as attemptExpectError, f as createExpect, g as withAttemptExpect, h as unawaitedError, i as useSchedulerChannel, m as extendExpect, n as matchers, r as acquire, u as useEngine } from "./matchers-DyLvm7EG.js";
3
+ import { t as esJiti } from "./jiti-DWsGEgxD.js";
4
+ import { d as attemptExpectError, f as createExpect, g as withAttemptExpect, h as unawaitedError, i as useSchedulerChannel, m as extendExpect, n as matchers, r as acquire, u as useEngine } from "./matchers-D51lM8dO.js";
5
5
  import { t as budgetMarker } from "./budget-DBUrH4jX.js";
6
6
  import { t as codeFrame } from "./errors-C9w_ud7g.js";
7
7
  import { existsSync, readFileSync } from "node:fs";
@@ -503,4 +503,4 @@ process.on("uncaughtException", (error) => worker.unhandled(error));
503
503
  //#endregion
504
504
  export {};
505
505
 
506
- //# sourceMappingURL=worker-entry-DnYkANPG.js.map
506
+ //# sourceMappingURL=worker-entry-B6nuDpBX.js.map