dsh-llm-verifier 0.2.1 → 0.3.1
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.
- package/README.md +15 -11
- package/lib/client.js +23 -3
- package/lib/client.js.map +1 -1
- package/lib/index.js +389 -115
- package/lib/index.js.map +1 -1
- package/lib/types/auto.d.ts +32 -12
- package/lib/types/auto.d.ts.map +1 -1
- package/lib/types/auto.js +50 -38
- package/lib/types/auto.js.map +1 -1
- package/lib/types/client-i18n.d.ts +21 -1
- package/lib/types/client-i18n.d.ts.map +1 -1
- package/lib/types/client-i18n.js +22 -4
- package/lib/types/client-i18n.js.map +1 -1
- package/lib/types/client.d.ts.map +1 -1
- package/lib/types/client.js +1 -1
- package/lib/types/client.js.map +1 -1
- package/lib/types/engine.d.ts +19 -0
- package/lib/types/engine.d.ts.map +1 -1
- package/lib/types/engine.js +54 -4
- package/lib/types/engine.js.map +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +32 -43
- package/lib/types/index.js.map +1 -1
- package/lib/types/router.d.ts +31 -0
- package/lib/types/router.d.ts.map +1 -1
- package/lib/types/router.js +192 -17
- package/lib/types/router.js.map +1 -1
- package/lib/types/statistics.d.ts +28 -0
- package/lib/types/statistics.d.ts.map +1 -1
- package/lib/types/statistics.js +101 -0
- package/lib/types/statistics.js.map +1 -1
- package/package.json +1 -1
- package/src/auto.test.ts +42 -23
- package/src/auto.ts +55 -46
- package/src/client-i18n.ts +32 -4
- package/src/client.test.ts +48 -3
- package/src/client.tsx +2 -0
- package/src/config.test.ts +6 -3
- package/src/engine.test.ts +40 -1
- package/src/engine.ts +56 -4
- package/src/index.ts +34 -44
- package/src/router.test.ts +218 -3
- package/src/router.ts +182 -14
- package/src/statistics.test.ts +116 -0
- package/src/statistics.ts +112 -0
package/lib/types/router.js
CHANGED
|
@@ -36,6 +36,27 @@ function blockText(blocks) {
|
|
|
36
36
|
visit(blocks);
|
|
37
37
|
return parts.join('\n').trim();
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Text of one assistant turn, excluding reasoning blocks.
|
|
41
|
+
*
|
|
42
|
+
* Used only as the newest checkpoint's narration. Prose is not evidence, but for a
|
|
43
|
+
* deliverable that lives in prose (a review, an analysis) it is the only thing that
|
|
44
|
+
* describes the current state at all, so the judge receives it explicitly labelled
|
|
45
|
+
* as a claim instead of being shown nothing about the deliverable.
|
|
46
|
+
* @param blocks - content blocks of an `assistant/message` event.
|
|
47
|
+
* @returns The joined text, trimmed.
|
|
48
|
+
*/
|
|
49
|
+
function narrativeText(blocks) {
|
|
50
|
+
const parts = [];
|
|
51
|
+
const visit = (items) => { for (const block of items) {
|
|
52
|
+
if (block.type === 'text')
|
|
53
|
+
parts.push(block.text);
|
|
54
|
+
else if (block.type === 'tool-result')
|
|
55
|
+
visit(block.content);
|
|
56
|
+
} };
|
|
57
|
+
visit(blocks);
|
|
58
|
+
return parts.join('\n').trim();
|
|
59
|
+
}
|
|
39
60
|
function successful(event) {
|
|
40
61
|
return event.data.error === undefined && event.data.message.content.every(block => block.isError !== true);
|
|
41
62
|
}
|
|
@@ -62,6 +83,12 @@ export function buildEvidenceIndex(events) {
|
|
|
62
83
|
const paired = new Map();
|
|
63
84
|
// Track the rolling view of team tasks across the session
|
|
64
85
|
const currentTeamTasks = new Map();
|
|
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();
|
|
65
92
|
for (const rawEvent of relevant) {
|
|
66
93
|
const event = rawEvent;
|
|
67
94
|
if (event.type === 'tool/call')
|
|
@@ -77,8 +104,22 @@ export function buildEvidenceIndex(events) {
|
|
|
77
104
|
teamTasks.set(event.seq, [...currentTeamTasks.values()]);
|
|
78
105
|
}
|
|
79
106
|
}
|
|
107
|
+
else if (event.type === 'assistant/message') {
|
|
108
|
+
// Session V3 carries the blocks under message.content (same shape as tool/result);
|
|
109
|
+
// the bare content fallback keeps older/mock event streams working.
|
|
110
|
+
const blocks = event.data?.message?.content ?? event.data?.content;
|
|
111
|
+
const text = narrativeText(Array.isArray(blocks) ? blocks : []);
|
|
112
|
+
if (text)
|
|
113
|
+
narration = { seq: event.seq, text };
|
|
114
|
+
}
|
|
80
115
|
else if (event.type === 'tool/ptc-dispatch' || event.type === 'tool/code-dispatch') {
|
|
81
116
|
const data = event.data;
|
|
117
|
+
const rootCallId = typeof data.rootCallId === 'string' && data.rootCallId ? data.rootCallId : undefined;
|
|
118
|
+
if (rootCallId) {
|
|
119
|
+
const names = dispatchedTools.get(rootCallId) ?? new Set();
|
|
120
|
+
names.add(data.name);
|
|
121
|
+
dispatchedTools.set(rootCallId, names);
|
|
122
|
+
}
|
|
82
123
|
const isOk = data.isError !== true && (!Array.isArray(data.content) || data.content.every(b => b.isError !== true));
|
|
83
124
|
if (isOk) {
|
|
84
125
|
const subCallId = String(data.subCallId ?? ('code:' + event.seq));
|
|
@@ -89,10 +130,17 @@ export function buildEvidenceIndex(events) {
|
|
|
89
130
|
}
|
|
90
131
|
for (const [callId, call] of calls) {
|
|
91
132
|
const result = results.get(callId);
|
|
92
|
-
if (result)
|
|
93
|
-
|
|
133
|
+
if (!result)
|
|
134
|
+
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)))
|
|
140
|
+
continue;
|
|
141
|
+
paired.set(callId, { name: call.data.name, callSeq: call.seq, resultSeq: result.seq, text: blockText(result.data.message.content) });
|
|
94
142
|
}
|
|
95
|
-
return { problemSeq: taskStartSeq, calls: paired, todos, teamTasks };
|
|
143
|
+
return { problemSeq: taskStartSeq, calls: paired, todos, teamTasks, narration };
|
|
96
144
|
}
|
|
97
145
|
function parseTrustedWorkflow(value, callId, callSeq, resultSeq, maxCandidates, maxItemChars, maxInputChars) {
|
|
98
146
|
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
@@ -146,6 +194,36 @@ function canonicalTodoSnapshots(index) {
|
|
|
146
194
|
}
|
|
147
195
|
return values;
|
|
148
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Tools whose successful output only maintains the agent's own bookkeeping.
|
|
199
|
+
*
|
|
200
|
+
* A checkpoint already renders the todo/team snapshot these tools wrote, so their
|
|
201
|
+
* own result repeats it while displacing the real work output that came just before
|
|
202
|
+
* them.
|
|
203
|
+
*
|
|
204
|
+
* `present` belongs here for the same reason: declaring deliverables produces no
|
|
205
|
+
* independent output, and it is always the LAST call of a turn. A live session ran
|
|
206
|
+
* typecheck + the full suite, committed, then presented — and every stop boundary
|
|
207
|
+
* showed the judge "Latest observed tool output at routing time (run_code):
|
|
208
|
+
* presented: 8" instead of the verification run one call earlier. Following its own
|
|
209
|
+
* rule ("a state without real verification should not exceed K"), the judge capped
|
|
210
|
+
* the newest checkpoint at exactly K = 52.6% against a 0.8 threshold on four
|
|
211
|
+
* consecutive routes, so each one steered "continue the unfinished work" for work
|
|
212
|
+
* that was finished and verified. The `deliverables/presented` event still records
|
|
213
|
+
* what was presented; the tool result adds nothing the judge can grade.
|
|
214
|
+
*/
|
|
215
|
+
const BOOKKEEPING_TOOLS = new Set([
|
|
216
|
+
'todo_write', 'create_goal', 'get_goal', 'update_goal', 'interrupt_agent', 'list_agents', 'exit_plan_mode', 'skill', 'present',
|
|
217
|
+
]);
|
|
218
|
+
/** Whether a wrapper's dispatches were all bookkeeping; undefined/empty means it dispatched nothing. */
|
|
219
|
+
function onlyBookkeepingDispatches(names) {
|
|
220
|
+
if (names === undefined || names.size === 0)
|
|
221
|
+
return false;
|
|
222
|
+
for (const name of names)
|
|
223
|
+
if (!BOOKKEEPING_TOOLS.has(name))
|
|
224
|
+
return false;
|
|
225
|
+
return true;
|
|
226
|
+
}
|
|
149
227
|
/**
|
|
150
228
|
* Observed tool evidence available at one checkpoint.
|
|
151
229
|
*
|
|
@@ -153,16 +231,25 @@ function canonicalTodoSnapshots(index) {
|
|
|
153
231
|
* threshold: the judge prompt explicitly refuses to credit a state that carries
|
|
154
232
|
* no observed output. The most recent successful tool result at or before the
|
|
155
233
|
* checkpoint is therefore attached as evidence.
|
|
234
|
+
*
|
|
235
|
+
* Bookkeeping tools are skipped: the checkpoint already renders the todo/team
|
|
236
|
+
* snapshot they wrote, so their own result repeats it while displacing the real
|
|
237
|
+
* output produced just before them (a live session attached `create_goal`,
|
|
238
|
+
* `update_goal` and `interrupt_agent` output to checkpoints that had already run
|
|
239
|
+
* the task's test suite).
|
|
156
240
|
* @param index - evidence index of the current task.
|
|
157
|
-
* @param seq - checkpoint sequence number.
|
|
241
|
+
* @param seq - checkpoint sequence number, or `Infinity` for the current state.
|
|
158
242
|
* @param budget - maximum characters the evidence may occupy.
|
|
243
|
+
* @param current - render the newest output in the task instead of the newest one before `seq`.
|
|
159
244
|
* @returns Evidence block, or '' when the task produced none yet.
|
|
160
245
|
*/
|
|
161
|
-
function checkpointEvidence(index, seq, budget) {
|
|
246
|
+
function checkpointEvidence(index, seq, budget, current = false) {
|
|
162
247
|
if (budget < 64)
|
|
163
248
|
return '';
|
|
164
249
|
let latest;
|
|
165
250
|
for (const pair of index.calls.values()) {
|
|
251
|
+
if (BOOKKEEPING_TOOLS.has(pair.name) || !pair.text.trim())
|
|
252
|
+
continue;
|
|
166
253
|
if (pair.resultSeq <= seq && (latest === undefined || pair.resultSeq > latest.resultSeq))
|
|
167
254
|
latest = pair;
|
|
168
255
|
}
|
|
@@ -171,7 +258,9 @@ function checkpointEvidence(index, seq, budget) {
|
|
|
171
258
|
// The prefix length depends on the tool name, so measure it instead of assuming a
|
|
172
259
|
// fixed overhead: with a long tool name the old "- 60" let the rendered step exceed
|
|
173
260
|
// maxItemChars, and boundDecision() then dropped the whole track decision silently.
|
|
174
|
-
const prefix =
|
|
261
|
+
const prefix = current
|
|
262
|
+
? '\n\nLatest observed tool output at routing time (' + latest.name + '):\n'
|
|
263
|
+
: '\n\nLatest observed tool output before this checkpoint (' + latest.name + '):\n';
|
|
175
264
|
if (prefix.length >= budget)
|
|
176
265
|
return '';
|
|
177
266
|
return prefix + sanitizeVerifierText(latest.text, budget - prefix.length);
|
|
@@ -207,6 +296,12 @@ export const MAX_ROUTED_CHECKPOINTS = 6;
|
|
|
207
296
|
* The result fits both caps by construction: each step is at most min(maxItemChars,
|
|
208
297
|
* maxInputChars / kept.length) characters, so the combined length can never exceed
|
|
209
298
|
* maxInputChars and boundDecision() no longer drops the whole route.
|
|
299
|
+
*
|
|
300
|
+
* The newest checkpoint is also the state the route is judging, so it is rendered as
|
|
301
|
+
* the CURRENT state: its evidence is the newest observed output in the task rather
|
|
302
|
+
* than the newest one before the last todo snapshot (which is often several tool calls
|
|
303
|
+
* stale), and it carries the agent's latest prose as an explicitly labelled claim (see
|
|
304
|
+
* {@link currentNarration}), because prose deliverables never reach a tool.
|
|
210
305
|
* @param index - evidence index of the current task.
|
|
211
306
|
* @param sources - checkpoints in chronological order.
|
|
212
307
|
* @param maxItemChars - hard per-item cap enforced by boundDecision().
|
|
@@ -222,11 +317,40 @@ function renderCheckpointSteps(index, sources, maxItemChars, maxInputChars) {
|
|
|
222
317
|
const evidenceBudget = Math.max(0, Math.min(Math.floor(maxInputChars / 2), Math.floor(maxItemChars / 2), Math.floor(stepCap / 2)));
|
|
223
318
|
const steps = kept.map((source, position) => {
|
|
224
319
|
const note = position === 0 && omitted > 0 ? 'Earlier ' + omitted + ' checkpoint(s) omitted; showing the ' + kept.length + ' most recent.\n' : '';
|
|
225
|
-
|
|
226
|
-
|
|
320
|
+
// Only the newest checkpoint describes the state the route is judging, so only it
|
|
321
|
+
// carries the agent's own latest narration and the newest observed output. Half of
|
|
322
|
+
// the evidence budget is held back for the narration: it is much longer than a tool
|
|
323
|
+
// result and used to be the deliverable for tasks (reviews, analyses) whose output
|
|
324
|
+
// never reaches a tool.
|
|
325
|
+
const isCurrent = position === kept.length - 1;
|
|
326
|
+
const observed = checkpointEvidence(index, isCurrent ? Number.POSITIVE_INFINITY : source.seq, isCurrent ? Math.floor(evidenceBudget / 2) : evidenceBudget, isCurrent);
|
|
327
|
+
const narration = isCurrent ? currentNarration(index, evidenceBudget - observed.length) : '';
|
|
328
|
+
return sanitizeVerifierText(note + source.label + source.body, Math.max(1, stepCap - observed.length - narration.length)) + observed + narration;
|
|
227
329
|
});
|
|
228
330
|
return { steps, evidenceSeqs: kept.map(source => source.seq), omitted };
|
|
229
331
|
}
|
|
332
|
+
/**
|
|
333
|
+
* The agent's newest unverified prose, attached to the current checkpoint.
|
|
334
|
+
*
|
|
335
|
+
* Progress checkpoints are graded against "would this state satisfy the task", and
|
|
336
|
+
* for work whose deliverable is prose the todo snapshot plus one tool result say
|
|
337
|
+
* nothing about it: every checkpoint then scores "certainly NO" even though the
|
|
338
|
+
* deliverable exists (a live review task scored 0% on all four checkpoints while the
|
|
339
|
+
* final session acceptance of the same work passed). The block is labelled as a claim
|
|
340
|
+
* so the judge can weigh it without treating it as observed output.
|
|
341
|
+
* @param index - evidence index of the current task.
|
|
342
|
+
* @param budget - maximum characters the narration may occupy.
|
|
343
|
+
* @returns Narration block, or '' when the task produced no prose or has no budget.
|
|
344
|
+
*/
|
|
345
|
+
function currentNarration(index, budget) {
|
|
346
|
+
const narration = index.narration;
|
|
347
|
+
if (narration === undefined || budget < 64)
|
|
348
|
+
return '';
|
|
349
|
+
const prefix = "\n\nNewest agent narration in this task (the agent's own claim — NOT observed evidence):\n";
|
|
350
|
+
if (prefix.length >= budget)
|
|
351
|
+
return '';
|
|
352
|
+
return prefix + sanitizeVerifierText(narration.text, budget - prefix.length);
|
|
353
|
+
}
|
|
230
354
|
function canonicalTeamTaskSnapshots(index) {
|
|
231
355
|
const values = [];
|
|
232
356
|
let previous = '';
|
|
@@ -261,26 +385,47 @@ export function analyzeStructuredRoute(events, maxCandidates = 8, maxItemChars =
|
|
|
261
385
|
const snapshots = canonicalTodoSnapshots(index);
|
|
262
386
|
if (snapshots.length >= 2 && snapshots.some(snapshot => snapshot.todos.length >= 2)) {
|
|
263
387
|
const rendered = renderCheckpointSteps(index, snapshots.map(snapshot => ({ seq: snapshot.seq, label: 'Todo checkpoint seq ' + snapshot.seq + ':\n', body: snapshot.todos.map(todo => '- [' + todo.status + '] ' + todo.content).join('\n') })), maxItemChars, maxInputChars);
|
|
264
|
-
|
|
388
|
+
// The fingerprint covers the RENDERED steps, not just the snapshots: the evidence
|
|
389
|
+
// attached to a checkpoint (and the newest narration) changes with the work that
|
|
390
|
+
// followed it, so a route whose prompt would differ must not be refused as
|
|
391
|
+
// "already routed". The semantic track route hashes its steps for the same reason.
|
|
392
|
+
return { kind: 'track', source: 'structured', confidence: 1, reason: 'changed durable todo snapshots', fingerprint: stableHash({ kind: 'track', snapshots, steps: rendered.steps }), steps: rendered.steps, checkpoints: rendered.steps.map((_, i) => i + 1), evidenceSeqs: rendered.evidenceSeqs };
|
|
265
393
|
}
|
|
266
394
|
const teamSnapshots = canonicalTeamTaskSnapshots(index);
|
|
267
395
|
if (teamSnapshots.length >= 2) {
|
|
268
396
|
const rendered = renderCheckpointSteps(index, teamSnapshots.map(snapshot => ({ seq: snapshot.seq, label: 'Team task checkpoint seq ' + snapshot.seq + ':\n', body: snapshot.tasks.map(task => '- [' + task.status + '] ' + task.subject + (task.description ? ' (' + task.description + ')' : '')).join('\n') })), maxItemChars, maxInputChars);
|
|
269
|
-
return { kind: 'track', source: 'structured', confidence: 1, reason: 'changed durable team tasks', fingerprint: stableHash({ kind: 'track', teamSnapshots }), steps: rendered.steps, checkpoints: rendered.steps.map((_, i) => i + 1), evidenceSeqs: rendered.evidenceSeqs };
|
|
397
|
+
return { kind: 'track', source: 'structured', confidence: 1, reason: 'changed durable team tasks', fingerprint: stableHash({ kind: 'track', teamSnapshots, steps: rendered.steps }), steps: rendered.steps, checkpoints: rendered.steps.map((_, i) => i + 1), evidenceSeqs: rendered.evidenceSeqs };
|
|
270
398
|
}
|
|
271
399
|
}
|
|
272
400
|
return undefined;
|
|
273
401
|
}
|
|
402
|
+
/**
|
|
403
|
+
* Artifacts that only the classifier can turn into candidates.
|
|
404
|
+
*
|
|
405
|
+
* Todo and team snapshots are deliberately absent. They are the structured track
|
|
406
|
+
* route's own input, and that route runs first — so listing them here could only make
|
|
407
|
+
* the hint true in shapes the structured pass already claimed (or in a task that
|
|
408
|
+
* already ran an explicit `verifier_track`, where re-classifying the same snapshots is
|
|
409
|
+
* not wanted). The one shape left out is a snapshot series whose lists are all shorter
|
|
410
|
+
* than two items, which is not worth a classification call.
|
|
411
|
+
*/
|
|
412
|
+
const HINT_ARTIFACTS = new Set(['subagent', 'subagent_fork', 'workflow', 'exit_plan_mode']);
|
|
413
|
+
/**
|
|
414
|
+
* Whether a smart-mode stop boundary is worth a semantic classification call.
|
|
415
|
+
*
|
|
416
|
+
* The semantic phase only runs when the structured pass produced nothing, so this
|
|
417
|
+
* answers "is there material the structured pass never consumes?" — never "are there
|
|
418
|
+
* todo/team snapshots?", which the structured pass would have used already.
|
|
419
|
+
* @param events - Session event log.
|
|
420
|
+
* @returns True when a subagent/workflow/plan artifact exists.
|
|
421
|
+
*/
|
|
274
422
|
export function semanticRouteHint(events) {
|
|
275
423
|
const index = buildEvidenceIndex(events);
|
|
276
424
|
if (!index)
|
|
277
425
|
return false;
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
return true;
|
|
282
|
-
if (canonicalTeamTaskSnapshots(index).length >= 2)
|
|
283
|
-
return true;
|
|
426
|
+
for (const pair of index.calls.values())
|
|
427
|
+
if (HINT_ARTIFACTS.has(pair.name))
|
|
428
|
+
return true;
|
|
284
429
|
return false;
|
|
285
430
|
}
|
|
286
431
|
export function buildSemanticRoutePrompt(problem, events, maxCandidates, maxItemChars = 20_000, maxInputChars = 60_000) {
|
|
@@ -294,6 +439,10 @@ export function buildSemanticRoutePrompt(problem, events, maxCandidates, maxItem
|
|
|
294
439
|
let used = 0;
|
|
295
440
|
let omitted = 0;
|
|
296
441
|
for (const [callId, pair] of [...index.calls.entries()].reverse()) {
|
|
442
|
+
// Bookkeeping results are not alternatives to anything; offering them let the
|
|
443
|
+
// classifier cite e.g. two goal/agent-control calls as competing candidates.
|
|
444
|
+
if (BOOKKEEPING_TOOLS.has(pair.name))
|
|
445
|
+
continue;
|
|
297
446
|
const text = sanitizeVerifierText(pair.text, maxItemChars);
|
|
298
447
|
if (artifacts.length > 0 && used + text.length > maxInputChars) {
|
|
299
448
|
omitted += 1;
|
|
@@ -366,7 +515,12 @@ export function semanticDecision(output, events, maxItemChars = 20_000, maxInput
|
|
|
366
515
|
const perItem = itemBudget(output.candidateCallIds.length, maxItemChars, maxInputChars);
|
|
367
516
|
const candidates = output.candidateCallIds.map((callId, i) => {
|
|
368
517
|
const pair = index.calls.get(callId);
|
|
369
|
-
|
|
518
|
+
// Bookkeeping calls are not candidates (they were never offered to the classifier);
|
|
519
|
+
// a citation of one is an invalid reference, so the whole decision is rejected
|
|
520
|
+
// instead of comparing metadata as if it were alternative work.
|
|
521
|
+
if (!pair || BOOKKEEPING_TOOLS.has(pair.name))
|
|
522
|
+
return undefined;
|
|
523
|
+
return { id: callId, groupId: 'semantic', label: pair.name + ' ' + (i + 1), content: sanitizeVerifierText(pair.text, perItem), callId, fromSeq: pair.callSeq, toSeq: pair.resultSeq };
|
|
370
524
|
}).filter((candidate) => candidate !== undefined);
|
|
371
525
|
if (candidates.length !== output.candidateCallIds.length)
|
|
372
526
|
return undefined;
|
|
@@ -386,6 +540,27 @@ export function semanticDecision(output, events, maxItemChars = 20_000, maxInput
|
|
|
386
540
|
* @param criteriaCount - number of criteria evaluated per comparison.
|
|
387
541
|
* @returns The planned model-call count, never below 1.
|
|
388
542
|
*/
|
|
543
|
+
/**
|
|
544
|
+
* Scoring repeats a routed decision actually runs.
|
|
545
|
+
*
|
|
546
|
+
* `compare` judges ONE unordered pair, and `VerifierEngine.compare` only swaps the
|
|
547
|
+
* candidates on odd repeat indices — with the shipped default of a single round the
|
|
548
|
+
* first candidate therefore always sat in slot A, so the winner was partly decided by
|
|
549
|
+
* listing order. Rounding its count up to an even number averages a swapped round and
|
|
550
|
+
* cancels that.
|
|
551
|
+
*
|
|
552
|
+
* `select` does not need it: its ring is symmetric by construction and the pivot round
|
|
553
|
+
* is oriented per pair by the engine, so one round is already unbiased. `track` scores
|
|
554
|
+
* a single checkpoint list and has no slots at all.
|
|
555
|
+
* @param decision - the routed decision about to run.
|
|
556
|
+
* @param configured - the configured auto-route repeat count.
|
|
557
|
+
* @returns The repeat count to pass to the engine.
|
|
558
|
+
*/
|
|
559
|
+
export function routedRepeats(decision, configured) {
|
|
560
|
+
if (decision.kind !== 'compare')
|
|
561
|
+
return configured;
|
|
562
|
+
return configured % 2 === 0 ? configured : configured + 1;
|
|
563
|
+
}
|
|
389
564
|
export function estimateRoutedCalls(decision, repeats, criteriaCount) {
|
|
390
565
|
if (decision.kind === 'compare')
|
|
391
566
|
return Math.max(1, criteriaCount * repeats);
|
package/lib/types/router.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -5,10 +5,38 @@ export interface VerdictSummary {
|
|
|
5
5
|
phase?: string;
|
|
6
6
|
outcome?: string;
|
|
7
7
|
score?: number;
|
|
8
|
+
/** Per-checkpoint progression of a `verifier_track` verdict, oldest first. Optional: old records do not carry it. */
|
|
9
|
+
scores?: number[];
|
|
10
|
+
/** Candidate B's score of a two-way comparison; `score` is the winning side. */
|
|
11
|
+
scoreB?: number;
|
|
12
|
+
/** Per-criterion A-side scores of a session acceptance; the mean alone can hide a failed requirement. */
|
|
13
|
+
criteria?: Array<{
|
|
14
|
+
id: string;
|
|
15
|
+
score: number;
|
|
16
|
+
}>;
|
|
8
17
|
baselineScore?: number;
|
|
9
18
|
winner?: 'A' | 'B' | 'tie';
|
|
10
19
|
threshold?: number;
|
|
11
20
|
}
|
|
21
|
+
/** Thresholds the verdict summary needs; plain values keep the mapping a pure function. */
|
|
22
|
+
export interface VerdictThresholds {
|
|
23
|
+
autoVerifyThreshold: number;
|
|
24
|
+
autoTrackCompletionThreshold: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Compact summary of what the judges decided, stored beside the call counters so
|
|
28
|
+
* the dashboard can answer "why did this fail?" instead of only "how much did it cost".
|
|
29
|
+
*
|
|
30
|
+
* Pure on purpose: this mapping used to live inside the plugin closure, where the two
|
|
31
|
+
* bugs it carried (a track verdict reported as the historical minimum, a comparison
|
|
32
|
+
* reported as the loser's score under a threshold it never used) could not be tested.
|
|
33
|
+
* @param toolName - the verifier tool that produced the value.
|
|
34
|
+
* @param value - its rendered result.
|
|
35
|
+
* @param phase - which stage produced it (explicit | compare | select | track | final | ...).
|
|
36
|
+
* @param thresholds - resolved acceptance thresholds.
|
|
37
|
+
* @returns A verdict summary; score fields are omitted when the tool has none.
|
|
38
|
+
*/
|
|
39
|
+
export declare function summarizeVerdict(toolName: VerifierToolName, value: unknown, phase: string, thresholds: VerdictThresholds): VerdictSummary;
|
|
12
40
|
export interface InvocationRecord {
|
|
13
41
|
id: string;
|
|
14
42
|
toolName: VerifierToolName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../../src/statistics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"statistics.d.ts","sourceRoot":"","sources":["../../src/statistics.ts"],"names":[],"mappings":"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"}
|
package/lib/types/statistics.js
CHANGED
|
@@ -2,6 +2,92 @@ import { randomUUID } from 'node:crypto';
|
|
|
2
2
|
import { mkdir, readFile, rename, unlink, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { dirname, join } from 'node:path';
|
|
4
4
|
export const VERIFIER_TOOL_NAMES = ['verifier_route_classify', 'verifier_compare', 'verifier_select', 'verifier_track', 'verifier_current_session'];
|
|
5
|
+
/** Upper bound on the stored checkpoint progression; one explicit call can legitimately carry 32 steps. */
|
|
6
|
+
const MAX_VERDICT_SCORES = 64;
|
|
7
|
+
/** Upper bound on the stored per-criterion breakdown; the default rubric has three criteria. */
|
|
8
|
+
const MAX_VERDICT_CRITERIA = 16;
|
|
9
|
+
/**
|
|
10
|
+
* Compact summary of what the judges decided, stored beside the call counters so
|
|
11
|
+
* the dashboard can answer "why did this fail?" instead of only "how much did it cost".
|
|
12
|
+
*
|
|
13
|
+
* Pure on purpose: this mapping used to live inside the plugin closure, where the two
|
|
14
|
+
* bugs it carried (a track verdict reported as the historical minimum, a comparison
|
|
15
|
+
* reported as the loser's score under a threshold it never used) could not be tested.
|
|
16
|
+
* @param toolName - the verifier tool that produced the value.
|
|
17
|
+
* @param value - its rendered result.
|
|
18
|
+
* @param phase - which stage produced it (explicit | compare | select | track | final | ...).
|
|
19
|
+
* @param thresholds - resolved acceptance thresholds.
|
|
20
|
+
* @returns A verdict summary; score fields are omitted when the tool has none.
|
|
21
|
+
*/
|
|
22
|
+
export function summarizeVerdict(toolName, value, phase, thresholds) {
|
|
23
|
+
const row = typeof value === 'object' && value !== null ? value : {};
|
|
24
|
+
const numberAt = (key) => (typeof row[key] === 'number' && Number.isFinite(row[key]) ? row[key] : undefined);
|
|
25
|
+
const scores = Array.isArray(row.scores) ? row.scores.filter((entry) => typeof entry === 'number' && Number.isFinite(entry)) : [];
|
|
26
|
+
const winner = row.winner === 'A' || row.winner === 'B' || row.winner === 'tie' ? row.winner : undefined;
|
|
27
|
+
if (toolName === 'verifier_route_classify')
|
|
28
|
+
return { phase, outcome: 'classified' };
|
|
29
|
+
if (toolName === 'verifier_select') {
|
|
30
|
+
const index = numberAt('index');
|
|
31
|
+
const best = index === undefined ? undefined : scores[index];
|
|
32
|
+
return { phase, outcome: 'ranked', ...(best !== undefined ? { score: best } : {}) };
|
|
33
|
+
}
|
|
34
|
+
if (toolName === 'verifier_track') {
|
|
35
|
+
// The verdict reports the newest checkpoint (the one the continuation decision
|
|
36
|
+
// uses) plus the whole progression. Reporting only Math.min() made every routed
|
|
37
|
+
// track look like a 0% failure on the dashboard, because the first checkpoint of
|
|
38
|
+
// a task is always the untouched plan.
|
|
39
|
+
const latest = scores.length > 0 ? scores[scores.length - 1] : undefined;
|
|
40
|
+
const threshold = thresholds.autoTrackCompletionThreshold;
|
|
41
|
+
return {
|
|
42
|
+
phase,
|
|
43
|
+
outcome: latest !== undefined && latest >= threshold ? 'passed' : 'below-threshold',
|
|
44
|
+
...(latest !== undefined ? { score: latest } : {}),
|
|
45
|
+
...(scores.length > 1 ? { scores: [...scores] } : {}),
|
|
46
|
+
threshold,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (toolName === 'verifier_compare') {
|
|
50
|
+
// A comparison has no threshold, so "below-threshold" used to describe the loser's
|
|
51
|
+
// score as a failure of the call itself. Report the winning side and keep both.
|
|
52
|
+
const scoreA = numberAt('score') ?? numberAt('scoreA');
|
|
53
|
+
const scoreB = numberAt('scoreB');
|
|
54
|
+
const score = winner === 'B' ? scoreB : scoreA;
|
|
55
|
+
return {
|
|
56
|
+
phase,
|
|
57
|
+
outcome: winner === 'tie' ? 'tie' : 'compared',
|
|
58
|
+
...(score !== undefined ? { score } : {}),
|
|
59
|
+
...(scoreB !== undefined ? { scoreB } : {}),
|
|
60
|
+
...(winner !== undefined ? { winner } : {}),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
// Session acceptance: `score` is the session's own score and `baselineScore` the
|
|
64
|
+
// empty-work baseline it has to beat.
|
|
65
|
+
const score = numberAt('score') ?? numberAt('scoreA');
|
|
66
|
+
const baselineScore = numberAt('baselineScore');
|
|
67
|
+
const threshold = thresholds.autoVerifyThreshold;
|
|
68
|
+
const criteria = Array.isArray(row.criteria)
|
|
69
|
+
? row.criteria
|
|
70
|
+
.map(entry => (typeof entry === 'object' && entry !== null ? entry : {}))
|
|
71
|
+
.filter(entry => typeof entry.id === 'string' && typeof entry.scoreA === 'number' && Number.isFinite(entry.scoreA))
|
|
72
|
+
.slice(0, MAX_VERDICT_CRITERIA)
|
|
73
|
+
.map(entry => ({ id: entry.id, score: entry.scoreA }))
|
|
74
|
+
: [];
|
|
75
|
+
// A session does not pass on the mean alone: one criterion below the threshold fails
|
|
76
|
+
// the record too, which is exactly what the live gate now enforces.
|
|
77
|
+
const belowThreshold = criteria.filter(entry => !(entry.score >= threshold));
|
|
78
|
+
const outcome = winner === 'tie'
|
|
79
|
+
? 'tie'
|
|
80
|
+
: winner === 'A' && score !== undefined && score >= threshold && belowThreshold.length === 0 ? 'passed' : 'below-threshold';
|
|
81
|
+
return {
|
|
82
|
+
phase,
|
|
83
|
+
outcome,
|
|
84
|
+
...(score !== undefined ? { score } : {}),
|
|
85
|
+
...(baselineScore !== undefined ? { baselineScore } : {}),
|
|
86
|
+
...(criteria.length > 0 ? { criteria } : {}),
|
|
87
|
+
...(winner !== undefined ? { winner } : {}),
|
|
88
|
+
threshold,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
5
91
|
function cleanVerdict(input) {
|
|
6
92
|
if (typeof input !== 'object' || input === null || Array.isArray(input))
|
|
7
93
|
return undefined;
|
|
@@ -12,6 +98,21 @@ function cleanVerdict(input) {
|
|
|
12
98
|
verdict.outcome = input.outcome;
|
|
13
99
|
if (typeof input.score === 'number' && Number.isFinite(input.score))
|
|
14
100
|
verdict.score = input.score;
|
|
101
|
+
if (Array.isArray(input.scores)) {
|
|
102
|
+
const scores = input.scores.filter((entry) => typeof entry === 'number' && Number.isFinite(entry)).slice(0, MAX_VERDICT_SCORES);
|
|
103
|
+
if (scores.length > 0)
|
|
104
|
+
verdict.scores = scores;
|
|
105
|
+
}
|
|
106
|
+
if (typeof input.scoreB === 'number' && Number.isFinite(input.scoreB))
|
|
107
|
+
verdict.scoreB = input.scoreB;
|
|
108
|
+
if (Array.isArray(input.criteria)) {
|
|
109
|
+
const criteria = input.criteria
|
|
110
|
+
.filter((entry) => typeof entry === 'object' && entry !== null && typeof entry.id === 'string' && typeof entry.score === 'number' && Number.isFinite(entry.score))
|
|
111
|
+
.slice(0, MAX_VERDICT_CRITERIA)
|
|
112
|
+
.map(entry => ({ id: entry.id, score: entry.score }));
|
|
113
|
+
if (criteria.length > 0)
|
|
114
|
+
verdict.criteria = criteria;
|
|
115
|
+
}
|
|
15
116
|
if (typeof input.baselineScore === 'number' && Number.isFinite(input.baselineScore))
|
|
16
117
|
verdict.baselineScore = input.baselineScore;
|
|
17
118
|
if (input.winner === 'A' || input.winner === 'B' || input.winner === 'tie')
|