neon-sprawl/docs/manual-qa/NEO-49.md

25 lines
1.3 KiB
Markdown

# Manual QA — NEO-49 (perk_unlock telemetry hook sites)
Reference: [implementation plan](../plans/NEO-49-implementation-plan.md), [NEO-47 implementation plan](../plans/NEO-47-implementation-plan.md) (unlock engine).
## Preconditions
- Run `NeonSprawl.Server` (`dotnet run` from `server/NeonSprawl.Server`; default `http://localhost:5253`).
- This story adds **comments only**; perk unlock behavior matches NEO-47.
## Code review check
- [ ] Open `server/NeonSprawl.Server/Game/Mastery/PerkUnlockEngine.cs` and locate **`TryUnlockPerks`**. Confirm a **comment block** marks the future E9.M1 event **`perk_unlock`** after `PerkUnlockEvent` instances are built.
- [ ] Confirm **`TODO(E9.M1)`** and planned payload fields: `playerId`, `perkId`, `skillId`, `tierIndex`, `branchId`, `source` (`BranchPick` | `LevelUp`).
- [ ] Confirm there are **no** new `ILogger` or metrics calls for this event.
- [ ] Open `PerkUnlockEvent.cs` — summary cross-references the hook anchor in `TryUnlockPerks`.
- [ ] Open [server README — Perk unlock engine and telemetry hooks](../../server/README.md#perk-unlock-engine-and-telemetry-hooks-neo-47-neo-49) — NEO-49 hook placement documented.
## Regression (optional)
```bash
cd server && dotnet test NeonSprawl.sln --no-restore 2>/dev/null || dotnet test NeonSprawl.sln
```
Expect all tests pass (comments-only change).