FabricFabricAirlift
Migration lifecycle

Plan cutover waves

Create dependency-aware, rehearsable waves with ownership, windows, approvals, and frozen scope.

Plan cutover waves

Planning binds the target blueprint, dependency order, delivery economics, and wave scope to accepted discovery evidence.

What you are seeing

Freezing prevents silent scope changes while conversion and transfer work are underway.

What to do next

Confirm the target mappings and dependency-ordered wave, then start conversion for that frozen scope.

Read the developer workflow

An accepted assessment can generate multiple migration scenarios before execution waves exist. airlift.plan_generate deterministically maps object types to Databricks target patterns, topologically groups dependency layers into candidate waves, identifies cycle blockers, and calculates effort/value from explicit inputs.

fa plan generate --file plan.json --idempotency-key plan-parity-1
fa plan compare --engagement-id eng_01ARZ3NDEKTSV4RRFFQ69G5FAV --json
fa plan select pln_01ARZ3NDEKTSV4RRFFQ69G5FAV --idempotency-key plan-select-1
fa plan freeze pln_01ARZ3NDEKTSV4RRFFQ69G5FAV --idempotency-key plan-freeze-1

In the Databricks App, Plan → Target blueprint and wave planner exposes the same target services, mappings, prerequisites, estimates, selection, and freeze evidence.

A wave is the unit of rehearsal, approval, cutover, and rollback. Group objects by dependency, business domain, data synchronization boundary, operational window, and rollback coupling—not merely by object count.

Wave design

Each wave needs an owner, planned window, object assignments, validation expectations, approval policy, rollback procedure, and observation window. Keep a deliberately hard pilot wave: easy objects alone do not test the factory.

Freeze digest

Before the final rehearsal, freeze object scope and the applicable profile, readiness, artifact, deployment, and source/target snapshot identities. A changed dependency or digest invalidates the old decision rather than being edited into it.

Separation of duties

The converter or agent cannot approve its own wave. Natural-person approvers must be distinct as configured by policy. Tower may track tasks, but task completion never advances Airlift state without the governed Airlift action.

On this page