# Data products require versioned observable contracts

Every data product must publish a machine-readable observable contract, and those contracts must support versioning and an explicit upgrade process. The contract is where ownership, semantics, freshness, quality, lineage, access, masking, run history, and agent permissions become inspectable. Versioning is required because data products are consumed by humans, pipelines, BI, and agents, and live contract changes need compatibility, deprecation, migration, validation, and impact handling rather than ad hoc schema drift. Pre-1.0 product contracts are draft/non-live until the first 1.0.0 compatibility baseline (ADR 0021).
