localFabric

This peer's own Room.localFabric at the instant this event was emitted.

Precedence. When this is FabricAvailability.Unavailable, this event is not evidence about the host — our own end of the fabric was down, so its silence says nothing about it. This is the highest-value site for the distinction: a joiner whose own radio died would otherwise render "the host is gone" (#1712). Read it off the event rather than correlating two streams by timestamp.

FabricAvailability.Unknown means the fabric has no path observer, so precedence cannot be determined — treat it as "no information", not as "we were fine". It is the normal value on every fabric without a live OS path observer (see SeamCapabilities.reportsLiveCapability), so a consumer must handle it as a first-class third answer rather than a gap.

Best-effort on a bonded multi-transport room (#1778). Over a CompositeSeam the rolled-up availability is an eventually-consistent fold of what each transport last announced, so when every transport drops within one dispatch window this tag can capture a briefly-stale value. It converges immediately after — but an event is a snapshot, so the captured value does not. A single-transport room has no such fold and no such window. Room.localFabric and Room.roster are the authoritative surfaces: re-read Room.localFabric at handling time if a decision must be certain.