docs(canon): name the last two callings — Reaver, Bloodsworn

All seven callings are now named; no [CANON-TBD] remains in the specs.

Reaver (Barbarian). To reave is to raid — occupational, like Sellsword and
Trapper, naming what he does for money rather than what he is inside. That is
the rule the five mock names already obeyed and that §8's own list broke: a
calling is what a village calls you, not what a rulebook calls you. Bearsark
and Wildman were rejected for naming a condition; Breaker for being generic.

Bloodsworn (Warlock) was not a new coinage — the cosmology minted it a day
after the races spec was written ("what the Margreave calls bloodsworn",
rule.blood-price), and the cosmology spec had already applied it. It is the
exact FTH-axis mirror of Bonesetter: one channels the Warden, one pacts a king
of the Seven. Accepted cost, recorded in the spec: alone among the callings it
names a condition rather than a trade — the villain who pacts Ghaul is
bloodsworn too. A second, occupational word (Cursewright, Hexman) was
considered and rejected as a distinction the player will never feel.

Also retires the stale "reconcile class names" note on M4 and records the two
contract migrations that milestone owes: the canon log's `race` field, and the
deserter origin's dead allowed_classes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QYa9u7Kdxv5gX4AnwWexy8
This commit is contained in:
2026-07-12 19:34:26 -05:00
parent c3e02c7f7d
commit bb8097929a
4 changed files with 36 additions and 11 deletions

View File

@@ -158,10 +158,12 @@ Not a debt. Where ideas go to be safe.
other six kings as campaign patrons; tiered enemy families (proximity to a king *is*
the power scale); the three story-shapes (cult cell → cult that owns a city → the
king himself).
- **The Barbarian ⚔ calling name** (`[CANON-TBD]`).
- **AI-generated worlds** (v2, charter §17). The saga spec guarantees the `Saga`
object is what will feed it. Nothing else about it is decided.
*(Left the Backlog 2026-07-12: the Barbarian ⚔ calling name — **Reaver**. All seven
callings are named; see the [races/classes spec](../docs/superpowers/specs/2026-07-11-races-and-classes-design.md) §4.)*
---
## Notes for whoever authors next

View File

