TechFabricTechFabricAirlift
Source systems

Certify a source profile

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

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