Resolved in spikersoft-backend PR #522 (merged to master). TargetKind celestial targeting (+ship-pilot fallback), ScanBody survey with quality tiers, difficulty from the newly-wired Elements/Resour…
Resolved in spikersoft-backend PR #523 (merged to master). survey.recorded → game_survey_reports best-quality upsert + Redis cache + zone-join replay + Initializer sync. Closing.
Resolved in spikersoft-backend PR #521 (merged to master). planet.#/star.#/moon.# bindings live + GameEventsConsumerBindingCoverageTests guard. Celestial bodies persist for the first time. Closing.
Implementation up: spikersoft-angular PR #620. target()/scanBody() + dual-casing normalizers + surveyReports signal; raycaster click-pick incl. asteroid InstancedMesh mapping + cycleTarget key…
Fix is up: spikersoft-backend PR #521 (CI green 13/13). Verified on the local compose stack: synthetic planet.created publish now reaches Mongo (game_planets) + Redis; binding guard test…
Implementation up: spikersoft-backend PR #522 (stacked on #521). TargetKind + ScanBody + quality-tiered report generation wiring Elements/ResourceDistribution; 28 new tests, GameServer suite…
Implementation up: spikersoft-backend PR #523 (stacked on #522). survey.recorded → game_survey_reports best-quality upsert + Redis cache + zone-join replay + Initializer sync. Compose-verified:…
Implementation up: spikersoft-games-godot PR #10. Unified {kind,id} target handle, radius-aware pick (maxf(8, r*1.15)) with angular-miss tie-break, CelestialBodyNode.set_selected torus ring,…
First slice implementation complete — all five PRs up (2026-08-06):