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

2.0 KiB

Manual QA — NEO-121 (quest telemetry hook sites)

Reference: implementation plan, NEO-117 implementation plan (quest operations), NEO-118 implementation plan (objective wiring).

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; quest behavior matches NEO-117/118/119/120.

Code review check

  • Open server/NeonSprawl.Server/Game/Quests/QuestStateOperations.cs.
  • Confirm quest_start comment block immediately after successful TryActivate in TryAccept (before objective wiring).
  • Confirm quest_step_complete comment block after successful TryAdvanceStep store commit.
  • Confirm quest_complete comment block after first-time TryMarkComplete commit (not on idempotent completed early return).
  • Confirm quest_accept_denied comment in DenyAccept (used by all TryAccept deny paths).
  • Confirm TODO(E9.M1) markers and planned payload fields; no new ILogger or metrics calls.
  • Confirm no duplicate hook comments in QuestAcceptApi, QuestProgressApi, or QuestObjectiveWiring.
  • Open server README — Quest telemetry hooks (NEO-121) — NEO-121 subsection present with event table.

Regression (optional)

cd server && dotnet test NeonSprawl.sln

Expect all tests pass (comments-only change).

Bruno (optional sanity)

From bruno/neon-sprawl-server/quest-progress/ against a running server:

  • Get quest progress default — all quests not_started unchanged.
  • Post accept gather introaccepted: true unchanged.
  • Post accept duplicateaccepted: false, reasonCode: already_active unchanged.