The stages a strip of this KIND carries, in canonical (default) order — the vocabulary the
row's codec publishes and the list an override must be a permutation of.
Derived from the channel contract, never from a hand-kept list beside it: each native stage
kind is spelled the same as the import('./channel-contract.js').ChannelFact that
declares it, so contractDeclares is the one answer to "does this kind have a comp".
The stages a strip of this KIND carries, in canonical (default) order — the vocabulary the row's codec publishes and the list an override must be a permutation of.
Derived from the channel contract, never from a hand-kept list beside it: each native stage kind is spelled the same as the import('./channel-contract.js').ChannelFact that declares it, so
contractDeclaresis the one answer to "does this kind have a comp".