@post-print/agent-test 0.3.13 → 1.0.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 (71) hide show
  1. package/README.md +17 -4
  2. package/dist/cli.js +2 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/compare-scenario.d.ts +13 -19
  5. package/dist/compare-scenario.d.ts.map +1 -1
  6. package/dist/compare-scenario.js +141 -261
  7. package/dist/compare-scenario.js.map +1 -1
  8. package/dist/debug-bundle.d.ts.map +1 -1
  9. package/dist/debug-bundle.js +2 -0
  10. package/dist/debug-bundle.js.map +1 -1
  11. package/dist/expect.d.ts +1 -0
  12. package/dist/expect.d.ts.map +1 -1
  13. package/dist/expect.js +19 -0
  14. package/dist/expect.js.map +1 -1
  15. package/dist/html-report.d.ts.map +1 -1
  16. package/dist/html-report.js +185 -38
  17. package/dist/html-report.js.map +1 -1
  18. package/dist/index.d.ts +2 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/live-isolation.d.ts +2 -0
  23. package/dist/live-isolation.d.ts.map +1 -1
  24. package/dist/live-isolation.js +66 -6
  25. package/dist/live-isolation.js.map +1 -1
  26. package/dist/run-suite.d.ts.map +1 -1
  27. package/dist/run-suite.js +94 -23
  28. package/dist/run-suite.js.map +1 -1
  29. package/dist/scenario-story.d.ts +4 -3
  30. package/dist/scenario-story.d.ts.map +1 -1
  31. package/dist/scenario-story.js +47 -71
  32. package/dist/scenario-story.js.map +1 -1
  33. package/dist/scenario-usage.d.ts.map +1 -1
  34. package/dist/scenario-usage.js +2 -3
  35. package/dist/scenario-usage.js.map +1 -1
  36. package/dist/types.d.ts +32 -22
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/validate-suite.d.ts.map +1 -1
  39. package/dist/validate-suite.js +64 -38
  40. package/dist/validate-suite.js.map +1 -1
  41. package/dist/viewer/catalog.d.ts +3 -1
  42. package/dist/viewer/catalog.d.ts.map +1 -1
  43. package/dist/viewer/catalog.js +9 -0
  44. package/dist/viewer/catalog.js.map +1 -1
  45. package/dist/viewer/compare-metrics.d.ts +30 -0
  46. package/dist/viewer/compare-metrics.d.ts.map +1 -0
  47. package/dist/viewer/compare-metrics.js +102 -0
  48. package/dist/viewer/compare-metrics.js.map +1 -0
  49. package/dist/viewer/context-files.d.ts +8 -0
  50. package/dist/viewer/context-files.d.ts.map +1 -0
  51. package/dist/viewer/context-files.js +56 -0
  52. package/dist/viewer/context-files.js.map +1 -0
  53. package/dist/viewer/events.d.ts +20 -0
  54. package/dist/viewer/events.d.ts.map +1 -1
  55. package/dist/viewer/events.js +2 -0
  56. package/dist/viewer/events.js.map +1 -1
  57. package/dist/viewer/live-runner.d.ts +6 -0
  58. package/dist/viewer/live-runner.d.ts.map +1 -1
  59. package/dist/viewer/live-runner.js +34 -5
  60. package/dist/viewer/live-runner.js.map +1 -1
  61. package/dist/viewer/page.d.ts.map +1 -1
  62. package/dist/viewer/page.js +1325 -92
  63. package/dist/viewer/page.js.map +1 -1
  64. package/dist/viewer/run-controller.d.ts +5 -0
  65. package/dist/viewer/run-controller.d.ts.map +1 -1
  66. package/dist/viewer/run-controller.js +27 -1
  67. package/dist/viewer/run-controller.js.map +1 -1
  68. package/dist/viewer/server.d.ts.map +1 -1
  69. package/dist/viewer/server.js +18 -11
  70. package/dist/viewer/server.js.map +1 -1
  71. package/package.json +7 -5
@@ -1,3 +1,4 @@
1
+ import { resolvedTotalTokens } from "@post-print/agent-harness";
1
2
  import { assertionFailure } from "./failures.js";
