Checklist

7 of 8 complete
  • Define versioned, allowlisted market API contracts for buy, sell, and own-listing flows; explicitly map only fields already visible in equivalent player Razor views.
  • Expose authenticated `/api/v1/market` buy, sell, search, inventory, listing, collect, and cancel endpoints over shared web-engine services, with validation, safe error mapping, and idempotency.
  • Add a session-scoped, trim-safe PRK.Client market API client that supplies active zone credentials and cancels obsolete requests.
  • Implement the native XML GMI window and presenter/state flow for item search, buy creation, inventory-backed sell creation, and own listing collect/cancel.
  • Add `/gmi` to the existing client chat-command flow, open the in-play market window, and clear/cancel state safely on close, zoning, reconnect, and logout.
  • Add API contract/auth/error and native presenter/state tests, including negative serialization assertions for internal, GM-only, identity, correlation, escrow, and diagnostic fields.
  • Add MarketEngine and ClientWebEngine services to `compose.dev.yml` with shared infrastructure, game-data mounts, local web/API exposure, and validated Compose configuration.
  • Verify ClientWebEngine, PRK.Client, and market tests, then exercise the full native GMI flow against the local stack near a terminal while regression-checking Razor views.
Project
engines
Kind
Feature
Priority
High
Task ID
tsk_ns9pgxkp8x
Updated