Tiers — the verifier's vocabulary
Ten invariant classes. Every preventable data-warehouse incident maps to one of them. veric proves your SQL respects every tier — or shows you the exact input row where it doesn't.
For AI provenance · same ladder, AI-Act tag overlay
The AI-provenance vertical reuses this exact T-ladder, with EU AI Act + GDPR tags overlaid on T6/T7/T8. Open the AI-provenance tier glossary →
- T0tier definitionShape
The thing you wrote is a well-formed query at all — parses, has a recognizable schema reference, and isn't structurally garbage.
No public-record incident anchored to this tier yet — see the lattice page for the verifier's mechanism on this class.
- T1tier definitionType
The columns you reference exist with the types you assume. No silent int↔string coercion; no column rename that drifted past you.
Anchor incidents - T2tier definitionNull-propagation
You won't materialize a null where downstream code assumes non-null. Renames don't leave dangling references that pass review.
- T3tier definitionReferential integrity
Foreign keys point at real rows. Joins target columns that actually exist. Declared types match the warehouse — no phantom columns from a hallucinated schema.
Anchor incidents - T4tier definitionCardinality / control-flow
Joins don't fan out unboundedly. Loops and recursion terminate. A boolean flag's meaning is consistent across every live consumer.
Anchor incidents - T5tier definitionOrdering / determinism
Two runs on the same data produce the same answer. No race condition, no ORDER BY drift, no batch-evaluation order changing eligibility downstream.
Anchor incidents - T6tier definitionInformation-flow reachability
PII can't reach a public sink. Tainted data can't leak through a join, union, or aggregation. Sensitive labels propagate.
Anchor incidents - T7tier definitionRange / interval
Numeric values stay inside their declared bounds. Phantom columns are refused. Timestamp joins handle DST and timezone discontinuities correctly.
Anchor incidents - T8tier definitionLattice PII (closure under join)
PII tier survives every operator — no abstract over-approximation collapses to public when two sensitivity labels meet.
Anchor incidents - T9tier definitionEquivalence
Two queries provably compute the same answer on every input. A refactor proven equivalent is a refactor that won't surprise you in production.
Anchor incidents