@openpond/evals 0.2.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 (41) hide show
  1. package/CONTRACT.md +24 -5
  2. package/README.md +27 -8
  3. package/RELEASING.md +13 -45
  4. package/dist/compatibility.js +45 -0
  5. package/dist/conformance.js +7 -11
  6. package/dist/evidence/authoring.js +1 -1
  7. package/dist/evidence/conformance.js +1 -1
  8. package/dist/evidence/contracts.js +1 -2
  9. package/dist/evidence/eligibility.js +1 -1
  10. package/dist/graders.js +1 -1
  11. package/dist/harness.js +33 -103
  12. package/dist/index.js +3 -1
  13. package/dist/model-improvement-qualification.js +125 -0
  14. package/dist/review-conformance.js +209 -0
  15. package/dist/runs.js +33 -13
  16. package/dist/tasksets.js +3 -17
  17. package/dist/types/compatibility.d.ts +11 -0
  18. package/dist/types/compatibility.d.ts.map +1 -0
  19. package/dist/types/conformance.d.ts +10 -48
  20. package/dist/types/conformance.d.ts.map +1 -1
  21. package/dist/types/evidence/conformance.d.ts +8 -8
  22. package/dist/types/evidence/contracts.d.ts +8 -8
  23. package/dist/types/harness.d.ts +3 -471
  24. package/dist/types/harness.d.ts.map +1 -1
  25. package/dist/types/index.d.ts +3 -1
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/dist/types/model-improvement-qualification.d.ts +222 -0
  28. package/dist/types/model-improvement-qualification.d.ts.map +1 -0
  29. package/dist/types/review-conformance.d.ts +607 -0
  30. package/dist/types/review-conformance.d.ts.map +1 -0
  31. package/dist/types/runs.d.ts +47 -10
  32. package/dist/types/runs.d.ts.map +1 -1
  33. package/dist/types/tasksets.d.ts +4 -35
  34. package/dist/types/tasksets.d.ts.map +1 -1
  35. package/package.json +14 -2
  36. package/dist/common.js +0 -67
  37. package/dist/sha256.js +0 -91
  38. package/dist/types/common.d.ts +0 -51
  39. package/dist/types/common.d.ts.map +0 -1
  40. package/dist/types/sha256.d.ts +0 -2
  41. package/dist/types/sha256.d.ts.map +0 -1
