plan.json and result.json now carry HEAD, the dirty flag, the src tree hash and the runner hash, labelled current_checkout; result.json is refused if the checkout changed during the run. Numerics, sampling and the frozen steady rule are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>