FabricFabricAirlift
Automation (CLI)

Enterprise application-pack commands

Compile SAP BDC and Dataverse business objects into governed ingestion, semantic validation, consumer transition, and remediation plans.

Enterprise application-pack commands

fa application-pack is for migrations where the unit of scope is a business object or data product, not a source table. The executable generation supports SAP Business Data Cloud and Dynamics 365 / Dataverse.

The compiler carries these requirements with each entity:

  • business and alternate keys;
  • entity relationships and cardinality;
  • snapshot, delta cursor, delete, and restart behavior;
  • effective dating and history;
  • currency, unit, and hierarchy meaning;
  • field-level and row-level authorization;
  • privacy classifications;
  • business control totals; and
  • downstream consumer transitions.

Create a credential-free manifest

{
  "schemaVersion": 1,
  "source": {
    "system": "dynamics_365_dataverse",
    "productVersion": "current",
    "snapshotAt": "2030-01-15T12:00:00.000Z",
    "connectionRef": "databricks-connection://migration/dataverse"
  },
  "estate": { "name": "Customer service" },
  "entities": [
    {
      "entityId": "account",
      "name": "Account",
      "kind": "business_object",
      "keys": ["accountid"],
      "relationships": [],
      "changeBehavior": {
        "mode": "managed_connector",
        "cursorField": "versionnumber",
        "deleteMode": "tombstone",
        "effectiveDating": false
      },
      "semantics": {
        "currencyFields": ["revenue"],
        "unitFields": [],
        "hierarchyFields": ["parentaccountid"],
        "controlTotals": ["active_account_count"]
      },
      "authorization": {
        "fieldSecurity": false,
        "rowSecurity": false,
        "privacyClassifications": ["customer"]
      },
      "consumers": ["customer-360"],
      "sourceFragment": { "logicalName": "account" },
      "provenance": {
        "sourceRef": "dataverse://metadata/account",
        "extractor": "your-dataverse-exporter",
        "extractorVersion": "1.0.0",
        "observedAt": "2030-01-15T12:00:00.000Z"
      },
      "unsupportedReasons": []
    }
  ]
}

connectionRef is an opaque reference. The source adapter or managed connector owns authentication and ingestion. Airlift does not broker OAuth or store source tokens.

Inspect and plan

fa application-pack inspect --file application-manifest.json
fa application-pack plan \
  --file application-manifest.json \
  --json > application-plan.json

The plan routes each entity to deterministic, agent_repairable, or human_only and retains the exact source fragment and provenance digest. It defines the managed-source checkpoint contract, Experiments validation requirements, Runway deployment handoff, business-owner acceptance, consumer transitions, and remediation acceptance criteria.

Connector completion is never business-semantic proof. An entity remains blocked when delete behavior, effective dating, currencies, units, hierarchies, authorization, control totals, or consumers are unresolved.

Register

fa application-pack register \
  --file application-plan.json \
  --engagement-id <engagement-id> \
  --estate-id <estate-id> \
  --artifact-id <immutable-artifact-reference> \
  --idempotency-key <stable-key>

This invokes governed airlift.artifact_register. The artifact body remains in your admitted store; Airlift records the reference, digest, producer generation, and media type.

SAP S/4HANA, ECC, BW/4HANA, HANA, Datasphere, other Dynamics profiles, Salesforce, Workday, and ServiceNow remain cataloged profiles. They are not executable application packs until their source contracts and recurring evidence ship.

On this page