# NEO-37 — Manual QA checklist | Field | Value | |-------|-------| | Key | NEO-37 | | Title | Skill progression snapshot (read model) | | Linear | https://linear.app/neon-sprawl/issue/NEO-37/skill-progression-snapshot-read-model | | Plan | `docs/plans/NEO-37-implementation-plan.md` | | Branch | `NEO-37-skill-progression-snapshot-read-model` | ## Preconditions - Server running with default dev player seeded (same as other **`/game/players/dev-local-1/...`** flows). - Skill catalog loaded (prototype trio); progression rows mirror registry order. ## Checklist 1. Start **`NeonSprawl.Server`** (e.g. `dotnet run` from `server/NeonSprawl.Server`). 2. **`GET /game/players/dev-local-1/skill-progression`** — expect **200** and **`Content-Type`** containing **`application/json`**. ```bash curl -sS -i "http://localhost:5253/game/players/dev-local-1/skill-progression" ``` 3. Parse JSON — **`schemaVersion`** **1**, **`playerId`** **`dev-local-1`**, **`skills`** length **3**, **`id`** order **`intrusion`**, **`refine`**, **`salvage`**; each row **`xp`** **0**, **`level`** **1**. 4. Unknown player — **`GET /game/players/missing-player/skill-progression`** — expect **404**. 5. Optional: run **`bruno/neon-sprawl-server/skill-progression/Get skill progression.bru`** (see `environments/Local.bru` for **`{{baseUrl}}`**).