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

35 lines
2.0 KiB
Markdown

# Manual QA — NEO-141 (faction telemetry hook sites)
Reference: [implementation plan](../plans/NEO-141-implementation-plan.md), [NEO-136 implementation plan](../plans/NEO-136-implementation-plan.md) (reputation ops), [NEO-137 implementation plan](../plans/NEO-137-implementation-plan.md) (gate ops).
## Preconditions
- Run `NeonSprawl.Server` (`dotnet run` from `server/NeonSprawl.Server`; default `http://localhost:5253`) if exercising Bruno; not required for code review only.
- This story adds **comments only**; faction standing, gate eval, and reward delivery behavior match NEO-136/137/138.
## Code review check
- [ ] Open `server/NeonSprawl.Server/Game/Factions/ReputationOperations.cs`.
- [ ] Confirm **`reputation_delta`** comment block immediately after **`auditStore.TryAppend`** returns **`true`**.
- [ ] Confirm **`TODO(E9.M1)`** markers and planned payload fields; **no** new `ILogger` or metrics calls.
- [ ] Open `server/NeonSprawl.Server/Game/Factions/FactionGateOperations.cs`.
- [ ] Confirm **`faction_gate_blocked`** comment on standing read-failure deny and threshold deny branches.
- [ ] Confirm **no** duplicate hook comments in **`QuestStateOperations`**, **`QuestAcceptApi`**, **`FactionStandingApi`**, or **`RewardRouterOperations`** for these event names.
- [ ] Open [server README — Faction telemetry hooks (NEO-141)](../../server/README.md#faction-telemetry-hooks-neo-141) — NEO-141 subsection present with event table.
- [ ] Open [server README — Reward telemetry hooks (NEO-130)](../../server/README.md#reward-telemetry-hooks-neo-130) — **`reputation_delta`** stub row removed; cross-link to NEO-141 present.
## Regression (optional)
```bash
cd server && dotnet test NeonSprawl.sln
```
Expect all tests pass (comments-only change).
## Bruno (optional sanity)
From `bruno/neon-sprawl-server/` against a running server:
- **Accept grid contract faction gate deny** — **`faction_gate_blocked`** deny unchanged.
- **Accept grid contract after operator chain** — rep grant + accept success unchanged.