tear
The single-shot terminal transition — the close decision. Publishes SeamState.Torn with reason and latches the gate so every subsequent update no-ops. Returns true for the one winning caller and false if the gate was already torn — subsuming each seam's ad-hoc single-shot closed atomic (migrating seams delete a field rather than gain one).