Files
code_of_conquest_dnd/content
Phillip Tarrant ef335a93c3 docs: land the saga guardrails on the milestones they constrain
Applies the seven-campaign saga direction spec (021c248) to the docs it
was written to protect. No new milestone, no new content, no BOM line.

docs/roadmap.md — a "Guarded direction" section, and a ⛨ saga note on the
four milestones that would otherwise foreclose the shape:
  M3  don't hardcode the title flow so a saga entry path can't be added
  M4  keep construct()'s `creation` a plain Dictionary; the scene must not
      become its only producer
  M5  the level curve is no longer open — L20 across 7 tiers; enemy stat
      blocks carry tier; no scaling multiplier, ever
  M9  the save is two objects (Saga + Campaign); humiliations move to the
      Saga or they die with the campaign

races-and-classes spec — the deferred "XP curve → M5" line now inherits the
ceiling rather than choosing one.

canon-roadmap — what the saga asks of content: a tier field when the
item/quest namespaces land, and a fixed-vs-variable mark on each BOM line
when the BOM is written. Tiers 2-7 and the other six kings go to the
Backlog.

Content build --check green; no generated content touched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 17:23:26 -05:00
..
2026-07-09 11:17:54 -05:00

/content — authored game data

Cross-cutting authored writing, split by role in the data model (see the canon log spec in /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 (spec) — authored via the design under /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).