# WG Paid / MGTS — R20M R02 fresh-pool readiness and transactional refresh ## Continuation R20M R01 stopped before any runtime impact because its baseline verifier used a context-sensitive `git ls-tree` path query. R20M R02 replaces it with exact `git rev-parse HEAD:path` resolution and preserves the original readiness/refresh scope. ## Purpose Prepare VM101 for the controlled R20H R06 LOCAL_REPAIR test after R20L installed complete candidate-config binding. ## Decision The step first proves exact Machine Git baseline `d0c0a77486665b0abfef8133f0cccd20c6232b46`, NORMAL mode, counter zero, Direct disabled, no recovery locks and five healthy consistent slots. It then applies the same pool-selection semantics as the production adapter. If a fresh eligible reserve candidate with a complete config already exists, the step performs no refresh. Otherwise it invokes the existing production full-pool orchestrator once with explicit force confirmation bound to the active generation. ## Safety The production orchestrator owns download, testing, ranking, generation build, validation and one-time transactional activation. A failed refresh must preserve the old active generation and working slots, record durable DEGRADED_POOL and keep Direct disabled. The STEP does not automatically revert that intended failure state. A successful refresh must end in NORMAL with five healthy slots, counter zero, a new generation, consistent endpoints and at least one fresh non-active, non-quarantined candidate with a complete HideMyName config. ## Next After PASS, run R20H R06 controlled live-port injection against vpn2.