# Phase 2.1A step budget v2 Date: 2026-08-27 ## Decision Replace the inherited 15,000-step fixed run with a 3,000-step hard cap and pre-registered ID-dev early stopping. Apply the same cap and selection rule to Robometer-Low-LoRA and the future full-decoder Robometer-Low comparison. ## Scale calculation - Frozen train set: 2,021 preference pairs. - Effective batch: 64 pairs per optimizer step. - 15,000 steps: 960,000 pair presentations, approximately 475 nominal passes. - 3,000-step cap: 192,000 pair presentations, approximately 95 nominal passes. - Minimum 1,000 steps: 64,000 pair presentations, approximately 32 nominal passes. The official 15,000-step value was copied from the million-scale RBM-1M recipe; it was not estimated from this 2,021-pair Low split. ## Evidence from the stopped v1 run The user-stopped seed-7 run logged through step 246. Mean total train loss fell from 4.573 over steps 1-25 to 3.218 over steps 201-225; the last-100-step linear trend was still negative by about 0.455 per 100 steps. It had not converged. However, the 15,000-step scheduler used 750 warmup steps, so step 246 had reached only about 33% of the target learning rate. This curve cannot be extrapolated to justify 15,000 steps. ## Selection protocol - Scheduler: cosine with 5% warmup; 150 warmup steps at the cap. - Evaluate every 250 steps on the original 108-pair `dev` split. - Evaluate both A/B orientations for each pair. - Select by the sum of mean preference, progress, and success ID-dev losses. - Minimum training: 1,000 steps. - Early stop after four consecutive evaluations without an improvement of at least 0.005 ID-dev loss. - Restore the best ID-dev checkpoint for export. - Do not use `confirmation_dev` or RBM-EVAL-OOD for selection. The cap is a safety bound, not a claim that every seed needs exactly 3,000 steps. The selected step is an experimental result recorded per seed. ## Restart boundary The v1 run is not resumed into v2. Its latest complete checkpoint is step 4, and v2 changes both the scheduler horizon and checkpoint-selection protocol. All v2 seeds must start from the same pinned base model in a new output root.