Apply a captured chain + processing onto a channel atomically and broadcast it.
Apply a snapshot atomically, replacing current state. The provider is responsible for ordering (faders/mutes/pans then chains, etc.) and for broadcasting the result; the caller only awaits completion.
Capture one channel's chain + processing (for a channel config).
Capture the entire console as a serialisable snapshot.
The PEER that owns fact on this channel right now, or nothing where the desk's own stage
owns it — the contract's owner column (ownerOf) evaluated against the live console.
The seam exists because a whole-state door must resolve ownership the SAME way the fact's
own row does: /channel/{kind}/{index}/gain refuses OWNED_BY_PEER on a sens-capable input
because the head-amp entity owns that channel's gain, and a config or a session that wrote
straight through the engine moved a real preamp the row refuses to move. One resolution,
consulted by the apply and by the warning the operator reads before it.
Reads + writes the live console state for the persistence stores.