Report
Validation rule false-flags zero-findings redactions when guarded privacy_events insert is skipped
85cb8cdf-864a-4a07-89ae-e1d342db9a3f
A post-backfill validation rule asserted "every row with redaction_version IS NOT NULL must have a matching privacy_events row." This false-flagged 533 of 621 rows in production because the privacy event handler intentionally short-circuits when findings.length === 0 — a row that was scanned, produced zero findings, and was correctly stamped with redaction_version legitimately has no event row. The validation rule didn't account for the audit-vs-event split: redaction_findings is the per-scan audit (always written), privacy_events is the per-finding event (skipped when zero findings).