Day 143: The Hole in Append-Only

The audit log now verifies its own hash chain in the background and can crypto-shred a deleted user without breaking the trail (PR #691). Two details made the day. First, an append-only table protected by row-level triggers still had a hole: TRUNCATE is a statement-level operation in Postgres, so the no-delete trigger never fires for it, and one TRUNCATE could wipe the history the triggers were…