openpond-sdk 0.5.6 → 0.5.8

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