Summary
Phase 4c of #3896 flips onboard-session and sandbox registry messaging state to the manifest-backed SandboxMessagingPlan.
This migration is intentionally not backward-compatible: after this phase, messagingPlan in onboard sessions and messaging.plan in the sandbox registry are the only supported persisted messaging state.
Scope
- Persist onboard session messaging state only as
messagingPlan; stop reading or writing messagingChannels, messagingChannelConfig, and disabledChannels in session state.
- Persist sandbox registry messaging state only as
messaging.plan; stop reading or writing top-level messagingChannels, messagingChannelConfig, and disabledChannels in registry state.
- Treat plans as the source of truth for configured channels, active channels, disabled channels, and per-channel config values across onboard, sandbox build, policy, credentials, status, doctor, inventory, rebuild, and channel lifecycle flows.
- Remove legacy compatibility and backfill paths that derive plans, conflict state, channel config, or disabled-channel state from
messagingChannels, messagingChannelConfig, or disabledChannels.
- Update channel add, remove, start, and stop mutations to read, mutate, and persist the plan object directly.
- Update unit, integration, and e2e fixtures to assert plan-backed session and registry state, and remove legacy-field compatibility expectations.
Non-goals
- No migration or backfill from legacy flat messaging fields.
- No compatibility shim for pre-plan onboard-session or sandbox-registry entries.
Closing PR
Closed by #4945.
Summary
Phase 4c of #3896 flips onboard-session and sandbox registry messaging state to the manifest-backed
SandboxMessagingPlan.This migration is intentionally not backward-compatible: after this phase,
messagingPlanin onboard sessions andmessaging.planin the sandbox registry are the only supported persisted messaging state.Scope
messagingPlan; stop reading or writingmessagingChannels,messagingChannelConfig, anddisabledChannelsin session state.messaging.plan; stop reading or writing top-levelmessagingChannels,messagingChannelConfig, anddisabledChannelsin registry state.messagingChannels,messagingChannelConfig, ordisabledChannels.Non-goals
Closing PR
Closed by #4945.