lastlight-evals 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 (56) hide show
  1. package/dashboard/dist/assets/index-B4TAaIUR.css +1 -0
  2. package/dashboard/dist/assets/index-LFdFc6Z9.js +109 -0
  3. package/dashboard/dist/index.html +2 -2
  4. package/datasets/aacr-bench/README.md +146 -0
  5. package/datasets/pr-review/README.md +41 -0
  6. package/datasets/pr-review/anchors.json +3709 -0
  7. package/dist/add-case.js.map +1 -1
  8. package/dist/arm.js +14 -5
  9. package/dist/arm.js.map +1 -1
  10. package/dist/bootstrap.js +14 -0
  11. package/dist/bootstrap.js.map +1 -1
  12. package/dist/clean.js.map +1 -1
  13. package/dist/config.js +59 -20
  14. package/dist/config.js.map +1 -1
  15. package/dist/fake-github.js +72 -0
  16. package/dist/fake-github.js.map +1 -1
  17. package/dist/grade.js +308 -64
  18. package/dist/grade.js.map +1 -1
  19. package/dist/init.js.map +1 -1
  20. package/dist/judge.js +19 -0
  21. package/dist/judge.js.map +1 -1
  22. package/dist/mechanism.test.js +303 -13
  23. package/dist/mechanism.test.js.map +1 -1
  24. package/dist/metrics.js +88 -9
  25. package/dist/metrics.js.map +1 -1
  26. package/dist/paths.js +135 -1
  27. package/dist/paths.js.map +1 -1
  28. package/dist/phase-models.js +56 -0
  29. package/dist/phase-models.js.map +1 -0
  30. package/dist/pool.js +32 -0
  31. package/dist/pool.js.map +1 -0
  32. package/dist/pool.test.js +180 -0
  33. package/dist/pool.test.js.map +1 -0
  34. package/dist/pr-context.js +77 -6
  35. package/dist/pr-context.js.map +1 -1
  36. package/dist/repeats.test.js +317 -0
  37. package/dist/repeats.test.js.map +1 -0
  38. package/dist/report.js +99 -5
  39. package/dist/report.js.map +1 -1
  40. package/dist/review-metrics.js +571 -0
  41. package/dist/review-metrics.js.map +1 -0
  42. package/dist/review-metrics.test.js +634 -0
  43. package/dist/review-metrics.test.js.map +1 -0
  44. package/dist/review-pipeline-stats.js +455 -0
  45. package/dist/review-pipeline-stats.js.map +1 -0
  46. package/dist/review-pipeline-stats.test.js +413 -0
  47. package/dist/review-pipeline-stats.test.js.map +1 -0
  48. package/dist/run-instance.js +176 -45
  49. package/dist/run-instance.js.map +1 -1
  50. package/dist/run.js +637 -122
  51. package/dist/run.js.map +1 -1
  52. package/dist/schema.js +22 -1
  53. package/dist/schema.js.map +1 -1
  54. package/package.json +9 -8
  55. package/dashboard/dist/assets/index-B1jNgf2P.js +0 -313
  56. package/dashboard/dist/assets/index-Sic0jI7y.css +0 -1
package/dist/grade.js CHANGED
@@ -19,6 +19,29 @@ import { readdirSync } from "node:fs";
19
19
  import { join } from "node:path";
20
20
  import { parseDiagnosisMarker, parseFixOutcomeMarker, } from "lastlight-core/evals";
21
21
  import { judge, parseJudgeJson, defaultJudgeModel } from "./judge.js";
22
+ /**
23
+ * One judge call with retries on an UNPARSEABLE reply. Temp-0 judges still
24
+ * occasionally return truncated/malformed JSON (three cases in one day,
25
+ * 2026-08-25 — each erroring a fully-run case as ungraded), and a fresh call
26
+ * almost always parses. A single retry was not enough: the same day's ladder
27
+ * still lost a fully-run case to two bad replies in a row, and each lost case
28
+ * silently shrinks the arm's micro denominator (the exclusion is now also
29
+ * named in `micro.ungradedCases`). Retries parse failures only: a thrown
30
+ * HTTP/key error keeps its existing meaning and path. Returns the LAST raw
31
+ * reply for the trace either way.
32
+ */
33
+ const JUDGE_PARSE_ATTEMPTS = 3;
34
+ async function judgeParsed(model, system, user, valid) {
35
+ let raw = "";
36
+ let parsed = null;
37
+ for (let attempt = 0; attempt < JUDGE_PARSE_ATTEMPTS; attempt++) {
38
+ raw = await judge(model, system, user);
39
+ parsed = parseJudgeJson(raw);
40
+ if (valid(parsed))
41
+ break;
42
+ }
43
+ return { raw, parsed };
44
+ }
22
45
  // ── Behavioral grade ────────────────────────────────────────────────────────
