leave

abstract suspend fun leave(reason: LeaveReason = LeaveReason.Normal)

Leave the room cleanly. Idempotent.

A leave failure must not be reported as a cancellation — the obligation us.tractat.kuilt.core.Seam.close states in full (#1826). A host calls this from a teardown path that is itself usually already cancelled, under a best-effort guard, so a callee-minted CancellationException here costs that host the rest of its cleanup rather than failing one leave.