Favorita: dbt Docs & Exposures
The documentation layer: a project overview, generated lineage graph, and exposures that declare how downstream dashboards and models depend on dbt outputs. So 'what breaks if I change this?' has an answer.
Primary Outcome
A documented, navigable dbt project with declared downstream exposures and a full lineage graph.
Solution
A docs and exposures layer that generates a navigable site and a lineage graph extending all the way to the dashboards and models that consume dbt outputs.
Deliverables
An
overview.mddoc that frames the project for newcomersAn
exposures.ymldeclaring downstream dashboards and ML consumersA generated lineage graph linking sources to marts to exposures
Strategic Context
Undocumented lineage is how a 'small' model change takes down an executive dashboard nobody knew depended on it. Exposures turn that invisible dependency into a visible edge in the graph — which is the whole point of treating analytics like engineering.
Technical Architecture
Undocumented lineage is how a 'small' model change takes down an executive dashboard nobody knew depended on it. Exposures turn that invisible dependency into a visible edge in the graph — which is the whole point of treating analytics like engineering.
Problem Statement
As a dbt project grows, nobody holds the full lineage in their head, so a small model change silently breaks a downstream dashboard.
Links
What's Included
The dbt/docs/overview.md file and the exposures.yml definitions, which together drive the generated dbt docs site and lineage graph.
FAQs
What's an exposure?
A declared downstream consumer of dbt outputs — a dashboard or ML job — so it shows up in lineage and impact analysis.
Where do the docs get hosted?
The generated static site can be served anywhere; this project wires it to GitHub Pages via CI.
Tech Stack
Tool 1
Tool 4
Tool 4
Tool 3
Tool 2
Tool 4
Primary Outcome
A documented, navigable dbt project with declared downstream exposures and a full lineage graph.
Problem Statement
As a dbt project grows, nobody holds the full lineage in their head, so a small model change silently breaks a downstream dashboard.
Solution
A docs and exposures layer that generates a navigable site and a lineage graph extending all the way to the dashboards and models that consume dbt outputs.
Links
Deliverables
An
overview.mddoc that frames the project for newcomersAn
exposures.ymldeclaring downstream dashboards and ML consumersA generated lineage graph linking sources to marts to exposures
What's Included
The dbt/docs/overview.md file and the exposures.yml definitions, which together drive the generated dbt docs site and lineage graph.
Strategic Context
Undocumented lineage is how a 'small' model change takes down an executive dashboard nobody knew depended on it. Exposures turn that invisible dependency into a visible edge in the graph — which is the whole point of treating analytics like engineering.
FAQs
What's an exposure?
A declared downstream consumer of dbt outputs — a dashboard or ML job — so it shows up in lineage and impact analysis.
Where do the docs get hosted?
The generated static site can be served anywhere; this project wires it to GitHub Pages via CI.
Technical Architecture
Undocumented lineage is how a 'small' model change takes down an executive dashboard nobody knew depended on it. Exposures turn that invisible dependency into a visible edge in the graph — which is the whole point of treating analytics like engineering.
Tech Stack
Tool 1
Tool 4
Tool 4
Tool 3
Tool 2
Tool 4