river-client>=0.11.0,<0.12.
From the reviewed source checkout:
RIVER_API_KEY through your environment for live use. Local preflight checks SDK,
Python, and credential presence without constructing a client or making a provider request.
--live separately queries account model capabilities; neither mode trains or samples.
A passing capability report does not establish funding, capacity, or model quality.
Choose the actual workflow
The studio’s River backend supports SFT, not native studio GRPO/GSPO/DAPO. These workflows
have different data and recovery contracts. A nominal algorithm name does not establish
that the same trainer, reward, or optimizer schedule was used.
Managed SFT and hosted artifacts
The studio requires explicitcost_policy: provider_billed and an authorized remote launch
with --allow-paid. This interface does not enforce a dollar ceiling or a River whole-run
deadline. Token reservations and request timeouts are not dollar-spend guarantees.
SFT captures dataset source bytes/row identity and starting-checkpoint lineage before work.
For continuation, a RemoteJobSpec can explicitly set harvest.checkpoint to a river://
URI or a directory with river_checkpoint.json. Declared model/rank compatibility is checked
before provider work. parent_adapter records lineage separately; it does not load weights.
Results retain river_checkpoint.json, a river:// URI, and provenance. The file is a
hosted pointer, not downloaded adapter weights, so local serve --checkpoint cannot load
it. Hosted inference/deployment has its own account capability and billable lifecycle.
Native refund RL
Inspect the runner and prepare its default offline plan from the source checkout:Recovery and provider uncertainty
Synchronous RL persists validatedrl_state.json and optimizer checkpoint progress.
Explicit resume restores the last committed state and executes only remaining rounds.
If all rounds committed, final local publication can finish offline. Missing/corrupt state
blocks continuation instead of restarting fresh.
An in-flight remote update can outlive client interruption. Local receipts cannot undo it,
refund its usage, or independently attest remote weight bytes. Preserve the original
configuration/handle and inspect committed progress before retrying. Cleanup errors retain
the original training outcome and diagnostics; a completed checkpoint can remain fetchable
even when client cleanup fails.
Native recovery and study admission use their separate retained-state protocol. Do not
substitute the local studio checkpoint flow
for River-hosted state.
Latest retained results
The recovery RL test difference was 0.625 percentage points, with exact two-sided seed
sign-flip p = 0.125 and seed/case bootstrap 95% interval [0, 1.458] percentage points.
These observations condition on 40 shared synthetic case clusters and six training seeds;
four rollouts per case are aggregated before inference. They are not 960 independent
merchant trials or six independent base-model/SFT-parent replications.
An initial consecutive-seed protocol was stopped after discovering deterministic
sampler-stream reuse. It submitted zero optimizer updates and no evaluation cases; its
admissions/cost uncertainty remain separate. The corrected protocol retained a
source-bound sampler audit and widely spaced seeds. Distinct seed identities prevent
direct reuse under that audit; they do not prove random-stream independence.
The final study retained no observed test regressions but failed its significance and
prespecified strict per-seed improvement requirements. No best seed or checkpoint was
promoted. Billed dollar cost is unavailable; reserved tokens are admission bounds rather
than actual usage or a dollar cap. Production quality remains unverified.
Reproduce the review boundary
The evidence source is the local October 20, 2026benchmark_results/training_contracts/20261020/river-recovery-replication/README.md and
replication-statistics.json, with the stopped protocol retained separately. The provider
contract is docs/RIVER_PROVIDER.md; the arithmetic and boundary studies have their own
dated reports. Keep their original protocol, failures, and unattempted holdouts when
reporting results.
Current native SDK CI uses the real River rollout engine/trainer with scripted transport
and forbids live client/RPC construction. Those offline contract checks are separate from
paid provider evidence. No live training, deployment, or model-quality claim follows merely
from a passing mock suite.
Continue with data isolation or
checkpoint selection and quality evidence.