Metacenta

Documentation · rule source-undocumented

dbt sources with no description

A Metacenta review checks this under the rule Sources carry a description. Everything below applies whether or not you ever commission one.

What this rule checks

This rule flags every dbt source table whose description is empty. It checks each table under a sources: entry; the entry itself has a rule of its own.

Why it matters

Nobody downstream knows what the upstream system actually sends, or who to ask when it changes. The knowledge sits with whoever built the pipeline, and leaves with them.

How to fix it

Document the sources and name their owners. Add a description: to each source table saying what it holds and how it arrives. Name an owner in the source's meta, so there is somebody to ask.

Before:

sources:
  - name: shop
    tables:
      - name: orders

After:

sources:
  - name: shop
    meta:
      owner: payments-team
    tables:
      - name: orders
        description: Orders from the shop database, loaded hourly. Deleted orders stay, flagged in `is_deleted`.

When it is fine to leave

A table whose meaning is obvious from a well-described source group can go without. The group itself still needs a description; a separate rule checks that.

What we need to check it

manifest.json alone.

Published rules it corresponds to

dbt_project_evaluator, rule fct_undocumented_source_tables. Ours checks the same condition and threshold.

This means our check corresponds to their rule. It does not mean the publisher reviewed or endorses it.