OptionalchannelsEvery channel the console holds a strip for — the membership question a console-wide snapshot asks. Optional because the lookup half is what a READ needs; a source that cannot list its strips simply contributes no mute frames to a snapshot rather than inventing them.
OptionallinkThe stereo-link LEDGER's own answer for a channel — which half it is, and who its partner is (audit D5). This is the fact that decides whether a write is a follower's and must be refused, and it is asked of its owner on every access, exactly as MuteHoldSource asks the hold entities. A copy of it kept on the strip reads "unlinked" for every pair made through a door that did not refresh the copy — and a follower that is not recognised accepts a write it must refuse, muting the silent half of the pair while the audible one plays on.
Optional: a console with no link ledger has no pairs. That is a different claim from a ledger reporting none, and leaving this out is how a source states which of the two it is.
The strip whose mute field IS this entity's state, or undefined if there is none.
Where the ONE state lives.
An implementation returns the strip object the console holds, not a copy — this resource writes
strip.mutein place, so the authority and what clients are told cannot diverge. Returningundefinedmeans the channel is not on this console, which the layer turns into a not-found rather than a default.The implementation also decides which channels exist at all: a console that has no strip for
muteGroup/1simply has no mute resource there, without this file inventing a policy for control-only channel kinds.