Data Contract
An explicit, versioned, enforced agreement between a data producer and its consumers about schema, semantics, quality and change policy.
The problem it names precisely: analytical pipelines have historically consumed producers' internal tables, so an ordinary refactor by a service team silently breaks a dozen downstream models. The producer never agreed to anything and is not at fault; the consumer had no contract to rely on.
A data contract makes the interface deliberate. It specifies the schema with types and nullability; the semantics — what a row means, the grain, what each field actually represents; quality guarantees such as freshness, completeness and validity ranges; the ownership; and the change policy, including what counts as breaking and how much notice is given.
What turns it from a document into a control is enforcement: schema compatibility checked in the producer's CI so a breaking change fails the build, quality assertions run on every load, and a violation alerting the producer rather than being discovered by a consumer three days later.
It is the same discipline as an API contract, applied to data, and it arrives with the same cultural change: the producer must accept that its published dataset is a product with consumers, not an implementation detail that happens to be readable.