The three denominations are move tokens, not stored buckets — there is one integer, so change-making never arises. The deserter is down to 47c: under a silver, so he cannot cover a bed and the player sees it on turn one. A parity test guards the code-side ratios against the content-side ids. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QYa9u7Kdxv5gX4AnwWexy8
/content/world — static, ID-referenced content
The shared world. Authored once, identical every playthrough. Everything here
carries a stable string id that origins and the canon log reference. Never
seed initial state here — that is an origin's job (/content/origins).
/locations Towns, dungeons, points of interest. id → location
/npcs Persona + knowledge lists (charter §6). id → npc
/quests Story skeletons and quest definitions (charter §17). id → quest
/items Gear, consumables, cursed items (charter §7). id → item
New-game construction resolves every id an origin references (start location, start quest, granted items, seeded companions) against this content, and fails loudly if one is missing. Keep ids stable — a rename is a breaking change.