Metacenta

Documentation · rule core-model-columns-undocumented

Undocumented columns on dbt models behind dashboards

A Metacenta review checks this under the rule Core models describe every column. Everything below applies whether or not you ever commission one.

What this rule checks

This rule flags each core model with a column that has no description, or with no columns declared at all. A model counts as core when a dbt exposure, Looker explore or Tableau view depends on it. If none is declared, the marts count instead. It is a narrower rule than the one on every model's columns, and a model can appear under both.

Why it matters

An AI agent or a new analyst reads column names and descriptions, and nothing else. Where a description is missing they guess what the column means, and the guess reaches a dashboard.

How to fix it

Describe every column of the models dashboards read. Describe every column of the models your dashboards read first. Say what each column holds, its unit, and what a null means. Declare the columns in YAML if the model has none.

Before:

    columns:
      - name: amt
      - name: status

After:

    columns:
      - name: amt
        description: Order total in GBP after discounts, before tax.
      - name: status
        description: One of placed, shipped, returned. Null before payment clears.

When it is fine to leave

Few exceptions exist for a model a dashboard reads. A key whose meaning is clear from the model's own description can go without one.

What we need to check it

manifest.json. Consumers come from exposures in the manifest, or from LookML or Tableau files if you share them.