Ownership & accountability · rule exposure-owner-unreachable
dbt exposures with no contactable owner
A Metacenta review checks this under the rule Exposures carry a contactable owner. Everything below applies whether or not you ever commission one.
What this rule checks
This rule flags dbt exposures with no owner, or an owner with no email address. A name alone does not count, because nobody can be sent a name.
Why it matters
An exposure is a consumer outside the project, such as a dashboard or a downstream job. When a model behind it breaks, the owner is who the breakage should be announced to, and there is nobody to tell.
How to fix it
Give every exposure an owner who can be told when it breaks. Add owner: {email: …} to each exposure, naming whoever answers for the dashboard or job.
Before:
exposures:
- name: weekly_revenue
type: dashboard
depends_on:
- ref('fct_orders')
After:
exposures:
- name: weekly_revenue
type: dashboard
owner:
email: finance-data@jaffle.example
depends_on:
- ref('fct_orders')
When it is fine to leave
An exposure for a retired dashboard should be deleted rather than given an owner. Otherwise there is rarely a good reason: a team inbox is enough.
What we need to check it
manifest.json from a project that declares exposures. A project with none is not judged.