Skip to content

feat(mapgen-studio): saved-config precedence — drift detection + orange Modified affordance with click-to-resync#1660

Merged
mateicanavra merged 1 commit into
mainfrom
design/y2-saved-config-precedence
Jun 12, 2026
Merged

feat(mapgen-studio): saved-config precedence — drift detection + orange Modified affordance with click-to-resync#1660
mateicanavra merged 1 commit into
mainfrom
design/y2-saved-config-precedence

Conversation

@mateicanavra

Copy link
Copy Markdown
Owner

The game-setup dropdowns must never silently supersede a selected saved
config. Verified the suspected partial-overwrite is NOT real (dropdown
changes merge cleanly into setupConfig); the real gap was silent drift
with the selector still presenting the file as authoritative.

Categorical rule (same vocabulary as the world/map Modified state): drift
= 're-applying the saved file would change the state'
(studioSetupDriftsFromSavedConfig — the file governs the setup options it
specifies plus its player options; ungoverned keys are deliberately kept
by the apply-merge and never count). The header selector gains a warning
ring + an orange Modified pill; clicking the pill re-applies the saved
config (sync back is a no-op exactly when clean).

5 new drift pins in setupConfig.test.ts. Verified live: Speed → Quick
raised the ring + pill (and the run chip correctly flipped Stale); pill
click restored Standard and cleared both.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

mateicanavra commented Jun 12, 2026

Copy link
Copy Markdown
Owner Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

This was referenced Jun 12, 2026

mateicanavra commented Jun 12, 2026

Copy link
Copy Markdown
Owner Author

Merge activity

  • Jun 12, 10:46 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jun 12, 10:55 PM UTC: Graphite rebased this pull request as part of a merge.
  • Jun 12, 10:55 PM UTC: @mateicanavra merged this pull request with Graphite.

@mateicanavra
mateicanavra changed the base branch from design/y1-run-proof-request-id to graphite-base/1660 June 12, 2026 22:52
@mateicanavra
mateicanavra changed the base branch from graphite-base/1660 to main June 12, 2026 22:53
…ge Modified affordance with click-to-resync

The game-setup dropdowns must never silently supersede a selected saved
config. Verified the suspected partial-overwrite is NOT real (dropdown
changes merge cleanly into setupConfig); the real gap was silent drift
with the selector still presenting the file as authoritative.

Categorical rule (same vocabulary as the world/map Modified state): drift
= 're-applying the saved file would change the state'
(studioSetupDriftsFromSavedConfig — the file governs the setup options it
specifies plus its player options; ungoverned keys are deliberately kept
by the apply-merge and never count). The header selector gains a warning
ring + an orange Modified pill; clicking the pill re-applies the saved
config (sync back is a no-op exactly when clean).

5 new drift pins in setupConfig.test.ts. Verified live: Speed → Quick
raised the ring + pill (and the run chip correctly flipped Stale); pill
click restored Standard and cleared both.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mateicanavra
mateicanavra force-pushed the design/y2-saved-config-precedence branch from 9265fec to 55582ec Compare June 12, 2026 22:54
@mateicanavra
mateicanavra merged commit dda8da4 into main Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant