@tuned-tensor/local 0.1.5 → 0.1.7

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/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  All notable changes to Tuned Tensor Local will be documented in this file.
4
4
 
5
+ ## 0.1.7 - 2026-07-02
6
+
7
+ ### Added
8
+
9
+ - Added chat-template kwargs plumbing for thinking-mode models: `evaluation.inference.chatTemplateKwargs` (runner config) and the `chat_template_kwargs` hyperparameter (spec) are forwarded to `apply_chat_template` in the local evaluator and SFT trainer. Setting `{"enable_thinking": false}` stops models like `Qwen/Qwen3.5-4B` from opening a `<think>` block that consumes the whole `maxNewTokens` budget and truncates every output.
10
+
11
+ ### Fixed
12
+
13
+ - Fixed a run-fatal report validation error when a comparison had regressions in only some taxonomy categories: zod v4 enum-keyed records are exhaustive, so the partial `regression_taxonomy` failed `runReportSchema` at the end of an otherwise-successful run. The taxonomy now always contains all categories with zero defaults.
14
+
15
+ ## 0.1.6 - 2026-07-02
16
+
17
+ ### Added
18
+
19
+ - Added `tt-local runs compare <run-id-a> <run-id-b>`: aligns two runs on their shared eval prompts and reports per-subset baseline/candidate averages, shared-subset deltas, new-example effects, and judge score noise measured on identical baseline outputs. Headline `avg_score_delta` values are not comparable across different eval subsets; the shared subset is.
20
+ - Added a baseline evaluation cache (default on, `evaluation.baselineCache: false` to disable): re-running a spec with an unchanged base model, eval examples, generation settings, and scoring config reuses the previous baseline report from `<storeRoot>/cache/baseline-evals/` instead of re-running inference and judge calls. Reports served from cache carry `cached: true` and a `cache_key`. Reports containing fallback-scored examples are never cached.
21
+ - Eval reports now record how each example was scored (`results[].scored_by`) and aggregate it as `judge_scored_count`, `fallback_scored_count`, and `judge_only_avg_score`, so transient judge failures that fall back to exact match can no longer silently skew `avg_score` without a trace. The comparison report includes `judge_only_avg_score_delta`.
22
+ - Comparison reports now classify each regressed example's judge reasoning into a coarse category (`factual`, `omission`, `style`, `fallback`, `other`) and aggregate counts as `regression_taxonomy`, answering "what kind of worse?" at a glance.
23
+
5
24
  ## 0.1.5 - 2026-07-02
6
25
 
7
26
  ### Added
package/README.md CHANGED
@@ -199,6 +199,54 @@ similarity against the reference outputs that is useful for free-text tasks
199
199
  such as summarization, where exact match is always 0 and judge scores can be
200
200
  noisy.
201
201
 
