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