=== ROUTER STEP FACTS CONTRACT VALIDATION === step=STEP_048H_HMN_RECOVERY_ADAPTER_DRYRUN_STALE_POOL_GUARD decision=PASS all_ok=True structure_ok=True success_ok=True expected_absence_ok=True blockers_ok=True success_checks_count=19 expected_absence_count=0 warnings: - Adapter is dry-run/status-only. - It refuses stale pool and performs no recovery. - No ifup/ifdown, no uci set, no wg set, no route changes, no VM100/VM121 changes. - Actual recovery apply remains future work after fresh pool refresh is repaired.