Summary
Track phase 2b of the manifest-first messaging migration: make stored SandboxMessagingPlan data the durable source for channel lifecycle operations after enrollment.
Scope
- Persist the manifest plan in
SandboxEntry.messaging.plan after channels add.
- Update stored manifest plans for
channels stop, channels start, and channels remove without recompiling non-onboarding workflows.
- Stage the stored manifest plan during
rebuild so the recreated sandbox can preserve manifest-driven messaging state.
- Keep legacy
messagingChannels and disabledChannels behavior intact for sandboxes without a stored manifest plan.
Non-goals
- Do not remove legacy channel lifecycle code yet.
- Do not compile non-onboarding plans from legacy registry fields.
- Do not move policy/provider/render application fully to the applier in this phase.
Parent: #3896
Summary
Track phase 2b of the manifest-first messaging migration: make stored
SandboxMessagingPlandata the durable source for channel lifecycle operations after enrollment.Scope
SandboxEntry.messaging.planafterchannels add.channels stop,channels start, andchannels removewithout recompiling non-onboarding workflows.rebuildso the recreated sandbox can preserve manifest-driven messaging state.messagingChannelsanddisabledChannelsbehavior intact for sandboxes without a stored manifest plan.Non-goals
Parent: #3896