openpond-sdk 0.8.0 → 0.8.2

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.
@@ -78,6 +78,44 @@ checkpoint inventory or qualification metrics, when the portable client needs
78
78
  that evidence to validate the artifact. This metadata is immutable output
79
79
  evidence, not private worker-control, lease, or provider state.
80
80
 
81
+ ## Manual run preparation
82
+
83
+ Hosts supporting reviewed-data training expose these authenticated, team-scoped
84
+ routes through `createTrainingClient`:
85
+
86
+ ```text
87
+ POST /v1/training/preparations
88
+ GET /v1/training/preparations?state=prepared&limit=25
89
+ GET /v1/training/preparations/{preparationId}?teamId=
90
+ POST /v1/training/preparations/{preparationId}/start
91
+ POST /v1/training/preparations/{preparationId}/cancel
92
+ ```
93
+
94
+ `prepareRun` accepts a stable operation ID, the expected configuration revision
95
+ and ETag, an exact sealed batch reference, an optional organizing Project, a run
96
+ name and a maximum spend. Preparation freezes the executable inputs and stages
97
+ artifacts without starting compute or creating a recurring learning policy.
98
+ The returned plan binds its creator, request hash, source and submission hash.
99
+ The SDK verifies both plan and request identity before returning the receipt.
100
+
101
+ `startPreparation` and `cancelPreparation` require the retained plan hash and
102
+ observed receipt revision. Starting uses the stored submission; mutable
103
+ configuration changes do not silently recompile a prepared run. Providers must
104
+ serialize cancellation with job and dispatch creation, retain the submitted job
105
+ ID, and make identical retries return that same job. A cancelled preparation
106
+ cannot start. Once submitted, use the ordinary job cancellation controls.
107
+ Reading a preparation does not authorize starting it; the host rechecks scope,
108
+ creator permissions, resource access, runtime availability and spending limits.
109
+
110
+ `listPreparations(teamId, { state, projectId, afterId, limit })` discovers the
111
+ authenticated user's preparations in that workspace. Filters are optional;
112
+ `limit` defaults to 25 and is bounded at 100. Hosts return descending ID order
113
+ and a `nextCursor` identifying the last returned preparation when another page
114
+ exists. A Project filter uses the preparation's saved association. Listing never
115
+ recompiles inputs or starts jobs. The SDK verifies each immutable receipt and
116
+ rejects wrong-workspace, wrong-filter, duplicate or inconsistent cursor pages.
117
+ Resume using `getPreparation` before an explicit start or discard operation.
118
+
81
119
  ## Deterministic grading identity
82
120
 
83
121
  For portable training bundles, derive `job.rewardSource` with