Migration Plan Sketch

Present

1-min readUpdated May 11, 2026

Copied Raw Markdown!

MigrationPlan is the neutral handoff between source understanding and target rendering.

WhyURL copied

Without this, each renderer re-parses source meaning for itself. That is three cooks re-salting same soup.

ShapeURL copied

flowchart LR
    A["SourcePolicy[]"] --> B["MigrationPlan"]
    B --> C["Mule App Renderer"]
    B --> D["Custom Policy Renderer"]
    B --> E["Flex GitOps Renderer"]

RulesURL copied

  1. plan stores intent, not output file syntax
  2. plan groups related source policies into target units
  3. plan records relationships like sequence, dependencies, and role
  4. renderers consume plan and emit files

First FieldsURL copied

  • source policies
  • target kind
  • target units
  • execution edges
  • warnings

First Target Unit TypesURL copied

  • mule_app
  • mule_custom_policy
  • flex_api_instance
  • flex_policy
Litmus test

If a renderer needs to inspect raw Apigee XML again, plan is too weak.