Umbrella for getting the metric path fully under contract + tested + monitored. Split per layer so devs work each independently; the CI wire-up is its own task. None of this depends on the gears-rust migration (plain dbt/OpenAPI; gears is a separate track).
QA owns the measurement (the dbt_coverage.py gate + Data Contracts CI workflow, #1320); Dev owns filling each layer.
Children
Baseline (measured in CI, no DB needed — dbt parse)
contracts 1/124 · key tests 45/124 (36%) · source freshness 0/130.
Related defects this prevents recurring: #1318 (type drift), #1319 (wired-empty connectors).
Umbrella for getting the metric path fully under contract + tested + monitored. Split per layer so devs work each independently; the CI wire-up is its own task. None of this depends on the gears-rust migration (plain dbt/OpenAPI; gears is a separate track).
QA owns the measurement (the
dbt_coverage.pygate + Data Contracts CI workflow, #1320); Dev owns filling each layer.Children
*__bronze_promotedcontractsDOM == format(api), notDOM == apiBaseline (measured in CI, no DB needed —
dbt parse)contracts 1/124 · key tests 45/124 (36%) · source freshness 0/130.
Related defects this prevents recurring: #1318 (type drift), #1319 (wired-empty connectors).