Open Data Infrastructure
dbt Core Source Freshness and Open Data Product SLAs
How dbt source freshness supports data product SLAs, and where catalogs, lineage, and consumers need broader evidence.
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.
- dbt source freshness documentation
- dbt freshness property documentation
- OpenLineage object model documentation
- DataHub data products documentation
A freshness check is a signal. A freshness SLA is a promise.