@tuned-tensor/local 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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,33 @@ All notable changes to TT Local will be documented in this file.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.4.0 - 2026-07-26
8
+
9
+ ### Added
10
+
11
+ - Added an independent chat JSONL general-regression suite that evaluates the
12
+ protected base and tuned adapter with configurable score and pass-rate
13
+ budgets, immutable artifacts, and explicit pass/fail evidence in run reports.
14
+ - Added lightweight active-model promotion and rollback through
15
+ `models activate`, `models active`, `models rollback`, `serve active`, and
16
+ protected-base serving. Activation requires a completed run, a passing
17
+ general-regression gate, and verified run and model artifacts.
18
+
19
+ ### Changed
20
+
21
+ - General-regression dataset or prompt changes now invalidate only the
22
+ affected evaluations, while policy-only changes recalculate the report
23
+ without retraining or repeating inference.
24
+ - The bundled OpenAI-compatible server can now launch the certified protected
25
+ base without attaching a PEFT adapter.
26
+
27
+ ### Fixed
28
+
29
+ - Repeated activation of the already-active model is idempotent and preserves
30
+ its rollback target.
31
+ - Regression-budget comparisons tolerate insignificant floating-point noise at
32
+ the configured boundary.
33
+
7
34
  ## 0.3.0 - 2026-07-26
8
35
 
9
36
  ### Added
package/README.md CHANGED
@@ -72,6 +72,41 @@ tt-local runs report <run-id>
72
72
  tt-local models verify local-<run-id>
