dsh-llm-verifier 0.3.0 → 0.4.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 (97) hide show
  1. package/README.md +133 -9
  2. package/lib/auto-B5V49e-A.js +1517 -0
  3. package/lib/auto-B5V49e-A.js.map +1 -0
  4. package/lib/{caller-DJd_FlrQ.js → caller-DR_C7ueP.js} +154 -20
  5. package/lib/caller-DR_C7ueP.js.map +1 -0
  6. package/lib/caller.js +2 -2
  7. package/lib/client.js +804 -29
  8. package/lib/client.js.map +1 -1
  9. package/lib/core.js +226 -3
  10. package/lib/core.js.map +1 -1
  11. package/lib/index.js +1014 -1337
  12. package/lib/index.js.map +1 -1
  13. package/lib/replay.js +157 -0
  14. package/lib/replay.js.map +1 -0
  15. package/lib/types/auto.js +1 -1
  16. package/lib/types/auto.js.map +1 -1
  17. package/lib/types/caller.d.ts +65 -0
  18. package/lib/types/caller.d.ts.map +1 -1
  19. package/lib/types/caller.js +113 -5
  20. package/lib/types/caller.js.map +1 -1
  21. package/lib/types/client-i18n.d.ts +163 -6
  22. package/lib/types/client-i18n.d.ts.map +1 -1
  23. package/lib/types/client-i18n.js +137 -26
  24. package/lib/types/client-i18n.js.map +1 -1
  25. package/lib/types/client.d.ts +30 -0
  26. package/lib/types/client.d.ts.map +1 -1
  27. package/lib/types/client.js +94 -9
  28. package/lib/types/client.js.map +1 -1
  29. package/lib/types/config.d.ts +33 -0
  30. package/lib/types/config.d.ts.map +1 -1
  31. package/lib/types/config.js +17 -2
  32. package/lib/types/config.js.map +1 -1
  33. package/lib/types/core.d.ts +84 -0
  34. package/lib/types/core.d.ts.map +1 -1
  35. package/lib/types/core.js +222 -2
  36. package/lib/types/core.js.map +1 -1
  37. package/lib/types/criteria.d.ts +33 -0
  38. package/lib/types/criteria.d.ts.map +1 -0
  39. package/lib/types/criteria.js +67 -0
  40. package/lib/types/criteria.js.map +1 -0
  41. package/lib/types/decisions.d.ts +84 -0
  42. package/lib/types/decisions.d.ts.map +1 -0
  43. package/lib/types/decisions.js +209 -0
  44. package/lib/types/decisions.js.map +1 -0
  45. package/lib/types/engine.d.ts +54 -1
  46. package/lib/types/engine.d.ts.map +1 -1
  47. package/lib/types/engine.js +175 -12
  48. package/lib/types/engine.js.map +1 -1
  49. package/lib/types/index.d.ts +1 -0
  50. package/lib/types/index.d.ts.map +1 -1
  51. package/lib/types/index.js +392 -38
  52. package/lib/types/index.js.map +1 -1
  53. package/lib/types/replay.d.ts +88 -0
  54. package/lib/types/replay.d.ts.map +1 -0
  55. package/lib/types/replay.js +136 -0
  56. package/lib/types/replay.js.map +1 -0
  57. package/lib/types/router.d.ts +29 -5
  58. package/lib/types/router.d.ts.map +1 -1
  59. package/lib/types/router.js +283 -46
  60. package/lib/types/router.js.map +1 -1
  61. package/lib/types/statistics.d.ts +10 -1
  62. package/lib/types/statistics.d.ts.map +1 -1
  63. package/lib/types/statistics.js +35 -7
  64. package/lib/types/statistics.js.map +1 -1
  65. package/lib/types/top-logprobs.d.ts +36 -0
  66. package/lib/types/top-logprobs.d.ts.map +1 -1
  67. package/lib/types/top-logprobs.js +41 -14
  68. package/lib/types/top-logprobs.js.map +1 -1
  69. package/package.json +6 -1
  70. package/scripts/eval-replay.mjs +118 -0
  71. package/src/auto.ts +1 -1
  72. package/src/caller.test.ts +62 -1
  73. package/src/caller.ts +124 -4
  74. package/src/client-i18n.ts +137 -25
  75. package/src/client.test.ts +21 -0
  76. package/src/client.tsx +145 -7
  77. package/src/config.test.ts +32 -0
  78. package/src/config.ts +49 -2
  79. package/src/core.test.ts +95 -0
  80. package/src/core.ts +217 -2
  81. package/src/criteria.test.ts +60 -0
  82. package/src/criteria.ts +76 -0
  83. package/src/decisions.test.ts +150 -0
  84. package/src/decisions.ts +244 -0
  85. package/src/engine.test.ts +131 -0
  86. package/src/engine.ts +167 -10
  87. package/src/index.test.ts +278 -8
  88. package/src/index.ts +373 -37
  89. package/src/replay.test.ts +82 -0
  90. package/src/replay.ts +155 -0
  91. package/src/router.test.ts +240 -1
  92. package/src/router.ts +298 -48
  93. package/src/statistics.test.ts +49 -1
  94. package/src/statistics.ts +44 -7
  95. package/src/top-logprobs.test.ts +28 -0
  96. package/src/top-logprobs.ts +56 -8
  97. package/lib/caller-DJd_FlrQ.js.map +0 -1
