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.
NEW orbital-satellite entity (Joey's call — distinct from the Spacecraft docking system): deployed from a ship near a conquered planet, server-swept orbit, owner-bound, persisted (game_satellites), cargo hold. Planetary stockpiles accrue lazily from base mines/harvesters (no per-tick simulation). Satellites relay cargo surface↔orbit and run automated haul routes between a player's satellites.
Playable when done: mine on planet A, deploy satellites, route ore to planet B — web and mobile (hard lockstep; space-layer).
Checklist generated by the umbrella-tracker migration, 2026-08-07 — Opus 5 Agent
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.
NEW orbital-satellite entity (Joey's call — distinct from the Spacecraft docking system): deployed from a ship near a conquered planet, server-swept orbit, owner-bound, persisted (`game_satellites`), cargo hold. Planetary stockpiles accrue lazily from base mines/harvesters (no per-tick simulation). Satellites relay cargo surface↔orbit and run automated haul routes between a player's satellites.
**Playable when done**: mine on planet A, deploy satellites, route ore to planet B — web and mobile (hard lockstep; space-layer).
### Tickets
- [ ] #964
- [ ] #965
- [ ] #966
- [ ] #967
- [ ] #968
- [ ] #969
<!-- BEGIN MIGRATED-CHILDREN -->
---
## Child issues (per-repo, auto-close on merge)
This epic is complete when every box below is checked. Each child lives in the
repo that holds its fix, so `fixes #N` in a PR closes it automatically.
**Backend**
- [ ] spikerj/spikersoft-backend#568 — [ShareSurveyReport] Backend: ShareSurveyReport command + shareable report model <sub>(was #969)</sub>
- [ ] spikerj/spikersoft-backend#601 — [BE] Planetary stockpile with lazy offline accrual <sub>(was #964)</sub>
- [ ] spikerj/spikersoft-backend#602 — [BE] SatelliteEntity: deploy, orbit sweep, persistence <sub>(was #965)</sub>
- [ ] spikerj/spikersoft-backend#603 — [BE] Cargo transfer commands: surface↔orbit + satellite↔satellite routes <sub>(was #966)</sub>
**Angular**
- [ ] spikerj/spikersoft-angular#670 — [NG] Satellite deploy/cargo/stockpile UI (gl-hud) <sub>(was #967)</sub>
- [ ] spikerj/spikersoft-angular#681 — [ShareSurveyReport] Angular: share a survey report + show received-report provenance <sub>(was #969)</sub>
**Godot**
- [ ] spikerj/spikersoft-games-godot#15 — [GD] Satellite deploy/cargo/stockpile UI <sub>(was #968)</sub>
- [ ] spikerj/spikersoft-games-godot#21 — [ShareSurveyReport] Godot: share a survey report + show received-report provenance <sub>(was #969)</sub>
<sub>Checklist generated by the umbrella-tracker migration, 2026-08-07 — Opus 5 Agent</sub>
<!-- END MIGRATED-CHILDREN -->
The unit is tracked by the shared [Unify P4] title prefix and by sibling
cross-links in each issue body. Closing here — the umbrella tracker is being
emptied.
— Opus 5 Agent
Dissolved into per-repo issues as part of the umbrella-tracker breakup.
This epic could never auto-close from a merge, because Gitea only resolves
`fixes #N` within a single repo. Its work now lives where the code is:
**Backend**
- spikerj/spikersoft-backend#568 — [ShareSurveyReport] Backend: ShareSurveyReport command + shareable report model
- spikerj/spikersoft-backend#601 — [BE] Planetary stockpile with lazy offline accrual
- spikerj/spikersoft-backend#602 — [BE] SatelliteEntity: deploy, orbit sweep, persistence
- spikerj/spikersoft-backend#603 — [BE] Cargo transfer commands: surface↔orbit + satellite↔satellite routes
**Angular**
- spikerj/spikersoft-angular#670 — [NG] Satellite deploy/cargo/stockpile UI (gl-hud)
- spikerj/spikersoft-angular#681 — [ShareSurveyReport] Angular: share a survey report + show received-report provenance
**Godot**
- spikerj/spikersoft-games-godot#15 — [GD] Satellite deploy/cargo/stockpile UI
- spikerj/spikersoft-games-godot#21 — [ShareSurveyReport] Godot: share a survey report + show received-report provenance
The unit is tracked by the shared `[Unify P4]` title prefix and by sibling
cross-links in each issue body. Closing here — the umbrella tracker is being
emptied.
— 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.NEW orbital-satellite entity (Joey's call — distinct from the Spacecraft docking system): deployed from a ship near a conquered planet, server-swept orbit, owner-bound, persisted (
game_satellites), cargo hold. Planetary stockpiles accrue lazily from base mines/harvesters (no per-tick simulation). Satellites relay cargo surface↔orbit and run automated haul routes between a player's satellites.Playable when done: mine on planet A, deploy satellites, route ore to planet B — web and mobile (hard lockstep; space-layer).
Tickets
Child issues (per-repo, auto-close on merge)
This epic is complete when every box below is checked. Each child lives in the
repo that holds its fix, so
fixes #Nin a PR closes it automatically.Backend
Angular
Godot
Checklist generated by the umbrella-tracker migration, 2026-08-07 — Opus 5 Agent
Dissolved into per-repo issues as part of the umbrella-tracker breakup.
This epic could never auto-close from a merge, because Gitea only resolves
fixes #Nwithin a single repo. Its work now lives where the code is:Backend
Angular
Godot
The unit is tracked by the shared
[Unify P4]title prefix and by siblingcross-links in each issue body. Closing here — the umbrella tracker is being
emptied.
— Opus 5 Agent