Compare commits

...

9 Commits

Author SHA1 Message Date
df5ed2b525 Merge feature/cosmology-theme into dev
Some checks failed
content-build / build (push) Failing after 5s
Overarching cosmology: the Warden (distant good god), the Sent, and the
Seven demon kings, authored as canon; world-building skill updated to
reconcile all future content against the backdrop (incl. FTH-axis
Bonesetter/Bloodsworn calling mapping). Duncarrow decoupled as
scaffolding, not removed. Build --check exit 0, pytest 47/47.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
2026-07-12 14:39:28 -05:00
1dfa9462ba fix(content): final-review polish — link the-seven roster + roadmap wording
- faction.the-seven now relates down to all seven lords (spec §4 intent;
  bidirectional discoverability), regenerated the-seven.json.
- canon-roadmap: clarify Bloodsworn resolves the warlock's former [CANON-TBD] name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
2026-07-12 13:36:19 -05:00
5646bdd42a docs(content): roadmap — Warden/Seven authored, Duncarrow flagged scaffolding
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
2026-07-12 13:29:59 -05:00
6c542e3669 feat(skills): world-building carries the cosmology backdrop
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
2026-07-12 13:26:08 -05:00
c6d16430de feat(content): the Seven — seven demon kings and their blood
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
2026-07-12 13:21:14 -05:00
0cf1b27773 feat(content): cosmology frame — the Warden, the Sent, the Seven
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
2026-07-12 13:16:40 -05:00
ce9db1d9c8 docs(plan): cosmology + world-building theme implementation plan
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
2026-07-12 12:08:38 -05:00
d15a8fdcab docs(spec): divide FTH callings along the war (Bonesetter/Bloodsworn)
Adds the FTH-axis calling mapping to the cosmology spec: Bonesetter
channels the Warden, the Bloodsworn (names the [CANON-TBD] warlock
calling) pacts one of the Seven, Hedge-Mage is a pointed outsider,
martials unaligned. Luck-immunity intent kept as flavor and flagged for
the M5/Improviser reconcile (§7-sensitive), not built here.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
2026-07-12 12:01:28 -05:00
8f137aba20 docs(spec): cosmology — the Warden and the Seven (overarching theme)
Establishes the good-god/seven-demon-lords cosmology as the game's
overarching content theme, mapped onto the content schema as canon
entities, with the world-building skill updated to reconcile all future
authoring against it. Duncarrow scaffolding decoupled now, purged in a
follow-up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ
2026-07-12 11:49:33 -05:00
21 changed files with 1339 additions and 7 deletions

View File

@@ -86,6 +86,13 @@ body, a disposition, who knows what — **STOP.** Do not edit. Present the exact
before/after change and the reason, and get explicit approval first. New files
and new entries need no approval; edits to existing canon always do.
New content must also slot against the world's overarching cosmology — the good
god (the Warden), his angels (the Sent), and the seven demon kings who work
against him through influence, possession, and blood sacrifice. Read
`references/cosmology.md` before authoring; it is the backdrop nothing may
contradict, and it carries the authoring rules that keep the war in tone
(distant, worked through people, never epic, blessing/curse read through Luck).
### 3. Draft in the correct format
- **Bible entries:** see `references/schema.md` for the full field-by-field
@@ -130,6 +137,9 @@ added a new bible file or closed out a pending thread.
## Reference files
- `references/cosmology.md` — the overarching theme (the Warden and the Seven)
every piece of content reconciles against, plus the rules that keep it in tone.
Read before authoring any lore, NPC, quest, or item.
- `references/schema.md` — the complete bible + JSON schema, all validation rules,
the secrecy scale, the knowledge-gate model, worked examples. Read before
authoring bible entries.

View File

