# Seed snapshot This directory contains a one-time snapshot of `/data/` from the live StartOS 0.3.5 install of **Proof of Work** (`proof-of-work`). It is baked into the 0.4 Docker image so the first 0.4 boot comes up with your production data already in place. ## Source | Field | Value | | --- | --- | | Source file | `proof-of-work-2026-04-21T14-36-53-332Z.db` (user-provided backup) | | Exported on | 2026-04-21T14:36:53Z | | Exported from | StartOS 0.3.5 (aarch64) running `proof-of-work` v0.1.0.17 | | SQLite integrity check | `ok` | ## Row counts (at snapshot time) | Table | Rows | | --- | --- | | `User` | 1 (`admin@local`) | | `UserPreferences` | 1 | | `Session` | 9 | | `Exercise` | 164 | | `Workout` | 348 | | `SetLog` | 5720 | | `Equipment` | 0 | | `Program` / `ProgramWeek` / `ProgramDay` / `ProgramExercise` | 0 | | `ContentItem` / `ContentChunk` | 0 | | `AISuggestion` | 0 | ## What the seed does On **first boot** of this 0.4 package, `docker_entrypoint.sh`: 1. Creates `/data/` if missing. 2. If `/data/app.db` does NOT exist AND `/data/.seeded` does NOT exist, copies everything under `/app/seed/data/` into `/data/` and writes `/data/.seeded` with a timestamp. 3. Logs which branch it took to stderr (visible in the StartOS log viewer). On every subsequent boot, the seed copy is skipped and the live `/data/` is used as the sole source of truth. ## When to refresh this snapshot You usually refresh the seed only if you rebuild the package **before** doing the first-time sideload on the 0.4 host. Once the 0.4 service is running, stop rebuilding with a seed — the next package release (v0.1.0:19) removes the seed step entirely so releases don't risk overwriting live data. To refresh before first-time sideload, from the repo root: ```sh ./start9/0.4/refresh_seed.sh embassy@embassy.local ``` This SCPs the live `/embassy-data/package-data/volumes/proof-of-work/data/main/` files back into `start9/0.4/seed/data/` and runs an integrity check.