DE//AGENT
Explore

Name the four dimensions of data quality

Build the mental model before writing a single test: freshness, completeness, validity, consistency. See each dimension in a real registry artifact — the SLA part of a contract, the profiling workflow of the data-quality reviewer, the rule vocabulary of the quarantine starter — and leave able to name the dimension behind any "the data is bad" complaint.

At a glance

When You are about to write quality tests and need to decide what to test first; A stakeholder asks 'is the data good?' and you want to answer with a named dimension, not a shrug
Where Data Quality
Why Every quality complaint is one of four complaints — freshness, completeness, validity, consistency — and naming the dimension turns "the data is bad" into a testable claim.

Learning objectives

  • Name the four dimensions of data quality — freshness, completeness, validity, consistency
  • Map each dimension to a concrete signal — SLA, null rate, range, uniqueness
  • Rank failure modes by blast radius before writing any test

What you need

  • No installation — this lesson reads registry artifacts, it does not run them
  • The cited artifacts — the data-contract skill, the data-quality reviewer agent, the quarantine starter

Steps

  1. The SLA part of a contract states freshness and completeness — the first two dimensions, with numbers. (from skill-data-contract-author )
  2. Semantics is next — what each field means, units, nullability — the validity a consumer was promised. (from skill-data-contract-author )
  3. Profile key columns (null rate, uniqueness, ranges) — the measurements that turn each dimension into a check. (from agent-data-quality-reviewer )
  4. Rank failure modes by blast radius before writing a single test. (from agent-data-quality-reviewer )
  5. The starter's rule vocabulary covers the dimensions — not_null, unique, range, enum. (from project-pipeline-dq-quarantine )
  6. Monitor the three signals that watch the dimensions in production — expectation pass rate, quarantine row counts, freshness. (from runbook-data-quality-failure )

Check yourself

  • A table loads six hours late — freshness; a promised column is 30% null — completeness; profiling key columns (null rate, uniqueness, ranges) surfaces both.
  • The SLA part of the contract names freshness and completeness, and the semantics part names units and nullability.
  • Failure modes are ranked by blast radius, and the minimum test set follows from that ranking.

Worked example

The six parts of a 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).

Profiling workflow of the data-quality reviewer — from agent-data-quality-reviewer

Profile key columns (null rate, uniqueness, ranges).
Rank failure modes by blast radius.
Propose the minimum test set.
Emit a quarantine path for rows that fail.

Rule vocabulary in the starter contract — from project-pipeline-dq-quarantine

contract/orders.yml  # rules: not_null, unique, range, enum

Sourced from

Security scan

Last sweep 2026-10-24: 0 finding(s), 0 marked as examples.

Common gotchas

  • A contract with no enforcement is documentation. Documentation is not a contract.
  • Producers change schemas and semantics with no notice; consumers break in production.
  • Profiling runs against a provided sample or a read-only replica only; never writes to the source.

Production considerations

  • Monitor expectation pass rate, quarantine row counts, freshness.
  • Propose the minimum test set — the dimensions ranked by blast radius, not every column.

Diagram

the four dimensions
   |
   |- freshness    --> how recently the data landed (SLA)
   |
   |- completeness --> null rate on promised columns
   |
   |- validity     --> ranges, enums, types, units
   |
   |- consistency  --> uniqueness on the grain key, stable semantics
   |
   |- profile key columns (null rate, uniqueness, ranges)
   |
   |- rank failure modes by blast radius --> minimum test set

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 beginner
Version 0.1.0
License CC-BY-4.0
Security flags none