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

2.0 KiB

Manual QA — NEO-56 (inventory telemetry hook sites)

Reference: implementation plan, NEO-54 implementation plan (inventory engine), NEO-55 implementation plan (inventory HTTP).

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; inventory behavior matches NEO-54/NEO-55.

Code review check

  • Open server/NeonSprawl.Server/Game/Items/PlayerInventoryOperations.cs.
  • TryAddStack: confirm item_created comment block immediately before Applied return (successful add only).
  • TryAddStack / TryRemoveStack: confirm inventory_transfer_denied hook on post-mutation Denied returns (inventory_full, insufficient_quantity).
  • Deny: confirm inventory_transfer_denied hook covers early validation denies (invalid_quantity, invalid_item).
  • Confirm TODO(E9.M1) markers and planned payload fields; no new ILogger or metrics calls.
  • Confirm no duplicate hook comments in PlayerInventoryApi.cs.
  • Open PlayerInventoryReasonCodes.cs — summary cross-references NEO-56 hook anchor.
  • Open server README — Player inventory (NEO-54 store, NEO-55 HTTP) — NEO-56 telemetry subsection present.

Regression (optional)

cd server && dotnet test NeonSprawl.sln

Expect all tests pass (comments-only change).

Bruno (optional sanity)

From bruno/neon-sprawl-server/inventory/ against a running server:

  • Get inventory — 200 empty grid for dev-local-1.
  • Post inventory addapplied: true unchanged.
  • Post inventory add deny invalid itemapplied: false, reasonCode: invalid_item unchanged.