Skip to content

Phase 4c: migrate session and registry messaging state to plans #4947

@sandl99

Description

@sandl99

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.

Metadata

Metadata

Assignees

Labels

area: messagingMessaging channels, bridges, manifests, or channel lifecyclearea: project-managementTaxonomy, triage, workflow, roadmap, or project process
No fields configured for Enhancement.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions