Data Contract
A formal agreement between a data producer and its consumers that specifies a dataset's schema, quality rules, ownership and service levels.
Broken pipelines often start with an unannounced upstream change; data contracts make producers accountable for what they publish, protecting dashboards, attribution models and AI features that depend on the data.
A product team publishes an events dataset with a YAML contract requiring a unique event_id, a non-null user_id and delivery within 2 hours; a CI check blocks a release that renames a column, which later ships as version 2.
Contracts add process and only work if producers accept ownership, and they cannot capture every change in meaning. Enforcement tooling varies, and contracts on low-value internal tables can slow teams without reducing incidents.
A contract is usually a machine-readable file, often YAML, versioned with the code that produces the data. The Open Data Contract Standard defines sections for schema, data quality, SLA, roles, support and pricing. Enforcement happens in CI and at build time, as with dbt model contracts that fail a build when column names or data types differ, while Data Observability monitors live Data Quality across each Data Pipeline. Breaking changes require a new version.
AI Governance, Systems Architecture
Bitol — Open Data Contract Standard (ODCS) — https://bitol-io.github.io/open-data-contract-standard/latest/; dbt Developer Hub — Model contracts — https://docs.getdbt.com/docs/mesh/govern/model-contracts