2
3
  const RUBRIC_ARRAY_KEYS = [
3
4
  "must",
@@ -5,6 +6,7 @@ const RUBRIC_ARRAY_KEYS = [
5
6
  "mustRun",
6
7
  "allowedCommands",
7
8
  "mustCallTool",
9
+ "mustCallToolsInOrder",
8
10
  "mustNotCallTool",
9
11
  "mustReadPath",
10
12
  "mustNotReadPath",
@@ -12,11 +14,9 @@ const RUBRIC_ARRAY_KEYS = [
12
14
  "mustNotInvokeSkill",
13
15
  ];
14
16
  const COMPARE_ARM_ID_PATTERN = /^[a-z][a-z0-9_-]{0,63}$/;
15
- /** Append arm-only array checks. Keep the shared judge on the scenario rubric. */
16
17
  export function mergeArmRubric(base, overlay) {
17
- if (!overlay) {
18
+ if (!overlay)
18
19
  return base;
19
- }
20
20
  const merged = {
21
21
  ...base,
22
22
  tier: overlay.tier ?? base.tier,
@@ -27,135 +27,75 @@ export function mergeArmRubric(base, overlay) {
27
27
  };
28
28
  for (const key of RUBRIC_ARRAY_KEYS) {
29
29
  const extra = overlay[key];
30
- if (extra !== undefined) {
30
+ if (extra !== undefined)
31
31
  merged[key] = [...(base[key] ?? []), ...extra];
32
- }
33
32
  }
34
33
  return merged;
35
34
  }
36
35
  export function parseCompareArmId(value) {
37
- if (typeof value !== "string") {
36
+ if (typeof value !== "string")
38
37
  return undefined;
39
- }
40
38
  const id = value.trim();
41
39
  return COMPARE_ARM_ID_PATTERN.test(id) ? id : undefined;
42
40
  }
43
41
  export function compareArmLabel(arm, side) {
44
- const label = arm?.label?.trim();
45
- if (label) {
46
- return label;
47
- }
48
- if (side === "a") {
49
- return "control";
50
- }
51
- if (side === "b") {
52
- return "experimental";
53
- }
54
- return side;
42
+ return arm?.label?.trim() || (side === "a" ? "control" : side === "b" ? "experimental" : side);
55
43
  }
56
- /** Trim a description. Empty text becomes undefined. */
57
44
  export function plainDescription(value) {
58
- const text = value?.trim();
59
- return text ? text : undefined;
45
+ return value?.trim() || undefined;
60
46
  }
61
47
  export function compareArmDescription(arm) {
62
48
  return plainDescription(arm?.description);
63
49
  }
64
50
  export function resolveCompareArms(compare) {
65
- if (!compare) {
51
+ if (!compare)
66
52
  return [];
67
- }
68
- if (Array.isArray(compare.arms)) {
53
+ if (Array.isArray(compare.arms))
69
54
  return compare.arms
70
55
  .filter((arm) => typeof arm === "object" && arm !== null)
71
- .map((arm) => ({
72
- id: typeof arm.id === "string" ? arm.id.trim() : "",
73
- arm,
74
- }));
75
- }
56
+ .map((arm) => ({ id: typeof arm.id === "string" ? arm.id.trim() : "", arm }));
76
57
  const arms = [];
77
- if (compare.a && typeof compare.a === "object") {
58
+ if (compare.a && typeof compare.a === "object")
78
59
  arms.push({ id: "a", arm: compare.a });
79
- }
80
- if (compare.b && typeof compare.b === "object") {
60
+ if (compare.b && typeof compare.b === "object")
81
61
  arms.push({ id: "b", arm: compare.b });
82
- }
83
62
  return arms;
84
63
  }
85
64
  export function compareResultArms(result) {
86
- if (result.arms && result.arms.length > 0) {
87
- return result.arms;
88
- }
89
- const arms = [];
90
- if (result.a) {
91
- arms.push(result.a);
92
- }
93
- if (result.b) {
94
- arms.push(result.b);
95
- }
96
- return arms;
65
+ return result.arms.length > 0
66
+ ? result.arms
67
+ : [result.a, result.b].filter((arm) => arm !== undefined);
97
68
  }
98
69
  export function buildCompareResult(arms, gates) {
99
70
  return {
100
71
  arms,
101
72
  a: arms.find((arm) => arm.id === "a"),
102
73
  b: arms.find((arm) => arm.id === "b"),
103
- faster: gates?.faster,
104
- cheaper: gates?.cheaper,
74
+ gates,
105
75
  };
106
76
  }
107
- export function resolveCompareMetricPairs(gate, armIds) {
108
- if (gate === undefined) {
109
- return [];
110
- }
111
- if (typeof gate === "string") {
112
- if (armIds.length !== 2 || !armIds.includes(gate)) {
113
- return [];
114
- }
115
- const loser = armIds.find((id) => id !== gate);
116
- if (!loser) {
117
- return [];
118
- }
119
- return [{ winner: gate, loser }];
120
- }
121
- if (!Array.isArray(gate)) {
122
- return [];
123
- }
124
- return gate.filter((pair) => typeof pair === "object" &&
125
- pair !== null &&
126
- typeof pair.winner === "string" &&
127
- typeof pair.loser === "string");
128
- }
129
77
  export function compareArmTokens(arm) {
130
- const total = arm.trace?.usage?.totalTokens;
131
- return typeof total === "number" ? total : undefined;
78
+ return resolvedTotalTokens(arm.trace?.usage);
132
79
  }
133
- /** Assistant messages on the trace. One message is one agent turn after stream coalesce. */
134
80
  export function compareArmTurns(arm) {
135
- if (!arm.trace) {
136
- return undefined;
137
- }
138
- return arm.trace.messages.filter((message) => message.role === "assistant").length;
81
+ return arm.trace?.messages.filter((message) => message.role === "assistant").length;
82
+ }
83
+ export function compareArmTools(arm) {
84
+ return arm.trace?.toolCalls.length;
139
85
  }
140
86
  export function formatCompareTurns(turns) {
141
87
  return turns === 1 ? "1 turn" : `${turns} turns`;
142
88
  }
143
- /** Apply one compare arm, or throw when the arm id is missing. */
144
89
  export function requireCompareArm(scenario, side) {
145
- const resolved = resolveCompareArms(scenario.compare);
146
- if (!resolved.some((entry) => entry.id === side)) {
90
+ if (!resolveCompareArms(scenario.compare).some((entry) => entry.id === side))
147
91
  throw new Error(`Scenario ${scenario.name} has no compare arm ${side}`);
148
- }
149
92
  return applyCompareArm(scenario, side);
150
93
  }
151
- /** Apply one compare arm onto the shared scenario. Drops `compare` so the arm is a normal run. */
152
94
  export function applyCompareArm(scenario, side) {
153
95
  const { compare, ...rest } = scenario;
154
- const resolved = resolveCompareArms(compare).find((entry) => entry.id === side);
155
- const arm = resolved?.arm;
156
- if (!arm) {
96
+ const arm = resolveCompareArms(compare).find((entry) => entry.id === side)?.arm;
97
+ if (!arm)
157
98
  return rest;
158
- }
159
99
  return {
160
100
  ...rest,
161
101
  prompt: arm.prompt ?? rest.prompt,
@@ -171,23 +111,8 @@ export function applyCompareArm(scenario, side) {
171
111
  rubric: mergeArmRubric(rest.rubric, arm.rubric),
172
112
  };
173
113
  }
174
- export function attachCompareStoryResults(fields, result) {
175
- const byId = new Map(compareResultArms(result).map((arm) => [arm.id, arm]));
176
- return {
177
- ...fields,
178
- faster: result.faster ?? fields.faster,
179
- cheaper: result.cheaper ?? fields.cheaper,
180
- arms: fields.arms.map((arm) => ({
181
- ...arm,
182
- trace: byId.get(arm.id)?.trace,
183
- durationMs: byId.get(arm.id)?.durationMs,
184
- })),
185
- };
186
- }
187
114
  export function compareStoryFields(scenario) {
188
- const resolved = resolveCompareArms(scenario.compare);
189
- const armIds = resolved.map((entry) => entry.id);
190
- const arms = resolved.map((entry) => ({
115
+ const arms = resolveCompareArms(scenario.compare).map((entry) => ({
191
116
  id: entry.id,
192
117
  label: compareArmLabel(entry.arm, entry.id),
193
118
  description: compareArmDescription(entry.arm),
@@ -195,187 +120,142 @@ export function compareStoryFields(scenario) {
195
120
  }));
196
121
  return {
197
122
  arms,
198
- faster: resolveCompareMetricPairs(scenario.compare?.faster, armIds),
199
- cheaper: resolveCompareMetricPairs(scenario.compare?.cheaper, armIds),
200
- aLabel: arms[0]?.label ?? compareArmLabel(scenario.compare?.a, "a"),
201
- bLabel: arms[1]?.label ?? compareArmLabel(scenario.compare?.b, "b"),
123
+ gates: scenario.compare?.gates,
124
+ aLabel: arms[0]?.label ?? "control",
125
+ bLabel: arms[1]?.label ?? "experimental",
202
126
  aDescription: arms[0]?.description,
203
127
  bDescription: arms[1]?.description,
204
128
  aRubric: arms[0]?.rubric,
205
129
  bRubric: arms[1]?.rubric,
206
130
  };
207
131
  }
132
+ export function attachCompareStoryResults(fields, result) {
133
+ const byId = new Map(compareResultArms(result).map((arm) => [arm.id, arm]));
134
+ return {
135
+ ...fields,
136
+ gates: result.gates ?? fields.gates,
137
+ arms: fields.arms.map((arm) => {
138
+ const measured = byId.get(arm.id);
139
+ return {
140
+ ...arm,
141
+ trace: measured?.trace,
142
+ durationMs: measured?.durationMs,
143
+ passed: measured?.passed,
144
+ failures: measured?.failures,
145
+ judgeVerdicts: measured?.judgeVerdicts,
146
+ };
147
+ }),
148
+ };
149
+ }
208
150
  export function prefixCompareFailures(label, failures) {
209
- return failures.map((failure) => ({
210
- ...failure,
211
- message: `${label}: ${failure.message}`,
212
- }));
151
+ return failures.map((failure) => ({ ...failure, message: `${label}: ${failure.message}` }));
213
152
  }
214
- function armToolCount(arm) {
215
- return arm.trace ? arm.trace.toolCalls.length : undefined;
153
+ function judgeValue(arm, id) {
154
+ const verdict = arm.judgeVerdicts?.find((item) => item.id === id);
155
+ return verdict ? (verdict.pass ? "pass" : "fail") : undefined;
216
156
  }
217
- function armById(arms, id) {
218
- return arms.find((arm) => arm.id === id);
157
+ export function compareMetricValue(arm, metric) {
158
+ if (metric === "outcome")
159
+ return arm.passed === undefined ? undefined : arm.passed ? "pass" : "fail";
160
+ if (metric === "turns")
161
+ return compareArmTurns(arm);
162
+ if (metric === "tokens")
163
+ return compareArmTokens(arm);
164
+ if (metric === "tools")
165
+ return compareArmTools(arm);
166
+ if (metric === "durationMs")
167
+ return arm.durationMs;
168
+ return judgeValue(arm, metric.slice("judge:".length));
219
169
  }
220
- function describePairTurns(winner, loser) {
221
- const winnerTurns = compareArmTurns(winner);
222
- const loserTurns = compareArmTurns(loser);
223
- if (typeof winnerTurns !== "number" || typeof loserTurns !== "number") {
224
- return undefined;
225
- }
226
- if (winnerTurns === loserTurns) {
227
- return `${winner.label} and ${loser.label} use ${formatCompareTurns(winnerTurns)}`;
228
- }
229
- if (winnerTurns < loserTurns) {
230
- return `${winner.label} uses fewer turns than ${loser.label} (${winnerTurns} vs ${loserTurns})`;
231
- }
232
- return `${loser.label} uses fewer turns than ${winner.label} (${loserTurns} vs ${winnerTurns})`;
170
+ function normalizedValue(value) {
171
+ return typeof value === "number" ? value : value === "pass" ? 1 : 0;
233
172
  }
234
- function describePairTokens(winner, loser) {
235
- const winnerTokens = compareArmTokens(winner);
236
- const loserTokens = compareArmTokens(loser);
237
- if (typeof winnerTokens !== "number" || typeof loserTokens !== "number") {
238
- return undefined;
239
- }
240
- if (winnerTokens === loserTokens) {
241
- return `${winner.label} and ${loser.label} use ${winnerTokens} tokens`;
242
- }
243
- if (winnerTokens < loserTokens) {
244
- return `${winner.label} uses fewer tokens than ${loser.label} (${winnerTokens} vs ${loserTokens})`;
245
- }
246
- return `${loser.label} uses fewer tokens than ${winner.label} (${loserTokens} vs ${winnerTokens})`;
173
+ function compareAbsolute(left, operator, right) {
174
+ const a = normalizedValue(left);
175
+ const b = normalizedValue(right);
176
+ if (operator === "equal")
177
+ return a === b;
178
+ if (operator === "lessThan")
179
+ return a < b;
180
+ if (operator === "atMost")
181
+ return a <= b;
182
+ if (operator === "atLeast")
183
+ return a >= b;
184
+ return a > b;
247
185
  }
248
- function describeTwoArmOutcome(left, right) {
249
- const lines = [];
250
- const aTurns = compareArmTurns(left);
251
- const bTurns = compareArmTurns(right);
252
- if (typeof aTurns === "number" && typeof bTurns === "number") {
253
- if (aTurns === bTurns) {
254
- lines.push(`both arms use ${formatCompareTurns(aTurns)}`);
255
- }
256
- else {
257
- const turns = describePairTurns(left, right);
258
- if (turns) {
259
- lines.push(turns);
260
- }
261
- }
262
- }
263
- const aTokens = compareArmTokens(left);
264
- const bTokens = compareArmTokens(right);
265
- if (typeof aTokens === "number" && typeof bTokens === "number") {
266
- if (aTokens === bTokens) {
267
- lines.push(`both arms use ${aTokens} tokens`);
268
- }
269
- else {
270
- const tokens = describePairTokens(left, right);
271
- if (tokens) {
272
- lines.push(tokens);
273
- }
274
- }
275
- }
276
- const aTools = armToolCount(left);
277
- const bTools = armToolCount(right);
278
- if (typeof aTools === "number" && typeof bTools === "number") {
279
- if (aTools === bTools) {
280
- lines.push(aTools === 1 ? "both arms make 1 tool call" : `both arms make ${aTools} tool calls`);
281
- }
282
- else if (aTools < bTools) {
283
- lines.push(`${left.label} makes fewer tool calls than ${right.label} (${aTools} vs ${bTools})`);
284
- }
285
- else {
286
- lines.push(`${right.label} makes fewer tool calls than ${left.label} (${bTools} vs ${aTools})`);
186
+ export function evaluateCompareGates(gates, result) {
187
+ const byId = new Map(compareResultArms(result).map((arm) => [arm.id, arm]));
188
+ return (gates ?? []).map((gate) => {
189
+ if ("winner" in gate) {
190
+ const winner = byId.get(gate.winner);
191
+ const loser = byId.get(gate.loser);
192
+ const left = winner ? compareMetricValue(winner, gate.metric) : undefined;
193
+ const right = loser ? compareMetricValue(loser, gate.metric) : undefined;
194
+ const passed = left !== undefined &&
195
+ right !== undefined &&
196
+ (typeof left === "number" && typeof right === "number"
197
+ ? left < right
198
+ : left === "pass" && right === "fail");
199
+ return {
200
+ gate,
201
+ passed,
202
+ left,
203
+ right,
204
+ message: `${gate.winner} must beat ${gate.loser} on ${gate.metric}`,
205
+ };
287
206
  }
288
- }
289
- return lines;
207
+ const arm = byId.get(gate.arm);
208
+ const left = arm ? compareMetricValue(arm, gate.metric) : undefined;
209
+ const passed = left !== undefined && compareAbsolute(left, gate.operator, gate.value);
210
+ return {
211
+ gate,
212
+ passed,
213
+ left,
214
+ right: gate.value,
215
+ message: `${gate.arm} ${gate.metric} must be ${gate.operator} ${gate.value}`,
216
+ };
217
+ });
218
+ }
219
+ export function assertCompareGates(gates, result) {
220
+ return evaluateCompareGates(gates, result)
221
+ .filter((item) => !item.passed)
222
+ .map((item) => assertionFailure(`compareGate:${item.gate.metric}`, `${item.message} (actual ${String(item.left)} vs ${String(item.right)})`, "rubric_miss"));
290
223
  }
291
- /**
292
- * Plain-language outcomes after the arms finish.
293
- * Two-arm form reports the single pair. Named-arm form reports declared pairs only.
294
- */
295
224
  export function describeCompareOutcome(compare) {
296
- const arms = compareResultArms(compare);
297
- if (arms.length === 2 && arms[0] && arms[1]) {
298
- return describeTwoArmOutcome(arms[0], arms[1]);
299
- }
300
- const lines = [];
301
- for (const pair of compare.faster ?? []) {
302
- const winner = armById(arms, pair.winner);
303
- const loser = armById(arms, pair.loser);
304
- if (!winner || !loser) {
305
- continue;
306
- }
307
- const line = describePairTurns(winner, loser);
308
- if (line) {
309
- lines.push(line);
310
- }
311
- }
312
- for (const pair of compare.cheaper ?? []) {
313
- const winner = armById(arms, pair.winner);
314
- const loser = armById(arms, pair.loser);
315
- if (!winner || !loser) {
316
- continue;
317
- }
318
- const line = describePairTokens(winner, loser);
319
- if (line) {
320
- lines.push(line);
225
+ const lines = compareResultArms(compare).map((arm) => {
226
+ const values = [
227
+ arm.passed === undefined ? undefined : arm.passed ? "pass" : "fail",
228
+ compareArmTurns(arm) === undefined ? undefined : `${compareArmTurns(arm)} turns`,
229
+ compareArmTokens(arm) === undefined ? undefined : `${compareArmTokens(arm)} tokens`,
230
+ compareArmTools(arm) === undefined ? undefined : `${compareArmTools(arm)} tools`,
231
+ arm.durationMs === undefined ? undefined : `${arm.durationMs} ms`,
232
+ ].filter(Boolean);
233
+ return `${arm.label}: ${values.join(", ")}`;
234
+ });
235
+ for (const arm of compareResultArms(compare)) {
236
+ for (const verdict of arm.judgeVerdicts ?? []) {
237
+ lines.push(`${arm.label} judge ${verdict.id}: ${verdict.pass ? "pass" : "fail"}. ${verdict.rationale}`);
321
238
  }
322
239
  }
323
240
  return lines;
324
241
  }
325
242
  export function applySidecarCompareDurations(compare, sidecar) {
326
- if (!sidecar?.compare) {
243
+ if (!sidecar?.compare)
327
244
  return compare;
328
- }
329
- const arms = compareResultArms(compare).map((arm) => {
330
- const fromMap = sidecar.compare?.arms?.[arm.id]?.durationMs;
331
- const fromAlias = arm.id === "a"
332
- ? sidecar.compare?.a?.durationMs
333
- : arm.id === "b"
334
- ? sidecar.compare?.b?.durationMs
335
- : undefined;
336
- return {
337
- ...arm,
338
- durationMs: fromMap ?? fromAlias ?? arm.durationMs,
339
- };
340
- });
341
- return buildCompareResult(arms, { faster: compare.faster, cheaper: compare.cheaper });
342
- }
343
- function assertMetricPair(matcher, pair, byId, read, verb, unit, reported) {
344
- const winner = byId.get(pair.winner);
345
- const loser = byId.get(pair.loser);
346
- if (!winner || !loser) {
347
- return [
348
- assertionFailure(matcher, `${pair.winner} must ${verb} ${pair.loser}, but one arm is missing from the result`, "rubric_miss"),
349
- ];
350
- }
351
- const winnerValue = read(winner);
352
- const loserValue = read(loser);
353
- if (winnerValue === undefined || loserValue === undefined) {
354
- return [
355
- assertionFailure(matcher, `${winner.label} must ${verb} ${loser.label}, but one arm did not report ${reported}`, "rubric_miss"),
356
- ];
357
- }
358
- if (!(winnerValue < loserValue)) {
359
- const winnerText = unit ? `${winnerValue}${unit}` : `${winnerValue}`;
360
- const loserText = unit ? `${loserValue}${unit}` : `${loserValue}`;
361
- return [
362
- assertionFailure(matcher, `${winner.label} must ${verb} ${loser.label} (${winnerText} vs ${loserText})`, "rubric_miss"),
363
- ];
364
- }
365
- return [];
366
- }
367
- /** Score optional faster/cheaper gates after the arms finish. */
368
- export function assertCompareMetrics(spec, result) {
369
- const arms = compareResultArms(result);
370
- const armIds = arms.map((arm) => arm.id);
371
- const byId = new Map(arms.map((arm) => [arm.id, arm]));
372
- const failures = [];
373
- for (const pair of resolveCompareMetricPairs(spec.faster, armIds)) {
374
- failures.push(...assertMetricPair("faster", pair, byId, compareArmTurns, "use fewer turns than", "", "turns"));
375
- }
376
- for (const pair of resolveCompareMetricPairs(spec.cheaper, armIds)) {
377
- failures.push(...assertMetricPair("cheaper", pair, byId, compareArmTokens, "use fewer tokens than", "", "tokens"));
378
- }
379
- return failures;
245
+ const arms = compareResultArms(compare).map((arm) => ({
246
+ ...arm,
247
+ durationMs: sidecar.compare?.arms?.[arm.id]?.durationMs ??
248
+ (arm.id === "a"
249
+ ? sidecar.compare?.a?.durationMs
250
+ : arm.id === "b"
251
+ ? sidecar.compare?.b?.durationMs
252
+ : undefined) ??
253
+ arm.durationMs,
254
+ }));
255
+ return {
256
+ ...compare,
257
+ ...buildCompareResult(arms, compare.gates),
258
+ gateResults: compare.gateResults,
259
+ };
380
260
  }
381
261
  //# sourceMappingURL=compare-scenario.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compare-scenario.js","sourceRoot":"","sources":["../src/compare-scenario.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compare-scenario.js","sourceRoot":"","sources":["../src/compare-scenario.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug-bundle.d.ts","sourceRoot":"","sources":["../src/debug-bundle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,KAAK,EACX,aAAa,EACb,gBAAgB,EAEhB,kBAAkB,EAClB,cAAc,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,uBAAuB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,wBAAwB,CAAC;IACtC,KAAK,EAAE,iBAAiB,CAAC;CACzB;AAqBD,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CA4CpE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,wBAAwB,CA2B3B;AA8BD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC9C,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB,GAAG,MAAM,EAAE,CA4DX;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IACnD,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB,GAAG,MAAM,CAYT;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IACjD,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,cAAc,CAAC;CACxB,GAAG,MAAM,CAyHT;AAED,wBAAgB,iBAAiB,CAChC,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAC7C,IAAI,CAAC,EAAE,MAAM,GACX,MAAM,CAIR;AAED,wFAAwF;AACxF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyIxF"}
1
+ {"version":3,"file":"debug-bundle.d.ts","sourceRoot":"","sources":["../src/debug-bundle.ts"],"names":[],"mappings":"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"}
@@ -310,6 +310,7 @@ export async function writeDebugBundle(options) {
310
310
  seedStageOnly: scenario.seedStageOnly,
311
311
  host: scenario.host,
312
312
  skip: scenario.skip,
313
+ compare: scenario.compare,
313
314
  }, null, 2)}\n`, "utf8");
314
315
  await writeFile(resultPath, `${JSON.stringify({
315
316
  suite: result.suite,
@@ -326,6 +327,7 @@ export async function writeDebugBundle(options) {
326
327
  messageCount: effectiveTrace?.messages.length ?? 0,
327
328
  toolCallCount: effectiveTrace?.toolCalls.length ?? 0,
328
329
  artifacts: effectiveTrace?.artifacts ?? {},
330
+ compare: result.compare,
329
331
  }, null, 2)}\n`, "utf8");
330
332
  if (trace) {
331
333
  await writeFile(transcriptPath, formatTranscriptMarkdown({