1. Zero-target normalization: scale=max(|target|,|observed|,1.0) instead of
max(|target|,1e-6). Prevents Q-mean (target=0) from producing infinite
error that steals entire budget from other observables.
2. Per-observable budget cap: each observable gets budget/N_OBS instead of
competing for a global pool. One runaway can't starve the others.
3. Readiness-driven alpha: alpha = 0.3*(1-readiness) + 0.01*readiness.
Model readiness drives target adaptation speed, not epoch number.
Exploring → fast targets. Converged → slow targets. Never frozen.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>