73
73
  ```
74
74
 
75
+ To protect broad capability, configure a separate chat JSONL suite in
76
+ `local-runner.json`:
77
+
78
+ ```json
79
+ {
80
+ "evaluation": {
81
+ "generalRegression": {
82
+ "dataset": "evals/general.jsonl",
83
+ "maxScoreDrop": 0.03,
84
+ "maxPassRateDrop": 0.05
85
+ }
86
+ }
87
+ }
88
+ ```
89
+
90
+ TT Local evaluates the protected base and candidate adapter on this suite,
91
+ records both reports, and marks whether the configured score and pass-rate
92
+ budgets were respected. The base result uses the existing immutable baseline
93
+ cache.
94
+
95
+ After a passing run, activation is a lightweight pointer to the existing model
96
+ record:
97
+
98
+ ```bash
99
+ tt-local models activate local-<run-id>
100
+ tt-local models active
101
+ tt-local serve active --config local-runner.json
102
+ tt-local models rollback
103
+ tt-local serve base --config local-runner.json
104
+ ```
105
+
106
+ Activation re-verifies the model artifact and requires a completed run with a
107
+ passing general-regression result. Rollback restores the previous adapter or
108
+ the protected base; it does not copy or delete model files.
109
+
75
110
  The report is evidence on the selected evaluation rows, not a guarantee of
76
111
  general model improvement.
77
112
 
@@ -0,0 +1,16 @@
1
+ import type { LocalModelRecord, LocalStore } from "./store.js";
2
+ export interface ActiveModelPointer {
3
+ schema_version: 1;
4
+ model_id: string | null;
5
+ run_id: string | null;
6
+ previous_model_id: string | null;
7
+ activated_at: string;
8
+ action: "activate" | "rollback";
9
+ }
10
+ export interface ActiveModelState {
11
+ pointer: ActiveModelPointer | null;
12
+ model: LocalModelRecord | null;
13
+ }
14
+ export declare function getActiveModel(store: LocalStore): Promise<ActiveModelState>;
15
+ export declare function activateModel(store: LocalStore, modelId: string): Promise<ActiveModelPointer>;
16
+ export declare function rollbackActiveModel(store: LocalStore): Promise<ActiveModelPointer>;
@@ -0,0 +1,88 @@
1
+ import { appendFile, readFile } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { writeJsonAtomic } from "./artifacts.js";
4
+ import { runReportSchema } from "./contracts.js";
5
+ function pointerPath(store) {
6
+ return join(store.root, "active-model.json");
7
+ }
8
+ function historyPath(store) {
9
+ return join(store.root, "activation-history.jsonl");
10
+ }
11
+ async function readPointer(store) {
12
+ try {
13
+ const value = JSON.parse(await readFile(pointerPath(store), "utf8"));
14
+ if (value.schema_version !== 1
15
+ || !["activate", "rollback"].includes(value.action)
16
+ || (value.model_id !== null && typeof value.model_id !== "string")
17
+ || (value.run_id !== null && typeof value.run_id !== "string")
18
+ || (value.previous_model_id !== null && typeof value.previous_model_id !== "string")) {
19
+ throw new Error("Active model pointer has an invalid shape.");
20
+ }
21
+ return value;
22
+ }
23
+ catch (error) {
24
+ if (error.code === "ENOENT")
25
+ return null;
26
+ throw error;
27
+ }
28
+ }
29
+ async function assertModelCanActivate(store, modelId) {
30
+ const model = await store.getModel(modelId);
31
+ const run = await store.getRun(model.run_id);
32
+ if (run.status !== "completed") {
33
+ throw new Error(`Model ${model.id} belongs to run ${run.id}, which is not completed.`);
34
+ }
35
+ const report = runReportSchema.parse(JSON.parse(await readFile(join(model.artifact_dir, "run-report.json"), "utf8")));
36
+ if (!report.general_regression) {
37
+ throw new Error(`Model ${model.id} has no general regression evaluation.`);
38
+ }
39
+ if (!report.general_regression.passed) {
40
+ throw new Error(`Model ${model.id} failed general regression: `
41
+ + (report.general_regression.failures.join(" ") || "regression budget exceeded"));
42
+ }
43
+ return model;
44
+ }
45
+ async function publishPointer(store, pointer) {
46
+ await store.ensure();
47
+ await writeJsonAtomic(pointerPath(store), pointer);
48
+ await appendFile(historyPath(store), `${JSON.stringify(pointer)}\n`, "utf8");
49
+ return pointer;
50
+ }
51
+ export async function getActiveModel(store) {
52
+ const pointer = await readPointer(store);
53
+ if (!pointer?.model_id)
54
+ return { pointer, model: null };
55
+ return { pointer, model: await store.getModel(pointer.model_id) };
56
+ }
57
+ export async function activateModel(store, modelId) {
58
+ const [model, current] = await Promise.all([
59
+ assertModelCanActivate(store, modelId),
60
+ readPointer(store),
61
+ ]);
62
+ if (current?.model_id === model.id)
63
+ return current;
64
+ return publishPointer(store, {
65
+ schema_version: 1,
66
+ model_id: model.id,
67
+ run_id: model.run_id,
68
+ previous_model_id: current?.model_id ?? null,
69
+ activated_at: new Date().toISOString(),
70
+ action: "activate",
71
+ });
72
+ }
73
+ export async function rollbackActiveModel(store) {
74
+ const current = await readPointer(store);
75
+ if (!current)
76
+ throw new Error("No active-model history exists to roll back.");
77
+ const targetId = current.previous_model_id;
78
+ const target = targetId ? await assertModelCanActivate(store, targetId) : null;
79
+ return publishPointer(store, {
80
+ schema_version: 1,
81
+ model_id: target?.id ?? null,
82
+ run_id: target?.run_id ?? null,
83
+ previous_model_id: current.model_id,
84
+ activated_at: new Date().toISOString(),
85
+ action: "rollback",
86
+ });
87
+ }
88
+ //# sourceMappingURL=active-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-model.js","sourceRoot":"","sources":["../src/active-model.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export interface RunArtifacts {
7
7
  trainingReportJson: string;
8
8
  baselineEvalJson: string;
9
9
  candidateEvalJson: string;
10
+ generalBaselineEvalJson: string;
11
+ generalCandidateEvalJson: string;
10
12
  runReportJson: string;
11
13
  artifactManifestJson: string;
12
14
  progressJsonl: string;
package/dist/artifacts.js CHANGED
@@ -29,6 +29,8 @@ export function resolveRunArtifacts(args) {
29
29
  trainingReportJson: join(runDir, "training-report.json"),
30
30
  baselineEvalJson: join(runDir, "baseline-eval.json"),
31
31
  candidateEvalJson: join(runDir, "candidate-eval.json"),
32
+ generalBaselineEvalJson: join(runDir, "general-baseline-eval.json"),
33
+ generalCandidateEvalJson: join(runDir, "general-candidate-eval.json"),
32
34
  runReportJson: join(runDir, "run-report.json"),
33
35
  artifactManifestJson: join(runDir, "artifact-manifest.json"),
34
36
  progressJsonl: join(runDir, "progress.jsonl"),
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,7 @@ export declare const evalSplitSchema: z.ZodEnum<{
140
140
  spec_holdout: "spec_holdout";
141
141
  prebuilt_test: "prebuilt_test";
142
142
  prebuilt_validation: "prebuilt_validation";
143
+ general_regression: "general_regression";
143
144
  }>;
144
145
  export declare const evalReportSchema: z.ZodObject<{
145
146
  kind: z.ZodEnum<{
@@ -156,6 +157,7 @@ export declare const evalReportSchema: z.ZodObject<{
156
157
  spec_holdout: "spec_holdout";
157
158
  prebuilt_test: "prebuilt_test";
158
159
  prebuilt_validation: "prebuilt_validation";
160
+ general_regression: "general_regression";
159
161
  }>>;
160
162
  eval_sample_seed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
161
163
  avg_score: z.ZodNumber;
@@ -259,6 +261,7 @@ export declare const runReportSchema: z.ZodObject<{
259
261
  spec_holdout: "spec_holdout";
260
262
  prebuilt_test: "prebuilt_test";
261
263
  prebuilt_validation: "prebuilt_validation";
264
+ general_regression: "general_regression";
262
265
  }>>;
263
266
  eval_sample_seed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
264
267
  avg_score: z.ZodNumber;
@@ -328,6 +331,7 @@ export declare const runReportSchema: z.ZodObject<{
328
331
  spec_holdout: "spec_holdout";
329
332
  prebuilt_test: "prebuilt_test";
330
333
  prebuilt_validation: "prebuilt_validation";
334
+ general_regression: "general_regression";
331
335
  }>>;
332
336
  eval_sample_seed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
333
337
  avg_score: z.ZodNumber;
@@ -395,6 +399,169 @@ export declare const runReportSchema: z.ZodObject<{
395
399
  new_score: z.ZodNumber;
396
400
  }, z.core.$strict>>;
397
401
  }, z.core.$strict>;
402
+ general_regression: z.ZodOptional<z.ZodObject<{
403
+ dataset_uri: z.ZodString;
404
+ dataset_sha256: z.ZodString;
405
+ baseline: z.ZodObject<{
406
+ kind: z.ZodEnum<{
407
+ candidate: "candidate";
408
+ baseline: "baseline";
409
+ }>;
410
+ model_id: z.ZodString;
411
+ total: z.ZodNumber;
412
+ eval_examples_total: z.ZodNumber;
413
+ eval_examples_used: z.ZodNumber;
414
+ eval_truncated: z.ZodBoolean;
415
+ eval_split: z.ZodOptional<z.ZodEnum<{
416
+ spec_examples: "spec_examples";
417
+ spec_holdout: "spec_holdout";
418
+ prebuilt_test: "prebuilt_test";
419
+ prebuilt_validation: "prebuilt_validation";
420
+ general_regression: "general_regression";
421
+ }>>;
422
+ eval_sample_seed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
423
+ avg_score: z.ZodNumber;
424
+ pass_rate: z.ZodNumber;
425
+ exact_match_rate: z.ZodNumber;
426
+ avg_token_f1: z.ZodOptional<z.ZodNumber>;
427
+ avg_latency_ms: z.ZodNumber;
428
+ cached: z.ZodOptional<z.ZodBoolean>;
429
+ cache_key: z.ZodOptional<z.ZodString>;
430
+ results: z.ZodArray<z.ZodObject<{
431
+ prompt: z.ZodString;
432
+ expected: z.ZodString;
433
+ actual: z.ZodString;
434
+ passed: z.ZodBoolean;
435
+ score: z.ZodNumber;
436
+ reasoning: z.ZodNullable<z.ZodString>;
437
+ latency_ms: z.ZodNumber;
438
+ scored_by: z.ZodOptional<z.ZodEnum<{
439
+ exact_match: "exact_match";
440
+ json_fields: "json_fields";
441
+ heuristic: "heuristic";
442
+ }>>;
443
+ }, z.core.$strict>>;
444
+ artifact_uri: z.ZodString;
445
+ scoring_method: z.ZodEnum<{
446
+ exact_match: "exact_match";
447
+ json_fields: "json_fields";
448
+ heuristic: "heuristic";
449
+ }>;
450
+ inference_provider: z.ZodOptional<z.ZodEnum<{
451
+ none: "none";
452
+ transformers: "transformers";
453
+ }>>;
454
+ scoring_mode: z.ZodOptional<z.ZodEnum<{
455
+ exact_match: "exact_match";
456
+ json_fields: "json_fields";
457
+ }>>;
458
+ json_field_metrics: z.ZodOptional<z.ZodObject<{
459
+ fields: z.ZodArray<z.ZodString>;
460
+ valid_json_count: z.ZodNumber;
461
+ valid_json_rate: z.ZodNumber;
462
+ schema_match_count: z.ZodNumber;
463
+ schema_match_rate: z.ZodNumber;
464
+ all_fields_match_count: z.ZodNumber;
465
+ all_fields_match_rate: z.ZodNumber;
466
+ field_accuracy: z.ZodRecord<z.ZodString, z.ZodObject<{
467
+ correct: z.ZodNumber;
468
+ total: z.ZodNumber;
469
+ accuracy: z.ZodNumber;
470
+ }, z.core.$strict>>;
471
+ }, z.core.$strict>>;
472
+ generation_config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
473
+ log_uri: z.ZodOptional<z.ZodString>;
474
+ }, z.core.$strict>;
475
+ candidate: z.ZodObject<{
476
+ kind: z.ZodEnum<{
477
+ candidate: "candidate";
478
+ baseline: "baseline";
479
+ }>;
480
+ model_id: z.ZodString;
481
+ total: z.ZodNumber;
482
+ eval_examples_total: z.ZodNumber;
483
+ eval_examples_used: z.ZodNumber;
484
+ eval_truncated: z.ZodBoolean;
485
+ eval_split: z.ZodOptional<z.ZodEnum<{
486
+ spec_examples: "spec_examples";
487
+ spec_holdout: "spec_holdout";
488
+ prebuilt_test: "prebuilt_test";
489
+ prebuilt_validation: "prebuilt_validation";
490
+ general_regression: "general_regression";
491
+ }>>;
492
+ eval_sample_seed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
493
+ avg_score: z.ZodNumber;
494
+ pass_rate: z.ZodNumber;
495
+ exact_match_rate: z.ZodNumber;
496
+ avg_token_f1: z.ZodOptional<z.ZodNumber>;
497
+ avg_latency_ms: z.ZodNumber;
498
+ cached: z.ZodOptional<z.ZodBoolean>;
499
+ cache_key: z.ZodOptional<z.ZodString>;
500
+ results: z.ZodArray<z.ZodObject<{
501
+ prompt: z.ZodString;
502
+ expected: z.ZodString;
503
+ actual: z.ZodString;
504
+ passed: z.ZodBoolean;
505
+ score: z.ZodNumber;
506
+ reasoning: z.ZodNullable<z.ZodString>;
507
+ latency_ms: z.ZodNumber;
508
+ scored_by: z.ZodOptional<z.ZodEnum<{
509
+ exact_match: "exact_match";
510
+ json_fields: "json_fields";
511
+ heuristic: "heuristic";
512
+ }>>;
513
+ }, z.core.$strict>>;
514
+ artifact_uri: z.ZodString;
515
+ scoring_method: z.ZodEnum<{
516
+ exact_match: "exact_match";
517
+ json_fields: "json_fields";
518
+ heuristic: "heuristic";
519
+ }>;
520
+ inference_provider: z.ZodOptional<z.ZodEnum<{
521
+ none: "none";
522
+ transformers: "transformers";
523
+ }>>;
524
+ scoring_mode: z.ZodOptional<z.ZodEnum<{
525
+ exact_match: "exact_match";
526
+ json_fields: "json_fields";
527
+ }>>;
528
+ json_field_metrics: z.ZodOptional<z.ZodObject<{
529
+ fields: z.ZodArray<z.ZodString>;
530
+ valid_json_count: z.ZodNumber;
531
+ valid_json_rate: z.ZodNumber;
532
+ schema_match_count: z.ZodNumber;
533
+ schema_match_rate: z.ZodNumber;
534
+ all_fields_match_count: z.ZodNumber;
535
+ all_fields_match_rate: z.ZodNumber;
536
+ field_accuracy: z.ZodRecord<z.ZodString, z.ZodObject<{
537
+ correct: z.ZodNumber;
538
+ total: z.ZodNumber;
539
+ accuracy: z.ZodNumber;
540
+ }, z.core.$strict>>;
541
+ }, z.core.$strict>>;
542
+ generation_config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
543
+ log_uri: z.ZodOptional<z.ZodString>;
544
+ }, z.core.$strict>;
545
+ comparison: z.ZodObject<{
546
+ avg_score_delta: z.ZodNumber;
547
+ pass_rate_delta: z.ZodNumber;
548
+ exact_match_rate_delta: z.ZodNumber;
549
+ token_f1_delta: z.ZodOptional<z.ZodNumber>;
550
+ regressions: z.ZodNumber;
551
+ improvements: z.ZodNumber;
552
+ regressed_examples: z.ZodArray<z.ZodObject<{
553
+ prompt: z.ZodString;
554
+ old_score: z.ZodNumber;
555
+ new_score: z.ZodNumber;
556
+ }, z.core.$strict>>;
557
+ }, z.core.$strict>;
558
+ policy: z.ZodObject<{
559
+ max_score_drop: z.ZodNumber;
560
+ max_pass_rate_drop: z.ZodNumber;
561
+ }, z.core.$strict>;
562
+ passed: z.ZodBoolean;
563
+ failures: z.ZodArray<z.ZodString>;
564
+ }, z.core.$strict>>;
398
565
  training: z.ZodObject<{
399
566
  provider: z.ZodLiteral<"local-uv">;
400
567
  training_job_name: z.ZodString;
@@ -409,6 +576,8 @@ export declare const runReportSchema: z.ZodObject<{
409
576
  dataset: z.ZodString;
410
577
  baseline_eval: z.ZodString;
411
578
  candidate_eval: z.ZodString;
579
+ general_baseline_eval: z.ZodOptional<z.ZodString>;
580
+ general_candidate_eval: z.ZodOptional<z.ZodString>;
412
581
  report: z.ZodString;
413
582
  }, z.core.$strict>;
414
583
  run_metadata: z.ZodObject<{
@@ -426,6 +595,7 @@ export declare const runReportSchema: z.ZodObject<{
426
595
  spec_holdout: "spec_holdout";
427
596
  prebuilt_test: "prebuilt_test";
428
597
  prebuilt_validation: "prebuilt_validation";
598
+ general_regression: "general_regression";
429
599
  }>>;
430
600
  eval_sample_seed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
431
601
  started_at: z.ZodString;
@@ -464,6 +634,12 @@ export declare const localRunnerConfigSchema: z.ZodObject<{
464
634
  maxExamples: z.ZodOptional<z.ZodNumber>;
465
635
  sampleSeed: z.ZodOptional<z.ZodNumber>;
466
636
  baselineCache: z.ZodDefault<z.ZodBoolean>;
637
+ generalRegression: z.ZodOptional<z.ZodObject<{
638
+ dataset: z.ZodString;
639
+ systemPrompt: z.ZodOptional<z.ZodString>;
640
+ maxScoreDrop: z.ZodDefault<z.ZodNumber>;
641
+ maxPassRateDrop: z.ZodDefault<z.ZodNumber>;
642
+ }, z.core.$strict>>;
467
643
  }, z.core.$strict>>;
468
644
  }, z.core.$strict>;
469
645
  export type BehaviorSpecExample = z.infer<typeof behaviorSpecExampleSchema>;
package/dist/contracts.js CHANGED
@@ -100,6 +100,7 @@ export const evalSplitSchema = z.enum([
100
100
  "spec_holdout",
101
101
  "prebuilt_test",
102
102
  "prebuilt_validation",
103
+ "general_regression",
103
104
  ]);
104
105
  export const evalReportSchema = z.object({
105
106
  kind: z.enum(["baseline", "candidate"]),
@@ -160,11 +161,26 @@ export const runReportSchema = z.object({
160
161
  baseline: evalReportSchema,
161
162
  candidate: evalReportSchema,
162
163
  comparison: comparisonReportSchema,
164
+ general_regression: z.object({
165
+ dataset_uri: z.string(),
166
+ dataset_sha256: z.string().regex(/^[a-f0-9]{64}$/),
167
+ baseline: evalReportSchema,
168
+ candidate: evalReportSchema,
169
+ comparison: comparisonReportSchema,
170
+ policy: z.object({
171
+ max_score_drop: z.number().min(0).max(1),
172
+ max_pass_rate_drop: z.number().min(0).max(1),
173
+ }).strict(),
174
+ passed: z.boolean(),
175
+ failures: z.array(z.string()),
176
+ }).strict().optional(),
163
177
  training: trainingReportSchema,
164
178
  artifact_uris: z.object({
165
179
  dataset: z.string(),
166
180
  baseline_eval: z.string(),
167
181
  candidate_eval: z.string(),
182
+ general_baseline_eval: z.string().optional(),
183
+ general_candidate_eval: z.string().optional(),
168
184
  report: z.string(),
169
185
  }).strict(),
170
186
  run_metadata: z.object({
@@ -208,6 +224,12 @@ const evaluationConfigSchema = z.object({
208
224
  maxExamples: z.number().int().min(1).optional(),
209
225
  sampleSeed: z.number().int().optional(),
210
226
  baselineCache: z.boolean().default(true),
227
+ generalRegression: z.object({
228
+ dataset: z.string().min(1),
229
+ systemPrompt: z.string().optional(),
230
+ maxScoreDrop: z.number().min(0).max(1).default(0.03),
231
+ maxPassRateDrop: z.number().min(0).max(1).default(0.05),
232
+ }).strict().optional(),
211
233
  }).strict();
212
234
  export const localRunnerConfigSchema = z.object({
213
235
  storeRoot: z.string().optional(),