FabricFabricAirlift
Migration lifecycle

Inventory and dependencies

Normalize Lakebridge output into migration objects, dependency evidence, complexity, and visible exclusions.

Inventory and dependencies

Airlift normalizes the assessment report into tables, views, stored procedures, functions, ETL jobs, notebooks, reports, semantic models, ML assets, security objects, and external dependencies. Every object carries source identity, type, complexity, and dependencies sufficient for planning. The normalized report is content-digested so a scope change is observable.

Normalizer output

Map each upstream record into an Airlift object input with a stable source key, object type, source path/name, complexity, dependency keys, and source profile. Register it with airlift.object_register; record intentional omissions with airlift.object_exclude and a reviewable reason.

Use the source profile's workloadSurfaces as the inventory checklist:

fa source inspect hadoop --json | jq '.workloadSurfaces[]'

This prevents a SQL-only inventory from silently losing jobs, schedulers, notebooks, security objects, BI consumers, utilities, or external integrations.

Record the graph

The executable graph lifecycle is:

  1. airlift.dependency_graph_start declares the assessment, immutable graph reference, tool generation, and expected edge count.
  2. airlift.dependency_batch_record accepts up to 500 typed edges per idempotent call.
  3. airlift.dependency_graph_accept verifies completeness and computes the canonical graph digest and cycle count.
fa inventory graph list --assessment-id asm_01ARZ3NDEKTSV4RRFFQ69G5FAV
fa inventory graph show dpg_01ARZ3NDEKTSV4RRFFQ69G5FAV --json

An edge expresses fromObjectId depends on toObjectId. Kinds are data, execution, schedule, security, and consumer; confidence and critical-path status remain visible in the projection.

Automation lanes

Classify residue early:

  • deterministic — Lakebridge has a supported conversion path;
  • agent-repairable — deterministic residue fits the bounded repair input/output contract;
  • human-only — semantics, source behavior, or risk requires an engineer.

Human-only objects remain in scope and pricing unless explicitly excluded through the governed action. They are not silently removed from an automation denominator.

Dependency rules

Plan upstream data and shared functions before dependent objects. Cycles, external dependencies, dynamic SQL, and late-bound orchestration should be surfaced as blockers or explicit design work. Wave assignment must not make the dependency graph disappear; it records the migration decision made against it.

On this page