The console's mute groups as a load must apply them: the snapshot's own list, plus any group a
LEGACY safety.muteGroups still declares that the body does not (audit D6).
A show saved before mute groups had one owner carried them in both sections, keyed two
different ways and with no converter between them, so dropping the safety copy outright would
lose a group that only lives there. Migrating it is the honest move: the entry becomes a real
console mute group — addressed, active: false (a pre-load declares an assignment, never a
live hold), and from then on saved once.
Its index comes from the trailing digits of the legacy id (mg1, muteGroup/2 → 1, 2) so a
hand-authored file keeps the number the operator wrote; an id with no digits, or one that
collides with a group the body already declares, takes the next free index instead of
overwriting anything.
The console's mute groups as a load must apply them: the snapshot's own list, plus any group a LEGACY
safety.muteGroupsstill declares that the body does not (audit D6).A show saved before mute groups had one owner carried them in both sections, keyed two different ways and with no converter between them, so dropping the safety copy outright would lose a group that only lives there. Migrating it is the honest move: the entry becomes a real console mute group — addressed,
active: false(a pre-load declares an assignment, never a live hold), and from then on saved once.Its index comes from the trailing digits of the legacy id (
mg1,muteGroup/2→ 1, 2) so a hand-authored file keeps the number the operator wrote; an id with no digits, or one that collides with a group the body already declares, takes the next free index instead of overwriting anything.