Prepare the experiment
You need an accessible practice dataset, a separate held-out dataset, and a validated actor profile selecting a supported trainable model. Keep a baseline copy of that profile and freeze the task verifier or judge used for comparison. The profile supplies the model and execution recipe. Do not add separate model or harness flags to the training command. Task resource limits and timeouts remain the defaults unless you explicitly override supported fields in the plan. Limits and resources distinguishes workload size from concurrency and resource policy.Choose the work amount
Save this astrain-plan.json:
--judge, each task’s verifier supplies the score. An explicit judge profile replaces that verifier. There is no unscored training.
Inspect, then submit
--dry-run:
synth run to inspect training; there is no separate set of training readers.
Verify what training produced
Evaluate the checkpoint with the same recipe
Copybaseline.json to trained.json. Change only agent.model to the checkpoint UUID you selected. Keep the engine version, instructions, files, tools and output contract unchanged.
eval-plan.json and the complete comparison.
Look for actual quality gains, regressions, false positives, reliability and execution cost. Training rewards come from changing models; they are not a replacement for this fresh fixed-checkpoint evaluation.
Starting from a checkpoint versus resuming optimization
Training starts with fresh optimizer state by default, including when the actor selects an existing checkpoint. To request continuation of compatible optimizer and trainer state, set"optimizer_initialization": "resume" in the plan. The actor’s model must be a checkpoint UUID. A new submission still has its own run ID and work plan; the input checkpoint is not a checkpoint created by that new run.
A platform recovery within one run is different again. It should not be treated as an operator request for another training experiment.