23
46
  export function gradeBehavioral(expect, fake, ctx) {
24
47
  const checks = [];
@@ -79,16 +102,24 @@ export function gradeBehavioral(expect, fake, ctx) {
79
102
  if (expect.review_submitted) {
80
103
  const reviews = fake.submittedReviews(ctx.issueNumber);
81
104
  const r = reviews[0];
82
- let ok = reviews.length > 0;
105
+ // Two checks, not one: "a review exists (with the right event)" and "its
106
+ // body matches" are different failures, and folding them under one name
107
+ // made a body_matches miss read as "failed to post a review" — while the
108
+ // detail string (`event=… bodyLen=6365`) was proving a review existed
109
+ // (the 1641 misread, 2026-08-24).
110
+ let submitted = reviews.length > 0;
83
111
  let detail = `${reviews.length} review(s)`;
84
112
  if (r) {
85
113
  if (expect.review_submitted.event)
86
- ok = ok && r.event === expect.review_submitted.event;
87
- if (expect.review_submitted.body_matches)
88
- ok = ok && new RegExp(expect.review_submitted.body_matches, "i").test(r.body);
114
+ submitted = submitted && r.event === expect.review_submitted.event;
89
115
  detail = `event=${r.event} bodyLen=${r.body.length}`;
90
116
  }
91
- checks.push({ name: "review-submitted", ok, detail });
117
+ checks.push({ name: "review-submitted", ok: submitted, detail });
118
+ if (expect.review_submitted.body_matches) {
119
+ const pattern = expect.review_submitted.body_matches;
120
+ const bodyOk = !!r && new RegExp(pattern, "i").test(r.body);
121
+ checks.push({ name: "review-body", ok: bodyOk, detail: `body ~ /${pattern}/i` });
122
+ }
92
123
  }
93
124
  return { ok: checks.every((c) => c.ok), checks };
94
125
  }
@@ -230,6 +261,64 @@ const MATCH_SYSTEM = "You judge whether a reviewer's findings match a gold set o
230
261
  "If a PR DIFF is provided, use it to resolve whether a finding and a gold issue point at the same code change. " +
231
262
  "Each gold issue matches AT MOST ONE finding, and each finding matches at most one gold issue (choose the best pairing). " +
232
263
  'Output ONLY JSON: {"matches":[{"finding":<finding index>,"gold":<gold index>}]}';
264
+ /**
265
+ * The current posted-side MATCH prompt — **`match-v2`**, many-to-one.
266
+ *
267
+ * v1's one-to-one pairing under-scores a review whose single comment genuinely
268
+ * asserts two gold defects. Measured on the 2026-08-25 ladder: a posted
269
+ * paragraph stating both the MIME-type trust defect and the shared-drive
270
+ * omission was credited with one match and charged one false negative for the
271
+ * defect its own text stated — twice, on the arm with the best recall in the
272
+ * set. One gold still matches at most one finding (a defect caught once is
273
+ * caught once); the relaxation is only that one FINDING may carry several
274
+ * distinct gold defects it explicitly asserts.
275
+ *
276
+ * Versioned rather than edited in place ({@link MATCH_SYSTEM} stays frozen):
277
+ * published numbers were graded under v1, `--repeat-judge` measures a specific
278
+ * grader, and the anchors artifact set the precedent — ship a better instrument
279
+ * as v2 and stamp it (`trace.matchPrompt`), never rewrite what past numbers
280
+ * meant. {@link INTERNAL_MATCH_SYSTEM} deliberately stays on the v1 base for
281
+ * the same reason: internal recall was back-filled across preserved runs under
282
+ * that prompt.
283
+ */
284
+ const MATCH_SYSTEM_V2 = "You judge whether a reviewer's findings match a gold set of KNOWN real issues in a pull request. " +
285
+ "Two items MATCH when they describe the SAME underlying issue — the same root cause or the same required fix — " +
286
+ "even if worded differently or the line is slightly off. Wording need not match; substance must. " +
287
+ "If a PR DIFF is provided, use it to resolve whether a finding and a gold issue point at the same code change. " +
288
+ "Each gold issue matches AT MOST ONE finding (choose the best one). A single finding MAY match several gold issues, " +
289
+ "but only when its text explicitly asserts each of those distinct defects — never because they are merely related. " +
290
+ 'Output ONLY JSON: {"matches":[{"finding":<finding index>,"gold":<gold index>}]}';
291
+ /** Stamped on every trace graded by {@link MATCH_SYSTEM_V2}. */
292
+ export const MATCH_PROMPT_VERSION = "match-v2";
293
+ /**
294
+ * The internal-recall MATCH prompt — {@link MATCH_SYSTEM} plus a
295
+ * claim-direction requirement, as its OWN constant on purpose.
296
+ *
297
+ * The posted path never needed the clause because EXTRACT filters praise and
298
+ * approvals before MATCH sees them. The internal path has no EXTRACT —
299
+ * `findings.json` is fed to MATCH directly — and the pipeline's findings
300
+ * include VERIFICATION REPORTS: *"Enforcement check passed:
301
+ * SILENT_SIGN_IN_NONCE_MAX_AGE_SECONDS — properly enforced"*, confidence 1.00.
302
+ * Measured on the stored X1 repeats (journal §2f, git history; summarised in
303
+ * `docs/plans/deterministic-pr-levers.md` §"The instrument (WP8)"), the shared prompt
304
+ * credited exactly those against gold whose entire point is the opposite claim
305
+ * ("nothing compares `issuedAt` against the max-age constant") — same
306
+ * constant, same file, opposite verdict, scored as "found". Every
307
+ * "found-but-withheld" credit on the audited one-case repeats traced to an
308
+ * opposite-direction or neutral-description match, which is what H-A1 was
309
+ * standing on.
310
+ *
311
+ * Kept separate rather than editing {@link MATCH_SYSTEM}: the posted-side
312
+ * numbers are published and pinned by the rescore/backfill drift refusals, and
313
+ * `--repeat-judge` measures THAT grader — its prompt must not move under it.
314
+ */
315
+ const INTERNAL_MATCH_SYSTEM = MATCH_SYSTEM.replace("Output ONLY JSON:", "") +
316
+ "A finding matches a gold issue ONLY if it asserts the same DEFECT or RISK — the same thing being wrong. " +
317
+ "A finding that asserts the mechanism is correctly handled, properly enforced, satisfied, unchanged, or merely " +
318
+ "DESCRIBES the code's behaviour without claiming anything is wrong is a NON-match for every gold issue, even when " +
319
+ "it names the same constant, file, or mechanism: a verification report about the right location is still not a " +
320
+ "report of the defect. " +
321
+ 'Output ONLY JSON: {"matches":[{"finding":<finding index>,"gold":<gold index>}]}';
233
322
  /** Cap on the PR diff fed to the judge (diff-aware mode). */
234
323
  const DIFF_CAP = 20_000;
235
324
  /** Prefix a judge user turn with the PR diff for context, when provided. */
@@ -313,8 +402,8 @@ export async function gradeReview(opts) {
313
402
  // 1. Extract distinct findings from the review.
314
403
  let findings;
315
404
  try {
316
- rawExtract = await judge(model, EXTRACT_SYSTEM, withDiffContext(diff, "context only — extract findings ONLY from the reviewer's writeup below", `REVIEWER'S WRITEUP:\n${text}`));
317
- const parsed = parseJudgeJson(rawExtract);
405
+ const { raw, parsed } = await judgeParsed(model, EXTRACT_SYSTEM, withDiffContext(diff, "context only — extract findings ONLY from the reviewer's writeup below", `REVIEWER'S WRITEUP:\n${text}`), (p) => !!p?.findings);
406
+ rawExtract = raw;
318
407
  if (!parsed?.findings)
319
408
  return empty({ error: "judge: unparseable extraction reply" });
320
409
  findings = parsed.findings.filter((f) => f && typeof f.description === "string" && f.description.trim());
@@ -329,86 +418,241 @@ export async function gradeReview(opts) {
329
418
  const trace = bareTrace({ judgeModel: model, reviewText: text, findings, rawExtract });
330
419
  return gold.length === 0 ? perfect(trace) : empty({ trace });
331
420
  }
332
- if (gold.length === 0) {
333
- // Findings on a PR with no gold issues are all noise.
334
- return {
335
- precision: 0,
336
- recall: 1,
337
- fbeta: 0,
338
- beta,
339
- posted,
340
- gold: 0,
341
- matched: 0,
342
- falsePositives: findings.map((f) => ({ description: f.description, file: f.file ?? undefined })),
343
- falseNegatives: [],
344
- };
345
- }
346
- // 2. Match findings ↔ gold.
347
- const matchUser = JSON.stringify({
348
- findings: findings.map((f, i) => ({ index: i, description: f.description, file: f.file ?? null })),
349
- gold: gold.map((g, i) => ({ index: i, file: g.file ?? null, line: g.line ?? null, severity: g.severity, description: g.description })),
350
- });
351
- let matches;
352
- try {
353
- rawMatch = await judge(model, MATCH_SYSTEM, withDiffContext(diff, "resolve whether a finding and a gold issue point at the same code", matchUser));
354
- const parsed = parseJudgeJson(rawMatch);
355
- if (!parsed?.matches)
356
- return empty({ error: "judge: unparseable match reply", posted });
357
- matches = parsed.matches;
421
+ // 2. Match findings ↔ gold (match-v2: one finding may carry several golds).
422
+ // A no-gold case skips the call — its findings go straight to the neutral
423
+ // pass, then to falsePositives. Every path below still builds a full trace:
424
+ // the no-gold early return was the ONE path that used to omit it, so a canary
425
+ // case's false positives rendered with no review text behind them — which
426
+ // read as "false positives on a review that was never posted" (the 1641
427
+ // misread, 2026-08-24).
428
+ let findingToGolds = new Map();
429
+ if (gold.length > 0) {
430
+ const matchUser = JSON.stringify({
431
+ findings: findings.map((f, i) => ({ index: i, description: f.description, file: f.file ?? null })),
432
+ gold: gold.map((g, i) => ({ index: i, file: g.file ?? null, line: g.line ?? null, severity: g.severity, description: g.description })),
433
+ });
434
+ try {
435
+ const { raw, parsed } = await judgeParsed(model, MATCH_SYSTEM_V2, withDiffContext(diff, "resolve whether a finding and a gold issue point at the same code", matchUser), (p) => !!p?.matches);
436
+ rawMatch = raw;
437
+ if (!parsed?.matches)
438
+ return empty({ error: "judge: unparseable match reply", posted });
439
+ findingToGolds = acceptPairsManyToOne(parsed.matches, posted, gold.length);
440
+ }
441
+ catch (err) {
442
+ return empty({ error: `judge match: ${err.message}`, posted });
443
+ }
358
444
  }
359
- catch (err) {
360
- return empty({ error: `judge match: ${err.message}`, posted });
445
+ // 2b. Neutral pass: findings that matched no gold get one chance to be
446
+ // absorbed by the sibling-round neutral set (see `review_gold_neutral`).
447
+ // Runs AFTER the gold match so the case's own gold always wins a finding.
448
+ // A judge failure here errors the case like any other judge failure — a
449
+ // silently skipped neutral pass would grade the same review two different
450
+ // ways depending on a transient network error.
451
+ const neutralGold = opts.neutralGold ?? [];
452
+ let rawNeutralMatch = "";
453
+ const neutralOfFinding = new Map();
454
+ if (neutralGold.length > 0) {
455
+ const candidates = findings.map((f, i) => ({ f, i })).filter(({ i }) => !findingToGolds.has(i));
456
+ if (candidates.length > 0) {
457
+ const neutralUser = JSON.stringify({
458
+ findings: candidates.map(({ f }, k) => ({ index: k, description: f.description, file: f.file ?? null })),
459
+ gold: neutralGold.map((g, i) => ({ index: i, file: g.file ?? null, line: g.line ?? null, severity: g.severity, description: g.description })),
460
+ });
461
+ try {
462
+ const { raw, parsed } = await judgeParsed(model, MATCH_SYSTEM_V2, withDiffContext(diff, "resolve whether a finding and a gold issue point at the same code", neutralUser), (p) => !!p?.matches);
463
+ rawNeutralMatch = raw;
464
+ if (!parsed?.matches)
465
+ return empty({ error: "judge: unparseable neutral match reply", posted });
466
+ for (const m of parsed.matches) {
467
+ if (!Number.isInteger(m.finding) || !Number.isInteger(m.gold))
468
+ continue;
469
+ if (m.finding < 0 || m.finding >= candidates.length || m.gold < 0 || m.gold >= neutralGold.length)
470
+ continue;
471
+ const original = candidates[m.finding].i;
472
+ if (!neutralOfFinding.has(original))
473
+ neutralOfFinding.set(original, m.gold);
474
+ }
475
+ }
476
+ catch (err) {
477
+ return empty({ error: `judge neutral match: ${err.message}`, posted });
478
+ }
479
+ }
361
480
  }
362
- // De-dup the matching: each finding + each gold used at most once (guard the
363
- // judge over-pairing), and drop out-of-range indices. Keep the accepted pairing
364
- // (finding→gold) for the trace.
365
- const usedFinding = new Set();
366
481
  const usedGold = new Set();
367
- const findingToGold = new Map();
368
- for (const m of matches) {
369
- if (!Number.isInteger(m.finding) || !Number.isInteger(m.gold))
370
- continue;
371
- if (m.finding < 0 || m.finding >= posted || m.gold < 0 || m.gold >= gold.length)
372
- continue;
373
- if (usedFinding.has(m.finding) || usedGold.has(m.gold))
374
- continue;
375
- usedFinding.add(m.finding);
376
- usedGold.add(m.gold);
377
- findingToGold.set(m.finding, m.gold);
378
- }
379
- const matched = usedFinding.size;
380
- const precision = matched / posted;
381
- const recall = matched / gold.length;
482
+ for (const golds of findingToGolds.values())
483
+ for (const g of golds)
484
+ usedGold.add(g);
485
+ const matchedFindings = findingToGolds.size;
486
+ const matched = usedGold.size;
487
+ const neutralized = findings
488
+ .map((f, i) => ({ f, i }))
489
+ .filter(({ i }) => neutralOfFinding.has(i))
490
+ .map(({ f }) => ({ description: f.description, file: f.file ?? undefined }));
491
+ const postedScored = posted - neutralized.length;
492
+ // With everything posted neutralized on a no-gold case, the review said
493
+ // nothing wrong that wasn't true of the PR: that is the clean outcome, not a
494
+ // precision 0.
495
+ const precision = postedScored > 0 ? matchedFindings / postedScored : gold.length === 0 ? 1 : 0;
496
+ const recall = gold.length > 0 ? matched / gold.length : 1;
382
497
  const fbeta = fBeta(precision, recall, beta);
383
498
  const falsePositives = findings
384
499
  .map((f, i) => ({ f, i }))
385
- .filter(({ i }) => !usedFinding.has(i))
500
+ .filter(({ i }) => !findingToGolds.has(i) && !neutralOfFinding.has(i))
386
501
  .map(({ f }) => ({ description: f.description, file: f.file ?? undefined }));
387
502
  const falseNegatives = gold
388
503
  .map((g, i) => ({ g, i }))
389
504
  .filter(({ i }) => !usedGold.has(i))
390
505
  .map(({ g }) => ({ description: g.description, file: g.file, severity: g.severity }));
391
506
  const goldToFinding = new Map();
392
- for (const [f, g] of findingToGold)
393
- goldToFinding.set(g, f);
507
+ for (const [f, golds] of findingToGolds)
508
+ for (const g of golds)
509
+ if (!goldToFinding.has(g))
510
+ goldToFinding.set(g, f);
511
+ const findingOfNeutral = new Map();
512
+ for (const [f, n] of neutralOfFinding)
513
+ if (!findingOfNeutral.has(n))
514
+ findingOfNeutral.set(n, f);
394
515
  const trace = {
395
516
  judgeModel: model,
396
517
  reviewText: capTrace(text),
397
- findings: findings.map((f, i) => ({
398
- description: f.description,
399
- file: f.file ?? undefined,
400
- matchedGold: findingToGold.has(i) ? findingToGold.get(i) : null,
401
- })),
518
+ findings: findings.map((f, i) => {
519
+ const golds = findingToGolds.get(i);
520
+ return {
521
+ description: f.description,
522
+ file: f.file ?? undefined,
523
+ matchedGold: golds?.length ? golds[0] : null,
524
+ ...(golds && golds.length > 1 ? { matchedGolds: golds } : {}),
525
+ };
526
+ }),
402
527
  gold: gold.map((g, j) => ({
403
528
  description: g.description,
404
529
  severity: g.severity,
405
530
  matchedFinding: goldToFinding.has(j) ? goldToFinding.get(j) : null,
406
531
  })),
532
+ ...(neutralGold.length
533
+ ? { neutral: neutralGold.map((g, j) => ({ description: g.description, matchedFinding: findingOfNeutral.get(j) ?? null })) }
534
+ : {}),
407
535
  rawExtract: capTrace(rawExtract),
408
- rawMatch: capTrace(rawMatch),
536
+ ...(rawMatch ? { rawMatch: capTrace(rawMatch) } : {}),
537
+ ...(rawNeutralMatch ? { rawNeutralMatch: capTrace(rawNeutralMatch) } : {}),
538
+ matchPrompt: MATCH_PROMPT_VERSION,
409
539
  usedDiff: !!diff,
410
540
  };
411
- return { precision, recall, fbeta, beta, posted, gold: gold.length, matched, falsePositives, falseNegatives, trace };
541
+ return {
542
+ precision,
543
+ recall,
544
+ fbeta,
545
+ beta,
546
+ posted: postedScored,
547
+ gold: gold.length,
548
+ matched,
549
+ matchedFindings,
550
+ ...(neutralized.length ? { postedRaw: posted, neutralized } : {}),
551
+ falsePositives,
552
+ falseNegatives,
553
+ trace,
554
+ };
555
+ }
556
+ /**
557
+ * De-dup a judge's pairing: each finding and each gold used at most once, and
558
+ * out-of-range indices dropped.
559
+ *
560
+ * The judge is instructed to pair one-to-one and mostly does; this is the guard
561
+ * for when it does not, and it must be the SAME guard on both passes below —
562
+ * internal recall differing from posted recall because the two ends counted
563
+ * over-pairing differently would be a measurement artifact wearing a result's
564
+ * clothes.
565
+ */
566
+ /**
567
+ * Accept a `match-v2` pairing: each gold used at most once, findings reusable
568
+ * across golds (one comment may assert two distinct defects), out-of-range
569
+ * indices dropped. The 1-to-1 {@link acceptPairs} guard stays for the internal
570
+ * pass, which is frozen on the v1 prompt (see {@link MATCH_SYSTEM_V2}).
571
+ */
572
+ function acceptPairsManyToOne(matches, nFindings, nGold) {
573
+ const usedGold = new Set();
574
+ const findingToGolds = new Map();
575
+ for (const m of matches) {
576
+ if (!Number.isInteger(m.finding) || !Number.isInteger(m.gold))
577
+ continue;
578
+ if (m.finding < 0 || m.finding >= nFindings || m.gold < 0 || m.gold >= nGold)
579
+ continue;
580
+ if (usedGold.has(m.gold))
581
+ continue;
582
+ usedGold.add(m.gold);
583
+ const golds = findingToGolds.get(m.finding) ?? [];
584
+ golds.push(m.gold);
585
+ findingToGolds.set(m.finding, golds);
586
+ }
587
+ return findingToGolds;
588
+ }
589
+ function acceptPairs(matches, nFindings, nGold) {
590
+ const usedFinding = new Set();
591
+ const usedGold = new Set();
592
+ const findingToGold = new Map();
593
+ for (const m of matches) {
594
+ if (!Number.isInteger(m.finding) || !Number.isInteger(m.gold))
595
+ continue;
596
+ if (m.finding < 0 || m.finding >= nFindings || m.gold < 0 || m.gold >= nGold)
597
+ continue;
598
+ if (usedFinding.has(m.finding) || usedGold.has(m.gold))
599
+ continue;
600
+ usedFinding.add(m.finding);
601
+ usedGold.add(m.gold);
602
+ findingToGold.set(m.finding, m.gold);
603
+ }
604
+ return findingToGold;
605
+ }
606
+ /**
607
+ * **Internal recall** — did the pipeline find it at all, as against did it say
608
+ * it.
609
+ *
610
+ * `gradeReview` judges the posted review text, so a finding the attention
611
+ * boundary tiered `internal` is indistinguishable from one that was never
612
+ * generated. Those are completely different failures: the first is an attention
613
+ * problem with a threshold to turn, the second is the discovery ceiling this
614
+ * plan's whole thesis is about
615
+ * (`docs/plans/deterministic-pr-levers.md`). Measuring them as one number
616
+ * is how "the filters kept their hands off gold" and "the boundary is inert"
617
+ * were both believed at once.
618
+ *
619
+ * **One judge call, not two.** The EXTRACT step exists to distil free-text prose
620
+ * into discrete findings; `findings.json` is already a structured list, so this
621
+ * runs only MATCH. That is what makes it ~$0.01 a case and affordable to
622
+ * back-fill across every preserved run.
623
+ */
624
+ export async function gradeInternalRecall(opts) {
625
+ const { gold, findings } = opts;
626
+ // Nothing to measure. Distinct from "measured zero", hence `undefined`.
627
+ if (!gold.length || !findings.length)
628
+ return undefined;
629
+ let model;
630
+ try {
631
+ model = opts.judgeModel ?? defaultJudgeModel();
632
+ }
633
+ catch (err) {
634
+ return { goldToFinding: gold.map(() => null), matched: 0, error: err.message };
635
+ }
636
+ const diff = opts.diff?.trim() ? opts.diff : undefined;
637
+ const user = JSON.stringify({
638
+ findings: findings.map((f, i) => ({ index: i, description: f.description, file: f.file ?? null })),
639
+ gold: gold.map((g, i) => ({ index: i, file: g.file ?? null, line: g.line ?? null, severity: g.severity, description: g.description })),
640
+ });
641
+ let matches;
642
+ try {
643
+ const { parsed } = await judgeParsed(model, INTERNAL_MATCH_SYSTEM, withDiffContext(diff, "resolve whether a finding and a gold issue point at the same code", user), (p) => !!p?.matches);
644
+ if (!parsed?.matches)
645
+ return { goldToFinding: gold.map(() => null), matched: 0, error: "judge: unparseable match reply" };
646
+ matches = parsed.matches;
647
+ }
648
+ catch (err) {
649
+ return { goldToFinding: gold.map(() => null), matched: 0, error: `internal match: ${err.message}` };
650
+ }
651
+ const findingToGold = acceptPairs(matches, findings.length, gold.length);
652
+ const goldToFinding = gold.map(() => null);
653
+ for (const [f, g] of findingToGold)
654
+ goldToFinding[g] = f;
655
+ return { goldToFinding, matched: findingToGold.size };
412
656
  }
413
657
  // ── Execution grade (SWE-bench resolved) ────────────────────────────────────
414
658
  const TAP_LINE = /^(ok|not ok)\s+\d+\s+-\s+(.+?)(?:\s+#.*)?$/;
package/dist/grade.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"grade.js","sourceRoot":"","sources":["../src/grade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grade.js","sourceRoot":"","sources":["../src/grade.ts"],"names":[],"mappings":"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"}
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEjC,MAAM,WAAW,GAAG;;;;;;;;CAQnB,CAAC;AAEF,MAAM,SAAS,GAAG;;;;;;;;;;;CAWjB,CAAC;AAEF,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,SAAS,eAAe,CAAC,GAAW,EAAE,OAAiB,EAAE,QAAkB;IACzE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO;IAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,aAAa,CACX,GAAG,EACH,GAAG,QAAQ,GAAG,GAAG,kFAAkF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EACzH,MAAM,CACP,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,qDAAqD;AACrD,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;CAwBjB,CAAC;AACF,CAAC;AAED,2EAA2E;AAC3E,SAAS,cAAc,CAAC,IAAY,EAAE,IAAY;IAChD,OAAO,KAAK,IAAI;;4EAE0D,IAAI;;4BAEpD,IAAI,0BAA0B,IAAI;;;;;;;;;;;;;;;;;;;;;;;CAuB7D,CAAC;AACF,CAAC;AAED;iDACiD;AACjD,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,IAAI,MAAM,CAAC;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAY;IAC1D,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACrC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,8CAA8C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3I,OAAO,KAAK,CAAC;IACf,CAAC;IACD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,GAAG,MAAM,YAAY,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,mFAAmF;IACnF,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,GAAW,EAAE,WAAoB;IACzD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,OAAe,EAAQ,EAAE;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAC5B,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,gFAAgF;QAChF,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;QACnF,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAC;YACzD,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC3C,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;QAClE,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;sBAqBG,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAiB,EAAE;IAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IAElF,uEAAuE;IACvE,MAAM,OAAO,GAAG,CAAC,GAAG,KAAe,EAAsB,EAAE;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IAEhH,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,2BAA2B,CAAC,CAAC;IAE3D,gFAAgF;IAChF,+EAA+E;IAC/E,kDAAkD;IAClD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,SAAS,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9B,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC1E,CAAC;IAED,+EAA+E;IAC/E,4EAA4E;IAC5E,yEAAyE;IACzE,IAAI,SAAS,EAAE,CAAC;QACd,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC1H,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qEAAqE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5G,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;YAC5B,MAAM,oBAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAkC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,IAAI;YACJ,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,MAAM,GAAG,yBAAyB;QACtC,CAAC,CAAC,iCAAiC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/dist/judge.js CHANGED
@@ -30,6 +30,16 @@ function openAiCompatible(url, apiKey) {
30
30
  { role: "user", content: user },
31
31
  ],
32
32
  ...(temperature !== undefined ? { temperature } : {}),
33
+ // Reasoning models on OpenAI-compatible endpoints burn their budget on
34
+ // hidden tokens before emitting any content — GLM-5.2 spends ~119 of them
35
+ // answering "reply with exactly: OK". For a judge that must return a small
36
+ // fixed JSON shape that is pure cost, so `EVAL_JUDGE_REASONING_EFFORT=none`
37
+ // turns it off. Unset means "provider default", which is the safe default:
38
+ // a model that does not know the field ignores it, but silently forcing
39
+ // `none` everywhere would change what an existing arm measures.
40
+ ...(process.env.EVAL_JUDGE_REASONING_EFFORT
41
+ ? { reasoning_effort: process.env.EVAL_JUDGE_REASONING_EFFORT }
42
+ : {}),
33
43
  }),
34
44
  extract: (json) => {
35
45
  const j = json;
@@ -68,6 +78,15 @@ function providerFor(modelId) {
68
78
  const or = openAiCompatible("https://openrouter.ai/api/v1/chat/completions", key);
69
79
  return { ...or, body: (_m, s, u, t) => or.body(model, s, u, t) };
70
80
  }
81
+ if (family === "fireworks") {
82
+ const key = process.env.FIREWORKS_API_KEY;
83
+ if (!key)
84
+ throw new Error("judge: FIREWORKS_API_KEY not set for a fireworks judge model");
85
+ // Fireworks ids are themselves slash-paths (`accounts/fireworks/models/…`),
86
+ // and `wireModel` only strips up to the FIRST slash — so the remainder is
87
+ // already the wire id. Routers (`…/routers/glm-5p2-fast`) work the same way.
88
+ return openAiCompatible("https://api.fireworks.ai/inference/v1/chat/completions", key);
89
+ }
71
90
  if (family === "deepseek") {
72
91
  const key = process.env.DEEPSEEK_API_KEY;
73
92
  if (!key)