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.md doc that frames the project for newcomers

  • An exposures.yml declaring downstream dashboards and ML consumers

  • A 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.md doc that frames the project for newcomers

  • An exposures.yml declaring downstream dashboards and ML consumers

  • A 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