A reset peer reaches needs_attention via the auth-failure path (HMAC desynced by the new incarnation) without passing through unreachable, so the 5s recovery probe never saw it — detection waited up to a full 15-min health-check cycle before 'Re-peer & heal' surfaced. Extract detectResetForPeer() and fire it event-driven at the transition, plus a startup sweep for already-stuck peers. 15-min tick remains the backstop.