Block a user
[BE] Harvester vehicle in the C# match manager
[NG] Menu collapse 1/3: remove hex-TD standalone entry
[BE] SpaceZone broadcasts conquest status; re-read planet cache on join/landing
[BE] Conquest completion → planet.conquest.completed → universe write
[NG] Harvester in the TS reducer + renderer
[NG] Wire targeting + scan HUD in the web space game
[GD] Surface the 5-character cap error
[BE] Persist BodyType/ResourceSeed/SurfaceTemperatureK/Difficulty on Planet at generation
[BE] TargetKind + ScanBody + survey report generation (in-memory)
[BE] Survey report persistence + rejoin list
[GD] Unified target handle + celestial targeting + survey UI
[ALL] Cross-client acceptance: scan on web, verify on Godot, survive restart
[BE] HexTowerDefenceMatch + hub: planetId/difficulty/outcome; require scan report
[BE+NG] Wave scaling by planet difficulty; win = N(difficulty) waves
[BE] Make CelestialBodyManager default-creation idempotent (Redis→Mongo→generate-once)
[NG] Surface the 5-character cap in character creation UI
[BE] Bind planet.#/star.#/moon.# on the GameEvents queue + binding guard test
[BE] 5-character account cap in HandleCreateCharacterCommand
[BE] Protocol schema + codegen: game-protocol.yaml → C# + TS generated files
[BE] Wire voxel chunk persistence (RedisVoxelCache + voxel.# + GameVoxelChunk)