Backup & Recovery Runbook — Personal Training OS¶
Artifact: Phase 6 (Release) · Owner: Primary User · Serves: NFR-BKP-001 · Date: 2026-07-05
A runbook is an operational procedure someone can follow under pressure without prior context. This one is grounded in what TC-19 actually proved about Notion export/import (not assumptions).
1. Recovery objectives (what "good enough" means)¶
| Term | Target | Rationale |
|---|---|---|
| RPO (Recovery Point Objective — max acceptable data loss) | ~1 month | Backups are manual; a monthly export means at most ~1 month of logs to re-enter. Acceptable for personal use. |
| RTO (Recovery Time Objective — time to be usable again) | ~1 day | Re-import is minutes; rebuilding inline views by hand is the slow part (see §4 caveat). |
2. Layers of protection (fastest first)¶
- Notion trash / page history — first line of defense. Notion Business retains page edit history and deleted pages in Trash (~30 days). For "I broke one thing," restore here — no export needed.
- Manual export backup — for whole-workspace loss, account issues, or point-in-time archives (this runbook).
3. Backup procedure (monthly + before any big structural change)¶
- Open the 🏋️ Personal Training OS page → ••• (top-right) → Export.
- Settings (proven in TC-19): Export format = Markdown & CSV · Include subpages = Yes · Create folders for subpages = Yes.
- Save the
.zip. Store two copies — local (e.g.Documents/ptos-backups/YYYY-MM-DD.zip) and one off-machine (cloud drive) so a disk failure isn't a total loss (3-2-1 backup thinking). - Log it in §5.
4. Restore procedure¶
- In Notion: at the target location, ••• → Import → Markdown & CSV → select the backup
.zip. - Notion recreates each database from its CSV (with rows) and the home page content.
- ⚠️ Caveat (defect D-07, accepted): inline views (Calendar, Hockey board, By-Type chart) and the dashboard layout are not restored — only the underlying data and links. Rebuilding views is manual. Data is safe; presentation must be reassembled. Budget the RTO for this.
- Spot-check after restore: Training Sessions row count, Running Shoes
Total Miles, People relations intact.
5. Backup log¶
| Date | File | Location(s) | Verified restore? |
|---|---|---|---|
| 2026-07-05 | Notion export .zip (Markdown & CSV, incl. subpages) | Local | ✅ Yes — re-imported during TC-19; data + DBs restored (views not, per D-07) |
Next backup due: ~2026-08-05 (monthly RPO) or before any big structural change.
6. Improvement backlog (future)¶
- Automate export via the Notion API on a schedule (would move RPO from ~1 month toward days) — a candidate once the automation phase lands. Pairs with the deferred integration work.