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

1.3 KiB

Manual QA — NEO-40 (progression telemetry hook sites)

Reference: implementation plan, NEO-38 manual QA (same server surface).

Preconditions

  • Same as NEO-38: run NeonSprawl.Server (dotnet run from server/NeonSprawl.Server; default http://localhost:5253).
  • This story adds comments only; behavior matches NEO-38.
BASE=http://localhost:5253
ID=dev-local-1

Verify API unchanged

  1. Grant (same as NEO-38 happy path):
curl -sS -i -X POST "${BASE}/game/players/${ID}/skill-progression" \
  -H "Content-Type: application/json" \
  -d '{"schemaVersion":1,"skillId":"salvage","amount":10,"sourceKind":"activity"}'

Expect HTTP 200, granted true, progression and levelUps present as before.

  1. Level-up path (optional, same as NEO-38 bonus): large grant on intrusion if XP crosses the curve threshold; expect levelUps non-empty when a boundary is crossed.

Code review check

  • Open server/NeonSprawl.Server/Game/Skills/SkillProgressionSnapshotApi.cs and confirm comment blocks mark xp_grant (after successful TryApplyXpDelta) and level_up (inside nextLevel > prevLevel), referencing E9.M1 / no production ingest.
  • Confirm there are no new ILogger or metrics calls for these events.