Blank Airbyte project
A preconfigured home for governing Airbyte catalogs — bring your catalog now or later.
Govern the catalog every sync trusts — before a silent type change lands in the warehouse.
Airbyte connections already know more than most teams use. Every stream publishes a JSON Schema plus keys, cursors, and supported sync modes. That declaration is usually treated as plumbing — discovered once, configured once, trusted forever.
CoreModels treats the catalog as an estate you can govern. Streams become types, properties become elements, enums become taxonomies, and keys become identity rules. The first import records a baseline. Every later catalog snapshot is audited against that baseline, so a numeric total that became a currency-prefixed string is a named finding, not an incident three days later.
Pair the import with the CI drift gate recipe and the check runs where reviews already happen. Pair it with source onboarding review and new connections get a human look at meaning before they ever write a warehouse table.
Recipes
Recipes for Airbyte
A preconfigured home for governing Airbyte catalogs — bring your catalog now or later.
Fail the build before a source schema change lands in your warehouse.
Turn your Airbyte catalog into a governed model in one upload.
Govern a new source at the door — before its first sync.
Uses
Articles that explain the gap, then point at the recipe that closes it.
An application team ships a routine release, and somewhere in their product database a numeric total becomes a string with a currency prefix. No announcement reaches the data team — schema changes don't knock. Airbyte keeps syncing, because moving data is its job. The warehouse keeps loading, because storing data is its job. Every sync stays green while the numbers drift quietly out of truth, until a human happens to squint at them. The only thing that broke was the meaning of the data, and meaning was the one thing no part of that pipeline was watching.
Recipe: Source Onboarding Review
OutcomesThe most convincing demo of schema governance is a boring week. No archaeology through sync logs, no "who changed this?" threads, no Friday backfill. What follows is a composite week for a data engineer who owns an Airbyte deployment after the catalog is governed in CoreModels — and, running alongside it, the same week as it used to go.
Recipe: CI Drift Gate for Airbyte · First Governed Import for Airbyte · Source Onboarding Review
GovernanceAny tool that asks to sit between your data sources and your governed schemas is asking for a lot of trust. We think that trust should rest on verifiable commitments rather than assurances — specific behaviors, designed into the system, that you can test before you rely on them. Here are the five that govern how CoreModels handles an Airbyte catalog, and why each one exists.
EcosystemAirbyte's founding bet was that data movement should be open: an open-source platform, a connector catalog anyone can extend, and — the part that matters most for governance — schemas declared in the open. Every Airbyte stream describes itself with JSON Schema inside a catalog document: property names and types, nullability expressed as type arrays, enums, primary keys, supported sync modes. You can extract that catalog from your own instance with a single API call. No proprietary binary, no export ceremony.
AgentsWatch a coding agent write transformation logic against ingested data and you can see the exact moment it starts making things up. Asked to build staging models over an Airbyte-landed orders stream, it will confidently produce column lists it inferred from the table name, treat every `id` as a unique key, assume `updated_at` implies incremental sync, and enumerate status values it has seen in other companies' schemas. The output is fluent, well-formatted, and structurally fictional — not because the model is weak, but because nothing in its context contained the actual schema. Agents don't fail loudly on missing ground truth; they interpolate over it.
QuickstartEverything in this tutorial happens in a shell. There is no agent to install in your Airbyte deployment, no warehouse connection to configure, and no credential of yours that ever reaches CoreModels. You export one JSON document that Airbyte already produces, upload it, and ask a question about it.
Recipe: Blank Airbyte project · First Governed Import for Airbyte
APIOne sentence in the controller sets the shape of everything below it: the vendor integration surface is **read-authority**. Import writes to the graph, and only additively. Audit and generate never write anything. Recording an audit run in the history is opt-in bookkeeping — except for re-audit, which always records its run because that is the whole point of the verb.
MCPThere are two ways to let an AI assistant help with an ingestion catalog. The first is to paste the catalog into a prompt and ask what looks risky — fast, ungrounded, unverifiable. The second is to give the assistant a tool that runs the real audit against your governed model and returns coded findings. This article is about the second one.
AutomationA dbt gate has an obvious trigger: someone opens a pull request, the project compiles, and the compiled artifact is the thing you audit. Airbyte has no build step. A catalog is *discovered*, not compiled, and the schema it describes belongs to a system nobody in the repository controls. So the first question for an Airbyte drift gate is not "which endpoint do I call" — it is "where does `catalog.json` come from, and when".
Recipe: CI Drift Gate for Airbyte
Deep diveEvery vendor CoreModels integrates parses into one neutral shape: datasets with fields and normalized checks, plus lineage between them. Vendor detail rides in metadata bags, never as new top-level concepts, and connectors are pure — they parse, map types and contribute audit rules, never touching the graph.
Recipe: Source Onboarding Review