How DriftGuard scores schema drift and maps it to pass, warning, or breaking.
DriftGuard evaluates every schema check by calculating a severity score from 0 to 100.
Each type of change contributes a fixed number of points. The total score determines
the final result returned in the check response.
The required flag on each column definition determines whether a removed
column scores +40 or +20. Set required: true for columns your downstream
consumers cannot function without.
Contract has email (string, required) and created_at (timestamp, required).
Incoming schema is missing email entirely, and created_at has changed type to string.
Change
Points
email removed (required)
+40
created_at type changed (timestamp → string)
+30
Total
70 → capped? No → warning
Wait — let’s add one more required column removed:
Contract has email (string, required) and created_at (timestamp, required).
Incoming schema is missing email, and created_at has changed type to string.
Contract-level rules to customise scoring (such as ignoring new columns or
changing how renames are treated) are on the roadmap. See Rules
for the planned behaviour and current workarounds.
Run a Check
See the full scoring formula in action with the check endpoint.
Rules
Planned contract-level rules for customising severity thresholds.