Inside the Schema Evolution Agent
Detection Was Never the Hard Part.
Every tool can tell you a column changed. Meet the agent that maps everything it's about to break - and writes the migration, with its rollback, for a single review.

Wait for it to break, then go find out what changed
Ask r/dataengineering how people handle upstream schema changes and the most honest answer is bleak: I wait for my pipelines to break, then go figure out what somebody changed. A backend engineer renames a column with no heads-up, a consumed API quietly changes a type, and somewhere downstream a dashboard goes blank or a dbt model fails on run. Changing source data is the single biggest driver of pipeline maintenance, and most teams admit they have no real solution - it just routinely breaks their core pipelines.
The maddening part is that detecting the change was never the hard part - it's everything after. Which models reference that column? Which dashboards? Which ML features? You trace the lineage by hand across dbt, the warehouse, and the BI layer, write a backward-compatible migration, test it, and then coordinate three teams to land it without taking production down. People describe spending half their lives fixing the same pipelines, and a whole genre of thread asks how to stop upstream developers from breaking things they can't even see.
What our Schema Evolution Agent actually does
The Schema Evolution Agent reads every dbt manifest diff and every pull request, and the moment a change renames, retypes, drops, or adds a column, it goes to work - before a pipeline breaks, not after.
First it tells you the blast radius: every downstream dbt model, table, and view that one change will touch, plus the dashboards and features your team has recorded in the context graph - the manual lineage hunt, done instantly. It knows the difference between a cosmetic rename and a genuinely breaking change, so you're alerted on what matters, not on every harmless column add. Then it writes the migration for you - a backward-compatible path with a deprecation window, in the right SQL dialect for your stack, paired with rollback SQL for the owner to apply - and bundles the dbt patch, the contract update, and the downstream fix into a single reviewable approval. It even carries policy forward: when a renamed column would have silently dropped its PII masking tag, that's flagged and the masking change is proposed in the same review, so a schema change can't quietly become a compliance gap.
The shape of the win is a migration you review over coffee instead of a 2 AM scramble. What's typically a one-to-two-day cross-tool firefight becomes a fifteen-to-thirty-minute reviewed workflow, and schema-related incidents are built to drop by roughly 80 to 90% - not because detection got faster, but because the boring, pattern-following majority arrives as a ready-to-approve migration before it ever pages a human.
Here's the reframe: a schema change isn't a notification to send - it's a migration waiting to be written. Detection was always the easy half. And the agent doesn't work alone: the catalog agent supplies the lineage, the pipeline agent rebuilds what needs rebuilding, the quality agent re-checks the result, and the incident agent is already standing by if anything slips. The fix is made with full context, not as an isolated patch.
A few of the agent's capabilities
The Schema Evolution Agent ships with a deep toolkit. A sampling of what it can do:
| Capability | What it does |
|---|---|
| Change detection in review | Catches a column rename, type change, drop, or add in the dbt manifest diff or the pull request that introduces it. |
| Blast-radius mapping | Traces a single change to every downstream dbt model, table, and view, and to the dashboards and features recorded in the context graph. |
| Breaking-vs-cosmetic triage | Distinguishes a harmless rename from a genuinely breaking change, so alerts mean something. |
| Migration authoring | Generates a backward-compatible migration with a deprecation path, in the right SQL dialect for your stack. |
| Pre-flight review | Checks the generated migration against its blast radius before anyone applies it. |
| Rollback ready | Hands the owner every migration with its rollback SQL, so each rollout has an undo. |
| One coordinated approval | Bundles the dbt patch, contract update, and downstream fix into a single review, not four scattered tasks. |
| PII / policy carry-forward | Flags when a renamed column would lose its masking tag and proposes the masking change in the same review. |
| Owner sign-off | Routes every migration to a named owner, so nothing reaches production without a person approving it. |
| Swarm hand-off | Loops in the catalog, pipeline, quality, and incident agents so the fix is made with full lineage and context. |
…and these are just a few of many - the agent carries dozens more autonomy skills, with new ones added continuously.
How this is different from lineage and contracts
Detection is genuinely solved - and that's exactly the point.
Monte Carlo ships mature anomaly detection and reconstructs column-level lineage from your query logs, but it stops at telling a human a table broke and routing the ticket. Atlan stores catalog, lineage, and policy beautifully and can answer what depends on this asset? in milliseconds - but it's read-and-curate; it describes the blast radius, it doesn't fix it. dbt lets you declare model contracts and configure on-schema-change behavior, and Great Expectations lets you assert what good data looks like - excellent guardrails, but they detect-and-fail or detect-and-document; the migration is still yours to write. Datafold proves two tables are value-for-value identical, a genuinely distinctive parity gate - but authoring the change stays a human job. Across the board, the industry has converged on flagging the drift.
The gap everyone leaves open is the distance between something changed and it's migrated, tested, and rolled out - which is exactly the gap this agent closes, across whatever clouds you run, as one member of a swarm rather than a dashboard that hands you a worklist.
The takeaway
Upstream schema changes stayed the number-one way pipelines break because we automated the wrong half: the detection. Knowing a column changed was never what cost you the day - tracing what it touched, writing the migration, and coordinating the landing was. An agent that catches the change in review, maps the blast radius instantly, and authors the migration and its rollback for a single approval turns that whole scramble into an approval. The 2 AM migration is the one task nobody should still be doing by hand.
See it on your own schema
Point the agent at the dbt project behind the pipeline that broke last - and watch it catch the next change in review, map everything it touches, and write the migration before anyone reaches for a laptop. Book a demo to see it on your stack.