Part of the Game Unification lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: ~/.claude/plans/i-want-a-plan-breezy-eclipse.md on the 4090.
SpikerSoft.EventHandlers.GameEvents/Services/GameEventsConsumer.cs:161: add ConfigureQueueWithDlqAsync bindings for planet.#, star.#, moon.#. The dispatch switch (DispatchByRoutingKeyAsync ~line 216), GamePersistenceService handlers, and RedisPlanetCacheWriter/RedisStarCacheWriter/RedisMoonCacheWriter already exist and are unreachable.
Also: guard test asserting bound patterns cover every routing-key family the dispatcher handles (allow-list the known-dead ship/inventory keys with a comment); make drops loud (mandatory publish or alternate exchange); rewrite the README known-defect section.
Verify (docker-compose gameserver stack, lines ~809-870): first boot writes game_planets docs; restart gameserver → "Loaded N planets from Redis", same ids; flush Redis + rerun initializer → same ids from Mongo.
Part of the **Game Unification** lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: `~/.claude/plans/i-want-a-plan-breezy-eclipse.md` on the 4090.
Part of EPIC #926.
`SpikerSoft.EventHandlers.GameEvents/Services/GameEventsConsumer.cs:161`: add `ConfigureQueueWithDlqAsync` bindings for `planet.#`, `star.#`, `moon.#`. The dispatch switch (`DispatchByRoutingKeyAsync` ~line 216), `GamePersistenceService` handlers, and `RedisPlanetCacheWriter`/`RedisStarCacheWriter`/`RedisMoonCacheWriter` already exist and are unreachable.
Also: guard test asserting bound patterns cover every routing-key family the dispatcher handles (allow-list the known-dead ship/inventory keys with a comment); make drops loud (mandatory publish or alternate exchange); rewrite the README known-defect section.
Verify (docker-compose gameserver stack, lines ~809-870): first boot writes `game_planets` docs; restart gameserver → "Loaded N planets from Redis", same ids; flush Redis + rerun initializer → same ids from Mongo.
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 (GameEventsConsumerBindingCoverageTests) keeps publisher/bindings/dispatch in lock-step. Will close after merge.
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 (`GameEventsConsumerBindingCoverageTests`) keeps publisher/bindings/dispatch in lock-step. Will close after merge.
Resolved in spikersoft-backend PR #521 (merged to master). planet.#/star.#/moon.# bindings live + GameEventsConsumerBindingCoverageTests guard. Celestial bodies persist for the first time. 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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of the Game Unification lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan:
~/.claude/plans/i-want-a-plan-breezy-eclipse.mdon the 4090.Part of EPIC #926.
SpikerSoft.EventHandlers.GameEvents/Services/GameEventsConsumer.cs:161: addConfigureQueueWithDlqAsyncbindings forplanet.#,star.#,moon.#. The dispatch switch (DispatchByRoutingKeyAsync~line 216),GamePersistenceServicehandlers, andRedisPlanetCacheWriter/RedisStarCacheWriter/RedisMoonCacheWriteralready exist and are unreachable.Also: guard test asserting bound patterns cover every routing-key family the dispatcher handles (allow-list the known-dead ship/inventory keys with a comment); make drops loud (mandatory publish or alternate exchange); rewrite the README known-defect section.
Verify (docker-compose gameserver stack, lines ~809-870): first boot writes
game_planetsdocs; restart gameserver → "Loaded N planets from Redis", same ids; flush Redis + rerun initializer → same ids from Mongo.Fix is up: spikersoft-backend PR #521 (CI green 13/13). Verified on the local compose stack: synthetic
planet.createdpublish now reaches Mongo (game_planets) + Redis; binding guard test (GameEventsConsumerBindingCoverageTests) keeps publisher/bindings/dispatch in lock-step. Will close after merge.Resolved in spikersoft-backend PR #521 (merged to master). planet.#/star.#/moon.# bindings live + GameEventsConsumerBindingCoverageTests guard. Celestial bodies persist for the first time. Closing.