injectMidSessionDeath

open suspend fun injectMidSessionDeath(host: Seam, joiner: Seam): Boolean

Inject a mid-session transport death under both host and joiner — the way a real fabric dies when the underlying connection drops rather than being closed by the application. Return true if the harness performed the injection; false (the default) means "this harness cannot inject death", and incomingCompletesOnInjectedMidSessionDeath early-returns without asserting.

This is a harness capability, not a fabric SeamCapabilities flag — only a harness with a handle on the transport under the seam (e.g. an in-memory mesh over a connectionPair) can drop it out from under a live session. An overriding harness drops the underlying connection(s) so each side observes a remote disconnect (not a local close()), then returns true. Because the seam is peer-symmetric, a 2-peer transport death is symmetric: both ends latch SeamState.Torn and both incoming flows complete — which is what incomingCompletesOnInjectedMidSessionDeath asserts. A harness that overrides this to true MUST also override midSessionDeathGap to return null (the obligation is now proven).