recover

fun recover()

Transition Weaving → Woven. Inbound delivery and peers resume from the delegate.

No-op if already SeamState.Woven or SeamState.Torn — and, like enterWeaving, a no-op once tear has latched the gate, whichever dispatcher the two ran on. onRecover returns its argument identically for every non-transition, so next !== current narrows next to SeamState.Woven and SeamStateGate.update can never be handed a Torn.