Skip to content

RegistryChangeSeverity

RegistryChangeSeverity = "compatible" | "risky" | "breaking"

Defined in: packages/contracts/src/registry-diff.ts:18

The registry-diff gate (ADR-0006): classify a registry change as compatible | risky | breaking so loss-detection happens at authoring time, not as a runtime surprise. A breaking diff is a conscious release decision — rework to expand/contract, or accept-and-notify. This catches the one case the runtime cannot: silent column repurposing (a same-named column whose type/meaning changed).

pgxsinkit ships this mechanism; enforcement (whether a non-zero check blocks CI) is the consumer’s, via a committed lock that makes a breaking change a reviewable diff.