@@ -0,0 +1,607 @@
1
+ export declare const harnessEvaluationReviewConformance: {
2
+ noAction: {
3
+ schemaVersion: "openpond.harnessEvaluationReviewReceipt.v1";
4
+ id: string;
5
+ ownerScope: {
6
+ kind: "personal" | "team";
7
+ id: string;
8
+ };
9
+ workspaceRef: string;
10
+ harnessRelease: {
11
+ id: string;
12
+ contentHash: string;
13
+ };
14
+ previousWatermark: {
15
+ cursor: string;
16
+ throughCreatedAt: string;
17
+ } | null;
18
+ nextWatermark: {
19
+ cursor: string;
20
+ throughCreatedAt: string;
21
+ };
22
+ selectedEvidence: {
23
+ evidence: {
24
+ id: string;
25
+ contentHash: string;
26
+ };
27
+ kind: "validation" | "observation" | "taskset" | "trigger" | "route_decision" | "refiner_outcome" | "proposal" | "apply_receipt" | "harness_advance" | "rollback" | "work_outcome" | "evaluation" | "training_qualification" | "model_candidate";
28
+ sourceRef: string;
29
+ sourcePolicy: {
30
+ policy: {
31
+ id: string;
32
+ contentHash: string;
33
+ };
34
+ state: "revoked" | "deleted" | "expired" | "authorized";
35
+ checkedAt: string;
36
+ };
37
+ occurrenceKey: string;
38
+ occurredAt: string;
39
+ }[];
40
+ excludedEvidence: {
41
+ evidence: {
42
+ id: string;
43
+ contentHash: string;
44
+ };
45
+ sourcePolicy: {
46
+ policy: {
47
+ id: string;
48
+ contentHash: string;
49
+ };
50
+ state: "revoked" | "deleted" | "expired" | "authorized";
51
+ checkedAt: string;
52
+ } | null;
53
+ reason: "revoked" | "deleted" | "expired" | "outside_scope" | "before_watermark" | "duplicate" | "resolved" | "sensitive" | "unverified" | "budget";
54
+ }[];
55
+ claim: {
56
+ fingerprint: string;
57
+ recurrenceFamily: string;
58
+ statement: string;
59
+ independentOccurrences: number;
60
+ unresolvedOccurrences: number;
61
+ } | null;
62
+ classification: "runtime" | "taskset" | "no_action" | "harness_maintenance" | "product" | "model_improvement";
63
+ triage: {
64
+ layer: "model" | "tools" | "runtime" | "evaluation" | "product" | "harness" | "retrieval";
65
+ status: "resolved" | "not_applicable" | "unresolved" | "blocked";
66
+ reason: string;
67
+ evidenceRefs: {
68
+ id: string;
69
+ contentHash: string;
70
+ }[];
71
+ }[];
72
+ reason: string;
73
+ nextAuthority: "none" | "runtime_service" | "product_team" | "human_review" | "evaluation_system" | "training_system";
74
+ maxEstimatedCostUsd: number;
75
+ tasksetProposal: {
76
+ id: string;
77
+ contentHash: string;
78
+ } | null;
79
+ evaluation: {
80
+ id: string;
81
+ contentHash: string;
82
+ } | null;
83
+ trainingQualification: {
84
+ id: string;
85
+ contentHash: string;
86
+ } | null;
87
+ policyVersion: string;
88
+ createdAt: string;
89
+ metadata: Record<string, unknown>;
90
+ contentHash: string;
91
+ };
92
+ runtime: {
93
+ schemaVersion: "openpond.harnessEvaluationReviewReceipt.v1";
94
+ id: string;
95
+ ownerScope: {
96
+ kind: "personal" | "team";
97
+ id: string;
98
+ };
99
+ workspaceRef: string;
100
+ harnessRelease: {
101
+ id: string;
102
+ contentHash: string;
103
+ };
104
+ previousWatermark: {
105
+ cursor: string;
106
+ throughCreatedAt: string;
107
+ } | null;
108
+ nextWatermark: {
109
+ cursor: string;
110
+ throughCreatedAt: string;
111
+ };
112
+ selectedEvidence: {
113
+ evidence: {
114
+ id: string;
115
+ contentHash: string;
116
+ };
117
+ kind: "validation" | "observation" | "taskset" | "trigger" | "route_decision" | "refiner_outcome" | "proposal" | "apply_receipt" | "harness_advance" | "rollback" | "work_outcome" | "evaluation" | "training_qualification" | "model_candidate";
118
+ sourceRef: string;
119
+ sourcePolicy: {
120
+ policy: {
121
+ id: string;
122
+ contentHash: string;
123
+ };
124
+ state: "revoked" | "deleted" | "expired" | "authorized";
125
+ checkedAt: string;
126
+ };
127
+ occurrenceKey: string;
128
+ occurredAt: string;
129
+ }[];
130
+ excludedEvidence: {
131
+ evidence: {
132
+ id: string;
133
+ contentHash: string;
134
+ };
135
+ sourcePolicy: {
136
+ policy: {
137
+ id: string;
138
+ contentHash: string;
139
+ };
140
+ state: "revoked" | "deleted" | "expired" | "authorized";
141
+ checkedAt: string;
142
+ } | null;
143
+ reason: "revoked" | "deleted" | "expired" | "outside_scope" | "before_watermark" | "duplicate" | "resolved" | "sensitive" | "unverified" | "budget";
144
+ }[];
145
+ claim: {
146
+ fingerprint: string;
147
+ recurrenceFamily: string;
148
+ statement: string;
149
+ independentOccurrences: number;
150
+ unresolvedOccurrences: number;
151
+ } | null;
152
+ classification: "runtime" | "taskset" | "no_action" | "harness_maintenance" | "product" | "model_improvement";
153
+ triage: {
154
+ layer: "model" | "tools" | "runtime" | "evaluation" | "product" | "harness" | "retrieval";
155
+ status: "resolved" | "not_applicable" | "unresolved" | "blocked";
156
+ reason: string;
157
+ evidenceRefs: {
158
+ id: string;
159
+ contentHash: string;
160
+ }[];
161
+ }[];
162
+ reason: string;
163
+ nextAuthority: "none" | "runtime_service" | "product_team" | "human_review" | "evaluation_system" | "training_system";
164
+ maxEstimatedCostUsd: number;
165
+ tasksetProposal: {
166
+ id: string;
167
+ contentHash: string;
168
+ } | null;
169
+ evaluation: {
170
+ id: string;
171
+ contentHash: string;
172
+ } | null;
173
+ trainingQualification: {
174
+ id: string;
175
+ contentHash: string;
176
+ } | null;
177
+ policyVersion: string;
178
+ createdAt: string;
179
+ metadata: Record<string, unknown>;
180
+ contentHash: string;
181
+ };
182
+ product: {
183
+ schemaVersion: "openpond.harnessEvaluationReviewReceipt.v1";
184
+ id: string;
185
+ ownerScope: {
186
+ kind: "personal" | "team";
187
+ id: string;
188
+ };
189
+ workspaceRef: string;
190
+ harnessRelease: {
191
+ id: string;
192
+ contentHash: string;
193
+ };
194
+ previousWatermark: {
195
+ cursor: string;
196
+ throughCreatedAt: string;
197
+ } | null;
198
+ nextWatermark: {
199
+ cursor: string;
200
+ throughCreatedAt: string;
201
+ };
202
+ selectedEvidence: {
203
+ evidence: {
204
+ id: string;
205
+ contentHash: string;
206
+ };
207
+ kind: "validation" | "observation" | "taskset" | "trigger" | "route_decision" | "refiner_outcome" | "proposal" | "apply_receipt" | "harness_advance" | "rollback" | "work_outcome" | "evaluation" | "training_qualification" | "model_candidate";
208
+ sourceRef: string;
209
+ sourcePolicy: {
210
+ policy: {
211
+ id: string;
212
+ contentHash: string;
213
+ };
214
+ state: "revoked" | "deleted" | "expired" | "authorized";
215
+ checkedAt: string;
216
+ };
217
+ occurrenceKey: string;
218
+ occurredAt: string;
219
+ }[];
220
+ excludedEvidence: {
221
+ evidence: {
222
+ id: string;
223
+ contentHash: string;
224
+ };
225
+ sourcePolicy: {
226
+ policy: {
227
+ id: string;
228
+ contentHash: string;
229
+ };
230
+ state: "revoked" | "deleted" | "expired" | "authorized";
231
+ checkedAt: string;
232
+ } | null;
233
+ reason: "revoked" | "deleted" | "expired" | "outside_scope" | "before_watermark" | "duplicate" | "resolved" | "sensitive" | "unverified" | "budget";
234
+ }[];
235
+ claim: {
236
+ fingerprint: string;
237
+ recurrenceFamily: string;
238
+ statement: string;
239
+ independentOccurrences: number;
240
+ unresolvedOccurrences: number;
241
+ } | null;
242
+ classification: "runtime" | "taskset" | "no_action" | "harness_maintenance" | "product" | "model_improvement";
243
+ triage: {
244
+ layer: "model" | "tools" | "runtime" | "evaluation" | "product" | "harness" | "retrieval";
245
+ status: "resolved" | "not_applicable" | "unresolved" | "blocked";
246
+ reason: string;
247
+ evidenceRefs: {
248
+ id: string;
249
+ contentHash: string;
250
+ }[];
251
+ }[];
252
+ reason: string;
253
+ nextAuthority: "none" | "runtime_service" | "product_team" | "human_review" | "evaluation_system" | "training_system";
254
+ maxEstimatedCostUsd: number;
255
+ tasksetProposal: {
256
+ id: string;
257
+ contentHash: string;
258
+ } | null;
259
+ evaluation: {
260
+ id: string;
261
+ contentHash: string;
262
+ } | null;
263
+ trainingQualification: {
264
+ id: string;
265
+ contentHash: string;
266
+ } | null;
267
+ policyVersion: string;
268
+ createdAt: string;
269
+ metadata: Record<string, unknown>;
270
+ contentHash: string;
271
+ };
272
+ taskset: {
273
+ schemaVersion: "openpond.harnessEvaluationReviewReceipt.v1";
274
+ id: string;
275
+ ownerScope: {
276
+ kind: "personal" | "team";
277
+ id: string;
278
+ };
279
+ workspaceRef: string;
280
+ harnessRelease: {
281
+ id: string;
282
+ contentHash: string;
283
+ };
284
+ previousWatermark: {
285
+ cursor: string;
286
+ throughCreatedAt: string;
287
+ } | null;
288
+ nextWatermark: {
289
+ cursor: string;
290
+ throughCreatedAt: string;
291
+ };
292
+ selectedEvidence: {
293
+ evidence: {
294
+ id: string;
295
+ contentHash: string;
296
+ };
297
+ kind: "validation" | "observation" | "taskset" | "trigger" | "route_decision" | "refiner_outcome" | "proposal" | "apply_receipt" | "harness_advance" | "rollback" | "work_outcome" | "evaluation" | "training_qualification" | "model_candidate";
298
+ sourceRef: string;
299
+ sourcePolicy: {
300
+ policy: {
301
+ id: string;
302
+ contentHash: string;
303
+ };
304
+ state: "revoked" | "deleted" | "expired" | "authorized";
305
+ checkedAt: string;
306
+ };
307
+ occurrenceKey: string;
308
+ occurredAt: string;
309
+ }[];
310
+ excludedEvidence: {
311
+ evidence: {
312
+ id: string;
313
+ contentHash: string;
314
+ };
315
+ sourcePolicy: {
316
+ policy: {
317
+ id: string;
318
+ contentHash: string;
319
+ };
320
+ state: "revoked" | "deleted" | "expired" | "authorized";
321
+ checkedAt: string;
322
+ } | null;
323
+ reason: "revoked" | "deleted" | "expired" | "outside_scope" | "before_watermark" | "duplicate" | "resolved" | "sensitive" | "unverified" | "budget";
324
+ }[];
325
+ claim: {
326
+ fingerprint: string;
327
+ recurrenceFamily: string;
328
+ statement: string;
329
+ independentOccurrences: number;
330
+ unresolvedOccurrences: number;
331
+ } | null;
332
+ classification: "runtime" | "taskset" | "no_action" | "harness_maintenance" | "product" | "model_improvement";
333
+ triage: {
334
+ layer: "model" | "tools" | "runtime" | "evaluation" | "product" | "harness" | "retrieval";
335
+ status: "resolved" | "not_applicable" | "unresolved" | "blocked";
336
+ reason: string;
337
+ evidenceRefs: {
338
+ id: string;
339
+ contentHash: string;
340
+ }[];
341
+ }[];
342
+ reason: string;
343
+ nextAuthority: "none" | "runtime_service" | "product_team" | "human_review" | "evaluation_system" | "training_system";
344
+ maxEstimatedCostUsd: number;
345
+ tasksetProposal: {
346
+ id: string;
347
+ contentHash: string;
348
+ } | null;
349
+ evaluation: {
350
+ id: string;
351
+ contentHash: string;
352
+ } | null;
353
+ trainingQualification: {
354
+ id: string;
355
+ contentHash: string;
356
+ } | null;
357
+ policyVersion: string;
358
+ createdAt: string;
359
+ metadata: Record<string, unknown>;
360
+ contentHash: string;
361
+ };
362
+ blockedRl: {
363
+ schemaVersion: "openpond.modelImprovementQualificationReceipt.v1";
364
+ id: string;
365
+ review: {
366
+ id: string;
367
+ contentHash: string;
368
+ };
369
+ harnessRelease: {
370
+ id: string;
371
+ contentHash: string;
372
+ };
373
+ tasksetRelease: {
374
+ id: string;
375
+ contentHash: string;
376
+ } | null;
377
+ baselineEvaluation: {
378
+ id: string;
379
+ contentHash: string;
380
+ } | null;
381
+ model: {
382
+ provider: string;
383
+ model: string;
384
+ revision: string | null;
385
+ artifactHash: string | null;
386
+ tokenizerRevision: string | null;
387
+ chatTemplateHash: string | null;
388
+ };
389
+ environmentHash: string | null;
390
+ toolContractHash: string | null;
391
+ permissionContractHash: string | null;
392
+ policyHash: string | null;
393
+ verifierRef: {
394
+ id: string;
395
+ contentHash: string;
396
+ } | null;
397
+ sourcePolicies: {
398
+ policy: {
399
+ id: string;
400
+ contentHash: string;
401
+ };
402
+ state: "revoked" | "deleted" | "expired" | "authorized";
403
+ checkedAt: string;
404
+ }[];
405
+ trainingEvidenceRefs: {
406
+ id: string;
407
+ contentHash: string;
408
+ }[];
409
+ frozenEvaluationEvidenceRefs: {
410
+ id: string;
411
+ contentHash: string;
412
+ }[];
413
+ privacyApproval: {
414
+ id: string;
415
+ contentHash: string;
416
+ } | null;
417
+ budgetApproval: {
418
+ id: string;
419
+ contentHash: string;
420
+ } | null;
421
+ maximumCostUsd: number;
422
+ signal: {
423
+ kind: "none" | "demonstrations" | "chosen_rejected" | "scalar_reward";
424
+ strength: "absent" | "weak" | "usable";
425
+ calibrated: boolean;
426
+ confounded: boolean;
427
+ variance: number | null;
428
+ evidenceRefs: {
429
+ id: string;
430
+ contentHash: string;
431
+ }[];
432
+ };
433
+ decision: "no_training" | "sft" | "preference" | "rl";
434
+ reasons: string[];
435
+ createdAt: string;
436
+ metadata: Record<string, unknown>;
437
+ contentHash: string;
438
+ };
439
+ qualifiedRl: {
440
+ schemaVersion: "openpond.modelImprovementQualificationReceipt.v1";
441
+ id: string;
442
+ review: {
443
+ id: string;
444
+ contentHash: string;
445
+ };
446
+ harnessRelease: {
447
+ id: string;
448
+ contentHash: string;
449
+ };
450
+ tasksetRelease: {
451
+ id: string;
452
+ contentHash: string;
453
+ } | null;
454
+ baselineEvaluation: {
455
+ id: string;
456
+ contentHash: string;
457
+ } | null;
458
+ model: {
459
+ provider: string;
460
+ model: string;
461
+ revision: string | null;
462
+ artifactHash: string | null;
463
+ tokenizerRevision: string | null;
464
+ chatTemplateHash: string | null;
465
+ };
466
+ environmentHash: string | null;
467
+ toolContractHash: string | null;
468
+ permissionContractHash: string | null;
469
+ policyHash: string | null;
470
+ verifierRef: {
471
+ id: string;
472
+ contentHash: string;
473
+ } | null;
474
+ sourcePolicies: {
475
+ policy: {
476
+ id: string;
477
+ contentHash: string;
478
+ };
479
+ state: "revoked" | "deleted" | "expired" | "authorized";
480
+ checkedAt: string;
481
+ }[];
482
+ trainingEvidenceRefs: {
483
+ id: string;
484
+ contentHash: string;
485
+ }[];
486
+ frozenEvaluationEvidenceRefs: {
487
+ id: string;
488
+ contentHash: string;
489
+ }[];
490
+ privacyApproval: {
491
+ id: string;
492
+ contentHash: string;
493
+ } | null;
494
+ budgetApproval: {
495
+ id: string;
496
+ contentHash: string;
497
+ } | null;
498
+ maximumCostUsd: number;
499
+ signal: {
500
+ kind: "none" | "demonstrations" | "chosen_rejected" | "scalar_reward";
501
+ strength: "absent" | "weak" | "usable";
502
+ calibrated: boolean;
503
+ confounded: boolean;
504
+ variance: number | null;
505
+ evidenceRefs: {
506
+ id: string;
507
+ contentHash: string;
508
+ }[];
509
+ };
510
+ decision: "no_training" | "sft" | "preference" | "rl";
511
+ reasons: string[];
512
+ createdAt: string;
513
+ metadata: Record<string, unknown>;
514
+ contentHash: string;
515
+ };
516
+ modelImprovement: {
517
+ schemaVersion: "openpond.harnessEvaluationReviewReceipt.v1";
518
+ id: string;
519
+ ownerScope: {
520
+ kind: "personal" | "team";
521
+ id: string;
522
+ };
523
+ workspaceRef: string;
524
+ harnessRelease: {
525
+ id: string;
526
+ contentHash: string;
527
+ };
528
+ previousWatermark: {
529
+ cursor: string;
530
+ throughCreatedAt: string;
531
+ } | null;
532
+ nextWatermark: {
533
+ cursor: string;
534
+ throughCreatedAt: string;
535
+ };
536
+ selectedEvidence: {
537
+ evidence: {
538
+ id: string;
539
+ contentHash: string;
540
+ };
541
+ kind: "validation" | "observation" | "taskset" | "trigger" | "route_decision" | "refiner_outcome" | "proposal" | "apply_receipt" | "harness_advance" | "rollback" | "work_outcome" | "evaluation" | "training_qualification" | "model_candidate";
542
+ sourceRef: string;
543
+ sourcePolicy: {
544
+ policy: {
545
+ id: string;
546
+ contentHash: string;
547
+ };
548
+ state: "revoked" | "deleted" | "expired" | "authorized";
549
+ checkedAt: string;
550
+ };
551
+ occurrenceKey: string;
552
+ occurredAt: string;
553
+ }[];
554
+ excludedEvidence: {
555
+ evidence: {
556
+ id: string;
557
+ contentHash: string;
558
+ };
559
+ sourcePolicy: {
560
+ policy: {
561
+ id: string;
562
+ contentHash: string;
563
+ };
564
+ state: "revoked" | "deleted" | "expired" | "authorized";
565
+ checkedAt: string;
566
+ } | null;
567
+ reason: "revoked" | "deleted" | "expired" | "outside_scope" | "before_watermark" | "duplicate" | "resolved" | "sensitive" | "unverified" | "budget";
568
+ }[];
569
+ claim: {
570
+ fingerprint: string;
571
+ recurrenceFamily: string;
572
+ statement: string;
573
+ independentOccurrences: number;
574
+ unresolvedOccurrences: number;
575
+ } | null;
576
+ classification: "runtime" | "taskset" | "no_action" | "harness_maintenance" | "product" | "model_improvement";
577
+ triage: {
578
+ layer: "model" | "tools" | "runtime" | "evaluation" | "product" | "harness" | "retrieval";
579
+ status: "resolved" | "not_applicable" | "unresolved" | "blocked";
580
+ reason: string;
581
+ evidenceRefs: {
582
+ id: string;
583
+ contentHash: string;
584
+ }[];
585
+ }[];
586
+ reason: string;
587
+ nextAuthority: "none" | "runtime_service" | "product_team" | "human_review" | "evaluation_system" | "training_system";
588
+ maxEstimatedCostUsd: number;
589
+ tasksetProposal: {
590
+ id: string;
591
+ contentHash: string;
592
+ } | null;
593
+ evaluation: {
594
+ id: string;
595
+ contentHash: string;
596
+ } | null;
597
+ trainingQualification: {
598
+ id: string;
599
+ contentHash: string;
600
+ } | null;
601
+ policyVersion: string;
602
+ createdAt: string;
603
+ metadata: Record<string, unknown>;
604
+ contentHash: string;
605
+ };
606
+ };
607
+ //# sourceMappingURL=review-conformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-conformance.d.ts","sourceRoot":"","sources":["../../../../src/review-conformance.ts"],"names":[],"mappings":"AAoMA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ9C,CAAC"}
@@ -1,12 +1,4 @@
1
1
  import { z } from "zod";
