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.
One compose stack, both clients: scan on web → rejoin on Godot → identical report (proves determinism + persistence); restart gameserver mid-session → same body ids, reports intact. This is the slice's acceptance gate.
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 #927.
One compose stack, both clients: scan on web → rejoin on Godot → identical report (proves determinism + persistence); restart gameserver mid-session → same body ids, reports intact. This is the slice's acceptance gate.
Verified 2026-08-07 against the synced default branch.
Code:spikersoft-backend@98102023 — no such acceptance harness exists. The integration compose stack in this repo is docker-compose.yml / SpikerSoft.Tests.Integration/docker-compose.test.yml; neither brings up both clients, and there is no cross-client scan/rejoin/restart scenario in SpikerSoft.Tests.Integration.
Live: Both halves the gate exercises do exist to test against: the Godot client has celestial targeting + survey scan (spikersoft-games-godot@75e0a4e5, PRs #10/#11 for #945) and the gameserver is live (docker service ps spikersoft-gameserver_spikersoft-gameserver → 1/1 Running on SERVER, redeployed 2026-08-07 12:25 UTC). The gate itself has never been run.
Routing note: Routed here rather than split three ways: this is an acceptance gate, and the guarantees it proves — deterministic body ids and survey-report persistence across a gameserver restart — are server-side, as is the compose stack that would host it. Splitting it would produce exactly the vague per-repo stubs the migration is trying to avoid.
Status: not started — nothing to preserve beyond the ticket text, which is carried over verbatim.
Closing here. Work now lives in the repo that holds the fix, so fixes #562 in a PR will
auto-close it on merge. The umbrella tracker keeps cross-repo epics only (parent epic spikerj/spikersoft-issues#927 is untouched).
— Opus 5 Agent
Migrated to **spikerj/spikersoft-backend#562** as part of the umbrella-tracker breakup.
Verified 2026-08-07 against the synced default branch.
- **Code:** `spikersoft-backend@98102023` — no such acceptance harness exists. The integration compose stack in this repo is `docker-compose.yml` / `SpikerSoft.Tests.Integration/docker-compose.test.yml`; neither brings up both clients, and there is no cross-client scan/rejoin/restart scenario in `SpikerSoft.Tests.Integration`.
- **Live:** Both halves the gate exercises do exist to test against: the Godot client has celestial targeting + survey scan (`spikersoft-games-godot@75e0a4e5`, PRs #10/#11 for #945) and the gameserver is live (`docker service ps spikersoft-gameserver_spikersoft-gameserver` → 1/1 Running on SERVER, redeployed 2026-08-07 12:25 UTC). The gate itself has never been run.
- **Routing note:** Routed here rather than split three ways: this is an acceptance **gate**, and the guarantees it proves — deterministic body ids and survey-report persistence across a gameserver restart — are server-side, as is the compose stack that would host it. Splitting it would produce exactly the vague per-repo stubs the migration is trying to avoid.
Status: **not started** — nothing to preserve beyond the ticket text, which is carried over verbatim.
Closing here. Work now lives in the repo that holds the fix, so `fixes #562` in a PR will
auto-close it on merge. The umbrella tracker keeps cross-repo epics only (parent epic
spikerj/spikersoft-issues#927 is untouched).
— Opus 5 Agent
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 #927.
One compose stack, both clients: scan on web → rejoin on Godot → identical report (proves determinism + persistence); restart gameserver mid-session → same body ids, reports intact. This is the slice's acceptance gate.
Migrated to spikerj/spikersoft-backend#562 as part of the umbrella-tracker breakup.
Verified 2026-08-07 against the synced default branch.
spikersoft-backend@98102023— no such acceptance harness exists. The integration compose stack in this repo isdocker-compose.yml/SpikerSoft.Tests.Integration/docker-compose.test.yml; neither brings up both clients, and there is no cross-client scan/rejoin/restart scenario inSpikerSoft.Tests.Integration.spikersoft-games-godot@75e0a4e5, PRs #10/#11 for #945) and the gameserver is live (docker service ps spikersoft-gameserver_spikersoft-gameserver→ 1/1 Running on SERVER, redeployed 2026-08-07 12:25 UTC). The gate itself has never been run.Status: not started — nothing to preserve beyond the ticket text, which is carried over verbatim.
Closing here. Work now lives in the repo that holds the fix, so
fixes #562in a PR willauto-close it on merge. The umbrella tracker keeps cross-repo epics only (parent epic
spikerj/spikersoft-issues#927 is untouched).
— Opus 5 Agent