Migration Plan Sketch
1-min readUpdated May 11, 2026
Copied Raw Markdown!
MigrationPlan is the neutral handoff between source understanding and target rendering.
Why URL copied
Without this, each renderer re-parses source meaning for itself. That is three cooks re-salting same soup.
Shape URL copied
flowchart LR
A["SourcePolicy[]"] --> B["MigrationPlan"]
B --> C["Mule App Renderer"]
B --> D["Custom Policy Renderer"]
B --> E["Flex GitOps Renderer"]
Rules URL copied
- plan stores intent, not output file syntax
- plan groups related source policies into target units
- plan records relationships like sequence, dependencies, and role
- renderers consume plan and emit files
First Fields URL copied
- source policies
- target kind
- target units
- execution edges
- warnings
First Target Unit Types URL copied
mule_appmule_custom_policyflex_api_instanceflex_policy
Litmus test
If a renderer needs to inspect raw Apigee XML again, plan is too weak.