Metacenta

Ownership & accountability · rule group-owner-unreachable

dbt groups with no contactable owner

A Metacenta review checks this under the rule Declared groups carry a contactable owner. Everything below applies whether or not you ever commission one.

What this rule checks

This rule flags dbt groups with no owner, or an owner with no email address. It also flags models whose group: names a group the project never declares.

Why it matters

Every model in the group resolves to an owner nobody can contact, so the group records accountability without enabling it. A model pointing at a missing group is worse: it reads as owned and resolves to nobody.

How to fix it

Give every declared group a contactable owner. Add owner: {email: …} to each group. Where a model names a group that does not exist, declare the group or correct the model.

Before:

groups:
  - name: finance
    owner:
      name: Finance analytics

After:

groups:
  - name: finance
    owner:
      name: Finance analytics
      email: finance-data@jaffle.example

When it is fine to leave

Rarely. A group exists to route questions, and a name with no address cannot receive one. A shared team inbox is enough; it need not be a person.

What we need to check it

manifest.json alone. Owners' names never appear in our findings; we name the group, and keep the owner in the worklist you receive.