2
- export declare const ModelRefSchema: z.ZodObject<{
3
- provider: z.ZodString;
4
- model: z.ZodString;
5
- revision: z.ZodDefault<z.ZodNullable<z.ZodString>>;
6
- artifactHash: z.ZodDefault<z.ZodNullable<z.ZodString>>;
7
- tokenizerRevision: z.ZodDefault<z.ZodNullable<z.ZodString>>;
8
- chatTemplateHash: z.ZodDefault<z.ZodNullable<z.ZodString>>;
9
- }, z.core.$strict>;
10
2
  export declare const RuntimeTargetBindingSchema: z.ZodObject<{
11
3
  adapterId: z.ZodString;
12
4
  placement: z.ZodEnum<{
@@ -273,6 +265,49 @@ export declare const EvaluationResultSchema: z.ZodObject<{
273
265
  metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
274
266
  contentHash: z.ZodString;
275
267
  }, z.core.$strict>;
268
+ export declare const HarnessCompatibilityReceiptContentSchema: z.ZodObject<{
269
+ schemaVersion: z.ZodLiteral<"openpond.harnessCompatibility.v1">;
270
+ id: z.ZodString;
271
+ baseHarnessRelease: z.ZodObject<{
272
+ id: z.ZodString;
273
+ contentHash: z.ZodString;
274
+ }, z.core.$strict>;
275
+ candidateHarnessRelease: z.ZodObject<{
276
+ id: z.ZodString;
277
+ contentHash: z.ZodString;
278
+ }, z.core.$strict>;
279
+ tasksetRelease: z.ZodObject<{
280
+ id: z.ZodString;
281
+ contentHash: z.ZodString;
282
+ }, z.core.$strict>;
283
+ environmentHash: z.ZodString;
284
+ toolContractHash: z.ZodString;
285
+ policyHash: z.ZodString;
286
+ graderInterfaceHash: z.ZodString;
287
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
288
+ }, z.core.$strict>;
289
+ export declare const HarnessCompatibilityReceiptSchema: z.ZodObject<{
290
+ schemaVersion: z.ZodLiteral<"openpond.harnessCompatibility.v1">;
291
+ id: z.ZodString;
292
+ baseHarnessRelease: z.ZodObject<{
293
+ id: z.ZodString;
294
+ contentHash: z.ZodString;
295
+ }, z.core.$strict>;
296
+ candidateHarnessRelease: z.ZodObject<{
297
+ id: z.ZodString;
298
+ contentHash: z.ZodString;
299
+ }, z.core.$strict>;
300
+ tasksetRelease: z.ZodObject<{
301
+ id: z.ZodString;
302
+ contentHash: z.ZodString;
303
+ }, z.core.$strict>;
304
+ environmentHash: z.ZodString;
305
+ toolContractHash: z.ZodString;
306
+ policyHash: z.ZodString;
307
+ graderInterfaceHash: z.ZodString;
308
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
309
+ contentHash: z.ZodString;
310
+ }, z.core.$strict>;
276
311
  export declare function createRunManifest(input: z.input<typeof RunManifestContentSchema>): RunManifest;
277
312
  export declare function createAttemptReceipt(input: z.input<typeof AttemptReceiptContentSchema>): AttemptReceipt;
278
313
  export declare function verifyAttemptReceipt(receipt: AttemptReceipt): boolean;
@@ -282,12 +317,14 @@ export declare function aggregateEvaluationReceipts(input: {
282
317
  receipts: AttemptReceipt[];
283
318
  metadata?: Record<string, unknown>;
284
319
  }): EvaluationResult;
285
- export declare function assertComparableRunManifests(base: RunManifest, candidate: RunManifest): void;
320
+ export declare function createHarnessCompatibilityReceipt(input: z.input<typeof HarnessCompatibilityReceiptContentSchema>): z.infer<typeof HarnessCompatibilityReceiptSchema>;
321
+ export declare function assertComparableRunManifests(base: RunManifest, candidate: RunManifest, compatibility?: z.input<typeof HarnessCompatibilityReceiptSchema>): void;
286
322
  export declare function rewardEligibleReceipts(receipts: AttemptReceipt[]): AttemptReceipt[];
287
- export type ModelRef = z.infer<typeof ModelRefSchema>;
323
+ export type { ModelRef } from "@openpond/harness";
288
324
  export type RuntimeTargetBinding = z.infer<typeof RuntimeTargetBindingSchema>;
289
325
  export type RunLimits = z.infer<typeof RunLimitsSchema>;
290
326
  export type RunManifest = z.infer<typeof RunManifestSchema>;
291
327
  export type AttemptReceipt = z.infer<typeof AttemptReceiptSchema>;
292
328
  export type EvaluationResult = z.infer<typeof EvaluationResultSchema>;
329
+ export type HarnessCompatibilityReceipt = z.infer<typeof HarnessCompatibilityReceiptSchema>;
293
330
  //# sourceMappingURL=runs.d.ts.map