@@ -75,7 +75,7 @@ Each screen is recreated as a Godot 4.7 Control-node scene against the mockups (
### M4 — Character creation
*Content it consumes → [BOM](../content/roadmap.md#2-bill-of-materials): calling blurbs + the Bloodsworn's patron choice (fixed); origins (variable). **~4 pieces.***
-**Character creation UI** — the mock's screen over our proven model: race + calling cards, six stats with **LCK hidden entirely** (§7), 3d6 floors, the **+3 additive-only spend-up** pool (§8, matches the `character-creation-stats` model), live origin blurb + nameplate. **Reconcile class names** here (§8 vs the mock's callings). Feeds new-game canon-log construction (already built). **⛨ saga:** `NewGame.construct` takes `creation` as a plain `Dictionary` — keep it that way. The creation *scene* produces that dict but must not become the only thing that can (a saga synthesizes it and skips the UI). Emit `race_id` + `calling_id` into it. *§2: state · depends on the creation model (M0) + Theme · goal: build a character.*
-**Character creation UI** — the mock's screen over our proven model: race + calling cards, six stats with **LCK hidden entirely** (§7), 3d6 floors, the **+3 additive-only spend-up** pool (§8, matches the `character-creation-stats` model), live origin blurb + nameplate. **The class-name reconcile is settled** — all seven callings are named (Sellsword · **Reaver** · Cutpurse · Trapper · Hedge-Mage · Bonesetter · **Bloodsworn**; [races/classes spec](superpowers/specs/2026-07-11-races-and-classes-design.md) §4). Feeds new-game canon-log construction (already built). **Two contract migrations land here, not silently:** the canon log gains a `race` field (the Narrator needs it to describe the player), and `content/origins/deserter.json` still carries the dead `allowed_classes: ["sellsword","assassin","priest"]`. **⛨ saga:** `NewGame.construct` takes `creation` as a plain `Dictionary` — keep it that way. The creation *scene* produces that dict but must not become the only thing that can (a saga synthesizes it and skips the UI). Emit `race_id` + `calling_id` into it. *§2: state · depends on the creation model (M0) + Theme · goal: build a character.*
### M5 — Tactical combat (gridless)
*Content it consumes → [BOM](../content/roadmap.md#2-bill-of-materials): abilities for the 3 POC classes (fixed); 1 enemy family (4 units) + boss, **tier 1** (variable per tier). **~15 pieces.***

View File

@@ -7,8 +7,9 @@
This spec settles the **mechanics** of races and callings so M4 character creation has
rules to read. It resolves the §17 class-name reconcile (charter §8 vs the mock's
callings) and gives every race trait a concrete rule. **Lore/flavor is deliberately
out of scope** — it lives in a separate canon/worldbuilding effort; placeholders here
are marked `[CANON-TBD]`.
out of scope** — it lives in a separate canon/worldbuilding effort. The two calling
names this spec left open are now **settled** (Reaver ⚔ / Bloodsworn 🔥, §4 *Naming*);
no `[CANON-TBD]` remains here.
Scope choice (agreed): **full mechanical spec** — everything creation + the character
sheet read. The **combat ability kit is deferred to M5** (the action economy, damage
@@ -132,7 +133,8 @@ feature with real teeth + one minor feature. All upside; downsides live in flavo
The full charter-7 (§8), gritty calling names (§17 reconcile resolved in favor of the
mock's village-names, which honor §8's "named for the role in the world" better than
§8's own list). Two need names from the canon session — marked `[CANON-TBD]`.
§8's own list). **All seven are named** — the last two were settled at the canon session
(2026-07-12); see *Naming* below.
Static kit only — **the combat ability kit (the bar) is deferred to M5.** This is what
creation + the character sheet read.
@@ -140,19 +142,40 @@ creation + the character sheet read.
| Calling | Archetype | Primary | Hit die | Save profs | Skill profs | Resource | Armor | L1 talent (stub) |
|---|---|---|---|---|---|---|---|---|
| **Sellsword** | Fighter | STR | d10 | STR, CON | 2 | Cooldowns | Heavy | **Second Wind** — once/rest, claw back HP |
| **[CANON-TBD]** ⚔ | Barbarian | STR | d12 | STR, CON | 2 | Cooldowns | Medium | **Blood Fury** — rage: soak + hit harder, per-encounter |
| **Reaver** ⚔ | Barbarian | STR | d12 | STR, CON | 2 | Cooldowns | Medium | **Blood Fury** — rage: soak + hit harder, per-encounter |
| **Cutpurse** | Rogue | DEX | d8 | DEX, MAG | 4 | Cooldowns | Light | **Backstab** — bonus dmg vs an unaware/first-strike target |
| **Trapper** | Ranger | DEX | d10 | DEX, CON | 3 | Cooldowns | Light | **Set Snare** — place a control trap, cooldown |
| **Hedge-Mage** | Wizard | MAG | d6 | MAG, FTH | 2 | MP (MAG) | None | **Hexbolt** — signature MP-free arcane basic |
| **Bonesetter** | Cleric | FTH | d8 | FTH, CON | 2 | MP (FTH) | Medium | **Mend** — heal HP, gritty field-medic |
| **[CANON-TBD]** 🔥 | Warlock | FTH | d8 | FTH, MAG | 2 | MP (FTH) | Light | **Pact Mark** — curse a target, FTH/MP |
| **Bloodsworn** 🔥 | Warlock | FTH | d8 | FTH, MAG | 2 | MP (FTH) | Light | **Pact Mark** — curse a target, FTH/MP |
### Naming (settled 2026-07-12)
The rule the five mock names already obeyed: **a calling is what a village calls you, not
what a rulebook calls you** (§8's own principle, which §8's own list broke). They are
occupational, plain, and faintly contemptuous — Cutpurse, not Assassin; Bonesetter, not
Priest.
- **Reaver** (Barbarian). *To reave* is to raid and plunder — it names what he does for
money, like Sellsword and Trapper, rather than what he is inside. A village says it with
fear and no admiration. Rejected: *Bearsark* and *Wildman* (vivid, but they name a
condition and break the occupational pattern), *Breaker* (too generic).
- **Bloodsworn** (Warlock). **Not a new coinage — the cosmology already minted it**, one
day after this spec was written: *"A mortal willing to strike that bargain becomes what
the Margreave calls bloodsworn"* (`rule.blood-price`). It is the exact FTH-axis mirror of
Bonesetter: one channels the Warden, one pacts a king of the Seven.
**Known and accepted cost:** unlike every other calling, this word names a *condition*
rather than a trade — the villain who pacts Ghaul is bloodsworn too. A separate
occupational name for the calling (Cursewright, Hexman) was considered and rejected:
a second word for one idea buys a distinction the player will never feel, and this one
is already in canon and in the build output.
- **Two STR martials differentiated by shape, not stat:** Sellsword = disciplined, heavy
armor + d10 + sustain (Second Wind); the Barbarian-calling = reckless, d12 + medium
armor + d10 + sustain (Second Wind); the Reaver = reckless, d12 + medium
armor + rage (soak via fury, not plate). Same primary, opposite feel.
- **Cutpurse gets 4 skills** (breadth is the rogue's identity); Trapper 3; others 2. Drawn
from the class's stat-appropriate slice of the 9-skill list, plus what race grants.
- **Casters** (Hedge-Mage / Bonesetter / Warlock-calling) have **MP**; martials have 0 and
- **Casters** (Hedge-Mage / Bonesetter / Bloodsworn) have **MP**; martials have 0 and
live on cooldowns. MP pool formula → M5.
- **Backstab** — the mock's "advantage" phrasing becomes a **flat bonus vs an unaware/
first-strike target** under the resolution model; no positioning needed, fits gridless (§10).
@@ -215,7 +238,7 @@ Nothing here silently pre-empts a later brainstorm.
not choose it. An open-ended curve is unsolvable and forecloses the saga.
**→ Canon session (lore):**
- The two **[CANON-TBD]** calling names (Barbarian ⚔ / Warlock 🔥).
- ~~The two **[CANON-TBD]** calling names~~ — **settled 2026-07-12: Reaver ⚔ / Bloodsworn 🔥.** See *Naming*, §4.
- All race/calling flavor, descriptions, origin fragments.
- The **beastfolk social tax** (mechanical downside, ties to M8 shop).

View File

@@ -198,7 +198,7 @@ Consistent with §2.
- 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.
- ~~The Barbarian ⚔ `[CANON-TBD]` calling name~~**settled 2026-07-12: Reaver.** This pass handled only the FTH axis; the STR axis closed at the same canon session. All seven callings are now named ([races/classes spec](2026-07-11-races-and-classes-design.md) §4 *Naming*).
- 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