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>
42 lines
2.2 KiB
Markdown
42 lines
2.2 KiB
Markdown
# 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.
|