@@ -84,11 +84,12 @@ export function buildEvidenceIndex(events) {
84
84
  // Track the rolling view of team tasks across the session
85
85
  const currentTeamTasks = new Map();
86
86
  let narration;
87
- // Tool names each wrapper call (a `run_code` program) dispatched, keyed by the
88
- // wrapper's callId. Session V3 carries rootCallId on the dispatch event, which is the
89
- // only reliable parent link: the wrapper's own result text is a concatenation of its
90
- // sub-results, so the tool name of the wrapper says nothing about what it did.
91
- const dispatchedTools = new Map();
87
+ // What each wrapper call (a `run_code` program) dispatched, keyed by the wrapper's
88
+ // callId: how many sub-calls it made and whether any of them produced evidence.
89
+ // Session V3 carries rootCallId on the dispatch event, which is the only reliable
90
+ // parent link: the wrapper's own result text is a concatenation of its sub-results,
91
+ // so the tool name of the wrapper says nothing about what it did.
92
+ const dispatchedWork = new Map();
92
93
  for (const rawEvent of relevant) {
93
94
  const event = rawEvent;
94
95
  if (event.type === 'tool/call')
@@ -116,9 +117,11 @@ export function buildEvidenceIndex(events) {
116
117
  const data = event.data;
117
118
  const rootCallId = typeof data.rootCallId === 'string' && data.rootCallId ? data.rootCallId : undefined;
118
119
  if (rootCallId) {
119
- const names = dispatchedTools.get(rootCallId) ?? new Set();
120
- names.add(data.name);
121
- dispatchedTools.set(rootCallId, names);
120
+ const entry = dispatchedWork.get(rootCallId) ?? { count: 0, evidence: false };
121
+ entry.count += 1;
122
+ if (isEvidenceOutput(data.name, Array.isArray(data.content) ? blockText(data.content) : ''))
123
+ entry.evidence = true;
124
+ dispatchedWork.set(rootCallId, entry);
122
125
  }
123
126
  const isOk = data.isError !== true && (!Array.isArray(data.content) || data.content.every(b => b.isError !== true));
124
127
  if (isOk) {
@@ -132,11 +135,12 @@ export function buildEvidenceIndex(events) {
132
135
  const result = results.get(callId);
133
136
  if (!result)
134
137
  continue;
135
- // A wrapper that dispatched nothing but bookkeeping carries only their payloads
136
- // (typically the todo list echoed straight back), so it is bookkeeping too. Its
137
- // nested dispatches stay in the index under their own names, so real work done by
138
- // the same program is still available as evidence.
139
- if (onlyBookkeepingDispatches(dispatchedTools.get(callId)))
138
+ // A wrapper whose every dispatch was bookkeeping/coordination carries only their
139
+ // payloads (the todo list, or a "started subagent" acknowledgement, echoed straight
140
+ // back), so it is coordination too. Its nested dispatches stay in the index under
141
+ // their own names, so real work done by the same program is still available.
142
+ const dispatched = dispatchedWork.get(callId);
143
+ if (dispatched !== undefined && dispatched.count > 0 && !dispatched.evidence)
140
144
  continue;
141
145
  paired.set(callId, { name: call.data.name, callSeq: call.seq, resultSeq: result.seq, text: blockText(result.data.message.content) });
142
146
  }
@@ -200,18 +204,192 @@ function canonicalTodoSnapshots(index) {
200
204
  * A checkpoint already renders the todo/team snapshot these tools wrote, so their
201
205
  * own result repeats it while displacing the real work output that came just before
202
206
  * them.
207
+ *
208
+ * `present` belongs here for the same reason: declaring deliverables produces no
209
+ * independent output, and it is always the LAST call of a turn. A live session ran
210
+ * typecheck + the full suite, committed, then presented — and every stop boundary
211
+ * showed the judge "Latest observed tool output at routing time (run_code):
212
+ * presented: 8" instead of the verification run one call earlier. Following its own
213
+ * rule ("a state without real verification should not exceed K"), the judge capped
214
+ * the newest checkpoint at exactly K = 52.6% against a 0.8 threshold on four
215
+ * consecutive routes, so each one steered "continue the unfinished work" for work
216
+ * that was finished and verified. The `deliverables/presented` event still records
217
+ * what was presented; the tool result adds nothing the judge can grade.
203
218
  */
204
219
  const BOOKKEEPING_TOOLS = new Set([
205
- 'todo_write', 'create_goal', 'get_goal', 'update_goal', 'interrupt_agent', 'list_agents', 'exit_plan_mode', 'skill',
220
+ 'todo_write', 'create_goal', 'get_goal', 'update_goal', 'interrupt_agent', 'list_agents', 'exit_plan_mode', 'skill', 'present',
221
+ 'job_list', 'job_kill', 'list_subagent_models', 'send_message',
206
222
  ]);
207
- /** Whether a wrapper's dispatches were all bookkeeping; undefined/empty means it dispatched nothing. */
208
- function onlyBookkeepingDispatches(names) {
209
- if (names === undefined || names.size === 0)
223
+ /**
224
+ * The plugin's own verdict tools.
225
+ *
226
+ * They must stay in the evidence index — {@link successfulExplicitKinds} reads it so an
227
+ * explicit route is not re-run automatically — but they are never rendered as observed
228
+ * work output: a judge grading progress from an earlier verdict would be grading itself,
229
+ * and a stale "passed" would grade as if the work behind it still stood.
230
+ */
231
+ const VERIFIER_EVIDENCE_TOOLS = new Set(['verifier_compare', 'verifier_select', 'verifier_track', 'verifier_best_of_n', 'verifier_current_session']);
232
+ /** Tools that return either a child's report (evidence) or a bare start acknowledgement (not evidence). */
233
+ const SUBAGENT_TOOLS = new Set(['subagent', 'subagent_fork']);
234
+ /**
235
+ * Start acknowledgement of a background child.
236
+ *
237
+ * `subagent`/`subagent_fork` cannot be excluded by name: a foreground call returns the
238
+ * child's report, a background one returns exactly `started subagent <childId>` (or
239
+ * `started background subagent job <id>`), which hides the output the child was asked to
240
+ * produce while looking like the newest "observed" result of the task.
241
+ */
242
+ const CHILD_START_ACKNOWLEDGEMENT = /^started (?:background )?subagent\b/u;
243
+ /**
244
+ * Whether one settled tool result is evidence of work rather than coordination output.
245
+ *
246
+ * Single definition for every site that renders or offers evidence, so the checkpoint
247
+ * picker and the semantic router cannot disagree about what counts — the same
248
+ * disagreement produced the K-cap loop described on {@link BOOKKEEPING_TOOLS}.
249
+ * @param name - tool name that produced the result.
250
+ * @param text - rendered result text.
251
+ * @returns True when the result may be shown to a judge as observed output.
252
+ */
253
+ function isEvidenceOutput(name, text) {
254
+ if (BOOKKEEPING_TOOLS.has(name) || VERIFIER_EVIDENCE_TOOLS.has(name))
210
255
  return false;
211
- for (const name of names)
212
- if (!BOOKKEEPING_TOOLS.has(name))
213
- return false;
214
- return true;
256
+ const body = text.trim();
257
+ if (!body)
258
+ return false;
259
+ return !(SUBAGENT_TOOLS.has(name) && CHILD_START_ACKNOWLEDGEMENT.test(body));
260
+ }
261
+ /** Signatures of an output that reports verification results. */
262
+ const VERIFICATION_SIGNATURES = [
263
+ /\bTest Files\s+\d+/u,
264
+ /\bTests?\s*:?\s*\d+\s+(?:passed|failed|skipped|todo)/iu,
265
+ /\bTest Suites?:\s*\d+/u,
266
+ /\b\d+\s+passed\b/u,
267
+ /\b(?:all\s+)?tests?\s+passed\b/iu,
268
+ /^\s*(?:ok|FAIL|PASS)\s+\S+/mu,
269
+ /\b(?:TEST|TYPECHECK|BUILD|LINT|CHECK|GATE)_EXIT\s*[:=]\s*0\b/u,
270
+ ];
271
+ /**
272
+ * Whether an output looks like a test/typecheck/build run reporting its result.
273
+ *
274
+ * Only decides whether one extra evidence block is worth rendering. A miss degrades to
275
+ * the single-output rendering the checkpoints always had, and a false positive shows the
276
+ * judge one more observed result — neither can invent evidence.
277
+ * @param text - rendered tool result.
278
+ * @returns True when the text carries a runner-shaped summary.
279
+ */
280
+ function looksLikeVerificationRun(text) {
281
+ return VERIFICATION_SIGNATURES.some(pattern => pattern.test(text));
282
+ }
283
+ /**
284
+ * How much settled tool work followed one call, as a short histogram.
285
+ *
286
+ * Lets the judge decide whether a verification run still covers the current state
287
+ * ("nothing but issue replies since" versus "12 writes since") instead of guessing.
288
+ * Counts come from the evidence index, so a wrapper and its dispatches are each counted
289
+ * as the results they produced.
290
+ * @param index - evidence index of the current task.
291
+ * @param call - the call to measure from.
292
+ * @param maxChars - hard cap for the summary.
293
+ * @returns The summary text, or '' when nothing followed.
294
+ */
295
+ function trailingSummary(index, call, maxChars) {
296
+ const counts = new Map();
297
+ let total = 0;
298
+ for (const other of index.calls.values()) {
299
+ if (other.resultSeq <= call.resultSeq)
300
+ continue;
301
+ total += 1;
302
+ counts.set(other.name, (counts.get(other.name) ?? 0) + 1);
303
+ }
304
+ if (total === 0)
305
+ return '';
306
+ const ranked = [...counts.entries()].sort((a, b) => b[1] - a[1] || (a[0] < b[0] ? -1 : 1));
307
+ const summary = total + ' tool result(s) since, ' + ranked.slice(0, 4).map(([name, count]) => name + ' ×' + count).join(', ') + (ranked.length > 4 ? ', …' : '');
308
+ return summary.length <= maxChars ? summary : summary.slice(0, Math.max(1, maxChars - 1)) + '…';
309
+ }
310
+ /**
311
+ * One extra block for the newest verification run in the task.
312
+ *
313
+ * The judge's own rule caps a state whose evidence carries no verification (see
314
+ * {@link BOOKKEEPING_TOOLS}), but only ONE output fits per checkpoint — and the last
315
+ * call of a task is rarely the test run. A live session ran the full suite and then
316
+ * spent 88 tool calls closing issues and printing a status summary: the newest
317
+ * checkpoint showed only that summary, the judge answered exactly K = 52.6% against a
318
+ * 0.8 threshold, and the route steered "continue the unfinished work" for work that was
319
+ * finished and verified. Putting the newest verification run back in front of the judge
320
+ * restores evidence the session really produced; it does not loosen the threshold.
321
+ * @param index - evidence index of the current task.
322
+ * @param newest - the call already rendered as the newest output, if any.
323
+ * @param budget - maximum characters this block may occupy.
324
+ * @returns The labelled block and the run it came from, or an empty block.
325
+ */
326
+ function verificationEvidence(index, newest, budget) {
327
+ if (budget < 128)
328
+ return { text: '', call: undefined };
329
+ // A freshly observed run already sits in the newest block; showing an older one as
330
+ // well would only add noise (and could read as two independent verifications).
331
+ if (newest !== undefined && looksLikeVerificationRun(newest.text))
332
+ return { text: '', call: undefined };
333
+ let run;
334
+ for (const pair of index.calls.values()) {
335
+ if (!isEvidenceOutput(pair.name, pair.text) || !looksLikeVerificationRun(pair.text))
336
+ continue;
337
+ if (run === undefined || pair.resultSeq > run.resultSeq)
338
+ run = pair;
339
+ }
340
+ if (run === undefined)
341
+ return { text: '', call: undefined };
342
+ const trailing = trailingSummary(index, run, 200);
343
+ const prefix = '\n\nLatest observed verification run (' + run.name + (trailing === '' ? '' : ' — ' + trailing) + '):\n';
344
+ if (prefix.length >= budget)
345
+ return { text: '', call: undefined };
346
+ return { text: prefix + sanitizeVerifierText(run.text, budget - prefix.length), call: run };
347
+ }
348
+ /** Upper bound on the one-line-per-call digest attached to the newest checkpoint. */
349
+ const MAX_DIGEST_LINES = 8;
350
+ /**
351
+ * One line per recent tool result, newest last.
352
+ *
353
+ * The detailed blocks above show the newest output and the newest verification run; a
354
+ * judge deciding whether that verification still covers the current state also needs to
355
+ * know what the calls in between actually did. The trailing histogram on the
356
+ * verification block names the tools, this names the work ("gh api … state=closed",
357
+ * "Updated todo list: 0 pending"), and it deliberately keeps coordination results — they
358
+ * are exactly what a tail of the task looks like.
359
+ *
360
+ * Rendered only for the checkpoint being judged, bounded by its own slice of the same
361
+ * per-item budget, and always keeping the newest lines when the budget is tight.
362
+ * @param index - evidence index of the current task.
363
+ * @param budget - maximum characters this block may occupy.
364
+ * @param shown - calls already rendered in full above, marked instead of dropped.
365
+ * @returns The labelled block, or '' when there is nothing recent to add.
366
+ */
367
+ function recentEvidenceDigest(index, budget, shown) {
368
+ if (budget < 128)
369
+ return '';
370
+ // The plugin's own verdicts stay out even here: a one-line "winner A, score 1" in the
371
+ // judge's context is the self-grading this module refuses everywhere else.
372
+ const recent = [...index.calls.values()]
373
+ .filter(call => !VERIFIER_EVIDENCE_TOOLS.has(call.name))
374
+ .sort((a, b) => a.resultSeq - b.resultSeq)
375
+ .slice(-MAX_DIGEST_LINES);
376
+ if (recent.length === 0)
377
+ return '';
378
+ const rendered = recent.map(call => {
379
+ const first = call.text.split('\n').map(line => line.trim()).find(line => line.length > 0) ?? '';
380
+ const mark = shown.includes(call) ? ' [shown above]' : '';
381
+ return ' [' + call.resultSeq + '] ' + (call.name + ': ' + first).slice(0, 110) + mark;
382
+ });
383
+ const prefix = '\n\nRecent tool results (newest last):\n';
384
+ if (prefix.length >= budget)
385
+ return '';
386
+ const room = budget - prefix.length;
387
+ let kept = rendered;
388
+ while (kept.length > 1 && kept.join('\n').length > room)
389
+ kept = kept.slice(1);
390
+ const omitted = kept.length < rendered.length ? ' …older omitted\n' : '';
391
+ const body = omitted + kept.join('\n');
392
+ return prefix + (body.length > room ? body.slice(body.length - room) : body);
215
393
  }
216
394
  /**
217
395
  * Observed tool evidence available at one checkpoint.
@@ -225,25 +403,27 @@ function onlyBookkeepingDispatches(names) {
225
403
  * snapshot they wrote, so their own result repeats it while displacing the real
226
404
  * output produced just before them (a live session attached `create_goal`,
227
405
  * `update_goal` and `interrupt_agent` output to checkpoints that had already run
228
- * the task's test suite).
406
+ * the task's test suite). Coordination results are skipped by the same rule — see
407
+ * {@link isEvidenceOutput} — because they are also written after the work.
229
408
  * @param index - evidence index of the current task.
230
409
  * @param seq - checkpoint sequence number, or `Infinity` for the current state.
231
410
  * @param budget - maximum characters the evidence may occupy.
232
411
  * @param current - render the newest output in the task instead of the newest one before `seq`.
233
- * @returns Evidence block, or '' when the task produced none yet.
412
+ * @returns The rendered block and the call it came from, or an empty block.
234
413
  */
235
414
  function checkpointEvidence(index, seq, budget, current = false) {
415
+ const empty = { text: '', call: undefined };
236
416
  if (budget < 64)
237
- return '';
417
+ return empty;
238
418
  let latest;
239
419
  for (const pair of index.calls.values()) {
240
- if (BOOKKEEPING_TOOLS.has(pair.name) || !pair.text.trim())
420
+ if (!isEvidenceOutput(pair.name, pair.text))
241
421
  continue;
242
422
  if (pair.resultSeq <= seq && (latest === undefined || pair.resultSeq > latest.resultSeq))
243
423
  latest = pair;
244
424
  }
245
425
  if (latest === undefined)
246
- return '';
426
+ return empty;
247
427
  // The prefix length depends on the tool name, so measure it instead of assuming a
248
428
  // fixed overhead: with a long tool name the old "- 60" let the rendered step exceed
249
429
  // maxItemChars, and boundDecision() then dropped the whole track decision silently.
@@ -251,8 +431,8 @@ function checkpointEvidence(index, seq, budget, current = false) {
251
431
  ? '\n\nLatest observed tool output at routing time (' + latest.name + '):\n'
252
432
  : '\n\nLatest observed tool output before this checkpoint (' + latest.name + '):\n';
253
433
  if (prefix.length >= budget)
254
- return '';
255
- return prefix + sanitizeVerifierText(latest.text, budget - prefix.length);
434
+ return empty;
435
+ return { text: prefix + sanitizeVerifierText(latest.text, budget - prefix.length), call: latest };
256
436
  }
257
437
  /**
258
438
  * Per-item character budget for a decision with a known item count.
@@ -290,7 +470,11 @@ export const MAX_ROUTED_CHECKPOINTS = 6;
290
470
  * the CURRENT state: its evidence is the newest observed output in the task rather
291
471
  * than the newest one before the last todo snapshot (which is often several tool calls
292
472
  * stale), and it carries the agent's latest prose as an explicitly labelled claim (see
293
- * {@link currentNarration}), because prose deliverables never reach a tool.
473
+ * {@link currentNarration}), because prose deliverables never reach a tool. It gets one
474
+ * extra slots as well — the newest verification run in the task
475
+ * ({@link verificationEvidence}) and a one-line digest of the recent calls
476
+ * ({@link recentEvidenceDigest}) — because a single output slot cannot show both the
477
+ * tail of the task and the test run that tail is hiding.
294
478
  * @param index - evidence index of the current task.
295
479
  * @param sources - checkpoints in chronological order.
296
480
  * @param maxItemChars - hard per-item cap enforced by boundDecision().
@@ -313,8 +497,20 @@ function renderCheckpointSteps(index, sources, maxItemChars, maxInputChars) {
313
497
  // never reaches a tool.
314
498
  const isCurrent = position === kept.length - 1;
315
499
  const observed = checkpointEvidence(index, isCurrent ? Number.POSITIVE_INFINITY : source.seq, isCurrent ? Math.floor(evidenceBudget / 2) : evidenceBudget, isCurrent);
316
- const narration = isCurrent ? currentNarration(index, evidenceBudget - observed.length) : '';
317
- return sanitizeVerifierText(note + source.label + source.body, Math.max(1, stepCap - observed.length - narration.length)) + observed + narration;
500
+ // Only the newest checkpoint can be short of verification: the older ones describe
501
+ // past states, and their single output is what was current for them then.
502
+ const verification = isCurrent
503
+ ? verificationEvidence(index, observed.call, Math.floor(evidenceBudget / 2) - observed.text.length)
504
+ : { text: '', call: undefined };
505
+ // The digest comes out of the item cap rather than the evidence budget: it is a
506
+ // bounded summary, and the narration keeps the room the evidence budget reserved for
507
+ // it. MAX_DIGEST_LINES lines of ~110 characters never exceed a tenth of the item.
508
+ const digest = isCurrent
509
+ ? recentEvidenceDigest(index, Math.min(1000, Math.floor(stepCap / 10)), [observed.call, verification.call])
510
+ : '';
511
+ const narration = isCurrent ? currentNarration(index, evidenceBudget - observed.text.length - verification.text.length) : '';
512
+ const used = observed.text.length + verification.text.length + digest.length + narration.length;
513
+ return sanitizeVerifierText(note + source.label + source.body, Math.max(1, stepCap - used)) + observed.text + verification.text + digest + narration;
318
514
  });
319
515
  return { steps, evidenceSeqs: kept.map(source => source.seq), omitted };
320
516
  }
@@ -428,9 +624,10 @@ export function buildSemanticRoutePrompt(problem, events, maxCandidates, maxItem
428
624
  let used = 0;
429
625
  let omitted = 0;
430
626
  for (const [callId, pair] of [...index.calls.entries()].reverse()) {
431
- // Bookkeeping results are not alternatives to anything; offering them let the
432
- // classifier cite e.g. two goal/agent-control calls as competing candidates.
433
- if (BOOKKEEPING_TOOLS.has(pair.name))
627
+ // Bookkeeping and coordination results are not alternatives to anything; offering
628
+ // them let the classifier cite e.g. two goal/agent-control calls as competing
629
+ // candidates, or a previous verdict as an artifact of work.
630
+ if (!isEvidenceOutput(pair.name, pair.text))
434
631
  continue;
435
632
  const text = sanitizeVerifierText(pair.text, maxItemChars);
436
633
  if (artifacts.length > 0 && used + text.length > maxInputChars) {
@@ -504,10 +701,10 @@ export function semanticDecision(output, events, maxItemChars = 20_000, maxInput
504
701
  const perItem = itemBudget(output.candidateCallIds.length, maxItemChars, maxInputChars);
505
702
  const candidates = output.candidateCallIds.map((callId, i) => {
506
703
  const pair = index.calls.get(callId);
507
- // Bookkeeping calls are not candidates (they were never offered to the classifier);
704
+ // Non-evidence calls are not candidates (they were never offered to the classifier);
508
705
  // a citation of one is an invalid reference, so the whole decision is rejected
509
706
  // instead of comparing metadata as if it were alternative work.
510
- if (!pair || BOOKKEEPING_TOOLS.has(pair.name))
707
+ if (!pair || !isEvidenceOutput(pair.name, pair.text))
511
708
  return undefined;
512
709
  return { id: callId, groupId: 'semantic', label: pair.name + ' ' + (i + 1), content: sanitizeVerifierText(pair.text, perItem), callId, fromSeq: pair.callSeq, toSeq: pair.resultSeq };
513
710
  }).filter((candidate) => candidate !== undefined);
@@ -539,13 +736,19 @@ export function semanticDecision(output, events, maxItemChars = 20_000, maxInput
539
736
  * cancels that.
540
737
  *
541
738
  * `select` does not need it: its ring is symmetric by construction and the pivot round
542
- * is oriented per pair by the engine, so one round is already unbiased. `track` scores
543
- * a single checkpoint list and has no slots at all.
739
+ * is oriented per pair by the engine, so one round is already unbiased. `track` has no
740
+ * slots at all, but it has its own repeat count: without token logprobs one call yields
741
+ * ONE sampled letter (5.3% of the scale per letter), so repeats are averaged to keep the
742
+ * progress curve from flipping bands on sampling noise — the same reason the upstream
743
+ * `n_evaluations` averages repeated verifications.
544
744
  * @param decision - the routed decision about to run.
545
745
  * @param configured - the configured auto-route repeat count.
746
+ * @param trackRepeats - repeat count for a `track` route; defaults to `configured`.
546
747
  * @returns The repeat count to pass to the engine.
547
748
  */
548
- export function routedRepeats(decision, configured) {
749
+ export function routedRepeats(decision, configured, trackRepeats = configured) {
750
+ if (decision.kind === 'track')
751
+ return Math.max(1, trackRepeats);
549
752
  if (decision.kind !== 'compare')
550
753
  return configured;
551
754
  return configured % 2 === 0 ? configured : configured + 1;
@@ -581,15 +784,18 @@ export class AutoVerifierRouter {
581
784
  if (taskStartSeq === undefined)
582
785
  return undefined;
583
786
  const id = String(agent.id);
584
- const state = this.states.get(id) ?? { taskStartSeq, taskAttempts: 0, sessionAttempts: 0, taskModelCalls: 0, sessionModelCalls: 0, completed: new Set(), failed: new Set(), strictBlocked: false };
787
+ const state = this.states.get(id) ?? { taskStartSeq, routeAttempts: 0, finalAttempts: 0, sessionRouteAttempts: 0, sessionFinalAttempts: 0, taskModelCalls: 0, sessionModelCalls: 0, completed: new Set(), failed: new Set(), finalPreferred: false, strictBlocked: false };
788
+ // A new task resets its own attempt and model-call counters, but never the session counters.
585
789
  if (state.taskStartSeq !== taskStartSeq) {
586
790
  state.taskStartSeq = taskStartSeq;
587
- state.taskAttempts = 0;
791
+ state.routeAttempts = 0;
792
+ state.finalAttempts = 0;
588
793
  state.taskModelCalls = 0;
589
794
  state.completed.clear();
590
795
  state.failed.clear();
591
796
  state.inFlight = undefined;
592
797
  state.finalRequiredFromSeq = undefined;
798
+ state.finalPreferred = false;
593
799
  state.strictBlocked = false;
594
800
  this.exhaustedNotices.delete(id);
595
801
  }
@@ -600,12 +806,30 @@ export class AutoVerifierRouter {
600
806
  if (policy.mode === 'manual')
601
807
  return undefined;
602
808
  const state = this.state(agent);
603
- if (!state || state.inFlight || state.completed.has(fingerprint) || state.taskAttempts >= policy.maxPerTask || state.sessionAttempts >= policy.maxPerSession || state.taskModelCalls + expectedCalls > policy.maxModelCallsPerTask || state.sessionModelCalls + expectedCalls > policy.maxModelCallsPerSession)
809
+ if (!state || state.inFlight || state.completed.has(fingerprint))
810
+ return undefined;
811
+ // Routing and the final gate draw on separate attempt counters, so no amount of
812
+ // routing can leave the mandatory acceptance without an attempt of its own.
813
+ const final = phase === 'final';
814
+ const attempts = final ? state.finalAttempts : state.routeAttempts;
815
+ const sessionAttempts = final ? state.sessionFinalAttempts : state.sessionRouteAttempts;
816
+ const maxTask = final ? policy.maxFinalPerTask : policy.maxRoutePerTask;
817
+ const maxSession = final ? policy.maxFinalPerSession : policy.maxRoutePerSession;
818
+ if (attempts >= maxTask || sessionAttempts >= maxSession || state.taskModelCalls + expectedCalls > policy.maxModelCallsPerTask || state.sessionModelCalls + expectedCalls > policy.maxModelCallsPerSession)
604
819
  return undefined;
605
820
  const reservation = { id: String(++this.serial), phase, fingerprint, taskStartSeq: state.taskStartSeq };
606
821
  state.inFlight = reservation;
607
- state.taskAttempts++;
608
- state.sessionAttempts++;
822
+ if (final) {
823
+ state.finalAttempts += 1;
824
+ state.sessionFinalAttempts += 1;
825
+ // The reservation honors the preference; a later failure must not keep routing
826
+ // disabled for the rest of the task.
827
+ state.finalPreferred = false;
828
+ }
829
+ else {
830
+ state.routeAttempts += 1;
831
+ state.sessionRouteAttempts += 1;
832
+ }
609
833
  state.taskModelCalls += expectedCalls;
610
834
  state.sessionModelCalls += expectedCalls;
611
835
  return reservation;
@@ -622,8 +846,10 @@ export class AutoVerifierRouter {
622
846
  // (and, in strict mode, burn an attempt and set strictBlocked on that empty review).
623
847
  if (reservation.phase !== 'semantic' && reservation.phase !== 'final' && reservation.phase !== 'plan_review')
624
848
  state.finalRequiredFromSeq = Math.max(state.finalRequiredFromSeq ?? 0, evidenceSeq ?? reservation.taskStartSeq);
625
- if (reservation.phase === 'final')
849
+ if (reservation.phase === 'final') {
626
850
  state.finalRequiredFromSeq = undefined;
851
+ state.finalPreferred = false;
852
+ }
627
853
  return true;
628
854
  }
629
855
  fail(agent, reservation, strict) {
@@ -634,6 +860,8 @@ export class AutoVerifierRouter {
634
860
  state.failed.add(reservation.fingerprint);
635
861
  if (strict)
636
862
  state.strictBlocked = true;
863
+ if (reservation.phase === 'final')
864
+ state.finalPreferred = false;
637
865
  }
638
866
  /**
639
867
  * Claim this task's single budget-exhaustion notice.
@@ -662,12 +890,21 @@ export class AutoVerifierRouter {
662
890
  const state = this.state(agent);
663
891
  if (!state)
664
892
  return true;
665
- return state.taskAttempts >= policy.maxPerTask || state.sessionAttempts >= policy.maxPerSession
893
+ return state.routeAttempts >= policy.maxRoutePerTask || state.sessionRouteAttempts >= policy.maxRoutePerSession
666
894
  || state.taskModelCalls + expectedCalls > policy.maxModelCallsPerTask || state.sessionModelCalls + expectedCalls > policy.maxModelCallsPerSession;
667
895
  }
668
896
  /** Whether this exact fingerprint already passed within the current task. */
669
897
  completedFingerprint(agent, fingerprint) { return this.state(agent)?.completed.has(fingerprint) ?? false; }
670
898
  finalRequired(agent) { return this.state(agent)?.finalRequiredFromSeq; }
899
+ /**
900
+ * Arm "run the final gate next": a track route already cleared the completion threshold,
901
+ * so the next stop boundary must not buy another route first.
902
+ * @param agent - Agent whose track route cleared the threshold.
903
+ */
904
+ preferFinal(agent) { const state = this.state(agent); if (state)
905
+ state.finalPreferred = true; }
906
+ /** Whether the next stop boundary must skip routing and run the final gate. */
907
+ finalPreferred(agent) { return this.state(agent)?.finalPreferred ?? false; }
671
908
  strictBlocked(agent) { return this.state(agent)?.strictBlocked ?? false; }
672
909
  release(agent) { this.states.delete(String(agent.id)); this.exhaustedNotices.delete(String(agent.id)); }
673
910
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"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"}