Skip to main content

DPCH13 — Testable & Versioned

“Version-Controlled and Contract-Tested”

What DPCH13 is really asserting​

DPCH13 is not asserting that:

“The code is in Git” or “there are tests.”

It is asserting that:

A Data Product evolves through explicit versions protected by automated tests that preserve its declared intent, semantics, and contracts for consumers over time.

DPCH13 is about protecting trust during change.


The Essence (HDIP + PMDD Interpretation)​

A Data Product satisfies DPCH13 if and only if:

  1. Change is intentional and visible through versioning
  2. Consumer-facing contracts are explicit and tested
  3. Product evolution does not silently break consumers

If consumers discover changes by surprise, DPCH13 is not met.


Positive Criteria — When DPCH13 is met​

DPCH13 is met when all of the following are true:

1. Product versions are explicit and meaningful​

The Data Product:

  • has a clear version identifier (semantic or equivalent)
  • distinguishes breaking vs non-breaking changes
  • communicates version changes to consumers

Versions represent product meaning, not just pipeline changes.


2. Contracts are testable and enforced​

The product defines and tests:

  • schema contracts (structure and types)
  • semantic contracts (meaning, units, invariants)
  • quality contracts (completeness, freshness thresholds)
  • policy contracts (access, residency, retention)

These tests run automatically as part of product lifecycle (pre-publish, post-publish).


3. Tests protect intent and semantics​

Tests verify that:

  • declared business assertions still hold
  • semantic mappings remain valid
  • trust signals meet minimum thresholds

This is where DPCH03 (declarative intent) becomes executable protection.


Negative Criteria — When DPCH13 is not met​

DPCH13 is not met if any of the following are true:

❌ Versioning exists only at technical level​

Examples:

  • pipeline versions
  • table versions without product context
  • infra releases without consumer meaning

Consumers care about product behavior, not pipelines.


❌ Tests focus only on technical correctness​

Examples:

  • tests validate SQL execution
  • row counts without semantic meaning
  • infrastructure health checks only

These do not protect consumers from semantic breakage.


❌ Breaking changes occur silently​

Examples:

  • schema changes without notice
  • semantics altered without version bump
  • quality thresholds relaxed unnoticed

This destroys trust and reuse.


Edge Cases (Important Guidance for Agents)​

Case 1: “Schema tests exist, semantics untested”​

⚠️ Partial

Rationale:

  • some protection exists
  • intent still fragile
  • common early stage

Case 2: “Versioned releases + contract tests”​

✅ Met

Rationale:

  • consumers can rely on stability
  • evolution is controlled and observable

Case 3: “Producers coordinate changes manually”​

❌ Not met

Rationale:

  • manual coordination does not scale
  • violates self-service and automation principles

Evidence Signals an Agent Should Look For​

Authoritative evidence:

  • product version history
  • automated contract test results
  • pre-publish validation gates

Supporting evidence:

  • changelogs linked to versions
  • consumer compatibility policies
  • rollback or coexistence strategies

Red flags:

  • “latest” as only version
  • tests owned only by engineering
  • no record of breaking vs non-breaking changes

How an AI Agent Should Decide​

Decision rule (simplified):

If the Data Product can change in ways that break consumer expectations without being detected or versioned, DPCH13 is not met.


Why DPCH13 Is Non-Negotiable​

Without DPCH13:

  • reuse collapses under change
  • trust signals decay
  • governance becomes reactive
  • platform adoption stalls

DPCH13 is what makes long-lived, reliable data products possible.


Canonical Statement​

DPCH13 is satisfied only when a Data Product evolves through explicit versions protected by automated, consumer-facing contract tests that preserve intent, semantics, quality, and policy expectations over time.