Skip to content

docs(ops): backup-restore runbook + first drill log#5

Merged
mattdecrevel merged 1 commit into
mainfrom
claude/loop-backup-runbook
May 28, 2026
Merged

docs(ops): backup-restore runbook + first drill log#5
mattdecrevel merged 1 commit into
mainfrom
claude/loop-backup-runbook

Conversation

@mattdecrevel

Copy link
Copy Markdown
Owner

Single-page operator runbook + verified drill against the live loop Neon project.

What this lands

  • docs/backup-restore.md — full runbook for DR scenarios with copy-pasteable commands, RTO/RPO targets, and gap analysis.
  • README Open list trimmed to only the genuine remaining gap: off-Neon backup automation. DB backup drill moves to Just shipped with the drill timing.

Drill verification (2026-05-28)

Branch dr-drill-2026-05-28 created from main, queried, verified against production, and deleted.

Step Wall clock Δ
Branch-create requested 18:10:54.3Z
Branch ready + first SQL 18:11:00.3Z +6.0s
First result returned 18:11:03.5Z +9.2s total

All 6 row counts (events/projects/channels/routes/todos/reminders) and max(events.created_at) matched production exactly.

Notable

  • RPO is currently capped at 24h (Neon free-tier PITR retention).
  • Scenario (c) — complete Neon project loss — relies on an off-Neon SQL dump that doesn't exist today. Flagged as the remaining open gap; ~30 lines of GH Actions YAML to fix.
  • Next drill due 2026-08-28 (quarterly cadence).

Single-page operator runbook at docs/backup-restore.md covering:

- Backup posture (Neon project IDs, retention, what's in/out of scope)
- RTO/RPO targets
- Three DR scenarios with copy-pasteable commands:
  (a) accidental data loss → PITR recovery branch
  (b) corruption / Neon outage → fresh branch + Vercel repoint
  (c) complete project loss → new project + Drizzle migrate
- Manual snapshot convention for high-risk changes
- Drop-in verification SQL
- Gaps to address (no off-Neon backup yet; 24h PITR ceiling)

First drill log (2026-05-28): branch-create-to-queryable ~10s end-to-end
on the live loop project (ancient-mode-37618639). All row counts and the
most-recent-event timestamp match production exactly. RTO holds.

README updated to move 'DB backup drill' to shipped; the only genuinely
open item is now off-Neon backup automation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented May 28, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

Hobby accounts are limited to daily cron jobs. This cron expression (*/5 * * * *) would run more than once per day. Upgrade to the Pro plan to unlock all Cron Jobs features on Vercel.

Learn More: https://vercel.link/3Fpeeb1

@mattdecrevel mattdecrevel merged commit 5903685 into main May 28, 2026
1 check failed
@mattdecrevel mattdecrevel deleted the claude/loop-backup-runbook branch May 28, 2026 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant