Capstone — wire a dataset's quality gates end to end
Close the series by walking one SLA-bearing dataset through every gate the series taught — six-part contract, CI compatibility check, staged quality suite, quarantine split, quarantine-rate alerts — and finish with the monitoring signals and incident paths that keep the gates honest.
At a glance
| When | A dataset is about to become SLA-bearing and needs its gates wired in one pass; Auditing an existing pipeline for missing quality gates |
|---|---|
| Where | Data Quality |
| Why | A quality gate you cannot point at in the registry is a hope, not a gate — the capstone makes every gate concrete, named and enforced. |
Learning objectives
- Run the full checklist — contract, CI gate, promotion gate, quarantine, alerts — against one dataset
- Point at the registry artifact that enforces each gate
- Name the monitoring signals and prevention paths that keep the gates honest
What you need
- The eight earlier lessons of this series, or their registry artifacts
- [object Object]
- A dataset with a consumer and an SLA worth defending
Steps
- Write the six-part contract — owner, schema, semantics, SLA, breaking-change policy, enforcement. (from skill-data-contract-author )
- Run the contract as code in the producer's CI — compatibility check, then build, then publish. (from pattern-contracts-quality-gate )
- After a pipeline writes to the staging namespace, run the model's dbt/GE tests against the staged output; promote only if all critical tests pass. (from hook-pre-deployment-dq-check )
- Split every batch into publish and quarantine on a quality contract — a row never disappears. (from pattern-quarantine-publish )
- Alert when quarantine rate > 1% for 2 consecutive runs, and ship a reprocess command that re-runs the quarantined rows after a fix. (from project-pipeline-dq-quarantine )
- Watch the signals — expectation pass rate, quarantine row counts, freshness. (from runbook-data-quality-failure )
- Close the loop with consumer-driven contract tests in the producer's pipeline. (from runbook-data-contract-broken )
Check yourself
- The checklist names the CI test that fails on violation — enforcement, part six of the contract.
- A not-null test failing on 412 rows in staging blocks promotion and leaves the previous production data in place.
- The quarantine alert fires on rate — 1% for 2 consecutive runs — not only on a hard failure.
Worked example
The six-part contract — from skill-data-contract-author
1. Owner (a team, with an on-call).
2. Schema (typed, versioned).
3. Semantics (what each field *means*, units, nullability).
4. SLA (freshness, completeness).
5. Breaking-change policy (notice period, deprecation path).
6. Enforcement (which CI test fails on violation).
The promotion gate — from hook-pre-deployment-dq-check
trigger: pre-deploy
purpose: Run the quality suite against a staged run before promoting to production.
failure_behavior: block
The monitoring signals — from runbook-data-quality-failure
expectation pass rate, quarantine row counts, freshness
Sourced from
Security scan
Last sweep 2026-10-24: 0 finding(s), 0 marked as examples.
Common gotchas
- Tier the expectations: critical (block) vs warning (alert only) — blocking on a warning-tier expectation turns small blips into outages.
- Quarantine never reviewed → add a scheduled review and a reprocess path.
- The gate lives where the change is made (producer CI), not in the consumer's runtime — the cheapest place to catch it is before merge.
Production considerations
- Alert when quarantine rate > 1% for 2 consecutive runs.
- Contracts get CI enforcement and a dated deprecation path.
Diagram
capstone checklist
|
|- contract (six parts) --> CI compatibility check --> build --> publish
|
|- staged run --> dbt/GE tests --> all critical pass --> promote
| any critical fail --> block --> production untouched
|
|- batch --> pass --> published
| fail --> quarantine (+reason) --> rate > 1% x2 runs --> alert --> review --> reprocess
|
|- signals: expectation pass rate, quarantine row counts, freshness
|
|- consumer-driven contract tests in the producer's pipeline
Registry stats
| Verification | community · Oct 21, 2026 |
|---|---|
| Completeness | 81 |
| Trust multiplier | ×1.25 |
| Composite | 34.15 · adequate |
| Freshness | 3 days since last source check |
| Difficulty | intermediate |
| Version | 0.1.0 |
| License | CC-BY-4.0 |
| Security flags | none |
Did this solve your problem?
Capstone — wire a dataset's quality gates end to end