Containment becomes editable: the where-it-lives card grows controls

Eric's question exposed the gap: stored_in was settable only at
pick-time, with no path for a game already in the system. The Library
detail page's "Where it lives" card now renders for every entry — "in
its own box on a shelf" with an it-lives-inside-another-box control,
or the current container with a change button — saving through a new
/api/stored-in endpoint that updates the match rows (the durable
record) AND the library entry in place, so the page and the shelf math
reflect it immediately, no enrich run needed. Guards refuse
self-containment and direct cycles; local games are addressable
through their key's normalized title.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqdW79g
This commit is contained in:
Eric Wagoner
2026-08-09 12:55:36 -04:00
co-authored by Claude Fable 5
parent f825a91ea4
commit fb611e0c87
5 changed files with 1484 additions and 137 deletions
+1352 -126
View File
File diff suppressed because it is too large Load Diff