Create or edit an exposures YAML file in the models directory
Define an exposure with type (dashboard, notebook, application, or ml), owner, and depends_on referencing the dbt models and sources the exposure consumes
Run dbt docs generate to include the exposure in the documentation site and lineage graph
Use dbt ls --select +exposure:my_dashboard to see all models that the exposure depends on, enabling impact analysis before changing those models
Add the exposure to the CI selector so that changes to upstream models trigger tests for the exposure's dependent models
Known gotchas
Exposures are documentation-only objects; dbt does not enforce any schema contract between the exposure and its dependent models — a schema change can silently break the downstream consumer
The depends_on list must use ref() or source() syntax to register the lineage correctly; listing a table name as a string will not link the exposure in the DAG
Exposures are not visible in dbt Cloud's data catalog unless dbt docs generate has been run after the exposure was added; cached catalog pages may not show new exposures immediately
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp