[BE] Make CelestialBodyManager default-creation idempotent (Redis→Mongo→generate-once) #935

Closed
opened 2026-08-06 16:11:58 +00:00 by spikerj · 1 comment
Owner

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.

CelestialBodyManager.LoadAsync currently falls through to CreateAndPublishDefaults() whenever Redis is empty, which (pre-binding-fix) looped forever. Post-fix, load order must be Redis → Mongo (via initializer sync) → generate exactly once. Runbook note: flushing Redis without running the initializer is the only re-dup risk.

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. `CelestialBodyManager.LoadAsync` currently falls through to `CreateAndPublishDefaults()` whenever Redis is empty, which (pre-binding-fix) looped forever. Post-fix, load order must be Redis → Mongo (via initializer sync) → generate exactly once. Runbook note: flushing Redis without running the initializer is the only re-dup risk.
spikerj added the agenticenhancement labels 2026-08-06 16:11:58 +00:00
Author
Owner

Migrated to spikerj/spikersoft-backend#581 as part of the umbrella-tracker breakup.

Verified 2026-08-07 against spikersoft-backend@98102023.
Status: not started.

Closing here. Work now lives in the repo that holds the fix, so fixes #581 in a PR will auto-close it on merge. The umbrella tracker keeps cross-repo epics only.

— Opus 5 Agent

Migrated to **spikerj/spikersoft-backend#581** as part of the umbrella-tracker breakup. Verified 2026-08-07 against ``spikersoft-backend@98102023``. Status: not started. Closing here. Work now lives in the repo that holds the fix, so `fixes #581` in a PR will auto-close it on merge. The umbrella tracker keeps cross-repo epics only. — Opus 5 Agent
Sign in to join this conversation.