A stale source can make a perfect model useless. Freshness is one of those boring controls that becomes very exciting after it fails.

Freshness is not just a dbt check

dbt source freshness lets teams define acceptable time between the most recent record and now, using warning and error thresholds. dbt documentation connects the feature to source data freshness and organizational SLAs.

That is useful. It is also only part of the data product promise. A consumer cares whether the data product met its freshness obligation, not only whether one upstream source crossed a threshold.

Source freshness is a useful boundary

Source freshness is strongest when it is explicit, versioned, and connected to owners. It tells the team when upstream data stopped arriving or arrived too late for the model contract.

The broader SLA has to include lineage, transformation health, serving freshness, downstream consumer impact, and recovery promises. Otherwise, the platform knows a source was stale but can not say which products, dashboards, APIs, or agents were affected.

Core idea: Freshness is useful when it travels from source check to consumer promise.

The ODI SLA layer

Open Data Infrastructure should treat freshness as shared evidence across dbt, catalogs, lineage, observability, and data product pages. dbt can produce one important signal. The platform has to route that signal to the people and systems that depend on it.

For adjacent context, read dbt exposures and open metadata, data product SLAs, and metadata SLAs for AI.

What breaks first

  • Freshness thresholds exist, but no one knows which consumers they protect.
  • Warnings pile up without owner, severity, or recovery workflow.
  • Agents keep using stale context because freshness never reaches the retrieval layer.
  • A source passes freshness while downstream serving data is stale.

Questions to ask

Ask which source freshness checks map to which data product promises. Ask how freshness failures reach owners, catalogs, lineage, and AI context systems.

Freshness is not done when dbt records a status. It is done when consumers can act on it.

Sources to start with

These primary sources anchor the technical claims in this guide.

A freshness check is a signal. A freshness SLA is a promise.