batch of P2/P3 review findings — offsite-backup.sh & backup-database.sh
batch of P2/P3 review findings — offsite-backup.sh & backup-database.sh close residual TOCTOU between fresh ledger read and cache upsert in reconcile_all_inconsistent_balances scope jobs pg_dump exclusion to the pre-migration path only rehearse pending migrations against a restored production-shaped database before deploy add scheduled backup restore drill
New Features
6rehearse pending migrations against a restored production-shaped database before deploy
rehearse pending migrations against a restored production-shaped database before deploy
add scheduled backup restore drill
add scheduled backup restore drill
flag .env.example changes with no ENV_VARS.md statement in PR body
flag .env.example changes with no ENV_VARS.md statement in PR body
surface backup gate age/status in Slack and Discord deploy notifications
surface backup gate age/status in Slack and Discord deploy notifications
shadow-database migration dry run in CI
shadow-database migration dry run in CI
define jobs retention/recovery policy
define jobs retention/recovery policy
Bug Fixes
7batch of P2/P3 review findings — offsite-backup.sh & backup-database.sh
batch of P2/P3 review findings — offsite-backup.sh & backup-database.sh
close residual TOCTOU between fresh ledger read and cache upsert in reconcile_all_inconsistent_balances
close residual TOCTOU between fresh ledger read and cache upsert in reconcile_all_inconsistent_balances
scope jobs pg_dump exclusion to the pre-migration path only
scope jobs pg_dump exclusion to the pre-migration path only
add retention policy for credit_balance_mutations audit table
add retention policy for credit_balance_mutations audit table
serialize restore_from_backup and reap_broken_databases with a shared lock
serialize restore_from_backup and reap_broken_databases with a shared lock
prevent duplicate structure enqueue after ambiguous cache write
prevent duplicate structure enqueue after ambiguous cache write
set executable bit on five command-target scripts
set executable bit on five command-target scripts