openpond-sdk 0.3.3 → 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 (124) hide show
  1. package/TASKSETS.md +55 -0
  2. package/dist/actions-local.js +67 -118
  3. package/dist/actions-local.js.map +4 -4
  4. package/dist/actions.js +4 -92
  5. package/dist/actions.js.map +4 -4
  6. package/dist/chunk-27ETSPHQ.js +83 -0
  7. package/dist/chunk-27ETSPHQ.js.map +7 -0
  8. package/dist/chunk-5PRP457R.js +477 -0
  9. package/dist/chunk-5PRP457R.js.map +7 -0
  10. package/dist/chunk-65D4C7HP.js +273 -0
  11. package/dist/chunk-65D4C7HP.js.map +7 -0
  12. package/dist/chunk-747CMU2Y.js +222 -0
  13. package/dist/chunk-747CMU2Y.js.map +7 -0
  14. package/dist/chunk-7O5X7DBU.js +80 -0
  15. package/dist/chunk-7O5X7DBU.js.map +7 -0
  16. package/dist/chunk-A4ZDOZKP.js +115 -0
  17. package/dist/chunk-A4ZDOZKP.js.map +7 -0
  18. package/dist/chunk-APHPXQEA.js +155 -0
  19. package/dist/chunk-APHPXQEA.js.map +7 -0
  20. package/dist/chunk-AVW35YOH.js +574 -0
  21. package/dist/chunk-AVW35YOH.js.map +7 -0
  22. package/dist/chunk-AZUCY3E5.js +2395 -0
  23. package/dist/chunk-AZUCY3E5.js.map +7 -0
  24. package/dist/chunk-IVEXCIHO.js +1373 -0
  25. package/dist/chunk-IVEXCIHO.js.map +7 -0
  26. package/dist/chunk-K5ZCYOZO.js +49 -0
  27. package/dist/chunk-K5ZCYOZO.js.map +7 -0
  28. package/dist/chunk-LLHE4BOD.js +220 -0
  29. package/dist/chunk-LLHE4BOD.js.map +7 -0
  30. package/dist/chunk-LXXQVGQY.js +1 -0
  31. package/dist/chunk-LXXQVGQY.js.map +7 -0
  32. package/dist/chunk-P27DQ65Z.js +138 -0
  33. package/dist/chunk-P27DQ65Z.js.map +7 -0
  34. package/dist/chunk-QLEJOCQX.js +72 -0
  35. package/dist/chunk-QLEJOCQX.js.map +7 -0
  36. package/dist/chunk-S7I45WJQ.js +57 -0
  37. package/dist/chunk-S7I45WJQ.js.map +7 -0
  38. package/dist/chunk-ZPCK222K.js +586 -0
  39. package/dist/chunk-ZPCK222K.js.map +7 -0
  40. package/dist/index.js +33 -2488
  41. package/dist/index.js.map +4 -4
  42. package/dist/learning.js +16 -2042
  43. package/dist/learning.js.map +4 -4
  44. package/dist/model-batch-review.js +5 -42
  45. package/dist/model-batch-review.js.map +3 -3
  46. package/dist/model-projects.js +29 -430
  47. package/dist/model-projects.js.map +3 -3
  48. package/dist/model-starter-attempts.js +53 -310
  49. package/dist/model-starter-attempts.js.map +4 -4
  50. package/dist/model-starter-catalog.js +17 -460
  51. package/dist/model-starter-catalog.js.map +4 -4
  52. package/dist/model-starters.js +32 -709
  53. package/dist/model-starters.js.map +4 -4
  54. package/dist/model-taskset-authoring.js +11 -44
  55. package/dist/model-taskset-authoring.js.map +3 -3
  56. package/dist/profile-actions.js +4 -211
  57. package/dist/profile-actions.js.map +3 -3
  58. package/dist/project-actions.js +4 -224
  59. package/dist/project-actions.js.map +3 -3
  60. package/dist/refiner.js +14 -554
  61. package/dist/refiner.js.map +4 -4
  62. package/dist/taskset-catalog.js +9 -104
  63. package/dist/taskset-catalog.js.map +3 -3
  64. package/dist/taskset-drafts.js +465 -0
  65. package/dist/taskset-drafts.js.map +7 -0
  66. package/dist/taskset-packages.js +946 -3089
  67. package/dist/taskset-packages.js.map +4 -4
  68. package/dist/training.js +43 -822
  69. package/dist/training.js.map +4 -4
  70. package/dist/types/packages/sdk/src/index.d.ts +3 -3
  71. package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
  72. package/dist/types/packages/sdk/src/learning-client.d.ts +130 -0
  73. package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -0
  74. package/dist/types/packages/sdk/src/learning.d.ts +1 -129
  75. package/dist/types/packages/sdk/src/learning.d.ts.map +1 -1
  76. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +1170 -0
  77. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -0
  78. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +560 -0
  79. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -0
  80. package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts +92 -0
  81. package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts.map +1 -0
  82. package/dist/types/packages/sdk/src/taskset-authored-tool-environment.d.ts +15 -0
  83. package/dist/types/packages/sdk/src/taskset-authored-tool-environment.d.ts.map +1 -0
  84. package/dist/types/packages/sdk/src/taskset-authored-validation.d.ts +18 -0
  85. package/dist/types/packages/sdk/src/taskset-authored-validation.d.ts.map +1 -0
  86. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +1681 -0
  87. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -0
  88. package/dist/types/packages/sdk/src/taskset-draft-authoring.d.ts +19 -0
  89. package/dist/types/packages/sdk/src/taskset-draft-authoring.d.ts.map +1 -0
  90. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +2713 -0
  91. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -0
  92. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +1000 -0
  93. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -0
  94. package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +429 -0
  95. package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts.map +1 -0
  96. package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +284 -0
  97. package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts.map +1 -0
  98. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +846 -0
  99. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -0
  100. package/dist/types/packages/sdk/src/taskset-draft-files.d.ts +8 -0
  101. package/dist/types/packages/sdk/src/taskset-draft-files.d.ts.map +1 -0
  102. package/dist/types/packages/sdk/src/taskset-draft-harness-actions.d.ts +28 -0
  103. package/dist/types/packages/sdk/src/taskset-draft-harness-actions.d.ts.map +1 -0
  104. package/dist/types/packages/sdk/src/taskset-draft-manifests.d.ts +8 -0
  105. package/dist/types/packages/sdk/src/taskset-draft-manifests.d.ts.map +1 -0
  106. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +967 -0
  107. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -0
  108. package/dist/types/packages/sdk/src/taskset-draft-publication.d.ts +10 -0
  109. package/dist/types/packages/sdk/src/taskset-draft-publication.d.ts.map +1 -0
  110. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +1297 -0
  111. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -0
  112. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +1597 -0
  113. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -0
  114. package/dist/types/packages/sdk/src/taskset-drafts.d.ts +16 -0
  115. package/dist/types/packages/sdk/src/taskset-drafts.d.ts.map +1 -0
  116. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +64 -0
  117. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts.map +1 -0
  118. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +1514 -0
  119. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -0
  120. package/dist/types/packages/sdk/src/taskset-packages.d.ts +6 -0
  121. package/dist/types/packages/sdk/src/taskset-packages.d.ts.map +1 -1
  122. package/dist/workflows.js +4 -221
  123. package/dist/workflows.js.map +3 -3
  124. package/package.json +5 -1
