Files
code_of_conquest_dnd/content/lore/canon-roadmap.md
Phillip Tarrant dc4b14d3e5 fix(content): repair client consumers broken by the Duncarrow purge
The purge plan assumed content/world/** was pure build output. The client
reads it: content_db.gd loads content/world/topics/ (now absent, since every
topic was Duncarrow-generated) and its tests asserted on deleted ids.

- content_db: a missing content dir is an empty dir, not an error (§13)
- test_content_db: repoint at cosmology canon; drop deleted npc.mera-fenn
- test_content_db: assert the no-body-on-client invariant structurally, so it
  cannot pass vacuously when the topic set is empty
- schema.md: finish repointing the worked example onto specimen.md's ids
- restore a local real-bible --check smoke test (was only in CI)
- roadmap: record that generated content has client consumers

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 16:00:06 -05:00

2.2 KiB

Canon Roadmap

The world's answer to docs/roadmap.md: what is authored vs pending, and the order the Margreave is being written. Source of truth is content/lore/*.md; content/world + content/server are BUILT from it (python -m content_build).

Authored (status: canon)

  • cosmology.md — the overarching theme: the Warden (distant good god), the Sent (his angels), the Seven (demonic host), and the two economies + possession (rule.the-pact, rule.blood-price, rule.possession). The backdrop every future piece of content reconciles against.
  • the-seven.md — the seven demon kings, one person.* each: Kareth (Red King), Vael (Quiet Knife), Morren (Grey Mother), Ghaul (the Yoke), Ishri (Open Mouth), Nuun (Hollow Choir), Draeth (Crowned Worm).
  • FTH-axis callings (folded into the cosmology, from the races/classes spec): the Bonesetter channels the Warden, the Bloodsworn (resolves the warlock's former [CANON-TBD] name) pacts one of the Seven. Applying Bloodsworn to calling data and a Bloodsworn's patron choice are M4; any Luck effect is an M5/ Improviser reconcile.
  • mechanics.md — hosts rule.disposition-ladder (the required-once gate vocabulary), reparented out of the retired Duncarrow scaffolding.
  • specimen.md — a synthetic status: candidate disposition-gate specimen (validated by --check, emitted nowhere); the world-building skill's structure example. Not game canon. The Duncarrow scaffolding (Crell chain, Mera Fenn) is deleted.

Lesson from the Duncarrow purge

Generated content under content/world/ has a client-side consumer: client/scripts/content/content_db.gd (loaded via client/scripts/harness/npc_harness.gd) and its GUT tests in client/tests/unit/test_content_db.gd. Deleting generated content — a whole namespace of topics/npcs/canon — is a client change, not just a content change; check client/ before purging.

Pending (not yet authored)

  • Per-town knowledge that grounds the cosmology: possessed NPCs, blood-harvest sites, shrine fronts — authored as gated rumor/fact/secret.
  • The Barbarian ⚔ calling name ([CANON-TBD]); the Bloodsworn's patron-choice detail (M4). Regions/towns of the Margreave beyond the scaffolding.