restore-check.sh — nothing has ever restored a backup #7

Closed
opened 2026-08-17 22:51:05 -05:00 by null · 0 comments
Owner

backup.sh proves a dump is readable before trusting it. Nothing restores one. That is the difference between a file that parses and a database you can actually get back, and privacyllc-web's QA verdict names it outright: a backup nobody has restored is a guess.

Restore the newest dump into a scratch database, assert the table count clears the threshold backup.sh already uses, drop it. Read the same BACKUP_DIR, BACKUP_NAME and BACKUP_MIN_TABLES as backup.sh so it cannot verify another project's series -- a restore check pointed at the wrong backup is worse than none, because it answers confidently.

Exit codes in the house style: 0 restored and plausible, 1 restore failed or came back empty, 2 nothing was checked and that is not a pass.

Verify: restore-check.sh against a deliberately truncated dump exits 1; unconfigured it exits non-zero naming the missing value; and docs/architecture/README.md has its row.

backup.sh proves a dump is readable before trusting it. Nothing restores one. That is the difference between a file that parses and a database you can actually get back, and privacyllc-web's QA verdict names it outright: a backup nobody has restored is a guess. Restore the newest dump into a scratch database, assert the table count clears the threshold backup.sh already uses, drop it. Read the same BACKUP_DIR, BACKUP_NAME and BACKUP_MIN_TABLES as backup.sh so it cannot verify another project's series -- a restore check pointed at the wrong backup is worse than none, because it answers confidently. Exit codes in the house style: 0 restored and plausible, 1 restore failed or came back empty, 2 nothing was checked and that is not a pass. Verify: restore-check.sh against a deliberately truncated dump exits 1; unconfigured it exits non-zero naming the missing value; and docs/architecture/README.md has its row.
null added this to the Batch 01 — Production-readiness controls milestone 2026-08-17 22:51:05 -05:00
null added the
P1
label 2026-08-17 22:51:05 -05:00
null closed this issue 2026-08-17 23:07:38 -05:00
Sign in to join this conversation.
No Label
P0
P1
P2
release-blocker
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: null/Project-Template#7
No description provided.