@@ -0,0 +1,1514 @@
1
+ import { type TasksetPackage } from "./taskset-package-contracts.js";
2
+ /** Local identity includes Profile and provenance; portable identity stays in
3
+ * the receipt. Downloading does not approve targets, privacy or licensing. */
4
+ export declare function prepareImportedTasksetPackage(input: {
5
+ package: TasksetPackage;
6
+ profileId: string;
7
+ name: string;
8
+ createdAt: string;
9
+ }): {
10
+ package: {
11
+ schemaVersion: "openpond.tasksetPackage.v1";
12
+ taskset: {
13
+ schemaVersion: "openpond.tasksetRelease.v2";
14
+ id: string;
15
+ revision: number;
16
+ policy: {
17
+ policyVisibleFields: string[];
18
+ privilegedFields: string[];
19
+ hiddenGraderRefs: string[];
20
+ connectedAppScopes: string[];
21
+ };
22
+ environment: {
23
+ protocolVersion: "openpond.environment.v1";
24
+ kind: "text" | "work" | "agent" | "custom_program";
25
+ entrypoint: string;
26
+ stateful: boolean;
27
+ deterministicSeeds: boolean;
28
+ lifecycle: ("create" | "reset" | "step" | "collect" | "destroy")[];
29
+ networkPolicy: "none" | "declared_read_only" | "declared_scoped";
30
+ defaultTimeoutMs: number;
31
+ };
32
+ tools: {
33
+ name: string;
34
+ description: string;
35
+ inputSchema: Record<string, unknown>;
36
+ inputSchemaHash: string;
37
+ sideEffect: "read" | "write";
38
+ timeoutMs: number;
39
+ }[];
40
+ capabilities: {
41
+ id: string;
42
+ required: boolean;
43
+ scopes: string[];
44
+ portability: "portable" | "host_adapter" | "local_only" | "hosted_only";
45
+ }[];
46
+ tasks: {
47
+ id: string;
48
+ clusterKey: string;
49
+ split: "train" | "validation" | "test" | "frozen_eval";
50
+ input: Record<string, unknown>;
51
+ expectedOutput: Record<string, unknown> | null;
52
+ policyVisibleContext: Record<string, unknown>;
53
+ privilegedContextRef: string | null;
54
+ artifactRefs: {
55
+ id: string;
56
+ path: string;
57
+ contentHash: string;
58
+ sizeBytes: number;
59
+ mediaType: string;
60
+ visibility: "policy" | "verifier" | "host_private";
61
+ }[];
62
+ tags: string[];
63
+ requiredOutputs?: {
64
+ path: string;
65
+ mediaType: string;
66
+ schemaRef: {
67
+ id: string;
68
+ path: string;
69
+ contentHash: string;
70
+ sizeBytes: number;
71
+ mediaType: string;
72
+ visibility: "policy" | "verifier" | "host_private";
73
+ } | null;
74
+ maxBytes: number | null;
75
+ metadata: Record<string, unknown>;
76
+ }[] | undefined;
77
+ }[];
78
+ graders: ({
79
+ id: string;
80
+ version: string;
81
+ weight: number;
82
+ hardGate: boolean;
83
+ rewardEligible: boolean;
84
+ privileged: boolean;
85
+ kind: "state" | "content" | "schema" | "artifact" | "runtime_event";
86
+ config: Record<string, unknown>;
87
+ } | {
88
+ id: string;
89
+ version: string;
90
+ weight: number;
91
+ hardGate: boolean;
92
+ rewardEligible: boolean;
93
+ privileged: boolean;
94
+ kind: "model_judge";
95
+ rubricRef: {
96
+ id: string;
97
+ path: string;
98
+ contentHash: string;
99
+ sizeBytes: number;
100
+ mediaType: string;
101
+ visibility: "policy" | "verifier" | "host_private";
102
+ };
103
+ calibrationStatus: "failed" | "pending" | "passed";
104
+ model?: {
105
+ providerId: string;
106
+ modelId: string;
107
+ revision: string | null;
108
+ } | undefined;
109
+ temperature?: number | undefined;
110
+ } | {
111
+ id: string;
112
+ version: string;
113
+ weight: number;
114
+ hardGate: boolean;
115
+ rewardEligible: boolean;
116
+ privileged: boolean;
117
+ kind: "custom_verifier";
118
+ verifierRef: {
119
+ id: string;
120
+ path: string;
121
+ contentHash: string;
122
+ sizeBytes: number;
123
+ mediaType: string;
124
+ visibility: "policy" | "verifier" | "host_private";
125
+ };
126
+ timeoutMs: number;
127
+ networkPolicy: "none";
128
+ exportName?: string | undefined;
129
+ } | {
130
+ id: string;
131
+ version: string;
132
+ weight: number;
133
+ hardGate: boolean;
134
+ rewardEligible: boolean;
135
+ privileged: boolean;
136
+ kind: "human";
137
+ rubricRef: {
138
+ id: string;
139
+ path: string;
140
+ contentHash: string;
141
+ sizeBytes: number;
142
+ mediaType: string;
143
+ visibility: "policy" | "verifier" | "host_private";
144
+ };
145
+ reviewerRole: string;
146
+ })[];
147
+ metadata: Record<string, unknown>;
148
+ contentHash: string;
149
+ environmentRelease?: {
150
+ id: string;
151
+ contentHash: string;
152
+ } | undefined;
153
+ verifierSetRelease?: {
154
+ id: string;
155
+ contentHash: string;
156
+ } | undefined;
157
+ metrics?: {
158
+ schemaVersion: "openpond.tasksetMetricPolicy.v1";
159
+ primaryMetric: string;
160
+ aggregation: "custom" | "mean_score" | "pass_rate" | "weighted_mean";
161
+ missingReward: "zero" | "exclude";
162
+ customAggregator: {
163
+ module: string;
164
+ exportName: string;
165
+ contentHash: string;
166
+ timeoutMs: number;
167
+ networkPolicy: "none";
168
+ } | null;
169
+ taskWeights?: Record<string, number> | undefined;
170
+ } | undefined;
171
+ };
172
+ environment: {
173
+ schemaVersion: "openpond.environmentRelease.v1";
174
+ id: string;
175
+ revision: number;
176
+ contract: {
177
+ protocolVersion: "openpond.environment.v1";
178
+ kind: "text" | "work" | "agent" | "custom_program";
179
+ entrypoint: string;
180
+ stateful: boolean;
181
+ deterministicSeeds: boolean;
182
+ lifecycle: ("create" | "reset" | "step" | "collect" | "destroy")[];
183
+ networkPolicy: "none" | "declared_read_only" | "declared_scoped";
184
+ defaultTimeoutMs: number;
185
+ };
186
+ actionSchemaRef: {
187
+ id: string;
188
+ path: string;
189
+ contentHash: string;
190
+ sizeBytes: number;
191
+ mediaType: string;
192
+ visibility: "policy" | "verifier" | "host_private";
193
+ } | null;
194
+ observationSchemaRef: {
195
+ id: string;
196
+ path: string;
197
+ contentHash: string;
198
+ sizeBytes: number;
199
+ mediaType: string;
200
+ visibility: "policy" | "verifier" | "host_private";
201
+ } | null;
202
+ stateSchemaRef: {
203
+ id: string;
204
+ path: string;
205
+ contentHash: string;
206
+ sizeBytes: number;
207
+ mediaType: string;
208
+ visibility: "policy" | "verifier" | "host_private";
209
+ } | null;
210
+ artifactCollection: {
211
+ maxArtifacts: number;
212
+ maxTotalBytes: number;
213
+ };
214
+ adapterConformanceHashes: Record<string, string>;
215
+ metadata: Record<string, unknown>;
216
+ contentHash: string;
217
+ };
218
+ verifierSet: {
219
+ schemaVersion: "openpond.verifierSetRelease.v1";
220
+ id: string;
221
+ revision: number;
222
+ graders: ({
223
+ id: string;
224
+ version: string;
225
+ weight: number;
226
+ hardGate: boolean;
227
+ rewardEligible: boolean;
228
+ privileged: boolean;
229
+ kind: "state" | "content" | "schema" | "artifact" | "runtime_event";
230
+ config: Record<string, unknown>;
231
+ } | {
232
+ id: string;
233
+ version: string;
234
+ weight: number;
235
+ hardGate: boolean;
236
+ rewardEligible: boolean;
237
+ privileged: boolean;
238
+ kind: "model_judge";
239
+ rubricRef: {
240
+ id: string;
241
+ path: string;
242
+ contentHash: string;
243
+ sizeBytes: number;
244
+ mediaType: string;
245
+ visibility: "policy" | "verifier" | "host_private";
246
+ };
247
+ calibrationStatus: "failed" | "pending" | "passed";
248
+ model?: {
249
+ providerId: string;
250
+ modelId: string;
251
+ revision: string | null;
252
+ } | undefined;
253
+ temperature?: number | undefined;
254
+ } | {
255
+ id: string;
256
+ version: string;
257
+ weight: number;
258
+ hardGate: boolean;
259
+ rewardEligible: boolean;
260
+ privileged: boolean;
261
+ kind: "custom_verifier";
262
+ verifierRef: {
263
+ id: string;
264
+ path: string;
265
+ contentHash: string;
266
+ sizeBytes: number;
267
+ mediaType: string;
268
+ visibility: "policy" | "verifier" | "host_private";
269
+ };
270
+ timeoutMs: number;
271
+ networkPolicy: "none";
272
+ exportName?: string | undefined;
273
+ } | {
274
+ id: string;
275
+ version: string;
276
+ weight: number;
277
+ hardGate: boolean;
278
+ rewardEligible: boolean;
279
+ privileged: boolean;
280
+ kind: "human";
281
+ rubricRef: {
282
+ id: string;
283
+ path: string;
284
+ contentHash: string;
285
+ sizeBytes: number;
286
+ mediaType: string;
287
+ visibility: "policy" | "verifier" | "host_private";
288
+ };
289
+ reviewerRole: string;
290
+ })[];
291
+ isolation: {
292
+ processBoundary: "same_process" | "isolated_process" | "container";
293
+ networkPolicy: "none";
294
+ defaultTimeoutMs: number;
295
+ };
296
+ calibrationReceiptRefs: {
297
+ id: string;
298
+ contentHash: string;
299
+ }[];
300
+ metadata: Record<string, unknown>;
301
+ contentHash: string;
302
+ };
303
+ files: {
304
+ asset: {
305
+ id: string;
306
+ path: string;
307
+ contentHash: string;
308
+ sizeBytes: number;
309
+ mediaType: string;
310
+ visibility: "policy" | "verifier" | "host_private";
311
+ };
312
+ base64: string;
313
+ }[];
314
+ contentHash: string;
315
+ modelResources?: {
316
+ taskDefinition: {
317
+ schemaVersion: "openpond.taskDefinition.v1";
318
+ id: string;
319
+ revision: number;
320
+ name: string;
321
+ description: string;
322
+ instructions: string;
323
+ category: "custom" | "structured" | "question_answering" | "coding" | "tool_workflow";
324
+ familyNamespace: string;
325
+ inputSchema: Record<string, unknown>;
326
+ outputSchema: Record<string, unknown>;
327
+ rewardBinding: {
328
+ id: string;
329
+ contentHash: string;
330
+ revision: number;
331
+ };
332
+ harness: {
333
+ id: string;
334
+ contentHash: string;
335
+ } | null;
336
+ execution: {
337
+ policy: {
338
+ policyVisibleFields: string[];
339
+ privilegedFields: string[];
340
+ hiddenGraderRefs: string[];
341
+ connectedAppScopes: string[];
342
+ };
343
+ environment: {
344
+ protocolVersion: "openpond.environment.v1";
345
+ kind: "text" | "work" | "agent" | "custom_program";
346
+ entrypoint: string;
347
+ stateful: boolean;
348
+ deterministicSeeds: boolean;
349
+ lifecycle: ("create" | "reset" | "step" | "collect" | "destroy")[];
350
+ networkPolicy: "none" | "declared_read_only" | "declared_scoped";
351
+ defaultTimeoutMs: number;
352
+ };
353
+ tools: {
354
+ name: string;
355
+ description: string;
356
+ inputSchema: Record<string, unknown>;
357
+ inputSchemaHash: string;
358
+ sideEffect: "read" | "write";
359
+ timeoutMs: number;
360
+ }[];
361
+ capabilities: {
362
+ id: string;
363
+ required: boolean;
364
+ scopes: string[];
365
+ portability: "portable" | "host_adapter" | "local_only" | "hosted_only";
366
+ }[];
367
+ environmentRelease?: {
368
+ id: string;
369
+ contentHash: string;
370
+ } | undefined;
371
+ verifierSetRelease?: {
372
+ id: string;
373
+ contentHash: string;
374
+ } | undefined;
375
+ };
376
+ contentHash: string;
377
+ };
378
+ rewardBinding: {
379
+ schemaVersion: "openpond.rewardBinding.v1";
380
+ id: string;
381
+ revision: number;
382
+ sources: {
383
+ graderId: string;
384
+ reward: {
385
+ id: string;
386
+ contentHash: string;
387
+ revision: number;
388
+ };
389
+ role: "evaluation" | "training";
390
+ normalization: {
391
+ kind: "identity";
392
+ } | {
393
+ kind: "linear";
394
+ minimum: number;
395
+ maximum: number;
396
+ direction: "higher" | "lower";
397
+ };
398
+ weight: number;
399
+ required: boolean;
400
+ hardGate: boolean;
401
+ privileged: boolean;
402
+ fixtureRefs: {
403
+ id: string;
404
+ contentHash: string;
405
+ }[];
406
+ }[];
407
+ aggregation: "weighted_mean";
408
+ unscorable: "exclude_optional_require_all_required";
409
+ contentHash: string;
410
+ name?: string | undefined;
411
+ description?: string | undefined;
412
+ recipeRef?: {
413
+ id: string;
414
+ contentHash: string;
415
+ revision: number;
416
+ } | undefined;
417
+ };
418
+ assets: {
419
+ schemaVersion: "openpond.learningTextAsset.v1";
420
+ id: string;
421
+ revision: 1;
422
+ asset: {
423
+ id: string;
424
+ path: string;
425
+ contentHash: string;
426
+ sizeBytes: number;
427
+ mediaType: string;
428
+ visibility: "policy" | "verifier" | "host_private";
429
+ };
430
+ text: string;
431
+ contentHash: string;
432
+ }[];
433
+ rewards: {
434
+ schemaVersion: "openpond.rewardRelease.v1";
435
+ id: string;
436
+ revision: number;
437
+ name: string;
438
+ description: string;
439
+ implementation: {
440
+ kind: "state" | "content" | "schema" | "artifact" | "runtime_event";
441
+ config: Record<string, unknown>;
442
+ } | {
443
+ kind: "model_judge";
444
+ rubricRef: {
445
+ id: string;
446
+ path: string;
447
+ contentHash: string;
448
+ sizeBytes: number;
449
+ mediaType: string;
450
+ visibility: "policy" | "verifier" | "host_private";
451
+ };
452
+ calibrationStatus: "failed" | "pending" | "passed";
453
+ model?: {
454
+ providerId: string;
455
+ modelId: string;
456
+ revision: string | null;
457
+ } | undefined;
458
+ temperature?: number | undefined;
459
+ } | {
460
+ timeoutMs: number;
461
+ networkPolicy: "none";
462
+ kind: "custom_verifier";
463
+ verifierRef: {
464
+ id: string;
465
+ path: string;
466
+ contentHash: string;
467
+ sizeBytes: number;
468
+ mediaType: string;
469
+ visibility: "policy" | "verifier" | "host_private";
470
+ };
471
+ exportName?: string | undefined;
472
+ } | {
473
+ kind: "human";
474
+ rubricRef: {
475
+ id: string;
476
+ path: string;
477
+ contentHash: string;
478
+ sizeBytes: number;
479
+ mediaType: string;
480
+ visibility: "policy" | "verifier" | "host_private";
481
+ };
482
+ reviewerRole: string;
483
+ } | {
484
+ kind: "learned_model";
485
+ modelVersion: {
486
+ id: string;
487
+ contentHash: string;
488
+ };
489
+ inputContract: {
490
+ id: string;
491
+ path: string;
492
+ contentHash: string;
493
+ sizeBytes: number;
494
+ mediaType: string;
495
+ visibility: "policy" | "verifier" | "host_private";
496
+ };
497
+ };
498
+ rawScore: {
499
+ minimum: number;
500
+ maximum: number;
501
+ };
502
+ assets: {
503
+ id: string;
504
+ path: string;
505
+ contentHash: string;
506
+ sizeBytes: number;
507
+ mediaType: string;
508
+ visibility: "policy" | "verifier" | "host_private";
509
+ }[];
510
+ contentHash: string;
511
+ fixtureSetRef?: {
512
+ id: string;
513
+ path: string;
514
+ contentHash: string;
515
+ sizeBytes: number;
516
+ mediaType: string;
517
+ visibility: "policy" | "verifier" | "host_private";
518
+ } | undefined;
519
+ }[];
520
+ execution?: {
521
+ environment: {
522
+ schemaVersion: "openpond.environmentRelease.v1";
523
+ id: string;
524
+ revision: number;
525
+ contract: {
526
+ protocolVersion: "openpond.environment.v1";
527
+ kind: "text" | "work" | "agent" | "custom_program";
528
+ entrypoint: string;
529
+ stateful: boolean;
530
+ deterministicSeeds: boolean;
531
+ lifecycle: ("create" | "reset" | "step" | "collect" | "destroy")[];
532
+ networkPolicy: "none" | "declared_read_only" | "declared_scoped";
533
+ defaultTimeoutMs: number;
534
+ };
535
+ actionSchemaRef: {
536
+ id: string;
537
+ path: string;
538
+ contentHash: string;
539
+ sizeBytes: number;
540
+ mediaType: string;
541
+ visibility: "policy" | "verifier" | "host_private";
542
+ } | null;
543
+ observationSchemaRef: {
544
+ id: string;
545
+ path: string;
546
+ contentHash: string;
547
+ sizeBytes: number;
548
+ mediaType: string;
549
+ visibility: "policy" | "verifier" | "host_private";
550
+ } | null;
551
+ stateSchemaRef: {
552
+ id: string;
553
+ path: string;
554
+ contentHash: string;
555
+ sizeBytes: number;
556
+ mediaType: string;
557
+ visibility: "policy" | "verifier" | "host_private";
558
+ } | null;
559
+ artifactCollection: {
560
+ maxArtifacts: number;
561
+ maxTotalBytes: number;
562
+ };
563
+ adapterConformanceHashes: Record<string, string>;
564
+ metadata: Record<string, unknown>;
565
+ contentHash: string;
566
+ };
567
+ verifierSet: {
568
+ schemaVersion: "openpond.verifierSetRelease.v1";
569
+ id: string;
570
+ revision: number;
571
+ graders: ({
572
+ id: string;
573
+ version: string;
574
+ weight: number;
575
+ hardGate: boolean;
576
+ rewardEligible: boolean;
577
+ privileged: boolean;
578
+ kind: "state" | "content" | "schema" | "artifact" | "runtime_event";
579
+ config: Record<string, unknown>;
580
+ } | {
581
+ id: string;
582
+ version: string;
583
+ weight: number;
584
+ hardGate: boolean;
585
+ rewardEligible: boolean;
586
+ privileged: boolean;
587
+ kind: "model_judge";
588
+ rubricRef: {
589
+ id: string;
590
+ path: string;
591
+ contentHash: string;
592
+ sizeBytes: number;
593
+ mediaType: string;
594
+ visibility: "policy" | "verifier" | "host_private";
595
+ };
596
+ calibrationStatus: "failed" | "pending" | "passed";
597
+ model?: {
598
+ providerId: string;
599
+ modelId: string;
600
+ revision: string | null;
601
+ } | undefined;
602
+ temperature?: number | undefined;
603
+ } | {
604
+ id: string;
605
+ version: string;
606
+ weight: number;
607
+ hardGate: boolean;
608
+ rewardEligible: boolean;
609
+ privileged: boolean;
610
+ kind: "custom_verifier";
611
+ verifierRef: {
612
+ id: string;
613
+ path: string;
614
+ contentHash: string;
615
+ sizeBytes: number;
616
+ mediaType: string;
617
+ visibility: "policy" | "verifier" | "host_private";
618
+ };
619
+ timeoutMs: number;
620
+ networkPolicy: "none";
621
+ exportName?: string | undefined;
622
+ } | {
623
+ id: string;
624
+ version: string;
625
+ weight: number;
626
+ hardGate: boolean;
627
+ rewardEligible: boolean;
628
+ privileged: boolean;
629
+ kind: "human";
630
+ rubricRef: {
631
+ id: string;
632
+ path: string;
633
+ contentHash: string;
634
+ sizeBytes: number;
635
+ mediaType: string;
636
+ visibility: "policy" | "verifier" | "host_private";
637
+ };
638
+ reviewerRole: string;
639
+ })[];
640
+ isolation: {
641
+ processBoundary: "same_process" | "isolated_process" | "container";
642
+ networkPolicy: "none";
643
+ defaultTimeoutMs: number;
644
+ };
645
+ calibrationReceiptRefs: {
646
+ id: string;
647
+ contentHash: string;
648
+ }[];
649
+ metadata: Record<string, unknown>;
650
+ contentHash: string;
651
+ };
652
+ javascript: {
653
+ schemaVersion: "openpond.javascriptEnvironment.v1";
654
+ id: string;
655
+ revision: number;
656
+ module: {
657
+ id: string;
658
+ path: string;
659
+ contentHash: string;
660
+ sizeBytes: number;
661
+ mediaType: string;
662
+ visibility: "policy" | "verifier" | "host_private";
663
+ };
664
+ tools: {
665
+ name: string;
666
+ description: string;
667
+ inputSchema: Record<string, unknown>;
668
+ inputSchemaHash: string;
669
+ sideEffect: "read" | "write";
670
+ timeoutMs: number;
671
+ }[];
672
+ maxSteps: number;
673
+ maxStateBytes: number;
674
+ maxObservationBytes: number;
675
+ operationTimeoutMs: number;
676
+ contentHash: string;
677
+ executionServices?: ({
678
+ kind: "sqlite.v1";
679
+ sql: {
680
+ scope: "input" | "state" | "arguments" | "initialState";
681
+ path: string[];
682
+ };
683
+ snapshot: {
684
+ scope: "input" | "state" | "arguments" | "initialState";
685
+ path: string[];
686
+ };
687
+ maxRows: number;
688
+ maxResultBytes: number;
689
+ id: string;
690
+ operation: "step" | "collect";
691
+ timeoutMs: number;
692
+ toolName?: string | undefined;
693
+ } | {
694
+ kind: "javascript.v1";
695
+ source: {
696
+ scope: "input" | "state" | "arguments" | "initialState";
697
+ path: string[];
698
+ };
699
+ cases: {
700
+ scope: "input" | "state" | "arguments" | "initialState";
701
+ path: string[];
702
+ };
703
+ exportName: string;
704
+ maxCases: number;
705
+ maxResultBytes: number;
706
+ id: string;
707
+ operation: "step" | "collect";
708
+ timeoutMs: number;
709
+ toolName?: string | undefined;
710
+ })[] | undefined;
711
+ };
712
+ } | undefined;
713
+ } | undefined;
714
+ learningResources?: {
715
+ batch: {
716
+ schemaVersion: "openpond.taskBatch.v1";
717
+ id: string;
718
+ revision: 1;
719
+ taskDefinition: {
720
+ id: string;
721
+ contentHash: string;
722
+ revision: number;
723
+ };
724
+ rewardBinding: {
725
+ id: string;
726
+ contentHash: string;
727
+ revision: number;
728
+ };
729
+ purpose: "evaluation" | "supervised_training" | "reward_training";
730
+ examples: {
731
+ evidence: {
732
+ id: string;
733
+ contentHash: string;
734
+ revision: number;
735
+ };
736
+ decision: {
737
+ id: string;
738
+ contentHash: string;
739
+ revision: number;
740
+ };
741
+ familyKey: string;
742
+ inputHash: string;
743
+ split: "train" | "validation" | "test" | "frozen_eval";
744
+ }[];
745
+ sealedAt: string;
746
+ sealedBy: string;
747
+ contentHash: string;
748
+ };
749
+ evidence: {
750
+ schemaVersion: "openpond.taskEvidence.v1";
751
+ id: string;
752
+ revision: number;
753
+ source: {
754
+ id: string;
755
+ contentHash: string;
756
+ revision: number;
757
+ };
758
+ submission: {
759
+ schemaVersion: "openpond.taskExample.v1";
760
+ sourceId: string;
761
+ idempotencyKey: string;
762
+ taskDefinition: {
763
+ id: string;
764
+ contentHash: string;
765
+ revision: number;
766
+ };
767
+ exampleId: string;
768
+ attemptId: string;
769
+ occurredAt: string;
770
+ familyKey: string | null;
771
+ split: "train" | "validation" | "test" | "frozen_eval";
772
+ input: Record<string, import("zod").JSONType>;
773
+ observedOutput: Record<string, import("zod").JSONType> | null;
774
+ expected: Record<string, import("zod").JSONType> | null;
775
+ evaluatorContext: Record<string, import("zod").JSONType> | null;
776
+ assets: {
777
+ id: string;
778
+ path: string;
779
+ contentHash: string;
780
+ sizeBytes: number;
781
+ mediaType: string;
782
+ visibility: "policy" | "verifier" | "host_private";
783
+ }[];
784
+ provenance: {
785
+ sourceRecordRef: string | null;
786
+ mappingHash: string | null;
787
+ };
788
+ };
789
+ supersedes: {
790
+ id: string;
791
+ contentHash: string;
792
+ revision: number;
793
+ } | null;
794
+ correctionFeedbackId: string | null;
795
+ receivedAt: string;
796
+ contentHash: string;
797
+ }[];
798
+ decisions: {
799
+ schemaVersion: "openpond.taskAdmissionDecision.v1";
800
+ id: string;
801
+ revision: number;
802
+ evidence: {
803
+ id: string;
804
+ contentHash: string;
805
+ revision: number;
806
+ };
807
+ supersedes: {
808
+ id: string;
809
+ contentHash: string;
810
+ revision: number;
811
+ } | null;
812
+ actor: {
813
+ kind: "human" | "qualified_policy";
814
+ id: string;
815
+ policy: {
816
+ id: string;
817
+ contentHash: string;
818
+ revision: number;
819
+ } | null;
820
+ };
821
+ evidenceValidity: "pending" | "valid" | "invalid";
822
+ taskAdmissibility: "pending" | "rejected" | "approved";
823
+ observedQuality: "failed" | "passed" | "unavailable" | "unscored";
824
+ targetApproval: "pending" | "rejected" | "approved" | "not_required";
825
+ approvedTarget: Record<string, import("zod").JSONType> | null;
826
+ grade: {
827
+ schemaVersion: "openpond.rewardComposition.v1";
828
+ binding: {
829
+ id: string;
830
+ contentHash: string;
831
+ revision: number;
832
+ };
833
+ taskHash: string;
834
+ outputHash: string;
835
+ results: {
836
+ graderId: string;
837
+ reward: {
838
+ id: string;
839
+ contentHash: string;
840
+ revision: number;
841
+ };
842
+ role: "evaluation" | "training";
843
+ status: "failed" | "pending" | "unavailable" | "scored";
844
+ rawScore: number | null;
845
+ normalizedScore: number | null;
846
+ passed: boolean | null;
847
+ evidenceHashes: string[];
848
+ message: string | null;
849
+ }[];
850
+ training: {
851
+ status: "unscorable" | "scored" | "not_configured";
852
+ score: number | null;
853
+ passed: boolean | null;
854
+ };
855
+ evaluation: {
856
+ status: "unscorable" | "scored" | "not_configured";
857
+ score: number | null;
858
+ passed: boolean | null;
859
+ };
860
+ contentHash: string;
861
+ } | null;
862
+ targetGrade: {
863
+ schemaVersion: "openpond.rewardComposition.v1";
864
+ binding: {
865
+ id: string;
866
+ contentHash: string;
867
+ revision: number;
868
+ };
869
+ taskHash: string;
870
+ outputHash: string;
871
+ results: {
872
+ graderId: string;
873
+ reward: {
874
+ id: string;
875
+ contentHash: string;
876
+ revision: number;
877
+ };
878
+ role: "evaluation" | "training";
879
+ status: "failed" | "pending" | "unavailable" | "scored";
880
+ rawScore: number | null;
881
+ normalizedScore: number | null;
882
+ passed: boolean | null;
883
+ evidenceHashes: string[];
884
+ message: string | null;
885
+ }[];
886
+ training: {
887
+ status: "unscorable" | "scored" | "not_configured";
888
+ score: number | null;
889
+ passed: boolean | null;
890
+ };
891
+ evaluation: {
892
+ status: "unscorable" | "scored" | "not_configured";
893
+ score: number | null;
894
+ passed: boolean | null;
895
+ };
896
+ contentHash: string;
897
+ } | null;
898
+ note: string;
899
+ decidedAt: string;
900
+ contentHash: string;
901
+ }[];
902
+ sources: {
903
+ schemaVersion: "openpond.learningSource.v1";
904
+ id: string;
905
+ revision: number;
906
+ name: string;
907
+ kind: "work" | "provider" | "direct" | "benchmark" | "opentelemetry";
908
+ taskDefinition: {
909
+ id: string;
910
+ contentHash: string;
911
+ revision: number;
912
+ };
913
+ enabled: boolean;
914
+ allowedSplits: ("train" | "validation" | "test" | "frozen_eval")[];
915
+ mapping: {
916
+ schemaVersion: "openpond.taskSourceMapping.v1";
917
+ exampleId: string;
918
+ attemptId: string;
919
+ occurredAt: string;
920
+ input: string;
921
+ observedOutput: string | null;
922
+ expected: string | null;
923
+ evaluatorContext: string | null;
924
+ familyKey: string;
925
+ split: "train" | "validation" | "test" | "frozen_eval";
926
+ } | null;
927
+ adapterVersion: string | null;
928
+ contentHash: string;
929
+ reviewOrigin?: {
930
+ modelId: string;
931
+ packageHash: string;
932
+ taskset: {
933
+ id: string;
934
+ contentHash: string;
935
+ revision: number;
936
+ };
937
+ batch: {
938
+ id: string;
939
+ contentHash: string;
940
+ revision: number;
941
+ };
942
+ rewardBinding: {
943
+ id: string;
944
+ contentHash: string;
945
+ revision: number;
946
+ };
947
+ } | undefined;
948
+ }[];
949
+ assets: {
950
+ schemaVersion: "openpond.learningTextAsset.v1";
951
+ id: string;
952
+ revision: 1;
953
+ asset: {
954
+ id: string;
955
+ path: string;
956
+ contentHash: string;
957
+ sizeBytes: number;
958
+ mediaType: string;
959
+ visibility: "policy" | "verifier" | "host_private";
960
+ };
961
+ text: string;
962
+ contentHash: string;
963
+ }[];
964
+ } | undefined;
965
+ };
966
+ taskset: {
967
+ schemaVersion: "openpond.taskset.v1";
968
+ id: string;
969
+ revision: number;
970
+ profileId: string;
971
+ createImproveRunId: string | null;
972
+ name: string;
973
+ objective: string;
974
+ purpose: "benchmark" | "general";
975
+ benchmark: {
976
+ schemaVersion: "openpond.tasksetBenchmark.v1";
977
+ definitionId: string;
978
+ releaseId: string;
979
+ releaseHash: string;
980
+ managedReleasePath: string;
981
+ adaptationSplit: "train" | "validation" | "test" | "frozen_eval";
982
+ evaluationSplit: "train" | "validation" | "test" | "frozen_eval";
983
+ primaryMetric: "foreground_tokens" | "success_rate" | "latency_ms" | "cost_usd";
984
+ qualityGate: "none" | "non_regression" | "all_pass";
985
+ source: "builtin" | "imported";
986
+ metadata: Record<string, unknown>;
987
+ } | null;
988
+ preferenceComparison: {
989
+ schemaVersion: "openpond.tasksetPreferenceComparisonBinding.v1";
990
+ releaseId: string;
991
+ releaseHash: string;
992
+ publishedAt: string;
993
+ metadata: Record<string, unknown>;
994
+ } | null;
995
+ status: "failed" | "archived" | "ready" | "draft" | "awaiting_disclosure_approval" | "awaiting_materialization_approval" | "materializing" | "validating" | "needs_review" | "baselining" | "blocked";
996
+ sourceRefs: ({
997
+ id: string;
998
+ profileId: string;
999
+ title: string;
1000
+ sourceHash: string;
1001
+ occurredAt: string;
1002
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
1003
+ secretScanStatus: "pending" | "passed" | "blocked";
1004
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
1005
+ metadata: Record<string, unknown>;
1006
+ schemaVersion: "openpond.huggingFaceDatasetSource.v1";
1007
+ kind: "huggingface";
1008
+ repositoryId: string;
1009
+ repositoryUrl: string;
1010
+ revision: string;
1011
+ configuration: string;
1012
+ upstreamSplits: string[];
1013
+ gated: boolean;
1014
+ private: boolean;
1015
+ declaredLicense: string | null;
1016
+ sourceFileHashes: string[];
1017
+ } | {
1018
+ id: string;
1019
+ profileId: string;
1020
+ title: string;
1021
+ sourceHash: string;
1022
+ occurredAt: string;
1023
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
1024
+ secretScanStatus: "pending" | "passed" | "blocked";
1025
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
1026
+ metadata: Record<string, unknown>;
1027
+ schemaVersion: "openpond.uploadedFileDatasetSource.v1";
1028
+ kind: "uploaded_file";
1029
+ originalFileNames: string[];
1030
+ mediaTypes: string[];
1031
+ sourceFileHashes: string[];
1032
+ totalBytes: number;
1033
+ parserVersion: string;
1034
+ } | {
1035
+ id: string;
1036
+ profileId: string;
1037
+ title: string;
1038
+ sourceHash: string;
1039
+ occurredAt: string;
1040
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
1041
+ secretScanStatus: "pending" | "passed" | "blocked";
1042
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
1043
+ metadata: Record<string, unknown>;
1044
+ schemaVersion: "openpond.generatedDatasetSource.v1";
1045
+ kind: "generated";
1046
+ generatorId: string;
1047
+ generatorVersion: string;
1048
+ seed: number;
1049
+ generatorHash: string;
1050
+ } | {
1051
+ id: string;
1052
+ profileId: string;
1053
+ title: string;
1054
+ sourceHash: string;
1055
+ occurredAt: string;
1056
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
1057
+ secretScanStatus: "pending" | "passed" | "blocked";
1058
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
1059
+ metadata: Record<string, unknown>;
1060
+ schemaVersion: "openpond.learningBatchDatasetSource.v1";
1061
+ kind: "learning_batch";
1062
+ batch: {
1063
+ id: string;
1064
+ revision: number;
1065
+ contentHash: string;
1066
+ };
1067
+ taskDefinition: {
1068
+ id: string;
1069
+ revision: number;
1070
+ contentHash: string;
1071
+ };
1072
+ admittedBy: string;
1073
+ } | {
1074
+ schemaVersion: "openpond.trainingSource.v1";
1075
+ id: string;
1076
+ profileId: string;
1077
+ sessionId: string;
1078
+ turnIds: string[];
1079
+ workspaceId: string | null;
1080
+ sourceHash: string;
1081
+ clusterKey: string;
1082
+ title: string;
1083
+ occurredAt: string;
1084
+ consent: {
1085
+ status: "pending" | "granted" | "denied" | "revoked";
1086
+ scope: "metadata_only" | "selected_turns" | "full_session";
1087
+ grantedBy: string | null;
1088
+ grantedAt: string | null;
1089
+ purpose: "task_authoring_and_evaluation";
1090
+ };
1091
+ connectedAppIds: string[];
1092
+ secretScanStatus: "pending" | "passed" | "blocked";
1093
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
1094
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
1095
+ metadata: Record<string, unknown>;
1096
+ })[];
1097
+ policy: {
1098
+ policyVisibleFields: string[];
1099
+ privilegedFields: string[];
1100
+ hiddenGraderRefs: string[];
1101
+ connectedAppScopes: string[];
1102
+ };
1103
+ environment: {
1104
+ protocolVersion: "openpond.taskEnvironment.v1";
1105
+ kind: "work" | "agent" | "chat" | "program" | "stateful_harness";
1106
+ entrypoint: string;
1107
+ stateful: boolean;
1108
+ deterministicSeeds: boolean;
1109
+ toolNames: string[];
1110
+ lifecycle: ("cleanup" | "create" | "grade" | "reset" | "step")[];
1111
+ defaultTimeoutMs: number;
1112
+ networkPolicy: "none" | "declared_read_only" | "declared_scoped";
1113
+ metadata: Record<string, unknown>;
1114
+ actionBindings?: {
1115
+ schemaVersion: "openpond.harnessActionBinding.v1";
1116
+ actionId: string;
1117
+ modelToolName: string;
1118
+ description: string;
1119
+ inputSchema: Record<string, unknown>;
1120
+ actionSchemaHash: string;
1121
+ agentRelease: {
1122
+ id: string;
1123
+ contentHash: string;
1124
+ };
1125
+ implementationHash: string;
1126
+ runtimeBindingId: string;
1127
+ capabilityReceiptHash: string;
1128
+ sideEffect: "read" | "write";
1129
+ studentVisible: boolean;
1130
+ timeoutMs: number;
1131
+ episodeArgumentBindings: {
1132
+ argument: string;
1133
+ source: "case_id";
1134
+ }[];
1135
+ }[] | undefined;
1136
+ resources?: {
1137
+ id: string;
1138
+ kind: "file" | "catalog" | "configuration" | "code_module";
1139
+ path: string;
1140
+ visibility: "privileged" | "policy_visible" | "policy_hidden";
1141
+ required: boolean;
1142
+ metadata: Record<string, unknown>;
1143
+ mediaType?: string | null | undefined;
1144
+ }[] | undefined;
1145
+ };
1146
+ capabilities: {
1147
+ schemaVersion: "openpond.tasksetCapabilities.v1";
1148
+ taskKind: "custom_program" | "chat" | "single_agent" | "multi_agent";
1149
+ supportedSignals: ("label" | "reward" | "feedback" | "preference" | "demonstration" | "correction")[];
1150
+ compatibleMethods: ("none" | "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opd" | "opsd" | "sdpo" | "retrieval")[];
1151
+ rewardKinds: ("none" | "model_judge" | "human" | "deterministic" | "exact")[];
1152
+ requiresTools: boolean;
1153
+ requiresState: boolean;
1154
+ requiresPrivilegedGrading: boolean;
1155
+ environmentPlacements: ("local" | "remote" | "colocated" | "provider_native")[];
1156
+ exportable: boolean;
1157
+ portabilityBlockers: string[];
1158
+ };
1159
+ tasks: {
1160
+ schemaVersion: "openpond.taskData.v1";
1161
+ id: string;
1162
+ clusterKey: string;
1163
+ split: "train" | "validation" | "test" | "frozen_eval";
1164
+ input: Record<string, unknown>;
1165
+ expectedOutput: Record<string, unknown> | null;
1166
+ policyVisibleContext: Record<string, unknown>;
1167
+ privilegedContextRef: string | null;
1168
+ sourceRefs: string[];
1169
+ tags: string[];
1170
+ metadata: Record<string, unknown>;
1171
+ assets?: {
1172
+ id: string;
1173
+ sourceRefId: string;
1174
+ artifactRef: string;
1175
+ fileName: string;
1176
+ mediaType: string;
1177
+ sha256: string;
1178
+ sizeBytes: number;
1179
+ split: "train" | "validation" | "test" | "frozen_eval";
1180
+ metadata: Record<string, unknown>;
1181
+ }[] | undefined;
1182
+ resourceRefs?: string[] | undefined;
1183
+ requiredOutputs?: {
1184
+ path: string;
1185
+ mediaType: string;
1186
+ metadata: Record<string, unknown>;
1187
+ schemaRef?: string | null | undefined;
1188
+ maxBytes?: number | undefined;
1189
+ }[] | undefined;
1190
+ }[];
1191
+ graders: ({
1192
+ id: string;
1193
+ version: string;
1194
+ label: string;
1195
+ weight: number;
1196
+ hardGate: boolean;
1197
+ rewardEligible: boolean;
1198
+ privileged: boolean;
1199
+ metadata: Record<string, unknown>;
1200
+ kind: "file" | "state" | "test" | "content" | "schema" | "runtime_event" | "diff";
1201
+ config: Record<string, unknown>;
1202
+ } | {
1203
+ id: string;
1204
+ version: string;
1205
+ label: string;
1206
+ weight: number;
1207
+ hardGate: boolean;
1208
+ rewardEligible: boolean;
1209
+ privileged: boolean;
1210
+ metadata: Record<string, unknown>;
1211
+ kind: "model_judge";
1212
+ rubric: string;
1213
+ judge: {
1214
+ providerId: "openpond" | "codex" | "anthropic" | "openai" | "xai" | "google" | "openrouter" | "deepseek" | "zai" | "moonshot" | "together" | "groq" | "custom-openai-compatible";
1215
+ modelId: string;
1216
+ };
1217
+ calibrationFixtureRefs: string[];
1218
+ calibrationStatus: "failed" | "pending" | "passed";
1219
+ temperature: number;
1220
+ } | {
1221
+ id: string;
1222
+ version: string;
1223
+ label: string;
1224
+ weight: number;
1225
+ hardGate: boolean;
1226
+ rewardEligible: boolean;
1227
+ privileged: boolean;
1228
+ metadata: Record<string, unknown>;
1229
+ kind: "human";
1230
+ rubric: string;
1231
+ reviewerRole: string;
1232
+ } | {
1233
+ id: string;
1234
+ version: string;
1235
+ label: string;
1236
+ weight: number;
1237
+ hardGate: boolean;
1238
+ rewardEligible: boolean;
1239
+ privileged: boolean;
1240
+ metadata: Record<string, unknown>;
1241
+ kind: "custom_verifier";
1242
+ module: string;
1243
+ exportName: string;
1244
+ timeoutMs: number;
1245
+ networkPolicy: "none";
1246
+ })[];
1247
+ graderFixtures: {
1248
+ id: string;
1249
+ taskId: string;
1250
+ label: "infrastructure_failure" | "positive" | "negative" | "boundary" | "adversarial" | "prompt_injection";
1251
+ output: Record<string, unknown>;
1252
+ infrastructureError: string | null;
1253
+ expectedPassed: boolean;
1254
+ expectedRewardEligible: boolean;
1255
+ metadata: Record<string, unknown>;
1256
+ }[];
1257
+ learningSignals: {
1258
+ demonstrations: {
1259
+ id: string;
1260
+ taskId: string | null;
1261
+ sourceRefs: string[];
1262
+ artifactRef: string;
1263
+ approved: boolean;
1264
+ confidence: number;
1265
+ metadata: Record<string, unknown>;
1266
+ kind: "demonstration";
1267
+ prompt: string | null;
1268
+ response: string | null;
1269
+ }[];
1270
+ preferences: {
1271
+ id: string;
1272
+ taskId: string | null;
1273
+ sourceRefs: string[];
1274
+ artifactRef: string;
1275
+ approved: boolean;
1276
+ confidence: number;
1277
+ metadata: Record<string, unknown>;
1278
+ kind: "preference";
1279
+ prompt: string;
1280
+ chosen: string;
1281
+ rejected: string;
1282
+ rationale: string | null;
1283
+ }[];
1284
+ corrections: {
1285
+ id: string;
1286
+ taskId: string | null;
1287
+ sourceRefs: string[];
1288
+ artifactRef: string;
1289
+ approved: boolean;
1290
+ confidence: number;
1291
+ metadata: Record<string, unknown>;
1292
+ kind: "correction";
1293
+ original: string;
1294
+ corrected: string;
1295
+ rationale: string | null;
1296
+ }[];
1297
+ feedback: {
1298
+ id: string;
1299
+ taskId: string | null;
1300
+ sourceRefs: string[];
1301
+ artifactRef: string;
1302
+ approved: boolean;
1303
+ confidence: number;
1304
+ metadata: Record<string, unknown>;
1305
+ kind: "feedback";
1306
+ feedback: string;
1307
+ polarity: "neutral" | "positive" | "negative" | "mixed";
1308
+ }[];
1309
+ rewards: {
1310
+ id: string;
1311
+ taskId: string | null;
1312
+ sourceRefs: string[];
1313
+ artifactRef: string;
1314
+ approved: boolean;
1315
+ confidence: number;
1316
+ metadata: Record<string, unknown>;
1317
+ kind: "reward";
1318
+ task: string;
1319
+ rules: {
1320
+ id: string;
1321
+ points: number;
1322
+ condition: string;
1323
+ }[];
1324
+ otherwisePoints: number;
1325
+ executable: boolean;
1326
+ }[];
1327
+ labels: {
1328
+ id: string;
1329
+ taskId: string | null;
1330
+ sourceRefs: string[];
1331
+ artifactRef: string;
1332
+ approved: boolean;
1333
+ confidence: number;
1334
+ metadata: Record<string, unknown>;
1335
+ kind: "label";
1336
+ labelKind: "rubric";
1337
+ task: string;
1338
+ criteria: {
1339
+ id: string;
1340
+ label: string;
1341
+ description: string;
1342
+ }[];
1343
+ calibrationExamples: {
1344
+ positive: string;
1345
+ negative: string;
1346
+ boundary: string;
1347
+ };
1348
+ }[];
1349
+ };
1350
+ authoringProvenance: {
1351
+ schemaVersion: "openpond.taskAuthoringProvenance.v1";
1352
+ model: {
1353
+ providerId: "openpond" | "codex" | "anthropic" | "openai" | "xai" | "google" | "openrouter" | "deepseek" | "zai" | "moonshot" | "together" | "groq" | "custom-openai-compatible";
1354
+ modelId: string;
1355
+ } | null;
1356
+ modelConfig: Record<string, unknown>;
1357
+ skillHash: string;
1358
+ promptTemplateVersion: string;
1359
+ buildIntent: "rubric" | "demonstrations" | "preferences" | "verifiable_reward" | "discovery";
1360
+ buildSpecification: {
1361
+ kind: "demonstrations";
1362
+ behavior: string;
1363
+ examples: {
1364
+ id: string;
1365
+ prompt: string;
1366
+ response: string;
1367
+ }[];
1368
+ } | {
1369
+ kind: "preferences";
1370
+ preference: string;
1371
+ pairs: {
1372
+ id: string;
1373
+ prompt: string;
1374
+ chosen: string;
1375
+ rejected: string;
1376
+ rationale: string;
1377
+ }[];
1378
+ } | {
1379
+ kind: "verifiable_reward";
1380
+ task: string;
1381
+ rules: {
1382
+ id: string;
1383
+ points: number;
1384
+ condition: string;
1385
+ }[];
1386
+ otherwisePoints: number;
1387
+ } | {
1388
+ kind: "rubric";
1389
+ task: string;
1390
+ criteria: {
1391
+ id: string;
1392
+ label: string;
1393
+ description: string;
1394
+ }[];
1395
+ positiveExample: string;
1396
+ negativeExample: string;
1397
+ boundaryExample: string;
1398
+ } | null;
1399
+ evidenceHashes: string[];
1400
+ tasksetSdkVersion: string;
1401
+ sourceCommit: string | null;
1402
+ repairHistory: {
1403
+ attempt: number;
1404
+ summary: string;
1405
+ createdAt: string;
1406
+ }[];
1407
+ createdAt: string;
1408
+ };
1409
+ readiness: {
1410
+ schemaVersion: "openpond.tasksetReadiness.v1";
1411
+ tasksetId: string;
1412
+ tasksetHash: string;
1413
+ ready: boolean;
1414
+ recommendedMethod: "none" | "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opd" | "opsd" | "sdpo" | "retrieval";
1415
+ trainingPath: {
1416
+ primaryMethod: "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opsd" | "sdpo";
1417
+ bootstrap: {
1418
+ method: "sft";
1419
+ purpose: "trajectory_bootstrap";
1420
+ demonstrationRefs: string[];
1421
+ limitations: string[];
1422
+ } | null;
1423
+ } | null;
1424
+ methodReadiness: {
1425
+ method: "sft" | "dpo" | "grpo" | "ppo";
1426
+ status: "recommended" | "compatible" | "needs_dataset_work";
1427
+ reasonCodes: ("taskset_not_ready" | "demonstrations_missing" | "preference_pairs_missing" | "preference_pairs_invalid" | "executable_reward_missing" | "reward_not_calibrated" | "reward_model_missing" | "value_model_required" | "frozen_eval_missing")[];
1428
+ reasons: string[];
1429
+ }[];
1430
+ compatibleDestinationClasses: ("custom" | "export" | "hosted_managed")[];
1431
+ blockers: {
1432
+ code: string;
1433
+ message: string;
1434
+ path: string | null;
1435
+ }[];
1436
+ advisories: {
1437
+ code: string;
1438
+ message: string;
1439
+ path: string | null;
1440
+ }[];
1441
+ warnings: string[];
1442
+ generatedAt: string;
1443
+ } | null;
1444
+ contentHash: string;
1445
+ createdAt: string;
1446
+ updatedAt: string;
1447
+ metadata: Record<string, unknown>;
1448
+ profileRelease?: {
1449
+ id: string;
1450
+ contentHash: string;
1451
+ revision: number;
1452
+ } | null | undefined;
1453
+ datasetArtifact?: {
1454
+ schemaVersion: "openpond.datasetArtifact.v1";
1455
+ id: string;
1456
+ tasksetId: string;
1457
+ tasksetRevision: number;
1458
+ contentHash: string;
1459
+ format: "parquet";
1460
+ schema: {
1461
+ schemaVersion: "openpond.datasetSemanticSchema.v1";
1462
+ fields: {
1463
+ name: string;
1464
+ semanticRole: "metadata" | "prompt" | "reward" | "feedback" | "rejected" | "messages" | "row_id" | "cluster_id" | "demonstration" | "chosen" | "expected_output" | "privileged_context" | "tag";
1465
+ logicalType: "string" | "boolean" | "messages" | "integer" | "float" | "json";
1466
+ nullable: boolean;
1467
+ policy: "metadata" | "privileged" | "visible";
1468
+ }[];
1469
+ schemaHash: string;
1470
+ };
1471
+ shards: {
1472
+ id: string;
1473
+ split: "train" | "validation" | "test" | "frozen_eval";
1474
+ path: string;
1475
+ contentHash: string;
1476
+ schemaHash: string;
1477
+ sizeBytes: number;
1478
+ rowCount: number;
1479
+ rowGroupCount: number;
1480
+ }[];
1481
+ rowCount: number;
1482
+ splitCounts: Record<"train" | "validation" | "test" | "frozen_eval", number>;
1483
+ sourceReceiptRefs: string[];
1484
+ mappingHash: string;
1485
+ qualityReportHash: string;
1486
+ createdAt: string;
1487
+ } | null | undefined;
1488
+ metrics?: {
1489
+ schemaVersion: "openpond.tasksetMetricPolicy.v1";
1490
+ primaryMetric: string;
1491
+ aggregation: "custom" | "mean_score" | "pass_rate" | "weighted_mean";
1492
+ missingReward: "zero" | "exclude";
1493
+ customAggregator: {
1494
+ module: string;
1495
+ exportName: string;
1496
+ contentHash: string;
1497
+ timeoutMs: number;
1498
+ networkPolicy: "none";
1499
+ } | null;
1500
+ taskWeights?: Record<string, number> | undefined;
1501
+ } | undefined;
1502
+ };
1503
+ generatedFiles: {
1504
+ path: string;
1505
+ role: "environment" | "verifier" | "fixture";
1506
+ content: string;
1507
+ }[];
1508
+ };
1509
+ export type PreparedImportedTasksetPackage = ReturnType<typeof prepareImportedTasksetPackage> & {
1510
+ reuseExisting?: boolean;
1511
+ };
1512
+ /** Stable source identity; it is never an authorization or object-store pointer. */
1513
+ export declare function tasksetPackageSourceId(profileId: string, packageHash: string): string;
1514
+ //# sourceMappingURL=taskset-package-projection.d.ts.map