# NEO-34 — Manual QA checklist

| Field | Value |
|-------|-------|
| Key | NEO-34 |
| Title | E2.M1: Server loads SkillDef catalog at startup (fail-fast) |
| Linear | https://linear.app/neon-sprawl/issue/NEO-34/e2m1-server-loads-skilldef-catalog-at-startup-fail-fast |
| Plan | `docs/plans/NEO-34-implementation-plan.md` |
| Branch | `NEO-34-e2m1-skill-catalog-startup` |

## 1) Happy path — discovery + health

- [ ] Repo has `content/skills` and `content/schemas/skill-def.schema.json`.
- [ ] From `server/NeonSprawl.Server`, run `dotnet run` with **no** `Content__*` overrides. Startup logs an **Information** line from category `NeonSprawl.Server.Game.Skills.SkillCatalog` with the **absolute** skills directory path and **3** skills (prototype catalog).
- [ ] `GET /health` (or Bruno `core/Health`) returns **200** and JSON includes `service: "NeonSprawl.Server"`.

## 2) Fail-fast — invalid catalog

- [ ] Temporarily introduce a catalog error (e.g. duplicate an `id` in `content/skills/prototype_skills.json`). `dotnet run` **exits** before listening; stderr includes **Skill catalog validation failed** and a path/rule hint. **Revert** the edit after the check.

## 3) Optional — explicit config

- [ ] Set `Content__SkillsDirectory` to a temp directory with invalid or empty catalogs and confirm the same fail-fast behavior (see [server README — Skill catalog](../../server/README.md#skill-catalog-contentskills-neo-34)).
