docs(mapgen-studio): redesign workstream — frame, research, audit, target architecture#1603
Merged
Merged
Conversation
…rget architecture Open the MapGen Studio redesign initiative: a top-1%, data-driven React 19 rebuild that decomposes the 3,010-line App.tsx, introduces a native effect-orpc server on Bun, oRPC-native TanStack Query + Zustand on the client, and full canonical shadcn/ui + Tailwind v4 — with behavior parity for map-gen, Deck.gl, recipes, and the live-game control loop. Artifacts: - 00-GOAL.md — framed objective, user decisions, falsifier, parity hard core - research/01-orpc-effect-bun.md, research/02-orpc-tanstack-zustand.md - audit/03-component-architecture, 04-design-system, 05-server-contracts, 06-typescript-rigor - architecture/10-target-architecture.md, 11-slice-plan.md - apps/mapgen-studio/system.md — extracted current design language Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ts (16 endpoints)
Contract-first oRPC package (zod I/O) covering all 16 current /api endpoints
across civ7.*, civ7.live.*, runInGame.*, mapConfigs.*, studio.* — the typed corpus
the client will consume. No business logic yet (services/router land in A2/A3).
Parity captured as contract-level invariants: live.status embedded-{error} 200
shape, non-uniform error status codes, runInGame.start .catchall so the
assertNoRawControlFields security scan can still reject raw control keys, and the
status-404 serverInstanceId/serverStartedAt restart-detection echo. App-anchored
outputs (run-in-game status, save/deploy status, setup catalog) reproduced
field-for-field from features/*/status.ts without importing app code.
Verified: bunx turbo run check --filter=@civ7/studio-server — clean (0 errors).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
User correction: no FireTuner reads; consume the actual latest live-control code. Verified the new effect-oRPC control substrate (control-oRPC router + Civ7IntelligenceBridge) is NOT in this base (packages/civ7-control-orpc is empty) — it lives in the 570-branch live-control stack still being consolidated, and the mapgen-studio Studio link is itself being rebuilt there. Studio reads live state today via @civ7/direct-control (vite.config.ts:32), the surface being superseded. Decision: full pause. Re-baseline off `main` once the consolidated control-oRPC work merges. Server (Phase A) + data (Phase B) + live-coupled decomposition are blocked; their server-contract audit (05) and architecture §1 are marked provisional. Design-system / component-architecture / TS-rigor audits and client-pattern research remain valid. Resume conditions recorded in 00-GOAL.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ream Self-contained handoff packet (framing-design: objective-framing × audience-export for a post-compaction recipient). Lets the user re-enter the paused redesign after the control-oRPC substrate merges to main: read-first docs, confirmed decisions, realign+re-baseline checklist (consume control-oRPC, no FireTuner), Phase A→G plan, hard core + falsifier. Includes a guard to STOP if main lacks the substrate. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…sign-system-first - Add FRAME.md: normative operating model + guardrails (Graphite never-submit, design-system-first, OpenSpec-backed slices, live-control seam vs wait-for-merge, parity hard core, falsifier). - Reset controlling goal in 00-GOAL.md (create-goal fallback record); supersede the PAUSED/wait-for-merge sections; ACTIVE status ledger in design-system-first phase order (P1 design system → P7 hand over unsubmitted stack). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Railway preview (MapGen Studio): not provisioned for this PR. Policy (Graphite stacks): previews are created only for the top-of-stack PR by default.
Debug: |
Owner
Author
This was referenced Jun 12, 2026
Merged
refactor(studio): decompose App.tsx non-React corpus into feature modules and shared utilities
#1608
Merged
Merged
This was referenced Jun 12, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

docs(mapgen-studio): redesign workstream — frame, research, audit, target architecture
Open the MapGen Studio redesign initiative: a top-1%, data-driven React 19 rebuild
that decomposes the 3,010-line App.tsx, introduces a native effect-orpc server on
Bun, oRPC-native TanStack Query + Zustand on the client, and full canonical
shadcn/ui + Tailwind v4 — with behavior parity for map-gen, Deck.gl, recipes, and
the live-game control loop.
Artifacts:
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
feat(studio-server): A1 — scaffold @civ7/studio-server + oRPC contracts (16 endpoints)
Contract-first oRPC package (zod I/O) covering all 16 current /api endpoints
across civ7., civ7.live., runInGame., mapConfigs., studio.* — the typed corpus
the client will consume. No business logic yet (services/router land in A2/A3).
Parity captured as contract-level invariants: live.status embedded-{error} 200
shape, non-uniform error status codes, runInGame.start .catchall so the
assertNoRawControlFields security scan can still reject raw control keys, and the
status-404 serverInstanceId/serverStartedAt restart-detection echo. App-anchored
outputs (run-in-game status, save/deploy status, setup catalog) reproduced
field-for-field from features/*/status.ts without importing app code.
Verified: bunx turbo run check --filter=@civ7/studio-server — clean (0 errors).
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
docs(mapgen-studio): PAUSE redesign — live-control substrate correction
User correction: no FireTuner reads; consume the actual latest live-control code.
Verified the new effect-oRPC control substrate (control-oRPC router +
Civ7IntelligenceBridge) is NOT in this base (packages/civ7-control-orpc is empty)
— it lives in the 570-branch live-control stack still being consolidated, and the
mapgen-studio Studio link is itself being rebuilt there. Studio reads live state
today via @civ7/direct-control (vite.config.ts:32), the surface being superseded.
Decision: full pause. Re-baseline off
mainonce the consolidated control-oRPCwork merges. Server (Phase A) + data (Phase B) + live-coupled decomposition are
blocked; their server-contract audit (05) and architecture §1 are marked
provisional. Design-system / component-architecture / TS-rigor audits and
client-pattern research remain valid. Resume conditions recorded in 00-GOAL.md.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
docs(mapgen-studio): add post-merge resume prompt for redesign workstream
Self-contained handoff packet (framing-design: objective-framing × audience-export
for a post-compaction recipient). Lets the user re-enter the paused redesign after
the control-oRPC substrate merges to main: read-first docs, confirmed decisions,
realign+re-baseline checklist (consume control-oRPC, no FireTuner), Phase A→G plan,
hard core + falsifier. Includes a guard to STOP if main lacks the substrate.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
docs(mapgen-studio): reframe redesign — normative FRAME, un-pause, design-system-first
design-system-first, OpenSpec-backed slices, live-control seam vs wait-for-merge,
parity hard core, falsifier).
the PAUSED/wait-for-merge sections; ACTIVE status ledger in design-system-first
phase order (P1 design system → P7 hand over unsubmitted stack).
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com