@@ -0,0 +1,57 @@
# Cosmology — the Warden and the Seven
The overarching theme of the Margreave. Every new piece of content sits inside
this hidden war and must not contradict it. The canon lives in
`content/lore/cosmology.md` and `content/lore/the-seven.md`; this file is the
author-facing summary + the rules that keep it in tone. Read it before writing
lore, NPCs, quests, or items.
## The frame
- **The Warden** (`person.the-warden`) — a genuinely good, *distant* god. Made
the races, loves them, wards the world against the Seven. Answers worship with
rare blessing and does not otherwise intervene. **Nameless by design** — no one
living speaks his name; never invent one. Whether he is good, absent, or dead
is the world's oldest argument, never settled by the narrator.
- **The Sent** (`faction.the-sent`) — his angels. Indirect: a Sent one *asks* a
mortal to do a deed in his name; blessing follows the deed. Rare — most people
never meet one. This is the cosmic-flavored quest-giver vein.
- **The Seven** (`faction.the-seven`) — seven demon kings + armies, the Warden's
enemy. Want the races dead or enslaved. Run on **blood** (`rule.blood-price`):
sacrifice buys their power. The roster (`content/lore/the-seven.md`): Kareth
(slaughter), Vael (betrayal), Morren (plague/mercy-kill), Ghaul (bondage),
Ishri (appetite), Nuun (madness — chief possessor), Draeth (tyranny).
- **Possession** (`rule.possession`) — how the Seven reach mortals: mostly
*influence* (a hand on the scale of what a person already wants), rarely
outright seizing a body (Nuun's specialty). A possessed mortal is a victim; the
thing inside is the enemy.
- **The two economies** — worship→blessing (`rule.the-pact`) vs
blood→power (`rule.blood-price`). Both express through Luck's *flavor*, never
numbers (see below).
## The FTH-axis callings (from the races/classes spec)
The two divine callings draw power from opposite sides; the rest are unaligned.
- **Bonesetter** (Cleric, FTH) — channels the Warden; healing *is* his blessing.
- **Bloodsworn** (Warlock, FTH) — pacted to one of the Seven; the "Pact Mark"
talent spends a thread of a lord's blood-price power.
- **Hedge-Mage** (Wizard, MAG) — outsider; arcane is *studied*, serves neither.
- Martials (Sellsword/Trapper/Barbarian) — unaligned; the war only echoes.
Callings are code-owned state — reference them in prose, never author a "class"
entity. (A Bloodsworn's patron choice and any Luck effect are M4/M5, not content.)
## Authoring rules — keep it in tone
1. **Distant.** The cosmology is the hidden engine under local grime, not the
surface text. A corrupt mayor can just be a corrupt mayor.
2. **Through people.** Demons work by influence; possession is rare and quiet.
No manifesting monsters in the square, no preaching narrator, god unconfirmed.
3. **Not epic.** Keep the gritty, indifferent register (see `tone.md`). Cosmic
stakes stay implied, argued-over, never announced.
4. **Blessing/curse ↔ Luck.** Express which side has hold of someone through
Luck's *flavor* ("fortune spits on you") — never a number, never something the
player can calculate. A cursed item (+STR / LCK) is a small bargain with the
Seven.
5. **Victims are gated secrets.** WHO is possessed, WHICH road is bled, WHICH
shrine is a front — author as per-town `rumor`/`fact`/`secret` with disposition
gates, not stated in the open. The frame gives you hooks; you place the wounds.

View File

@@ -86,6 +86,22 @@ If you write companion content, hold these exactly — they carry the register:
- The pair dislike each other mildly and permanently, and neither will leave the
other. Cadwyn generates, Brannoc annotates. Don't add a third to the loop.
## The cosmic backdrop (the Warden and the Seven)
The world sits inside a hidden war — a distant good god and seven demon kings
(see `references/cosmology.md`). It colors tone but must never break the world's
indifference:
- The cosmology is the **hidden engine**, not the surface text. Day-to-day the
world is still taxes, mud, and bad men; the war is what's *underneath* them.
- Demons work **through people** — influence, rarely possession. Write the
wreckage and the person going wrong, not a monster in the square. The narrator
never confirms the god, never preaches, never goes epic.
- Which side has hold of someone reads through **Luck's flavor, never a number**
(a blessing is a run of fortune; a curse is the trap door opening under you).
- The good/evil is real but **argued-over** — most folk dispute whether any of it
is true. Certainty is the enemy of this tone as much as of §7's Luck.
## Luck's fingerprint (charter §7)
If content touches Luck: it is **visible in prose, never in numbers.** Never state

View File

@@ -6,13 +6,27 @@ order the Margreave is being written. Source of truth is `content/lore/*.md`;
## Authored (status: canon)
- **duncarrow.md** — Duncarrow (the Tallow Reach market town), the White Antlers
shrine, the Crell secret chain, and NPCs Mera Fenn (witness), Mayor Crell
(control), Harn Blackwood (texture). The bounded-dialogue / disposition-gate
specimen.
- **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.
- **duncarrow.md** — the bounded-dialogue / disposition-gate specimen (Duncarrow,
the Crell chain, Mera Fenn, etc.). **Scaffolding, not story:** it seeded the
schema + skill and hosts the required-once `rule.disposition-ladder`. Slated for
removal in a follow-up that reparents the ladder into `cosmology.md` and stands
up a cosmology-native specimen town.
## Pending (not yet authored)
- The rest of the Tallow Reach region; the elven road-peoples beyond the stub
`faction.elves`; the seven worldbuilding topics tracked in the
canon-architecture direction.
- 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.

131
content/lore/cosmology.md Normal file
View File

@@ -0,0 +1,131 @@
# COSMOLOGY — the Warden and the Seven — status: canon
> The overarching theme of the Margreave: a distant good god, his angels, and
> the seven demon kings who work against him. Public, believed world-furniture —
> all `secrecy: 0`, bodies ship to the client. WHO is possessed, WHICH road is
> bled, are authored later as gated `rumor`/`fact`/`secret` per-town; this file
> never names a victim.
>
> Tone: distant & contested. The narrator never confirms the Warden, never goes
> epic. The war is the hidden engine under the grime.
---
## THE WARDEN — the good god (distant)
```yaml
id: person.the-warden
type: person
status: canon
secrecy: 0
related: [faction.the-sent, faction.the-seven, rule.the-pact]
body: >
The god most of the Margreave professes, though few claim to have felt him.
He is called only the Warden; no living mouth speaks his name, and the priests
who might have known it are a long time dead. What the faithful hold is simple:
he made the races, he loves them, and he wards the world against the Seven.
What he asks in return is worship, and what he gives for it is blessing —
rarely, and never where you can point to it and be sure. He does not come when
called. Whether that is because he is good and restrained, or absent, or dead,
is the oldest argument there is, and the Margreave has never settled it.
```
## THE SENT — his angels (indirect, rare)
```yaml
id: faction.the-sent
type: faction
status: canon
secrecy: 0
related: [person.the-warden, rule.the-pact]
body: >
The Warden's messengers — angels, the Sent, his hand where he will not put his
own. They do not fight the Seven and they do not save anyone. They ask. A Sent
one comes to a mortal, names a thing that must be done in the Warden's name,
and leaves the doing to them; blessing follows the deed, or does not follow the
refusal. Most people go their whole lives without meeting one, and a fair
number of those who claim to have met one were lying or drunk or worse. That
they are rare is either the mark of a careful god or a thin one.
```
## THE SEVEN — the demonic host
```yaml
id: faction.the-seven
type: faction
status: canon
secrecy: 0
related: [person.the-warden, rule.blood-price, rule.possession,
person.kareth-the-red-king, person.vael-the-quiet-knife,
person.morren-the-grey-mother, person.ghaul-the-yoke,
person.ishri-the-open-mouth, person.nuun-the-hollow-choir,
person.draeth-the-crowned-worm]
body: >
Seven kings and the armies that answer to them — the Warden's enemy, and the
world's. They do not want to rule the races so much as end them, dead or yoked,
it makes little difference to the Seven which. Each king is its own hunger and
keeps its own kind of war, and they cooperate the way wolves cooperate, which
is to say until the meat runs low. What they run on is blood: spilled,
sacrificed, offered. A mortal who learns how to feed them can be given a share
of what that blood buys. Most of the Margreave believes the Seven are real.
Most of the Margreave is right.
```
## THE PACT — worship for blessing (the Warden's economy)
```yaml
id: rule.the-pact
type: rule
status: canon
secrecy: 0
related: [person.the-warden, faction.the-sent]
body: >
The bargain at the heart of the Warden's faith: worship for blessing. Prayer,
offering, a shrine kept clean, a deed done in his name — these buy his favor,
and his favor turns fortune a little kinder. A bonesetter, the closest thing
the Margreave has to a priest, is a mortal who has given enough of themselves
to the Warden to channel a thread of that blessing into the living — a wound
closed, a fever broken, a death postponed. The pact is never a receipt. You
give, and blessing may come, on the Warden's terms and in his time, which is to
say seldom and never on demand.
```
## THE BLOOD-PRICE — blood for power (the Seven's economy)
```yaml
id: rule.blood-price
type: rule
status: canon
secrecy: 0
related: [faction.the-seven, rule.possession]
body: >
What the Seven trade in. Their power is not given, it is bought, and the only
coin is blood — the more, and the more wrongly spilled, the better the rate. A
killing floor, a sacrifice, a murder done in a lord's name feeds the king it is
offered to. A mortal willing to strike that bargain becomes what the Margreave
calls bloodsworn: sworn to one of the Seven, marked by it, and able to spend a
thread of its power the way the faithful spend the Warden's — a curse laid, a
hurt dealt, a thing that should not bend made to bend. The blessing side of it,
such as it is, is that a king does not waste ill luck on its own sworn; the
price for that mercy is simply the blood, and the blood is never paid once.
```
## POSSESSION — how the Seven reach mortals
```yaml
id: rule.possession
type: rule
status: canon
secrecy: 0
related: [faction.the-seven, rule.blood-price]
body: >
How the Seven reach across into the world. Mostly it is not the horror the
stories promise — it is influence, a hand on the scale of a mortal's wanting:
the grudge nursed a little hotter, the easy cruelty made easier, the appetite
that will not be talked down. That is the common work, and most of it is never
noticed as anything but a person going bad. Outright possession — a king
wearing a body like a coat — is rarer and costs the Seven dearly, and it is
Nuun, the Hollow Choir, that does most of it; the others prefer a willing hand
to a stolen one. A possessed mortal is not the enemy. The enemy is the thing
inside them, and it will spend the body it wears without a thought.
```

124
content/lore/the-seven.md Normal file
View File

@@ -0,0 +1,124 @@
# THE SEVEN — the demon kings — status: canon
> Seven kings, seven armies, seven kinds of blood. Each is a `person.*`,
> `secrecy: 0`, relating up to `faction.the-seven` (Task 1 / cosmology.md).
> Tight sketches — a king, the blood it craves, its army, how it corrupts a
> mortal. Gritty, not cartoonish: each is a way mortals actually bleed. No
> questlines here; those hang off these ids later.
---
```yaml
id: person.kareth-the-red-king
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Kareth, the Red King, first and loudest of the Seven. The blood he wants is the
battlefield's — slaughter, the more of it and the less reason the better. His
army is the horde, and it grows because he is generous with the promise of
victory and the men who take it rarely live to complain that it was a lie. He
does not whisper. He works through the rage already in a mortal, the feud that
only needs a reason, the certainty that the sword is the short way through.
Where Kareth has been, there is a field that will not grow for a generation and
no one left who remembers starting it.
```
```yaml
id: person.vael-the-quiet-knife
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Vael, the Quiet Knife, the intimate one. The blood Vael craves is the kind
spilled indoors — the trusted killed by the trusted, the poison in the cup you
were poured, the debt settled between people who once shared bread. Vael keeps
no horde; its army is a scatter of ones, each certain they acted alone. It
works through the grudge held too long and the moment the knife looks like the
only door left in the room. Kareth takes the field. Vael takes the household,
and no one hears it happen.
```
```yaml
id: person.morren-the-grey-mother
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Morren, the Grey Mother, who comes with the fever. The blood she wants is thin
and slow — the dying, the plague-struck, the ones given up on. Her army is the
sick, and she is patient in a way the others are not, because rot does her
recruiting. She works through despair, and cruelest of all through mercy: the
pillow held over a suffering face, the kindness that is also a killing. Morren
does not lie about what she offers. She offers an end, and for a great many of
the Margreave's dying, that is temptation enough.
```
```yaml
id: person.ghaul-the-yoke
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Ghaul, the Yoke, the patient profit of the Seven. The blood Ghaul takes is
worked out slow — chattel bought and sold and used until there is nothing left
to use. Its army is the coffle and the counting-house, and it does not need to
whisper to a man who has already found that a person is cheaper than an ox. It
works through the ledger: the wage shaved, the debt made unpayable, the
reasoning that a body one owns is a body one may spend. Ghaul is the least
dramatic of the Seven and by a plain count of the ruined the most successful.
```
```yaml
id: person.ishri-the-open-mouth
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Ishri, the Open Mouth, the hunger that is never a meal. The blood Ishri wants
is the blood spent chasing more — drunk to death, wanted to ruin, taken because
taking felt like living. Its army is the appetite of anyone who has stopped
being able to stop. It does not corrupt so much as encourage; it stands at a
mortal's shoulder and agrees that one more will not hurt, and it is right until
it is not. Ishri leaves the neatest corpses and the emptiest houses, everything
sold to feed a want that was never going to be full.
```
```yaml
id: person.nuun-the-hollow-choir
type: person
status: canon
secrecy: 0
related: [faction.the-seven, rule.possession]
body: >
Nuun, the Hollow Choir, the many-voiced. The blood Nuun gathers is a mortal's
own — the self-slain, the ones talked into the river or off the roof by a voice
they took for their own thought. Its army is the emptied, and it is Nuun, of
all the Seven, that most often does the old horror outright and wears a mortal
like a coat, because a hollowed body is the only kind it truly wants. It works
through the whisper, the crack in a mind widened patiently until there is room
for something else to move in. A person going quietly, terribly wrong, and
swearing nothing is the matter, is Nuun's ordinary work.
```
```yaml
id: person.draeth-the-crowned-worm
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Draeth, the Crowned Worm, the one that likes a throne. The blood Draeth feeds
on is a ruler's to spend — a people bled by the one meant to keep them, for
power that always seems worth the cost to the one paying it with other lives.
Its army is whoever a corrupted crown can command, which is the cruelest of the
Seven's arithmetic. It works through ambition, the small justified step and the
next, until a lord is sacrificing the realm to hold the realm and calling it
duty. Draeth rarely has to lie. It only has to wait by the chair and let the
sitting do the rest.
```

View File

@@ -0,0 +1,9 @@
{
"body": "What the Seven trade in. Their power is not given, it is bought, and the only coin is blood \u2014 the more, and the more wrongly spilled, the better the rate. A killing floor, a sacrifice, a murder done in a lord's name feeds the king it is offered to. A mortal willing to strike that bargain becomes what the Margreave calls bloodsworn: sworn to one of the Seven, marked by it, and able to spend a thread of its power the way the faithful spend the Warden's \u2014 a curse laid, a hurt dealt, a thing that should not bend made to bend. The blessing side of it, such as it is, is that a king does not waste ill luck on its own sworn; the price for that mercy is simply the blood, and the blood is never paid once.",
"id": "rule.blood-price",
"related": [
"faction.the-seven",
"rule.possession"
],
"type": "rule"
}

View File

@@ -0,0 +1,8 @@
{
"body": "Draeth, the Crowned Worm, the one that likes a throne. The blood Draeth feeds on is a ruler's to spend \u2014 a people bled by the one meant to keep them, for power that always seems worth the cost to the one paying it with other lives. Its army is whoever a corrupted crown can command, which is the cruelest of the Seven's arithmetic. It works through ambition, the small justified step and the next, until a lord is sacrificing the realm to hold the realm and calling it duty. Draeth rarely has to lie. It only has to wait by the chair and let the sitting do the rest.",
"id": "person.draeth-the-crowned-worm",
"related": [
"faction.the-seven"
],
"type": "person"
}

View File

@@ -0,0 +1,8 @@
{
"body": "Ghaul, the Yoke, the patient profit of the Seven. The blood Ghaul takes is worked out slow \u2014 chattel bought and sold and used until there is nothing left to use. Its army is the coffle and the counting-house, and it does not need to whisper to a man who has already found that a person is cheaper than an ox. It works through the ledger: the wage shaved, the debt made unpayable, the reasoning that a body one owns is a body one may spend. Ghaul is the least dramatic of the Seven and by a plain count of the ruined the most successful.",
"id": "person.ghaul-the-yoke",
"related": [
"faction.the-seven"
],
"type": "person"
}

View File

@@ -0,0 +1,8 @@
{
"body": "Ishri, the Open Mouth, the hunger that is never a meal. The blood Ishri wants is the blood spent chasing more \u2014 drunk to death, wanted to ruin, taken because taking felt like living. Its army is the appetite of anyone who has stopped being able to stop. It does not corrupt so much as encourage; it stands at a mortal's shoulder and agrees that one more will not hurt, and it is right until it is not. Ishri leaves the neatest corpses and the emptiest houses, everything sold to feed a want that was never going to be full.",
"id": "person.ishri-the-open-mouth",
"related": [
"faction.the-seven"
],
"type": "person"
}

View File

@@ -0,0 +1,8 @@
{
"body": "Kareth, the Red King, first and loudest of the Seven. The blood he wants is the battlefield's \u2014 slaughter, the more of it and the less reason the better. His army is the horde, and it grows because he is generous with the promise of victory and the men who take it rarely live to complain that it was a lie. He does not whisper. He works through the rage already in a mortal, the feud that only needs a reason, the certainty that the sword is the short way through. Where Kareth has been, there is a field that will not grow for a generation and no one left who remembers starting it.",
"id": "person.kareth-the-red-king",
"related": [
"faction.the-seven"
],
"type": "person"
}

View File

@@ -0,0 +1,8 @@
{
"body": "Morren, the Grey Mother, who comes with the fever. The blood she wants is thin and slow \u2014 the dying, the plague-struck, the ones given up on. Her army is the sick, and she is patient in a way the others are not, because rot does her recruiting. She works through despair, and cruelest of all through mercy: the pillow held over a suffering face, the kindness that is also a killing. Morren does not lie about what she offers. She offers an end, and for a great many of the Margreave's dying, that is temptation enough.",
"id": "person.morren-the-grey-mother",
"related": [
"faction.the-seven"
],
"type": "person"
}

View File

@@ -0,0 +1,9 @@
{
"body": "Nuun, the Hollow Choir, the many-voiced. The blood Nuun gathers is a mortal's own \u2014 the self-slain, the ones talked into the river or off the roof by a voice they took for their own thought. Its army is the emptied, and it is Nuun, of all the Seven, that most often does the old horror outright and wears a mortal like a coat, because a hollowed body is the only kind it truly wants. It works through the whisper, the crack in a mind widened patiently until there is room for something else to move in. A person going quietly, terribly wrong, and swearing nothing is the matter, is Nuun's ordinary work.",
"id": "person.nuun-the-hollow-choir",
"related": [
"faction.the-seven",
"rule.possession"
],
"type": "person"
}

View File

@@ -0,0 +1,9 @@
{
"body": "How the Seven reach across into the world. Mostly it is not the horror the stories promise \u2014 it is influence, a hand on the scale of a mortal's wanting: the grudge nursed a little hotter, the easy cruelty made easier, the appetite that will not be talked down. That is the common work, and most of it is never noticed as anything but a person going bad. Outright possession \u2014 a king wearing a body like a coat \u2014 is rarer and costs the Seven dearly, and it is Nuun, the Hollow Choir, that does most of it; the others prefer a willing hand to a stolen one. A possessed mortal is not the enemy. The enemy is the thing inside them, and it will spend the body it wears without a thought.",
"id": "rule.possession",
"related": [
"faction.the-seven",
"rule.blood-price"
],
"type": "rule"
}

View File

@@ -0,0 +1,9 @@
{
"body": "The bargain at the heart of the Warden's faith: worship for blessing. Prayer, offering, a shrine kept clean, a deed done in his name \u2014 these buy his favor, and his favor turns fortune a little kinder. A bonesetter, the closest thing the Margreave has to a priest, is a mortal who has given enough of themselves to the Warden to channel a thread of that blessing into the living \u2014 a wound closed, a fever broken, a death postponed. The pact is never a receipt. You give, and blessing may come, on the Warden's terms and in his time, which is to say seldom and never on demand.",
"id": "rule.the-pact",
"related": [
"person.the-warden",
"faction.the-sent"
],
"type": "rule"
}

View File

@@ -0,0 +1,9 @@
{
"body": "The Warden's messengers \u2014 angels, the Sent, his hand where he will not put his own. They do not fight the Seven and they do not save anyone. They ask. A Sent one comes to a mortal, names a thing that must be done in the Warden's name, and leaves the doing to them; blessing follows the deed, or does not follow the refusal. Most people go their whole lives without meeting one, and a fair number of those who claim to have met one were lying or drunk or worse. That they are rare is either the mark of a careful god or a thin one.",
"id": "faction.the-sent",
"related": [
"person.the-warden",
"rule.the-pact"
],
"type": "faction"
}

View File

@@ -0,0 +1,17 @@
{
"body": "Seven kings and the armies that answer to them \u2014 the Warden's enemy, and the world's. They do not want to rule the races so much as end them, dead or yoked, it makes little difference to the Seven which. Each king is its own hunger and keeps its own kind of war, and they cooperate the way wolves cooperate, which is to say until the meat runs low. What they run on is blood: spilled, sacrificed, offered. A mortal who learns how to feed them can be given a share of what that blood buys. Most of the Margreave believes the Seven are real. Most of the Margreave is right.",
"id": "faction.the-seven",
"related": [
"person.the-warden",
"rule.blood-price",
"rule.possession",
"person.kareth-the-red-king",
"person.vael-the-quiet-knife",
"person.morren-the-grey-mother",
"person.ghaul-the-yoke",
"person.ishri-the-open-mouth",
"person.nuun-the-hollow-choir",
"person.draeth-the-crowned-worm"
],
"type": "faction"
}

View File

@@ -0,0 +1,10 @@
{
"body": "The god most of the Margreave professes, though few claim to have felt him. He is called only the Warden; no living mouth speaks his name, and the priests who might have known it are a long time dead. What the faithful hold is simple: he made the races, he loves them, and he wards the world against the Seven. What he asks in return is worship, and what he gives for it is blessing \u2014 rarely, and never where you can point to it and be sure. He does not come when called. Whether that is because he is good and restrained, or absent, or dead, is the oldest argument there is, and the Margreave has never settled it.",
"id": "person.the-warden",
"related": [
"faction.the-sent",
"faction.the-seven",
"rule.the-pact"
],
"type": "person"
}

View File

@@ -0,0 +1,8 @@
{
"body": "Vael, the Quiet Knife, the intimate one. The blood Vael craves is the kind spilled indoors \u2014 the trusted killed by the trusted, the poison in the cup you were poured, the debt settled between people who once shared bread. Vael keeps no horde; its army is a scatter of ones, each certain they acted alone. It works through the grudge held too long and the moment the knife looks like the only door left in the room. Kareth takes the field. Vael takes the household, and no one hears it happen.",
"id": "person.vael-the-quiet-knife",
"related": [
"faction.the-seven"
],
"type": "person"
}

View File

@@ -0,0 +1,653 @@
# Cosmology — the Warden and the Seven — Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Author the good-god / seven-demon-lords cosmology as canon content and bake it into the world-building skill, so every future authoring pass reconciles against it.
**Architecture:** The cosmology is *public, believed world-furniture* — it authors as ordinary **canon entities** (secrecy 0) in two new lore-bible files, which the `content_build` tool compiles to `content/world/` + `content/server/` JSON. No engine, UI, prompt, or combat code changes. The world-building **skill** gains a cosmology reference and two hooks so it enforces the backdrop.
**Tech Stack:** Markdown lore bibles with ` ```yaml ` blocks (`content/lore/*.md`); the `content_build` Python tool (`tools/content_build/`, run with `PYTHONPATH=tools`); the project venv (`.venv`).
## Global Constraints
- **Charter §2 — code owns state, AI owns text.** This pass adds only text the AI narrates from. No new mechanic, no schema change, no "class" entity. Verbatim.
- **Tone (charter §3 + `references/tone.md`):** gritty, not grim; dry narrator, never winks, never preaches, never confirms the god. The cosmology is the *hidden engine*, not epic surface text. "Distant & contested."
- **Luck (charter §7):** visible in prose, **never a number**; the player must never be able to *calculate* they are cursed. Blessing/curse express through Luck's *flavor* only. No Luck mechanic is built this pass.
- **Every canon entity is `secrecy: 0`** (the resolver hard-fails otherwise). Every `related` id must resolve or the build fails.
- **Never hand-edit generated JSON** under `content/world/` or `content/server/` — fix the bible source and rebuild.
- **Git:** all work on branch `feature/cosmology-theme` off `dev`. Do not touch `master`. Merge to `dev` only after the human confirms and the build is green.
- **Do NOT remove or edit any existing Duncarrow content** (`content/lore/duncarrow.md` and its generated output). It stays intact this pass — it hosts the required-once `rule.disposition-ladder` and is the skill's format specimen.
**Build/verify commands (used by every task):**
```bash
source .venv/bin/activate
PYTHONPATH=tools python -m content_build # regenerate world/ + server/ from lore/
PYTHONPATH=tools python -m content_build --check # must exit 0
PYTHONPATH=tools python -m pytest tools/content_build/tests -q
```
(If `python` is missing, the venv isn't active — use `.venv/bin/python`.)
---
## File structure
| File | Responsibility | Created/Modified |
|---|---|---|
| `content/lore/cosmology.md` | The cosmic frame: the Warden, the Sent, the Seven (host), the two economies, possession | **Create** |
| `content/lore/the-seven.md` | The seven demon lords, one `person.*` each | **Create** |
| `.claude/skills/world-building/references/cosmology.md` | The backdrop every future author reconciles against + authoring rules | **Create** |
| `.claude/skills/world-building/SKILL.md` | Add cosmology to step 2 (reconcile) + the reference list | **Modify** |
| `.claude/skills/world-building/references/tone.md` | Add "The cosmic backdrop" section | **Modify** |
| `content/lore/canon-roadmap.md` | Record Warden/Seven authored, FTH-axis mapping + `Bloodsworn`, Duncarrow flagged scaffolding | **Modify** |
| `content/world/canon/*.json`, `content/server/*` | Regenerated build output (committed, not hand-written) | **Generated** |
Dependency order: `cosmology.md` defines `faction.the-seven`, `rule.blood-price`, `rule.possession`; `the-seven.md`'s lords relate *up* to those. So `cosmology.md` builds green standalone, then `the-seven.md`. No cross-file back-reference is authored on the cosmology side (Nuun is named in prose there, but the id-relation to `rule.possession` lives on Nuun's own entry).
---
## Task 0: Branch
- [ ] **Step 1: Create the working branch off `dev`**
```bash
git checkout dev
git pull --ff-only # optional; skip if offline
git checkout -b feature/cosmology-theme
```
- [ ] **Step 2: Confirm the build is green before any change (baseline)**
```bash
source .venv/bin/activate
PYTHONPATH=tools python -m content_build --check
```
Expected: exits 0 (no output or a success line). If it fails here, stop — the tree was already broken; fix or report before proceeding.
---
## Task 1: The cosmic frame — `content/lore/cosmology.md`
**Files:**
- Create: `content/lore/cosmology.md`
- Generated (commit after build): `content/world/canon/the-warden.json`, `content/world/canon/the-sent.json`, `content/world/canon/the-seven.json`, `content/world/canon/the-pact.json`, `content/world/canon/blood-price.json`, `content/world/canon/possession.json`
**Interfaces:**
- Produces canon ids consumed by Task 2 and by all future content: `person.the-warden`, `faction.the-sent`, `faction.the-seven`, `rule.the-pact`, `rule.blood-price`, `rule.possession`.
- Every `related` in this file resolves *within this file* — it does not depend on Task 2.
- [ ] **Step 1: Write the file exactly**
Create `content/lore/cosmology.md` with this content verbatim:
````markdown
# COSMOLOGY — the Warden and the Seven — status: canon
> The overarching theme of the Margreave: a distant good god, his angels, and
> the seven demon kings who work against him. Public, believed world-furniture —
> all `secrecy: 0`, bodies ship to the client. WHO is possessed, WHICH road is
> bled, are authored later as gated `rumor`/`fact`/`secret` per-town; this file
> never names a victim.
>
> Tone: distant & contested. The narrator never confirms the Warden, never goes
> epic. The war is the hidden engine under the grime.
---
## THE WARDEN — the good god (distant)
```yaml
id: person.the-warden
type: person
status: canon
secrecy: 0
related: [faction.the-sent, faction.the-seven, rule.the-pact]
body: >
The god most of the Margreave professes, though few claim to have felt him.
He is called only the Warden; no living mouth speaks his name, and the priests
who might have known it are a long time dead. What the faithful hold is simple:
he made the races, he loves them, and he wards the world against the Seven.
What he asks in return is worship, and what he gives for it is blessing —
rarely, and never where you can point to it and be sure. He does not come when
called. Whether that is because he is good and restrained, or absent, or dead,
is the oldest argument there is, and the Margreave has never settled it.
```
## THE SENT — his angels (indirect, rare)
```yaml
id: faction.the-sent
type: faction
status: canon
secrecy: 0
related: [person.the-warden, rule.the-pact]
body: >
The Warden's messengers — angels, the Sent, his hand where he will not put his
own. They do not fight the Seven and they do not save anyone. They ask. A Sent
one comes to a mortal, names a thing that must be done in the Warden's name,
and leaves the doing to them; blessing follows the deed, or does not follow the
refusal. Most people go their whole lives without meeting one, and a fair
number of those who claim to have met one were lying or drunk or worse. That
they are rare is either the mark of a careful god or a thin one.
```
## THE SEVEN — the demonic host
```yaml
id: faction.the-seven
type: faction
status: canon
secrecy: 0
related: [person.the-warden, rule.blood-price, rule.possession]
body: >
Seven kings and the armies that answer to them — the Warden's enemy, and the
world's. They do not want to rule the races so much as end them, dead or yoked,
it makes little difference to the Seven which. Each king is its own hunger and
keeps its own kind of war, and they cooperate the way wolves cooperate, which
is to say until the meat runs low. What they run on is blood: spilled,
sacrificed, offered. A mortal who learns how to feed them can be given a share
of what that blood buys. Most of the Margreave believes the Seven are real.
Most of the Margreave is right.
```
## THE PACT — worship for blessing (the Warden's economy)
```yaml
id: rule.the-pact
type: rule
status: canon
secrecy: 0
related: [person.the-warden, faction.the-sent]
body: >
The bargain at the heart of the Warden's faith: worship for blessing. Prayer,
offering, a shrine kept clean, a deed done in his name — these buy his favor,
and his favor turns fortune a little kinder. A bonesetter, the closest thing
the Margreave has to a priest, is a mortal who has given enough of themselves
to the Warden to channel a thread of that blessing into the living — a wound
closed, a fever broken, a death postponed. The pact is never a receipt. You
give, and blessing may come, on the Warden's terms and in his time, which is to
say seldom and never on demand.
```
## THE BLOOD-PRICE — blood for power (the Seven's economy)
```yaml
id: rule.blood-price
type: rule
status: canon
secrecy: 0
related: [faction.the-seven, rule.possession]
body: >
What the Seven trade in. Their power is not given, it is bought, and the only
coin is blood — the more, and the more wrongly spilled, the better the rate. A
killing floor, a sacrifice, a murder done in a lord's name feeds the king it is
offered to. A mortal willing to strike that bargain becomes what the Margreave
calls bloodsworn: sworn to one of the Seven, marked by it, and able to spend a
thread of its power the way the faithful spend the Warden's — a curse laid, a
hurt dealt, a thing that should not bend made to bend. The blessing side of it,
such as it is, is that a king does not waste ill luck on its own sworn; the
price for that mercy is simply the blood, and the blood is never paid once.
```
## POSSESSION — how the Seven reach mortals
```yaml
id: rule.possession
type: rule
status: canon
secrecy: 0
related: [faction.the-seven, rule.blood-price]
body: >
How the Seven reach across into the world. Mostly it is not the horror the
stories promise — it is influence, a hand on the scale of a mortal's wanting:
the grudge nursed a little hotter, the easy cruelty made easier, the appetite
that will not be talked down. That is the common work, and most of it is never
noticed as anything but a person going bad. Outright possession — a king
wearing a body like a coat — is rarer and costs the Seven dearly, and it is
Nuun, the Hollow Choir, that does most of it; the others prefer a willing hand
to a stolen one. A possessed mortal is not the enemy. The enemy is the thing
inside them, and it will spend the body it wears without a thought.
```
````
- [ ] **Step 2: Build and verify the frame is valid**
```bash
source .venv/bin/activate
PYTHONPATH=tools python -m content_build
PYTHONPATH=tools python -m content_build --check
```
Expected: build regenerates without error; `--check` exits 0. If it reports an unresolved `related` or a secrecy error, it names the source file + line — fix `cosmology.md` and rerun. Do NOT edit generated JSON.
- [ ] **Step 3: Confirm the six canon files were emitted**
```bash
ls content/world/canon/the-warden.json content/world/canon/the-sent.json \
content/world/canon/the-seven.json content/world/canon/the-pact.json \
content/world/canon/blood-price.json content/world/canon/possession.json
```
Expected: all six exist. (Bodies ship client-side; there is no server output for canon entities.)
- [ ] **Step 4: Run the build tests (regression)**
```bash
PYTHONPATH=tools python -m pytest tools/content_build/tests -q
```
Expected: all pass.
- [ ] **Step 5: Commit**
```bash
git add content/lore/cosmology.md content/world/canon/
git commit -m "feat(content): cosmology frame — the Warden, the Sent, the Seven
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ"
```
---
## Task 2: The roster — `content/lore/the-seven.md`
**Files:**
- Create: `content/lore/the-seven.md`
- Generated (commit after build): `content/world/canon/kareth-the-red-king.json`, `vael-the-quiet-knife.json`, `morren-the-grey-mother.json`, `ghaul-the-yoke.json`, `ishri-the-open-mouth.json`, `nuun-the-hollow-choir.json`, `draeth-the-crowned-worm.json`
**Interfaces:**
- Consumes from Task 1: `faction.the-seven`, `rule.possession` (used in `related`).
- Produces: the seven `person.*` lord ids (for future quests/NPCs to reference).
- [ ] **Step 1: Write the file exactly**
Create `content/lore/the-seven.md` with this content verbatim:
````markdown
# THE SEVEN — the demon kings — status: canon
> Seven kings, seven armies, seven kinds of blood. Each is a `person.*`,
> `secrecy: 0`, relating up to `faction.the-seven` (Task 1 / cosmology.md).
> Tight sketches — a king, the blood it craves, its army, how it corrupts a
> mortal. Gritty, not cartoonish: each is a way mortals actually bleed. No
> questlines here; those hang off these ids later.
---
```yaml
id: person.kareth-the-red-king
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Kareth, the Red King, first and loudest of the Seven. The blood he wants is the
battlefield's — slaughter, the more of it and the less reason the better. His
army is the horde, and it grows because he is generous with the promise of
victory and the men who take it rarely live to complain that it was a lie. He
does not whisper. He works through the rage already in a mortal, the feud that
only needs a reason, the certainty that the sword is the short way through.
Where Kareth has been, there is a field that will not grow for a generation and
no one left who remembers starting it.
```
```yaml
id: person.vael-the-quiet-knife
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Vael, the Quiet Knife, the intimate one. The blood Vael craves is the kind
spilled indoors — the trusted killed by the trusted, the poison in the cup you
were poured, the debt settled between people who once shared bread. Vael keeps
no horde; its army is a scatter of ones, each certain they acted alone. It
works through the grudge held too long and the moment the knife looks like the
only door left in the room. Kareth takes the field. Vael takes the household,
and no one hears it happen.
```
```yaml
id: person.morren-the-grey-mother
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Morren, the Grey Mother, who comes with the fever. The blood she wants is thin
and slow — the dying, the plague-struck, the ones given up on. Her army is the
sick, and she is patient in a way the others are not, because rot does her
recruiting. She works through despair, and cruelest of all through mercy: the
pillow held over a suffering face, the kindness that is also a killing. Morren
does not lie about what she offers. She offers an end, and for a great many of
the Margreave's dying, that is temptation enough.
```
```yaml
id: person.ghaul-the-yoke
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Ghaul, the Yoke, the patient profit of the Seven. The blood Ghaul takes is
worked out slow — chattel bought and sold and used until there is nothing left
to use. Its army is the coffle and the counting-house, and it does not need to
whisper to a man who has already found that a person is cheaper than an ox. It
works through the ledger: the wage shaved, the debt made unpayable, the
reasoning that a body one owns is a body one may spend. Ghaul is the least
dramatic of the Seven and by a plain count of the ruined the most successful.
```
```yaml
id: person.ishri-the-open-mouth
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Ishri, the Open Mouth, the hunger that is never a meal. The blood Ishri wants
is the blood spent chasing more — drunk to death, wanted to ruin, taken because
taking felt like living. Its army is the appetite of anyone who has stopped
being able to stop. It does not corrupt so much as encourage; it stands at a
mortal's shoulder and agrees that one more will not hurt, and it is right until
it is not. Ishri leaves the neatest corpses and the emptiest houses, everything
sold to feed a want that was never going to be full.
```
```yaml
id: person.nuun-the-hollow-choir
type: person
status: canon
secrecy: 0
related: [faction.the-seven, rule.possession]
body: >
Nuun, the Hollow Choir, the many-voiced. The blood Nuun gathers is a mortal's
own — the self-slain, the ones talked into the river or off the roof by a voice
they took for their own thought. Its army is the emptied, and it is Nuun, of
all the Seven, that most often does the old horror outright and wears a mortal
like a coat, because a hollowed body is the only kind it truly wants. It works
through the whisper, the crack in a mind widened patiently until there is room
for something else to move in. A person going quietly, terribly wrong, and
swearing nothing is the matter, is Nuun's ordinary work.
```
```yaml
id: person.draeth-the-crowned-worm
type: person
status: canon
secrecy: 0
related: [faction.the-seven]
body: >
Draeth, the Crowned Worm, the one that likes a throne. The blood Draeth feeds
on is a ruler's to spend — a people bled by the one meant to keep them, for
power that always seems worth the cost to the one paying it with other lives.
Its army is whoever a corrupted crown can command, which is the cruelest of the
Seven's arithmetic. It works through ambition, the small justified step and the
next, until a lord is sacrificing the realm to hold the realm and calling it
duty. Draeth rarely has to lie. It only has to wait by the chair and let the
sitting do the rest.
```
````
- [ ] **Step 2: Build and verify**
```bash
source .venv/bin/activate
PYTHONPATH=tools python -m content_build
PYTHONPATH=tools python -m content_build --check
```
Expected: `--check` exits 0. (`person.nuun-the-hollow-choir` relates to `rule.possession` from Task 1 — it resolves because the build parses all `content/lore/*.md` together.)
- [ ] **Step 3: Confirm the seven canon files were emitted**
```bash
ls content/world/canon/kareth-the-red-king.json content/world/canon/vael-the-quiet-knife.json \
content/world/canon/morren-the-grey-mother.json content/world/canon/ghaul-the-yoke.json \
content/world/canon/ishri-the-open-mouth.json content/world/canon/nuun-the-hollow-choir.json \
content/world/canon/draeth-the-crowned-worm.json
```
Expected: all seven exist.
- [ ] **Step 4: Run the build tests**
```bash
PYTHONPATH=tools python -m pytest tools/content_build/tests -q
```
Expected: all pass.
- [ ] **Step 5: Commit**
```bash
git add content/lore/the-seven.md content/world/canon/
git commit -m "feat(content): the Seven — seven demon kings and their blood
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ"
```
---
## Task 3: World-building skill — carry the backdrop
The explicit ask: every future author must reconcile against the cosmology. Add a reference file and wire it into the skill. Skill files are **not** built, so the "test" is that the build stays green and the edits are internally consistent.
**Files:**
- Create: `.claude/skills/world-building/references/cosmology.md`
- Modify: `.claude/skills/world-building/SKILL.md`
- Modify: `.claude/skills/world-building/references/tone.md`
- [ ] **Step 1: Create the cosmology reference**
Create `.claude/skills/world-building/references/cosmology.md` verbatim:
```markdown
# Cosmology — the Warden and the Seven
The overarching theme of the Margreave. Every new piece of content sits inside
this hidden war and must not contradict it. The canon lives in
`content/lore/cosmology.md` and `content/lore/the-seven.md`; this file is the
author-facing summary + the rules that keep it in tone. Read it before writing
lore, NPCs, quests, or items.
## The frame
- **The Warden** (`person.the-warden`) — a genuinely good, *distant* god. Made
the races, loves them, wards the world against the Seven. Answers worship with
rare blessing and does not otherwise intervene. **Nameless by design** — no one
living speaks his name; never invent one. Whether he is good, absent, or dead
is the world's oldest argument, never settled by the narrator.
- **The Sent** (`faction.the-sent`) — his angels. Indirect: a Sent one *asks* a
mortal to do a deed in his name; blessing follows the deed. Rare — most people
never meet one. This is the cosmic-flavored quest-giver vein.
- **The Seven** (`faction.the-seven`) — seven demon kings + armies, the Warden's
enemy. Want the races dead or enslaved. Run on **blood** (`rule.blood-price`):
sacrifice buys their power. The roster (`content/lore/the-seven.md`): Kareth
(slaughter), Vael (betrayal), Morren (plague/mercy-kill), Ghaul (bondage),
Ishri (appetite), Nuun (madness — chief possessor), Draeth (tyranny).
- **Possession** (`rule.possession`) — how the Seven reach mortals: mostly
*influence* (a hand on the scale of what a person already wants), rarely
outright seizing a body (Nuun's specialty). A possessed mortal is a victim; the
thing inside is the enemy.
- **The two economies** — worship→blessing (`rule.the-pact`) vs
blood→power (`rule.blood-price`). Both express through Luck's *flavor*, never
numbers (see below).
## The FTH-axis callings (from the races/classes spec)
The two divine callings draw power from opposite sides; the rest are unaligned.
- **Bonesetter** (Cleric, FTH) — channels the Warden; healing *is* his blessing.
- **Bloodsworn** (Warlock, FTH) — pacted to one of the Seven; the "Pact Mark"
talent spends a thread of a lord's blood-price power.
- **Hedge-Mage** (Wizard, MAG) — outsider; arcane is *studied*, serves neither.
- Martials (Sellsword/Trapper/Barbarian) — unaligned; the war only echoes.
Callings are code-owned state — reference them in prose, never author a "class"
entity. (A Bloodsworn's patron choice and any Luck effect are M4/M5, not content.)
## Authoring rules — keep it in tone
1. **Distant.** The cosmology is the hidden engine under local grime, not the
surface text. A corrupt mayor can just be a corrupt mayor.
2. **Through people.** Demons work by influence; possession is rare and quiet.
No manifesting monsters in the square, no preaching narrator, god unconfirmed.
3. **Not epic.** Keep the gritty, indifferent register (see `tone.md`). Cosmic
stakes stay implied, argued-over, never announced.
4. **Blessing/curse ↔ Luck.** Express which side has hold of someone through
Luck's *flavor* ("fortune spits on you") — never a number, never something the
player can calculate. A cursed item (+STR / LCK) is a small bargain with the
Seven.
5. **Victims are gated secrets.** WHO is possessed, WHICH road is bled, WHICH
shrine is a front — author as per-town `rumor`/`fact`/`secret` with disposition
gates, not stated in the open. The frame gives you hooks; you place the wounds.
```
- [ ] **Step 2: Wire it into `SKILL.md` — the reconcile step**
In `.claude/skills/world-building/SKILL.md`, find the end of the paragraph in step 2 that begins "Read the entries your new content touches" (it ends "…New files and new entries need no approval; edits to existing canon always do."). Immediately after that paragraph, add:
```markdown
New content must also slot against the world's overarching cosmology — the good
god (the Warden), his angels (the Sent), and the seven demon kings who work
against him through influence, possession, and blood sacrifice. Read
`references/cosmology.md` before authoring; it is the backdrop nothing may
contradict, and it carries the authoring rules that keep the war in tone
(distant, worked through people, never epic, blessing/curse read through Luck).
```
- [ ] **Step 3: Wire it into `SKILL.md` — the reference list**
In `.claude/skills/world-building/SKILL.md`, in the "## Reference files" list at the end, add this bullet as the first entry (before the `references/schema.md` bullet):
```markdown
- `references/cosmology.md` — the overarching theme (the Warden and the Seven)
every piece of content reconciles against, plus the rules that keep it in tone.
Read before authoring any lore, NPC, quest, or item.
```
- [ ] **Step 4: Add the cosmic-backdrop section to `tone.md`**
In `.claude/skills/world-building/references/tone.md`, find the section header `## Luck's fingerprint (charter §7)`. Immediately **before** that header, insert this new section:
```markdown
## The cosmic backdrop (the Warden and the Seven)
The world sits inside a hidden war — a distant good god and seven demon kings
(see `references/cosmology.md`). It colors tone but must never break the world's
indifference:
- The cosmology is the **hidden engine**, not the surface text. Day-to-day the
world is still taxes, mud, and bad men; the war is what's *underneath* them.
- Demons work **through people** — influence, rarely possession. Write the
wreckage and the person going wrong, not a monster in the square. The narrator
never confirms the god, never preaches, never goes epic.
- Which side has hold of someone reads through **Luck's flavor, never a number**
(a blessing is a run of fortune; a curse is the trap door opening under you).
- The good/evil is real but **argued-over** — most folk dispute whether any of it
is true. Certainty is the enemy of this tone as much as of §7's Luck.
```
- [ ] **Step 5: Verify the build still passes (no content changed, but confirm nothing broke)**
```bash
source .venv/bin/activate
PYTHONPATH=tools python -m content_build --check
PYTHONPATH=tools python -m pytest tools/content_build/tests -q
```
Expected: `--check` exits 0; tests pass. (Skill files aren't built; this just confirms Task 3 touched nothing that matters to the build.)
- [ ] **Step 6: Sanity-read the three skill files**
Open each and confirm: `references/cosmology.md` exists and reads cleanly; `SKILL.md` step 2 now mentions the cosmology and the reference list has the new bullet; `tone.md` has "The cosmic backdrop" section directly above "Luck's fingerprint". Fix any formatting slips inline.
- [ ] **Step 7: Commit**
```bash
git add .claude/skills/world-building/
git commit -m "feat(skills): world-building carries the cosmology backdrop
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ"
```
---
## Task 4: Roadmap + final verification
**Files:**
- Modify: `content/lore/canon-roadmap.md`
- [ ] **Step 1: Update the roadmap**
Replace the entire body of `content/lore/canon-roadmap.md` below its title line with:
```markdown
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** (names the
warlock `[CANON-TBD]`) 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.
- **duncarrow.md** — the bounded-dialogue / disposition-gate specimen (Duncarrow,
the Crell chain, Mera Fenn, etc.). **Scaffolding, not story:** it seeded the
schema + skill and hosts the required-once `rule.disposition-ladder`. Slated for
removal in a follow-up that reparents the ladder into `cosmology.md` and stands
up a cosmology-native specimen town.
## 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.
```
- [ ] **Step 2: Full final verification (the whole pass, green)**
```bash
source .venv/bin/activate
PYTHONPATH=tools python -m content_build
PYTHONPATH=tools python -m content_build --check
PYTHONPATH=tools python -m pytest tools/content_build/tests -q
git status --short
```
Expected: build clean; `--check` exits 0; tests pass; `git status` shows only the roadmap change staged/untracked (all prior tasks already committed). If `--check` reports staleness, the generated output wasn't committed in an earlier task — run the build and `git add content/world content/server`.
- [ ] **Step 3: Commit**
```bash
git add content/lore/canon-roadmap.md
git commit -m "docs(content): roadmap — Warden/Seven authored, Duncarrow flagged scaffolding
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HuHRPE7VfppUJEaoGBEUqZ"
```
- [ ] **Step 4: Report**
Summarize for the human: new canon ids (6 frame + 7 lords), the skill changes, the roadmap update, and confirmation `--check` + pytest are green. Then stop for the human to smoke-test and confirm before any merge to `dev` (per charter §18 git workflow — the human confirms; Claude may then merge `--no-ff` and delete the branch).
---
## Self-review notes (author's check against the spec)
- **Spec §4 (frame entities):** Task 1 authors all six with resolving `related`, secrecy 0. ✓
- **Spec §4 (roster):** Task 2 authors all seven `person.*`, each → `faction.the-seven`; Nuun → `rule.possession`. ✓
- **Spec §2 (tone reconciliation) + §3 (Luck hook):** carried in the bodies (distant, contested, Luck-as-flavor in `rule.blood-price`/`the-pact`) and enforced in the skill (Task 3 authoring rules). ✓
- **Spec §5 (skill changes):** Task 3 = new `references/cosmology.md` + `SKILL.md` step-2 + reference-list + `tone.md` section. ✓
- **Spec §6 (Duncarrow decoupled, not removed):** no task edits/removes Duncarrow; roadmap flags it (Task 4); Global Constraints forbid touching it. ✓
- **Spec §7 (FTH-axis callings):** Bonesetter/Bloodsworn/Hedge-Mage mapping in `rule.the-pact` + `rule.blood-price` prose and the skill reference; `Bloodsworn` name recorded (roadmap). Luck-immunity kept as flavor only, flagged M5. ✓
- **Spec §7-sensitivity:** no Luck mechanic authored; blessing/curse are prose. ✓
- **Type consistency:** ids used in `related` (`faction.the-seven`, `rule.possession`, etc.) match their definitions exactly across Tasks 12. ✓
```

View File

@@ -0,0 +1,207 @@
# Cosmology — the Warden and the Seven
**Status:** approved design, ready for implementation plan
**Date:** 2026-07-12
**Scope:** Establish the game's overarching content/playthrough theme as canon, and
bake it into the world-building skill so all future authoring reconciles against it.
---
## 1. The idea
The Margreave sits inside a hidden cosmic war, and every future storyline hangs off it:
- **The Warden** — a genuinely good god who loves the races of the world. He is
**distant**: he answers worship with blessing and otherwise does not intervene.
His true name is unknown/unspoken — nameless **by design**, not a TBD to fill.
- **The Sent** — his angels. His hand reaches mortals only *indirectly*: a Sent one
asks a mortal to do a deed "in his name," and the doing earns blessing. This is
the cosmic-flavored quest-giver engine. Rare — most people never see one.
- **The Seven** — seven demon kings, each commanding an army, each craving a
**distinct kind of blood**. They work against the Warden: they want every race
dead or enslaved, and they want **blood as sacrifice** to fuel their power.
- **Possession & influence** — the Seven reach mortals by *influence* first and, more
rarely, by *seizing the body*. This is the primary way the war touches the world.
## 2. Tone reconciliation (load-bearing — the design lives or dies here)
The charter tone is **gritty, not grim; the world does not care about you** (§3), with a
**dry narrator who never winks**. A straight cosmic good-vs-evil epic would break that.
The reconciliation, chosen during brainstorming, is **"distant & contested":**
- The god is real but **silent/absent to most.** Blessings are rare; the Sent are
seldom seen.
- Demons are felt as **wreckage and bad people**, not manifesting monsters in the
square. They work *through* mortals. Possession is rare and quiet, not spectacle.
- Ordinary folk **argue whether any of it is true.** Whether the Warden is good,
absent, or dead is a thing mortals dispute — a future `rumor`/`secret` layer, never
confirmed by the narrator.
- Day-to-day the world stays indifferent (taxes, mud, bad men). **The cosmic war is
the hidden engine under the local grime**, not the surface text.
- The narrator **never preaches, never confirms the god, never goes epic.**
## 3. The Luck hook (grounds the theology in the existing signature system)
The war is already legible through **§7 Luck** without touching numbers:
- A Warden's blessing reads as **fortune**; demonic taint reads as **the trap door
opening under you.**
- A cursed item (**+STR / LCK**, the charter's "most interesting item") is a small
bargain with the Seven.
- Luck stays **visible in prose, never in numbers** (§7). It becomes the *fingerprint*
of which side has hold of you. No new mechanic — a reinterpretation of Luck's flavor.
## 4. How it maps onto the content schema
The cosmology is **public, believed world-furniture**, so it authors as **canon
entities** (secrecy 0, bodies ship to client) — same machinery as everything else. The
*hidden specifics* (who is possessed, which cult bleeds which road) are authored later
as gated `rumor`/`fact`/`secret` knowledge, per-town. The frame never names victims; it
gives future authors the hooks.
### New file: `content/lore/cosmology.md`
| id | type | secrecy | notes |
|---|---|---|---|
| `person.the-warden` | person | 0 | The good god. Titled only; name unspoken by design. |
| `faction.the-sent` | faction | 0 | The angels; his indirect hand; the deed-for-blessing engine. |
| `faction.the-seven` | faction | 0 | The demonic host as a whole; the seven armies. |
| `rule.the-pact` | rule | 0 | Worship → the Warden's blessing. The good economy. |
| `rule.blood-price` | rule | 0 | Blood sacrifice → the Seven's power. The dark economy. |
| `rule.possession` | rule | 0 | How the Seven reach mortals: influence, then rarely seizing the body. |
### New file: `content/lore/the-seven.md` — the roster
Each is a `person.*`, secrecy 0, `related: [faction.the-seven]`. Each body is a tight
sketch (a paragraph, not a questline): **king/title · the blood it craves · its army ·
how it corrupts mortals.** Gritty, not cartoonish — each is a *way mortals actually bleed.*
| id | King / title | Blood it craves | Corrupts through |
|---|---|---|---|
| `person.kareth-the-red-king` | Kareth, the Red King | slaughter, the battlefield | rage, feud, the promise of victory |
| `person.vael-the-quiet-knife` | Vael, the Quiet Knife | the trusted killed by the trusted | grudge, the easy solution |
| `person.morren-the-grey-mother` | Morren, the Grey Mother | the fevered, the dying | despair, the mercy-kill |
| `person.ghaul-the-yoke` | Ghaul, the Yoke | chattel worked to death | profit, the slaver's ledger |
| `person.ishri-the-open-mouth` | Ishri, the Open Mouth | ruin by appetite | wanting — flesh, drink, more |
| `person.nuun-the-hollow-choir` | Nuun, the Hollow Choir | the self-slain | madness, whispers — **the chief possessor** |
| `person.draeth-the-crowned-worm` | Draeth, the Crowned Worm | a ruler's own people, spent for power | ambition, tyranny |
`faction.the-seven` relates to all seven; each lord relates back. `rule.possession`
names Nuun as the chief possessor (all seven can, Nuun is the specialist).
## 5. World-building skill changes (the explicit ask: "the skill should include this")
Every future author must reconcile new content against this backdrop, so:
- **New `references/cosmology.md`** in the skill — the canonical backdrop authors read
before writing: the Warden/Sent/Seven, the two economies, possession, and the
**authoring rules** that keep it in tone:
- Keep it **distant** — cosmology is the hidden engine, not the surface text.
- Demons work **through people**; possession is rare and quiet, never spectacle.
- **Don't go epic** — no manifesting monsters, no preaching narrator, god unconfirmed.
- **Blessing/curse ↔ Luck** — express the war through Luck's flavor, never numbers.
- Victims/cults are authored as **gated secrets** per-town, not stated in the open.
- **`SKILL.md`** — add cosmology to **step 2 (reconcile against existing canon)**: new
content must slot against the Warden/Seven backdrop; and a one-line pointer in the
reference list to `references/cosmology.md`.
- **`references/tone.md`** — add a short "**The cosmic backdrop**" section: how the
good/evil war colors tone *without* breaking the world's indifference (the three
rules above, in tone language).
## 6. Old Duncarrow canon — decoupled now, purged later
The user confirmed the Duncarrow/Crell/White-Antlers content was scaffolding to build
the schema + skill, not tied to the story, and **may be removed.**
**This pass does NOT remove it.** Duncarrow currently:
- is the world-building skill's **format/disposition-gate specimen** (SKILL.md and
schema.md point authors at `duncarrow.md`),
- **hosts `rule.disposition-ladder`**, which the build requires **exactly once**, and
- backs the `content_build` **tests/fixtures**.
Ripping it out in the same pass as the new theme risks breaking the build alongside new
work. **Plan:** this pass is **additive** (cosmology + skill). A **follow-up spec**
purges Duncarrow, reparents `rule.disposition-ladder` into `cosmology.md`, and stands up
a **cosmology-native town** as the new specimen. The build stays green throughout.
Roadmap note: `content/lore/canon-roadmap.md` gets an entry recording that Duncarrow is
non-canonical scaffolding slated for removal, and that the Warden/Seven cosmology is the
new spine.
## 7. Callings & the war (the FTH axis)
The settled races/classes spec (`2026-07-11-races-and-classes-design.md`) explicitly
leaves calling **lore/flavor to "a separate canon/worldbuilding effort"** and marks two
calling names `[CANON-TBD]` for the canon session. This pass resolves that seam **for the
divine axis only** — the two FTH callings draw power from **opposite sides of the war**;
every other calling stays **unaligned** (worship-for-everyone dilutes the divine
specialness and pushes the world toward the epic register we deliberately avoided in §2).
| Calling | Stat | War stance |
|---|---|---|
| **Bonesetter** (Cleric) | FTH | channels **the Warden** — divine casting *is* the good god's blessing, worked through a mortal |
| **Bloodsworn** (Warlock, was `[CANON-TBD]` 🔥) | FTH | **pacted to one of the Seven** — the "Pact Mark" talent lends the party a sliver of a lord's blood-price power |
| **Hedge-Mage** (Wizard) | MAG | **outsider** — arcane is *studied*, not worshipped; serves neither side (the deliberate contrast: knowledge vs devotion) |
| martials (Sellsword / Trapper / Barbarian) | STR/DEX | **unaligned** — the war only *echoes* (e.g. the rage-calling resonates with **Kareth**), never a pact |
**Warlock name resolved: `Bloodsworn`.** A gritty village folk-name (matching Cutpurse /
Trapper / Hedge-Mage / Bonesetter) that encodes `rule.blood-price` directly. This closes
**one** of the two `[CANON-TBD]` calling names in the races/classes spec; the **Barbarian ⚔**
name stays open (out of scope — this pass handles only the FTH axis). Applying the name to
the calling data is an **M4** task; here it becomes canon flavor.
**How it lands in content (no new schema):** there is no "class" namespace in the bible,
and callings are **code-owned state** (races/classes spec) — the bible must not invent a
class entity. The alignment is carried as **prose inside the two rule entries**:
`rule.the-pact` notes that a devout mortal (the Bonesetter) can channel the Warden's
blessing; `rule.blood-price` notes that the Bloodsworn borrow a lord's power through the
pact (the Pact Mark). Callings are named in prose, never entities.
**Creation hook (flag, M4 — not decided here):** a Bloodsworn may choose **which of the
Seven** is patron, flavoring the Pact Mark. Optional; belongs to the M4 creation
brainstorm, not this content pass.
**The Luck-immunity — the §7-sensitive flag (NOT built here):** the user's intent — *"the
Seven do not spend misfortune on their own sworn"* — is **safe to state as lore flavor**
and will appear in `rule.blood-price` / the Bloodsworn's flavor. But any **mechanical**
Luck carve-out is **deferred and must be reconciled**, because:
- the settled resolution model states **"LCK is the only randomizer… cannot leak onto the
character sheet as a number,"** and §7 forbids the player ever being able to *calculate*
they are cursed. A hard "immune to bad luck" toggle bumps both.
- The **§7-safe route** (to be designed at the combat/Improviser brainstorm, ~M5): the
effect lives in the **Improviser** — allegiance *weights* boon-vs-humiliation selection
(prose, not combat numbers) — and it **costs a blood-price** (the pact is never free).
- **Decision:** author the flavor now; build no Luck mechanic. Flag it for M5/Improviser.
**§2 accounting:** callings remain state (code owns them). This pass adds only *text the AI
narrates from* (rule bodies, flavor) — no AI system mutates a calling or a Luck value.
Consistent with §2.
## 8. Acceptance criteria
- `content/lore/cosmology.md` and `content/lore/the-seven.md` author the entries in §4,
in tone (dry, distant, gritty; §2/§3 respected), every `related` id resolving.
- `PYTHONPATH=tools python -m content_build` regenerates cleanly; `--check` exits 0
(fresh, valid, no orphans, no secrecy leaks); `pytest tools/content_build/tests -q`
green.
- The world-building skill carries `references/cosmology.md`, and `SKILL.md` +
`references/tone.md` reference/enforce the backdrop.
- `content/lore/canon-roadmap.md` updated (Warden/Seven authored; Duncarrow flagged
scaffolding; FTH-axis calling mapping + `Bloodsworn` name recorded).
- `rule.the-pact` / `rule.blood-price` bodies carry the FTH-axis power sources
(Bonesetter channels the Warden; Bloodsworn borrow a lord's power) — in prose, with no
new "class" entity or schema change.
- Existing Duncarrow content and the build remain intact (no removal this pass).
## 9. Out of scope (explicitly deferred)
- Removing Duncarrow / reparenting the ladder / new specimen town — **follow-up spec.**
- Applying `Bloodsworn` to the calling data, and a Bloodsworn's **patron choice** at
creation — **M4** (character creation).
- The Barbarian ⚔ `[CANON-TBD]` calling name — this pass handled only the FTH axis.
- Any **mechanical** Luck carve-out for the Bloodsworn — **M5 / Improviser** reconcile
(§7-sensitive; flavor only, this pass).
- Naming victims, cults, possessed NPCs, or blood-harvest sites — **per-town knowledge
layers**, authored as the world grows.
- Any engine/UI/prompt/combat change — this is content + skill only.
- A true name for the Warden — nameless by design; not a deferred TBD.