Files
code_of_conquest_dnd/content
Phillip Tarrant c6b8a651aa fix(creation-content): four fragments were reading the blurb back to the player
The creation screen shows a race's blurb on its card and the chosen calling's
blurb in the detail panel directly above the DM panel. Blurb and fragment are on
screen at the same moment, inches apart — so a fragment that paraphrases its own
blurb makes the DM sound like it is reciting the card. Four did:

- bonesetter lifted two clauses verbatim ("you set the bone, you say the words")
- reaver re-ran the blurb's door image with the same sentence shape
- hedge_mage re-opened on "what you know" and re-landed the dead teacher
- beastfolk repeated both the claws and the being-judged beat

Each now says the NEXT thing instead: the hour they wake you and which of the
two trades you will not claim credit for; the employer who arranges to be
elsewhere; where you went to fail safely and what the book's gaps cost your
skin; the town that takes your coin and still wants you outside the walls.

beastfolk's rewrite also breaks the race-set monotony — it no longer opens "You
were born" (now unique to human) and drops the shared "X, and you have…" spine,
so clicking the four cards in a row stops reading as one voice.

The parity test guarded presence but could not fail on the three properties that
actually make all 28 race×calling concatenations grammatical. It now asserts
race fragments start uppercase and end with '.', and calling fragments start
lowercase and end with '.' — verified by breaking both and watching all four new
assertions fire.

255 client tests green; content build --check green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 14:11:16 -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).