CapabilityGaps
Stable CapabilityGaps URLs for by-design capability limitations (see docs/architecture.md#capability-gaps-by-design).
Properties
A fabric with no live OS path observer, so us.tractat.kuilt.core.Seam.capability is a static us.tractat.kuilt.core.FabricAvailability.Unknown floor rather than a reactive value. A fabric gap, not a harness gap: the platform observer simply has not been wired yet. Track B (#1542 multipeer, #1543 nearby, #1544 webrtc, #1545 composite, #1546 mux, #1725 websocket) closes these one lane at a time.
A conformance harness that cannot inject a membership drain — a peer leaving Seam.peers while the survivor's state stays us.tractat.kuilt.core.SeamState.Woven (no transport tear), the distinct event #1466 relied on (see SeamConformanceSuite.membershipDrainGap). Not a fabric gap — a harness gap: a strictly-2-peer mesh must latch us.tractat.kuilt.core.SeamState.Torn when its only link drops, so it cannot model a drain-without-tear at all; only an N-peer harness (e.g. the shared-roster InMemoryLoom) can drop one peer and leave the survivor Woven.
Relay / multi-hop fabrics that do not deliver directly peer-to-peer.
A conformance harness that has not implemented mid-session transport-death injection (see SeamConformanceSuite.midSessionDeathGap). Not a fabric gap — a harness gap: the harness cannot reach a raw transport handle to drop out from under a live session, so the remote-disconnect half of the incoming-completes-on-Torn obligation is unproven.
A fabric that names no frame ceiling — us.tractat.kuilt.core.Seam.maxPayloadBytes is null (see SeamConformanceSuite.payloadBudgetGap).
Fabrics unencrypted on the wire by design (plaintext ws://, raw TCP, in-memory).
A conformance harness that cannot inject a self-dial — a peer resolving a connection to its OWN selfId, the #1466 class (symmetric advertise+browse fabrics are delivered their own advertisement and dial it; see SeamConformanceSuite.selfDialGap). Not a fabric gap — a harness gap: only a harness that can drive a live seam to see a connection to its own identity (e.g. the FakeNwRadio self-endpoint delivery) can prove the guard drops it; a relay/2-peer harness with no self-discovery cannot self-dial at all.