What to save
The SDK training client represents one interactive Fastino job. Read its
canonical ID from
training_client.get_info().model_data.model_id.
1. Save state and loop progress
Save state through the SDK, then persist the returned checkpoint with the client-owned fields needed to continue:2. Read the newest complete record
A process can stop while writing the final line. Scan backward and skip a malformed tail:3. Validate before loading
Compare the record with the requested continuation:- Canonical job ID
- Base model and trainable configuration
- Dataset revision and cursor
- Reward implementation revision
- Optimizer configuration
- Renderer and tokenizer assumptions
4. Make the boundary recoverable
Use this order:- Resolve the forward/backward and optimizer futures.
- Save the state checkpoint.
- Persist the loop record containing its identifier.
- Mark the application step complete.
- Begin the next step.
5. Keep checkpoint kinds separate
6. Verify the continuation
Before scaling the resumed workload:- Load the selected state checkpoint.
- Confirm the SDK client’s canonical job ID through
GET /v1/training/jobs/{job_id}. - Run a small held-out evaluation.
- Submit one supported training update.
- Save a new state checkpoint under a new name.
- Persist the next loop record.

