A system is complete when its important files, dependencies, and restore path are known and tested.
Back up canonical files, export unique application data, keep secrets in encrypted separate storage, reinstall dependencies, and test restore.
Include Obsidian vault, project repos, system maps, and decision records.
Save configs, workflows, and generated assets needed for rebuild.
Use encrypted storage; never mix with normal backups.
Record exact versions and build scripts for each dependency.
Run a drill: wipe, restore from backup, verify operation and evidence.
| Item | Action | |-----------------------|---------------------------------| | Canonical files | Back up, version, and test restore | | Unique application data| Export, archive, and reinstall | | Secrets | Encrypted separate backup | | Dependencies/Indexes | Reinstall or rebuild from source| | Caches | Rebuild from canonical after restore |
Never mix encrypted secret backups with regular files or vaults.
Treat retrieval indexes as rebuildable; regenerate from canonical.
Verify that backup and restore actually work before trusting them.
Create a recovery plan for [SYSTEM]. Separate canonical data, caches, secrets, dependencies, backups, restore steps, and validation.
Use placeholders for paths, accounts, endpoints, identities, and credentials. Never publish secret values, private records, or a live control surface.