Quality · medium · ~12 min
Two incidents, two weeks apart, and the team has drawn opposite conclusions.
Incident A: a currency-mapping bug produced garbage fx_rate values. The check on the table was *non-blocking* — it alerted, kept publishing, and three downstream teams consumed garbage for a day.
fx_rate
Incident B: an upstream vendor file arrived 40 minutes late. The volume check on vendor_raw was *blocking* — it halted the whole nightly DAG, and six unrelated dashboards were empty at 9 a.m. for a data delay that fixed itself.
vendor_raw
Half the team now wants everything blocking. The other half wants nothing blocking. Design the policy that's actually right.