SeamState
One peer's view of whether the fabric can carry frames.
Orthogonal to Seam.peers: Woven with peers == {selfId} is a fully legitimate, well-defined state — the fabric is live and this peer is simply alone in the session. "Can I inject frames" (this) and "who can I reach" (peers) are different questions.
Lifecycle: Weaving → Woven → Torn(reason). Woven → Weaving is permitted if a fabric supports re-establishment; Torn is terminal.