202
+ Each eval example records how it was scored (`results[].scored_by`), and the
203
+ report aggregates `judge_scored_count`, `fallback_scored_count`, and
204
+ `judge_only_avg_score`. When a judge request fails transiently and the
205
+ example falls back to exact match, `avg_score` mixes two metrics; use
206
+ `judge_only_avg_score` (and the comparison's `judge_only_avg_score_delta`)
207
+ when comparing judge quality. The comparison also classifies each regressed
208
+ example's judge reasoning as `factual`, `omission`, `style`, `fallback`, or
209
+ `other` and reports the counts in `regression_taxonomy`.
210
+
211
+ Baseline evaluations are cached under `<storeRoot>/cache/baseline-evals/`:
212
+ re-running a spec with an unchanged base model, eval examples, generation
213
+ settings, and scoring config reuses the previous baseline report instead of
214
+ re-running inference and judge calls. Cached reports carry `cached: true`.
215
+ Set `evaluation.baselineCache: false` to disable. Reports containing
216
+ fallback-scored examples are never cached, so a transient judge failure is
217
+ not replayed into future runs.
218
+
219
+ For thinking-mode base models (for example `Qwen/Qwen3.5-4B`, whose chat
220
+ template opens a `<think>` block by default and can consume the entire
221
+ `maxNewTokens` budget before any visible answer), forward template kwargs to
222
+ both evaluation and training:
223
+
224
+ ```json
225
+ {
226
+ "evaluation": {
227
+ "inference": { "chatTemplateKwargs": { "enable_thinking": false } }
228
+ }
229
+ }
230
+ ```
231
+
232
+ and in the spec's hyperparameters:
233
+
234
+ ```json
235
+ { "chat_template_kwargs": { "enable_thinking": false } }
236
+ ```
237
+
238
+ To compare two runs whose eval sets may differ (for example after raising
239
+ `evaluation.maxExamples`), use:
240
+
241
+ ```bash
242
+ tt-local runs compare <run-id-a> <run-id-b> --config spark-runner.json
243
+ ```
244
+
245
+ It aligns the runs on their shared eval prompts, reports both runs' averages
246
+ on that shared subset plus the new-example subset separately, and measures
247
+ judge score noise on baseline outputs that are byte-identical across the two
248
+ runs.
249
+
202
250
  With `"mode": "llm_judge"`, `scoring.fallback` controls what happens when the
203
251
  judge is unavailable, a judge request fails, or the judge returns malformed
204
252
  JSON. With `"fallback": "exact_match"` (the default), the affected example is
@@ -336,6 +384,7 @@ tt-local runs list --config spark-runner.json
336
384
  tt-local runs get <run-id> --config spark-runner.json
337
385
  tt-local runs events <run-id> --config spark-runner.json
338
386
  tt-local runs report <run-id> --config spark-runner.json
387
+ tt-local runs compare <run-id-a> <run-id-b> --config spark-runner.json
339
388
  tt-local models list --config spark-runner.json
340
389
  tt-local serve --config spark-runner.json
341
390
  ```
@@ -0,0 +1,47 @@
1
+ import type { RunReport } from "./contracts.js";
2
+ interface SubsetSide {
3
+ baseline_avg_score: number | null;
4
+ candidate_avg_score: number | null;
5
+ candidate_avg_token_f1: number | null;
6
+ }
7
+ interface RunSummary {
8
+ run_id: string;
9
+ started_at: string;
10
+ base_model: string;
11
+ training_example_count: number | null;
12
+ eval_examples_used: number;
13
+ baseline_avg_score: number;
14
+ candidate_avg_score: number;
15
+ candidate_avg_token_f1: number | null;
16
+ avg_score_delta: number;
17
+ fallback_scored_count: number;
18
+ }
19
+ export interface RunComparison {
20
+ run_a: RunSummary;
21
+ run_b: RunSummary;
22
+ shared: {
23
+ examples: number;
24
+ run_a: SubsetSide;
25
+ run_b: SubsetSide;
26
+ candidate_avg_score_delta: number | null;
27
+ candidate_avg_token_f1_delta: number | null;
28
+ };
29
+ b_only: SubsetSide & {
30
+ examples: number;
31
+ };
32
+ judge_noise: {
33
+ identical_baseline_outputs: number;
34
+ mean_score_spread: number | null;
35
+ max_score_spread: number | null;
36
+ };
37
+ notes: string[];
38
+ }
39
+ /**
40
+ * Aligns two run reports on their shared eval prompts so recipe changes can
41
+ * be compared apples-to-apples even when the eval set grew or shifted between
42
+ * runs. Headline avg_score_delta values are not comparable across different
43
+ * eval subsets; the shared subset is. Identical baseline outputs that appear
44
+ * in both runs also give a free measurement of judge score noise.
45
+ */
46
+ export declare function compareRuns(a: RunReport, b: RunReport): RunComparison;
47
+ export {};
@@ -0,0 +1,95 @@
1
+ import { tokenF1 } from "./evaluation.js";
2
+ function byPrompt(report) {
3
+ return new Map(report.results.map((result) => [result.prompt, result]));
4
+ }
5
+ function avg(values) {
6
+ return values.length > 0 ? values.reduce((sum, value) => sum + value, 0) / values.length : null;
7
+ }
8
+ function summarizeRun(report) {
9
+ return {
10
+ run_id: report.run_id,
11
+ started_at: report.run_metadata.started_at,
12
+ base_model: report.base_model,
13
+ training_example_count: report.run_metadata.training_example_count,
14
+ eval_examples_used: report.run_metadata.eval_examples_used,
15
+ baseline_avg_score: report.baseline.avg_score,
16
+ candidate_avg_score: report.candidate.avg_score,
17
+ candidate_avg_token_f1: report.candidate.avg_token_f1 ?? null,
18
+ avg_score_delta: report.comparison.avg_score_delta,
19
+ fallback_scored_count: (report.baseline.fallback_scored_count ?? 0)
20
+ + (report.candidate.fallback_scored_count ?? 0),
21
+ };
22
+ }
23
+ function subsetSide(prompts, baseline, candidate) {
24
+ const candidateResults = prompts
25
+ .map((prompt) => candidate.get(prompt))
26
+ .filter((result) => Boolean(result));
27
+ return {
28
+ baseline_avg_score: avg(prompts
29
+ .map((prompt) => baseline.get(prompt)?.score)
30
+ .filter((score) => typeof score === "number")),
31
+ candidate_avg_score: avg(candidateResults.map((result) => result.score)),
32
+ candidate_avg_token_f1: avg(candidateResults.map((result) => tokenF1(result.expected, result.actual))),
33
+ };
34
+ }
35
+ /**
36
+ * Aligns two run reports on their shared eval prompts so recipe changes can
37
+ * be compared apples-to-apples even when the eval set grew or shifted between
38
+ * runs. Headline avg_score_delta values are not comparable across different
39
+ * eval subsets; the shared subset is. Identical baseline outputs that appear
40
+ * in both runs also give a free measurement of judge score noise.
41
+ */
42
+ export function compareRuns(a, b) {
43
+ const aCandidate = byPrompt(a.candidate);
44
+ const bCandidate = byPrompt(b.candidate);
45
+ const aBaseline = byPrompt(a.baseline);
46
+ const bBaseline = byPrompt(b.baseline);
47
+ const sharedPrompts = [...bCandidate.keys()].filter((prompt) => aCandidate.has(prompt));
48
+ const bOnlyPrompts = [...bCandidate.keys()].filter((prompt) => !aCandidate.has(prompt));
49
+ const spreads = [];
50
+ let identical = 0;
51
+ for (const prompt of sharedPrompts) {
52
+ const first = aBaseline.get(prompt);
53
+ const second = bBaseline.get(prompt);
54
+ if (!first || !second || first.actual !== second.actual)
55
+ continue;
56
+ identical += 1;
57
+ spreads.push(Math.abs(first.score - second.score));
58
+ }
59
+ const sharedA = subsetSide(sharedPrompts, aBaseline, aCandidate);
60
+ const sharedB = subsetSide(sharedPrompts, bBaseline, bCandidate);
61
+ const runA = summarizeRun(a);
62
+ const runB = summarizeRun(b);
63
+ const notes = [];
64
+ if (bOnlyPrompts.length > 0) {
65
+ notes.push(`run_b evaluated ${bOnlyPrompts.length} example(s) run_a never saw; headline avg_score_delta values `
66
+ + "are not directly comparable across the two runs. Use the shared subset for recipe comparisons.");
67
+ }
68
+ if (runA.fallback_scored_count + runB.fallback_scored_count > 0) {
69
+ notes.push(`${runA.fallback_scored_count + runB.fallback_scored_count} example(s) across both runs were `
70
+ + "fallback-scored after judge failures; prefer judge_only_avg_score when comparing judge quality.");
71
+ }
72
+ return {
73
+ run_a: runA,
74
+ run_b: runB,
75
+ shared: {
76
+ examples: sharedPrompts.length,
77
+ run_a: sharedA,
78
+ run_b: sharedB,
79
+ candidate_avg_score_delta: sharedA.candidate_avg_score !== null && sharedB.candidate_avg_score !== null
80
+ ? sharedB.candidate_avg_score - sharedA.candidate_avg_score
81
+ : null,
82
+ candidate_avg_token_f1_delta: sharedA.candidate_avg_token_f1 !== null && sharedB.candidate_avg_token_f1 !== null
83
+ ? sharedB.candidate_avg_token_f1 - sharedA.candidate_avg_token_f1
84
+ : null,
85
+ },
86
+ b_only: { examples: bOnlyPrompts.length, ...subsetSide(bOnlyPrompts, bBaseline, bCandidate) },
87
+ judge_noise: {
88
+ identical_baseline_outputs: identical,
89
+ mean_score_spread: avg(spreads),
90
+ max_score_spread: spreads.length > 0 ? Math.max(...spreads) : null,
91
+ },
92
+ notes,
93
+ };
94
+ }
95
+ //# sourceMappingURL=compare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../src/compare.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,7 @@ export declare const fineTuneHyperparametersSchema: z.ZodObject<{
66
66
  augment: z.ZodDefault<z.ZodBoolean>;
67
67
  use_llm_judge: z.ZodDefault<z.ZodBoolean>;
68
68
  max_eval_examples: z.ZodOptional<z.ZodNumber>;
69
+ chat_template_kwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
69
70
  }, z.core.$strip>;
70
71
  export declare const localArtifactsSchema: z.ZodObject<{
71
72
  prefix: z.ZodOptional<z.ZodString>;
@@ -110,6 +111,7 @@ export declare const fineTuneRunRequestSchema: z.ZodObject<{
110
111
  augment: z.ZodDefault<z.ZodBoolean>;
111
112
  use_llm_judge: z.ZodDefault<z.ZodBoolean>;
112
113
  max_eval_examples: z.ZodOptional<z.ZodNumber>;
114
+ chat_template_kwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
113
115
  }, z.core.$strip>>;
114
116
  artifacts: z.ZodOptional<z.ZodObject<{
115
117
  prefix: z.ZodOptional<z.ZodString>;
@@ -161,6 +163,7 @@ export declare const localBehaviorSpecFileSchema: z.ZodObject<{
161
163
  augment: z.ZodDefault<z.ZodBoolean>;
162
164
  use_llm_judge: z.ZodDefault<z.ZodBoolean>;
163
165
  max_eval_examples: z.ZodOptional<z.ZodNumber>;
166
+ chat_template_kwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
164
167
  }, z.core.$strip>>;
165
168
  artifacts: z.ZodOptional<z.ZodObject<{
166
169
  prefix: z.ZodOptional<z.ZodString>;
@@ -183,6 +186,13 @@ export declare const evalExampleResultSchema: z.ZodObject<{
183
186
  score: z.ZodNumber;
184
187
  reasoning: z.ZodNullable<z.ZodString>;
185
188
  latency_ms: z.ZodNumber;
189
+ scored_by: z.ZodOptional<z.ZodEnum<{
190
+ llm_judge: "llm_judge";
191
+ exact_match: "exact_match";
192
+ json_fields: "json_fields";
193
+ heuristic: "heuristic";
194
+ exact_match_fallback: "exact_match_fallback";
195
+ }>>;
186
196
  }, z.core.$strip>;
187
197
  export declare const jsonFieldMetricsSchema: z.ZodObject<{
188
198
  fields: z.ZodArray<z.ZodString>;
@@ -228,6 +238,11 @@ export declare const evalReportSchema: z.ZodObject<{
228
238
  exact_match_rate: z.ZodNumber;
229
239
  avg_token_f1: z.ZodOptional<z.ZodNumber>;
230
240
  avg_latency_ms: z.ZodNumber;
241
+ judge_scored_count: z.ZodOptional<z.ZodNumber>;
242
+ fallback_scored_count: z.ZodOptional<z.ZodNumber>;
243
+ judge_only_avg_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
244
+ cached: z.ZodOptional<z.ZodBoolean>;
245
+ cache_key: z.ZodOptional<z.ZodString>;
231
246
  results: z.ZodArray<z.ZodObject<{
232
247
  prompt: z.ZodString;
233
248
  expected: z.ZodString;
@@ -236,14 +251,21 @@ export declare const evalReportSchema: z.ZodObject<{
236
251
  score: z.ZodNumber;
237
252
  reasoning: z.ZodNullable<z.ZodString>;
238
253
  latency_ms: z.ZodNumber;
254
+ scored_by: z.ZodOptional<z.ZodEnum<{
255
+ llm_judge: "llm_judge";
256
+ exact_match: "exact_match";
257
+ json_fields: "json_fields";
258
+ heuristic: "heuristic";
259
+ exact_match_fallback: "exact_match_fallback";
260
+ }>>;
239
261
  }, z.core.$strip>>;
240
262
  artifact_uri: z.ZodString;
241
263
  scoring_method: z.ZodEnum<{
242
264
  command: "command";
243
- heuristic: "heuristic";
244
265
  llm_judge: "llm_judge";
245
266
  exact_match: "exact_match";
246
267
  json_fields: "json_fields";
268
+ heuristic: "heuristic";
247
269
  }>;
248
270
  judge_model_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
249
271
  inference_provider: z.ZodOptional<z.ZodEnum<{
@@ -273,17 +295,39 @@ export declare const evalReportSchema: z.ZodObject<{
273
295
  generation_config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
274
296
  log_uri: z.ZodOptional<z.ZodString>;
275
297
  }, z.core.$strip>;
298
+ export declare const regressionCategorySchema: z.ZodEnum<{
299
+ fallback: "fallback";
300
+ other: "other";
301
+ style: "style";
302
+ factual: "factual";
303
+ omission: "omission";
304
+ }>;
276
305
  export declare const comparisonReportSchema: z.ZodObject<{
277
306
  avg_score_delta: z.ZodNumber;
278
307
  pass_rate_delta: z.ZodNumber;
279
308
  exact_match_rate_delta: z.ZodNumber;
280
309
  token_f1_delta: z.ZodOptional<z.ZodNumber>;
310
+ judge_only_avg_score_delta: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
281
311
  regressions: z.ZodNumber;
282
312
  improvements: z.ZodNumber;
313
+ regression_taxonomy: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
314
+ fallback: "fallback";
315
+ other: "other";
316
+ style: "style";
317
+ factual: "factual";
318
+ omission: "omission";
319
+ }>, z.ZodNumber>>;
283
320
  regressed_examples: z.ZodArray<z.ZodObject<{
284
321
  prompt: z.ZodString;
285
322
  old_score: z.ZodNumber;
286
323
  new_score: z.ZodNumber;
324
+ category: z.ZodOptional<z.ZodEnum<{
325
+ fallback: "fallback";
326
+ other: "other";
327
+ style: "style";
328
+ factual: "factual";
329
+ omission: "omission";
330
+ }>>;
287
331
  }, z.core.$strip>>;
288
332
  }, z.core.$strip>;
289
333
  export declare const trainingReportSchema: z.ZodObject<{
@@ -330,6 +374,11 @@ export declare const runReportSchema: z.ZodObject<{
330
374
  exact_match_rate: z.ZodNumber;
331
375
  avg_token_f1: z.ZodOptional<z.ZodNumber>;
332
376
  avg_latency_ms: z.ZodNumber;
377
+ judge_scored_count: z.ZodOptional<z.ZodNumber>;
378
+ fallback_scored_count: z.ZodOptional<z.ZodNumber>;
379
+ judge_only_avg_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
380
+ cached: z.ZodOptional<z.ZodBoolean>;
381
+ cache_key: z.ZodOptional<z.ZodString>;
333
382
  results: z.ZodArray<z.ZodObject<{
334
383
  prompt: z.ZodString;
335
384
  expected: z.ZodString;
@@ -338,14 +387,21 @@ export declare const runReportSchema: z.ZodObject<{
338
387
  score: z.ZodNumber;
339
388
  reasoning: z.ZodNullable<z.ZodString>;
340
389
  latency_ms: z.ZodNumber;
390
+ scored_by: z.ZodOptional<z.ZodEnum<{
391
+ llm_judge: "llm_judge";
392
+ exact_match: "exact_match";
393
+ json_fields: "json_fields";
394
+ heuristic: "heuristic";
395
+ exact_match_fallback: "exact_match_fallback";
396
+ }>>;
341
397
  }, z.core.$strip>>;
342
398
  artifact_uri: z.ZodString;
343
399
  scoring_method: z.ZodEnum<{
344
400
  command: "command";
345
- heuristic: "heuristic";
346
401
  llm_judge: "llm_judge";
347
402
  exact_match: "exact_match";
348
403
  json_fields: "json_fields";
404
+ heuristic: "heuristic";
349
405
  }>;
350
406
  judge_model_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
351
407
  inference_provider: z.ZodOptional<z.ZodEnum<{
@@ -398,6 +454,11 @@ export declare const runReportSchema: z.ZodObject<{
398
454
  exact_match_rate: z.ZodNumber;
399
455
  avg_token_f1: z.ZodOptional<z.ZodNumber>;
400
456
  avg_latency_ms: z.ZodNumber;
457
+ judge_scored_count: z.ZodOptional<z.ZodNumber>;
458
+ fallback_scored_count: z.ZodOptional<z.ZodNumber>;
459
+ judge_only_avg_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
460
+ cached: z.ZodOptional<z.ZodBoolean>;
461
+ cache_key: z.ZodOptional<z.ZodString>;
401
462
  results: z.ZodArray<z.ZodObject<{
402
463
  prompt: z.ZodString;
403
464
  expected: z.ZodString;
@@ -406,14 +467,21 @@ export declare const runReportSchema: z.ZodObject<{
406
467
  score: z.ZodNumber;
407
468
  reasoning: z.ZodNullable<z.ZodString>;
408
469
  latency_ms: z.ZodNumber;
470
+ scored_by: z.ZodOptional<z.ZodEnum<{
471
+ llm_judge: "llm_judge";
472
+ exact_match: "exact_match";
473
+ json_fields: "json_fields";
474
+ heuristic: "heuristic";
475
+ exact_match_fallback: "exact_match_fallback";
476
+ }>>;
409
477
  }, z.core.$strip>>;
410
478
  artifact_uri: z.ZodString;
411
479
  scoring_method: z.ZodEnum<{
412
480
  command: "command";
413
- heuristic: "heuristic";
414
481
  llm_judge: "llm_judge";
415
482
  exact_match: "exact_match";
416
483
  json_fields: "json_fields";
484
+ heuristic: "heuristic";
417
485
  }>;
418
486
  judge_model_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
419
487
  inference_provider: z.ZodOptional<z.ZodEnum<{
@@ -448,12 +516,27 @@ export declare const runReportSchema: z.ZodObject<{
448
516
  pass_rate_delta: z.ZodNumber;
449
517
  exact_match_rate_delta: z.ZodNumber;
450
518
  token_f1_delta: z.ZodOptional<z.ZodNumber>;
519
+ judge_only_avg_score_delta: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
451
520
  regressions: z.ZodNumber;
452
521
  improvements: z.ZodNumber;
522
+ regression_taxonomy: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
523
+ fallback: "fallback";
524
+ other: "other";
525
+ style: "style";
526
+ factual: "factual";
527
+ omission: "omission";
528
+ }>, z.ZodNumber>>;
453
529
  regressed_examples: z.ZodArray<z.ZodObject<{
454
530
  prompt: z.ZodString;
455
531
  old_score: z.ZodNumber;
456
532
  new_score: z.ZodNumber;
533
+ category: z.ZodOptional<z.ZodEnum<{
534
+ fallback: "fallback";
535
+ other: "other";
536
+ style: "style";
537
+ factual: "factual";
538
+ omission: "omission";
539
+ }>>;
457
540
  }, z.core.$strip>>;
458
541
  }, z.core.$strip>;
459
542
  training: z.ZodObject<{
@@ -518,8 +601,8 @@ export declare const localRunnerConfigSchema: z.ZodObject<{
518
601
  evaluation: z.ZodDefault<z.ZodObject<{
519
602
  mode: z.ZodDefault<z.ZodEnum<{
520
603
  command: "command";
521
- heuristic: "heuristic";
522
604
  llm_judge: "llm_judge";
605
+ heuristic: "heuristic";
523
606
  }>>;
524
607
  baselineCommand: z.ZodOptional<z.ZodArray<z.ZodString>>;
525
608
  candidateCommand: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -544,6 +627,7 @@ export declare const localRunnerConfigSchema: z.ZodObject<{
544
627
  cuda: "cuda";
545
628
  mps: "mps";
546
629
  }>>;
630
+ chatTemplateKwargs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
547
631
  }, z.core.$strip>>;
548
632
  scoring: z.ZodDefault<z.ZodObject<{
549
633
  mode: z.ZodDefault<z.ZodEnum<{
@@ -561,6 +645,7 @@ export declare const localRunnerConfigSchema: z.ZodObject<{
561
645
  maxExamples: z.ZodOptional<z.ZodNumber>;
562
646
  sampleSeed: z.ZodOptional<z.ZodNumber>;
563
647
  allowPrebuiltTrainingEval: z.ZodDefault<z.ZodBoolean>;
648
+ baselineCache: z.ZodDefault<z.ZodBoolean>;
564
649
  }, z.core.$strip>>;
565
650
  llm: z.ZodOptional<z.ZodObject<{
566
651
  provider: z.ZodDefault<z.ZodLiteral<"openrouter">>;
package/dist/contracts.js CHANGED
@@ -43,6 +43,7 @@ export const fineTuneHyperparametersSchema = z.object({
43
43
  augment: z.boolean().default(false),
44
44
  use_llm_judge: z.boolean().default(false),
45
45
  max_eval_examples: z.number().int().min(1).optional(),
46
+ chat_template_kwargs: z.record(z.string(), z.unknown()).optional(),
46
47
  });
47
48
  export const localArtifactsSchema = z.object({
48
49
  prefix: z.string().min(1).optional(),
@@ -86,6 +87,7 @@ export const evalExampleResultSchema = z.object({
86
87
  score: z.number().min(0).max(1),
87
88
  reasoning: z.string().nullable(),
88
89
  latency_ms: z.number().int().nonnegative(),
90
+ scored_by: z.enum(["llm_judge", "exact_match", "json_fields", "heuristic", "exact_match_fallback"]).optional(),
89
91
  });
90
92
  export const jsonFieldMetricsSchema = z.object({
91
93
  fields: z.array(z.string()),
@@ -122,6 +124,11 @@ export const evalReportSchema = z.object({
122
124
  exact_match_rate: z.number().min(0).max(1),
123
125
  avg_token_f1: z.number().min(0).max(1).optional(),
124
126
  avg_latency_ms: z.number().int().nonnegative(),
127
+ judge_scored_count: z.number().int().nonnegative().optional(),
128
+ fallback_scored_count: z.number().int().nonnegative().optional(),
129
+ judge_only_avg_score: z.number().min(0).max(1).nullable().optional(),
130
+ cached: z.boolean().optional(),
131
+ cache_key: z.string().optional(),
125
132
  results: z.array(evalExampleResultSchema),
126
133
  artifact_uri: z.string(),
127
134
  scoring_method: z.enum(["heuristic", "command", "llm_judge", "exact_match", "json_fields"]),
@@ -132,17 +139,21 @@ export const evalReportSchema = z.object({
132
139
  generation_config: z.record(z.string(), z.unknown()).optional(),
133
140
  log_uri: z.string().optional(),
134
141
  });
142
+ export const regressionCategorySchema = z.enum(["factual", "omission", "style", "fallback", "other"]);
135
143
  export const comparisonReportSchema = z.object({
136
144
  avg_score_delta: z.number(),
137
145
  pass_rate_delta: z.number(),
138
146
  exact_match_rate_delta: z.number(),
139
147
  token_f1_delta: z.number().optional(),
148
+ judge_only_avg_score_delta: z.number().nullable().optional(),
140
149
  regressions: z.number().int().nonnegative(),
141
150
  improvements: z.number().int().nonnegative(),
151
+ regression_taxonomy: z.record(regressionCategorySchema, z.number().int().nonnegative()).optional(),
142
152
  regressed_examples: z.array(z.object({
143
153
  prompt: z.string(),
144
154
  old_score: z.number(),
145
155
  new_score: z.number(),
156
+ category: regressionCategorySchema.optional(),
146
157
  })),
147
158
  });
148
159
  export const trainingReportSchema = z.object({
@@ -232,6 +243,7 @@ export const localRunnerConfigSchema = z.object({
232
243
  topP: z.number().min(0).max(1).default(1),
233
244
  trustRemoteCode: z.boolean().default(true),
234
245
  device: z.enum(["auto", "cpu", "cuda", "mps"]).default("auto"),
246
+ chatTemplateKwargs: z.record(z.string(), z.unknown()).optional(),
235
247
  }).default({
236
248
  provider: "transformers",
237
249
  script: "training/sft-local/src/evaluate.py",
@@ -255,6 +267,7 @@ export const localRunnerConfigSchema = z.object({
255
267
  maxExamples: z.number().int().min(1).optional(),
256
268
  sampleSeed: z.number().int().optional(),
257
269
  allowPrebuiltTrainingEval: z.boolean().default(false),
270
+ baselineCache: z.boolean().default(true),
258
271
  }).default({
259
272
  mode: "heuristic",
260
273
  inference: {
@@ -274,6 +287,7 @@ export const localRunnerConfigSchema = z.object({
274
287
  },
275
288
  timeoutMs: 120_000,
276
289
  allowPrebuiltTrainingEval: false,
290
+ baselineCache: true,
277
291
  }),
278
292
  llm: z.object({
279
293
  provider: z.literal("openrouter").default("openrouter"),
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}