Local dev harness: snapshot all data sources to S3 and replay them offline #128

Closed
opened 2026-07-21 03:04:27 +00:00 by coilyco-ops · 0 comments
Member

Kai asked for a local dev harness: take a snapshot of every eco-app data source, push it to S3, and pull it back down to iterate against without touching the live game server.

Shape landed:

  • src/eco_snapshot/ - capture pulls every upstream endpoint the app consumes (catalog-driven fan-out over /datasets/flatlist series + action CSVs and /api/v1/exporter/specieslist, plus the static civics/map/users surfaces and the jobs/stores/replay mod endpoints) into a manifest-indexed snapshot dir, byte-for-byte. serve replays it as a localhost fixture eco server, with significant-param matching so volatile day windows still hit the captured series.
  • Makefile / ward verbs - snapshot-capture, snapshot-push, snapshot-pull, snapshot-serve, http-offline. Push/pull move tarballs through s3://kai-game-backups/eco-app/snapshots/ (timestamped + latest).
  • Verified end-to-end against the live server (cycle 14 day 17, 317 responses): capture, push, pull on a wiped dir, fixture serve, fused app fully offline with real KPIs and player data.

Docs: docs/snapshot-harness.md.

Kai asked for a local dev harness: take a snapshot of every eco-app data source, push it to S3, and pull it back down to iterate against without touching the live game server. Shape landed: * `src/eco_snapshot/` - `capture` pulls every upstream endpoint the app consumes (catalog-driven fan-out over `/datasets/flatlist` series + action CSVs and `/api/v1/exporter/specieslist`, plus the static civics/map/users surfaces and the jobs/stores/replay mod endpoints) into a manifest-indexed snapshot dir, byte-for-byte. `serve` replays it as a localhost fixture eco server, with significant-param matching so volatile day windows still hit the captured series. * Makefile / ward verbs - `snapshot-capture`, `snapshot-push`, `snapshot-pull`, `snapshot-serve`, `http-offline`. Push/pull move tarballs through `s3://kai-game-backups/eco-app/snapshots/` (timestamped + `latest`). * Verified end-to-end against the live server (cycle 14 day 17, 317 responses): capture, push, pull on a wiped dir, fixture serve, fused app fully offline with real KPIs and player data. Docs: `docs/snapshot-harness.md`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/eco-app#128
No description provided.