Know what breaks —
and what to rebuild.
A change-impact decision engine for dbt. It categorizes breaking vs cosmetic changes, gates PRs on your policy over any dbt meta, and follows impact past dbt’s edge into your BI tools — offline, from your artifacts, no warehouse, no dbt run. Built on column-level lineage.
Change one column in a large dbt project and you’re guessing. Which models recompute? Which dashboards break? Should CI even let it merge? Without column-level impact, every refactor is a risk you can’t measure — and every CI gate is all-or-nothing.
From blast radius to a decision.
Breaking, or just cosmetic?
Diff the SQL expression, not the text. A provably-equivalent refactor doesn’t block; a change that shifts meaning — or can’t be proven safe — fails safe.
Your rules, your gate.
Write rules over any dbt meta. The tool ships the engine; you ship the policy. Block, warn, or schedule a selective rebuild — nothing about your taxonomy is hardcoded.
Past dbt’s edge.
Follow a column change into your BI layer — which dashboard, which field — so “what breaks” includes your BI, not just your models. Metabase is the first supported connector.
All surfaced in an interactive explorer and as machine-readable JSON for your agents — on top of the column-level lineage it’s built on. New here? Start with how it works.
One pip install. No dbt run required.
Every command reads your manifest.json and catalog.json — offline, zero-credential, it never touches your warehouse.
# install $ pip install dbt-col-lineage # explore lineage + impact in the browser $ dbt-col-lineage --explore # turn a PR into a decision: gate on your policy $ dbt-col-lineage impact --base-manifest base/manifest.json \ --policy policy.yml --fail-on policy