Design spec for the §11 canon log, plus origin seeds as thin initial-state
overlays over a single static world. Three layers (world content / origin seed /
runtime canon log), the in/out boundary (numeric Luck never enters the AI
payload, §7), field-level schemas, new-game construction order, turn-to-turn
maintenance, and JSON storage validated on both client and api.
Folds content/npcs and content/quests under content/world/; adds
content/world/{locations,items} and content/origins. fallback/ kept outside
world/ (authored prose, not id-referenced).
Spec: docs/superpowers/specs/2026-07-09-canon-log-schema-design.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
17 lines
812 B
Markdown
17 lines
812 B
Markdown
# /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.
|