Modernization studio
Build, validate, and promote Databricks-native improvements without weakening the certified migration baseline.
Modernization studio
Modernization begins after the migration baseline is certified and is promoted as a separate measured release.
Agents may propose bounded improvements, but people decide and Runway promotes the release.
Certify the parity baseline, generate recommendations, and validate each one with Experiments guardrails.
Airlift turns modernization into an evidence-gated release loop. It does not append an untracked “optimization” checklist to the migration. Each recommendation is a governed item with a certified migration baseline, a human decision, a Runway release reference, an Experiments comparison, and a final human promotion.
Use this after the migrated object has an active migration certificate. Keeping the baseline and native release separate tells you whether a discrepancy came from migration or from an intentional design change.
Lifecycle
| State | Meaning | Who can advance it |
|---|---|---|
proposed | A rule, developer, or bounded Harness advisor suggested a native change. | Agent, system, or authorized developer |
accepted, deferred, rejected | A person made the investment decision. | Approver |
planned | Effort and an immutable Runway release-intent reference are recorded. | Operator |
implementing | The separate target artifact is being built. | Operator |
validating | Runway deployment reconciled and every declared Experiments guardrail passed. | Admitted worker records evidence |
promoted | A different person promoted the evidence-backed release. | Promoter |
rework | Evidence failed or changed and another implementation pass is required. | Operator or evidence admission |
Agents cannot decide, promote, waive, or publish value claims. Airlift may require state owned by another Fabric product, but stores only its immutable reference and digest.
Developer workflow
List recommendations for one engagement:
fa modernization list --engagement-id "$ENGAGEMENT_ID" --json
fa modernization show "$MODERNIZATION_ITEM_ID" --jsonRecord a recommendation from a rule or developer. The baseline certificate must be active and belong to the same object and estate:
{
"engagementId": "eng_...",
"estateId": "est_...",
"objectId": "obj_...",
"baselineCertificateId": "mct_...",
"category": "liquid_clustering",
"title": "Evaluate liquid clustering",
"rationale": "Compare a target-native layout with the certified baseline.",
"expectedValue": "Measure representative query latency and maintenance effort.",
"outcomeTargets": [
{ "metric": "performance", "direction": "decrease", "target": 15, "unit": "percent" }
],
"priority": "high",
"risk": "medium",
"recommendationSource": "human",
"recommendationRef": { "system": "engineering", "type": "design", "id": "DES-42", "digest": "<sha256>" },
"recommendationDigest": "<sha256>"
}fa modernization recommend \
--file recommendation.json \
--idempotency-key "modernization-recommend-$OBJECT_ID"Disposition, plan, and start use the same file-command pattern:
fa modernization decide --file decision.json --idempotency-key "modernization-decision-$MODERNIZATION_ITEM_ID"
fa modernization plan --file plan.json --idempotency-key "modernization-plan-$MODERNIZATION_ITEM_ID"
fa modernization start --file start.json --idempotency-key "modernization-start-$MODERNIZATION_ITEM_ID"plan.json must include effortMinutes and a digested foreign reference whose system
is runway. The Runway CLI (fr) builds, deploys, promotes, and rolls back the artifact;
the Airlift CLI (fa) records why that release is required by the migration program.
A/B evidence contract
After the candidate is deployed, run the certified baseline and modernization treatment through Experiments. Functional parity is a guardrail; outcome metrics measure whether the change achieved its stated goal.
{
"modernizationItemId": "mod_...",
"targetArtifactId": "art_...",
"deploymentRequirementId": "dpr_...",
"validationExecutionId": "vex_...",
"validationEvidenceRef": { "system": "experiments", "type": "evidence_manifest", "id": "manifest-42", "digest": "<sha256>" },
"validationEvidenceDigest": "<sha256>",
"comparison": {
"experimentRef": { "system": "experiments", "type": "experiment", "id": "exp-42" },
"evaluationRef": { "system": "experiments", "type": "evaluation", "id": "eval-42", "digest": "<sha256>" },
"evidenceDigest": "<sha256>",
"baselineTreatment": "certified-migration",
"modernizationTreatment": "liquid-clustering",
"guardrailVerdict": "passed",
"metrics": [
{ "name": "performance", "baseline": 10, "modernized": 7, "unit": "seconds", "direction": "decrease", "verdict": "passed" }
]
},
"reason": "Functional guardrails and the declared performance target passed."
}fa modernization evidence --file modernization-evidence.json --idempotency-key "modernization-evidence-$MODERNIZATION_ITEM_ID"
fa modernization promote --file promotion.json --idempotency-key "modernization-promote-$MODERNIZATION_ITEM_ID"Evidence admission fails unless the Runway deployment is reconciled as matched and succeeded, the Experiments validation completed without failed objects, every comparison metric passed, and reference digests agree. A promoter must be distinct from both the recommender and the disposition decision-maker.
Categories
Airlift supports Lakeflow, serverless, Unity Catalog, Delta optimization, liquid clustering, materialized views, streaming, data products, AI/BI, MLflow, model serving, and governance recommendations. A category describes the intended change; it does not claim that every source object should receive that change.
Next: Measure engagement value.
Production cutover and rollback
Build a frozen, rehearsed, observable cutover wave and execute it through Airlift's durable workflow.
Source systems
Build typed, archetype-aware migration projects for warehouses, databases, ERP and SaaS applications, ETL platforms, mainframes, query engines, and streams.