Problem
Git backs up the knowledge files, but the SQLite database contains state that doesn't rebuild from `pyrite index sync`: settings, user preferences, starred entries, collection configuration, and other user-generated data. Losing the database means losing personalization and configuration.
Vectors and the FTS index do rebuild from `index sync` — those don't need backup.
Solution
```bash
Backup non-rebuildable tables
pyrite db backup --output backup-2026-03-01.jsonRestore from backup
pyrite db restore --input backup-2026-03-01.jsonList what's in a backup
pyrite db backup --dry-run ```What Gets Backed Up
What Does NOT Get Backed Up (rebuildable)
Format
JSON export for portability. Works across SQLite and Postgres backends. Includes schema version for forward compatibility.
Prerequisites
Success Criteria
Launch Context
Nice-to-have for 0.8. Becomes important for demo site (periodic reset to clean state) and any production deployment.