Migration status
Read the governed eight-phase engagement projection in the Airlift App or CLI and understand exactly why work is blocked.
Read migration status
Migration status is a read-only projection of records already admitted through the governed action pipeline. It is not a manually edited percentage and it cannot advance an object or wave.
Open Migration inbox for the portfolio-level work queue, select an engagement, and choose Migration status from the engagement tabs. Airlift shows the source-to-target route and these phases:
- Discover
- Plan
- Convert
- Move data
- Deploy
- Validate
- Certify
- Cut over
Migration status is calculated from terminal governed evidence, with the first incomplete gate identified explicitly.
A blocker names the missing decision, artifact, validation result, or review that prevents the next gate.
Open the blocker action instead of editing the percentage or marking the phase complete manually.
Completion semantics
The percentage counts only phases with a complete verdict. Partial object counts are
visible within a phase but do not inflate the overall percentage. not_applicable
phases are excluded from the denominator.
Each phase returns:
verdict:not_started,in_progress,blocked,failed,complete, ornot_applicable;- completed and total work counts;
- immutable evidence references already admitted to the ledger;
- active blockers;
- one concrete next action.
Every phase card also links to its owning workspace. A blocked conversion with open residue links to the exact remediation case rather than the organization-wide queue. The blocker panel at the top provides the same Resolve blocker action, so the operator does not have to infer which screen owns the next step.
Validation failure blocks certification. Missing certificates block cutover. A Runway deployment observation remains a Runway reference; Airlift does not duplicate release state. The same ownership rule applies to Experiments validation evidence.
CLI and API
fa engagement status <engagement-id>
fa engagement status <engagement-id> --jsonThe JSON form is suitable for CI, customer status exports, and operational dashboards.
The API resource is engagement_status and requires engagementId; organization and
actor are derived from authenticated ingress.
Example automation check:
fa engagement status "$ENGAGEMENT_ID" --json > migration-status.json
jq -e '.blockers | length == 0' migration-status.jsonA non-empty blocker list is actionable project state, not an error in the status query.
Use the phase nextAction to decide which owning workflow should run next.
The engagement overview surfaces this value as Next recommended action. The UI action is a navigation aid only: it does not mutate progress, approve evidence, or bypass the governed action pipeline.
The Artifacts tab exposes the immutable inputs and outputs behind those verdicts. Open an artifact to copy its SHA-256 digest or provider reference and to see the validation and release requirements attached to that artifact. The Run ledger tab answers which assessment, conversion, movement, deployment, and independent validation executions produced the visible state. Press ⌘K/Ctrl K anywhere in the App to find these views without leaving the active engagement context.
Source-aware navigation
The App lists only source systems attached to active engagements. Adding SQL Server does not expose Synapse, Snowflake, or other unrelated workspaces. Add another source through the engagement’s governed source action; after it is attached, its source workspace and the combined status route appear automatically.