Skip to content

Data Contract Catalog

Data contracts make interface ownership explicit between producer and consumer teams before a breaking change lands in production.

Why this is needed

  • Dashboards break because nobody knew who depended on a table.
  • Wiki contracts are not queryable or approved.
  • Packages can promote contract versions with models.

Proposed entities in EntiHub

Governance settings

Setting Recommended value Why
approvalRequired true Contract changes need producer + consumer awareness.
historyEnabled true History of breaking changes.
allowSameAuthorApproval false Maker/checker separation for sensitive changes.
deletedRetentionDays 90 (or higher) Soft-delete retention for auditability.

Entity definition (YAML sketch)

name: data_contract
displayName: Data contract
domain: Data Platform
description: Data contract
version: "1.0.0"
approvalRequired: true
historyEnabled: true
deletedRetentionDays: 90
displayRefColumn: contract_code
uniqueConstraints:
  - name: uq_data_contract_0
    columns: [contract_code, version]
columns:
  - name: contract_code
    dataType: string
    nullable: false
    maxLength: 64
  - name: producer_team
    dataType: string
    nullable: false
    maxLength: 128
  - name: consumer_team
    dataType: string
    nullable: false
    maxLength: 128
  - name: dataset_name
    dataType: string
    nullable: false
    maxLength: 128
  - name: sla_hours
    dataType: int
    nullable: true
  - name: breaking_change_policy
    dataType: string
    nullable: false
    maxLength: 256
  - name: version
    dataType: string
    nullable: false
    maxLength: 32
  - name: status
    dataType: string
    nullable: false
    maxLength: 16

YAML sketches

Sketches highlight the important fields and governance flags. Trim or extend columns to match your domain. See Setup Entity for the full YAML reference.

Sample data

contract_code producer_team consumer_team dataset_name sla_hours breaking_change_policy version status
DC-CUST-DIM MDM BI dim_customer 4 14-day notice + major version 1.2.0 active

Benefits for the company

  • Dependencies are visible before breaking changes.
  • SLA ownership is explicit.
  • Fits package-based multi-env promotion.