# /content — authored game data

Cross-cutting authored writing, split by role in the data model (see the canon
log spec in [`/docs`](../docs)):

```
/world     Static, ID-referenced game content. Identical every playthrough.
  /locations   The map — towns, dungeons, points of interest (by id)
  /npcs        Per-NPC persona + knowledge lists (charter §6)
  /quests      Story skeletons and quest definitions (charter §17)
  /items       Item definitions — gear, consumables, cursed items (§7)
/origins   Thin starting-state seeds. One per starting point. POC authors one.
/fallback  Authored degraded-DM text for every AI surface (charter §13)
```

## The three layers

- **`world/`** is static content the origin and the canon log reference by stable
  string **id**. Authored once; the same for every play.
- **`origins/`** are thin seeds — where the player starts, the situation, and
  disposition/quest/item/build seeds. Values, not maps. Increase replayability
  without multiplying authoring work.
- **`fallback/`** is not world content — it is degraded-DM prose (§13), consumed
  when the API is down. It sits outside `world/` on purpose: nothing resolves an
  id against it.

At new-game, code constructs the runtime **canon log** from a chosen origin +
world content + character creation. See [`/docs/canon-log.md`](../docs) (spec) —
authored via the design under [`/docs/superpowers/specs`](../docs/superpowers/specs).

## Authoring notes

- **NPC knowledge lists are the whole design** (§6). The only thing stopping the
  blacksmith from revealing the twist. Real authoring work — budget for it.
- **Fallback text is content, not error handling** (§13). Every AI-dependent
  surface needs one before it ships.
- Story skeletons are authored for now. AI-generated skeletons are v2 (§17).
