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.