Source planning commands
Inspect source variants, distinguish implementation routing from achieved proof, compile archetype-aware plans, and check certification evidence.
Source planning commands
Source commands are read only. They inspect the installed registry, create deterministic project inputs, and check evidence manifests; they do not connect to a source or mutate an Airlift estate.
List source packs
fa sources
fa sources --json | jq '.[] | {id, archetype, evidenceSupportLevel, implementationRoutingLevel, variants}'evidenceSupportLevel is derived from admitted capability cells. The unauthenticated local
catalog has no tenant evidence, so it reports cataloged. implementationRoutingLevel
describes the deterministic workflow shipped in the package; it is not workspace or client proof. See the
capability registry.
Bulk plan export
fa sources export --plans --format jsonl
fa sources export --plans --json > .airlift/source-plans.jsonEmits one canonical-JSON record per source × variant in the installed registry, in registry
order. Each record wraps a compiled plan with sourceSystem, sourceVariant, label,
archetype, implementationRoutingLevel, programTrack, externalGates, a docsUrl pointing at the
source's documentation page, and a contentDigest computed over the plan alone — the digest is
stable across CLI releases when the underlying plan is unchanged, so downstream indexers can
re-index incrementally instead of re-scanning every record. The default text output is the same
JSONL form; add --json for a single canonical JSON array instead.
Inspect one pack
fa source inspect dynamics_365
fa source inspect dynamics_365 --json > .airlift/dynamics-profile.jsonThe output includes variants, archetype, non-evidentiary implementation routing, Lakebridge capabilities where applicable, inventory inputs, movement options, validation inputs, target services, workload surfaces, residue, and the credential boundary.
Compile a plan
fa source plan dynamics_365 \
--variant dynamics_365_finance_operations \
--json > .airlift/dynamics-finance-plan.json
fa source plan kafka \
--variant confluent_cloud \
--json > .airlift/confluent-plan.jsonThe command emits the current archetype-specific plan schema. Each step includes
specialistCommands, airliftActions, outputs, and exit criteria. Command templates
beginning with # name an adapter boundary; they are not fake executables.
Generate the complete developer recipe
fa source recipe snowflake
fa source recipe snowflake --variant snowflake --json > .airlift/snowflake-recipe.jsonThe recipe is generated from the installed source registry and CLI contract. It covers source inspection, governed engagement scope, assessment acceptance, any admitted source-specific compiler, conversion and transfer, independent validation, certificates, cutover status, and evidence export. Every stage identifies its expected artifacts and engagement-relative App route.
The App does not display a permanent menu for every supported source. Active sources
is derived from estates assigned to active engagements. Add another source through
Engagements → Add source or the governed estate register plus engagement update
commands; the source workspace then appears automatically.
Check a live certification manifest
fa source certification-check source-certification.json
fa source certification-check source-certification.json --jsonThe command exits 1 when required immutable runs are absent. assessable requires an
inventory run; executable adds transfer and validation; certifiable adds scale; and
cutover_certified adds a cutover-effector run. A successful check does not mutate the
published registry.
TypeScript equivalent
import {
createSourceMigrationPlan,
evaluateSourcePackCertification,
resolveSourceSystemProfile,
} from '@fabricorg/airlift';
const profile = resolveSourceSystemProfile('sap_s4hana');
const plan = createSourceMigrationPlan(profile.id, { variant: 'sap_s4hana' });
const result = evaluateSourcePackCertification(manifest);