A data contract is a formal, versioned agreement between a data producer (e.g., a source application or pipeline) and a data consumer (e.g., an analytics team or ML model) that explicitly defines the expected structure, semantics, quality, and service-level attributes of a data product. It codifies expectations like schema (column names, data types), semantics (business definitions), quality rules (valid ranges, nullability), and service-level objectives (freshness, latency). This machine-readable specification acts as the single source of truth, enabling automated validation and preventing breaking changes in downstream systems.




