FabricFabricAirlift
Source systems

Certify a source profile

Add or certify source support without turning an upstream connector row into an unsupported product claim.

Certify a source profile

The typed profile says which implementation path Airlift supports. The capability registry separately proves each provider route for a source variant. Client certification then proves that path against a particular source version, workload corpus, Databricks target, and acceptance policy.

Do not update a profile's implementation routing metadata as a substitute for registry evidence. Use the capability registry to register the provider generation, delivery mode, limitations, proof, and expiry.

Developer acceptance contract

LayerImplement and retainFailure behavior
Assessmentprofiler/analyzer run, source version, accepted inventory, dependencies, exclusions, report digestsestate remains unassessed
Conversionrepresentative corpus, pinned transpiler, artifact digests, warnings/errors, residue taxonomyobject moves to rework or human lane
Transfersnapshot, incremental catch-up, watermark, restart, lag, counts, cleanupdata readiness remains pending or failed
Validationschema, row/data, business query and object-type scenarios from an admitted producerobject cannot be certified
Non-functionalworkload, threshold, measured result, security checks, observation windownon-functional track remains open
Cutoverendpoint checkpoint, apply-once, verify, rollback/compensation rehearsalautomated cutover remains disabled

Add a new source pack

  1. Add the ID to sourceSystemSchema in packages/airlift/src/schemas.ts.
  2. Add a complete SourceSystemProfile with archetype, variants, adapter contract, and an honest initial support level.
  3. Map applicable analyzer, profiler, converter, reconcile, managed-ingestion, API, pipeline, query-engine, or streaming boundaries; leave unavailable routes explicit.
  4. Populate workload surfaces, transfer strategy, validation checks, residue, modernization targets, and credential boundary.
  5. Add aliases only when they resolve unambiguously.
  6. Extend packages/airlift/test/sources.test.ts; every generated action ID must exist in the installed governed action catalog.
  7. Add a developer guide under apps/docs/content/docs/sources/.
  8. Add the pack to source-packs-e2e.test.ts through the canonical registry and run the hermetic suite.
  9. Run representative live routes and check their immutable certification manifest before changing a support level.

Use these commands during development:

fa sources --json
fa source inspect <source> --json
fa source plan <source> --variant <variant> --json
fa source certification-check source-certification.json
fa capability matrix --source <source> --variant <variant>
pnpm test:e2e:source
pnpm test:e2e:hermetic

The generated plan is deterministic and testable. Client acceptance remains governed state and must enter through Platform actions.

On this page