Files
code_of_conquest_dnd/content
Phillip Tarrant bb8097929a docs(canon): name the last two callings — Reaver, Bloodsworn
All seven callings are now named; no [CANON-TBD] remains in the specs.

Reaver (Barbarian). To reave is to raid — occupational, like Sellsword and
Trapper, naming what he does for money rather than what he is inside. That is
the rule the five mock names already obeyed and that §8's own list broke: a
calling is what a village calls you, not what a rulebook calls you. Bearsark
and Wildman were rejected for naming a condition; Breaker for being generic.

Bloodsworn (Warlock) was not a new coinage — the cosmology minted it a day
after the races spec was written ("what the Margreave calls bloodsworn",
rule.blood-price), and the cosmology spec had already applied it. It is the
exact FTH-axis mirror of Bonesetter: one channels the Warden, one pacts a king
of the Seven. Accepted cost, recorded in the spec: alone among the callings it
names a condition rather than a trade — the villain who pacts Ghaul is
bloodsworn too. A second, occupational word (Cursewright, Hexman) was
considered and rejected as a distinction the player will never feel.

Also retires the stale "reconcile class names" note on M4 and records the two
contract migrations that milestone owes: the canon log's `race` field, and the
deserter origin's dead allowed_classes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QYa9u7Kdxv5gX4AnwWexy8
2026-07-12 19:34: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):

roadmap.md The content track — Spine · Bill of Materials · Backlog. START HERE.
/lore      Authored Markdown bibles. THE SOURCE OF TRUTH; world/ + server/ are built from it.
/world     Static, ID-referenced game content. Identical every playthrough. BUILT.
  /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)
/server    Spoiler bodies + personas. API-only; excluded from the client export. BUILT.
/origins   Thin starting-state seeds. One per starting point. POC authors one.
/fallback  Authored degraded-DM text for every AI surface (charter §13)

roadmap.md governs what gets authored. Its rule: never author anything that is not in the Bill of Materials. Ideas that arrive go to its Backlog.

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).