What a data contract is
A data contract is a formal agreement between a data producer and its consumers, covering: schema, semantics (what does each field mean?), SLA (freshness, availability), and ownership.
Why contracts matter
Without contracts, a producer can change a field name on a Friday afternoon and break 12 downstream dashboards. Contracts make breaking changes explicit and require consumer sign-off.
ODCS format
The Open Data Contract Standard (ODCS) defines a YAML-based format for data contracts. It is tooling-agnostic and increasingly supported by catalog and observability tools.
dataContractSpecification: 0.9.3
id: orders-v2
info:
title: Orders Dataset
owner: orders-team@company.com
status: active
models:
orders:
fields:
order_id: { type: integer, required: true, unique: true }
amount: { type: number, required: true }
Enforcement
Use the datacontract CLI to test a dataset against its contract. Plug it into CI/CD — break the build if the contract is violated before data reaches consumers.