diff --git a/.claude/skills/world-building/SKILL.md b/.claude/skills/world-building/SKILL.md index 5054ddc..53aded7 100644 --- a/.claude/skills/world-building/SKILL.md +++ b/.claude/skills/world-building/SKILL.md @@ -98,8 +98,9 @@ contradict, and it carries the authoring rules that keep the war in tone - **Bible entries:** see `references/schema.md` for the full field-by-field contract, the id/namespace/type rules, the secrecy scale, and the knowledge-gate model. Match the **structure** of `content/lore/specimen.md` (the synthetic - disposition-gate specimen — a guarded-then-warm NPC with one earned reveal) and - the **voice** of the canon bodies in `content/lore/cosmology.md`. + disposition-gate specimen — a guarded-then-warm NPC with one reveal earned at + `warm` and a `never`-gated core no disposition unlocks) and the **voice** of the + canon bodies in `content/lore/cosmology.md`. - **Hand-authored JSON:** mirror the shape of the existing file in that folder (`references/schema.md` documents each). Keep ids stable and lowercase-snake. diff --git a/.claude/skills/world-building/references/schema.md b/.claude/skills/world-building/references/schema.md index 4d58b5b..2ebea44 100644 --- a/.claude/skills/world-building/references/schema.md +++ b/.claude/skills/world-building/references/schema.md @@ -139,7 +139,8 @@ build failure. ## Worked example -A guarded fisherman who warms up and, if trusted, names who really owns the boats. +A guarded fisherman who warms up and names the coin — and who holds one thing no +disposition ever buys. ```yaml id: person.specimen-teague @@ -163,12 +164,26 @@ body: > charter is buying the wharf's silence, a little at a time. ``` +```yaml +id: secret.specimen-drowned-clerk +type: secret +status: canon +secrecy: 4 +related: [place.specimen-wharf, person.specimen-teague, fact.specimen-foreign-coin] +body: > + The charter clerk who came asking after the coin went into the river in the + spring. Teague held his legs. He has not been out on the water since and tells + anyone who asks that it is his knees. +``` + ```yaml id: npc.specimen-teague type: person status: canon start_disposition: cold -related: [person.specimen-teague, fact.specimen-foreign-coin] +related: + [person.specimen-teague, fact.specimen-foreign-coin, + secret.specimen-drowned-clerk] body: > Same man as person.specimen-teague; his interactive layer. Curt with strangers, not from malice but from a lifetime of watching talkers end up face-down in the @@ -177,14 +192,22 @@ body: > knows: - {fact: fact.specimen-foreign-coin, gate: warm} + - {fact: secret.specimen-drowned-clerk, gate: never} disposition_notes: > Starts cold. Buying his catch, not his story, is what moves him. At warm he - names the coin; he never speculates aloud about who mints it. + names the coin; he never speculates aloud about who mints it. The clerk is the + one thing no rung buys — saying it aloud would hang him, and he knows it. He + reasons around it, steers off it, and takes it to the ground. ``` Note: `person.specimen-teague` (secrecy 0, public) and `npc.specimen-teague` (the layer, -persona server-only) are two entries. The fact is secrecy 2, gated at `warm`. +persona server-only) are two entries. The chain ascends 2 → 4: the coin is gated at +`warm` and the player earns it; the clerk is gated `never` and no disposition unlocks +it. **That is what `never` is for.** Teague holds it — the Improviser may reason with +it, and the player may infer it from what he *will* say — but he cannot be talked into +saying it, because saying it would hang him. A `never` gate needs a reason like that: +if any rung *should* buy the secret, gate it at `trusted` instead. ## Hand-authored JSON diff --git a/content/lore/specimen.md b/content/lore/specimen.md index a756dbc..e05a31e 100644 --- a/content/lore/specimen.md +++ b/content/lore/specimen.md @@ -1,11 +1,12 @@ # SPECIMEN — format example, NOT game canon -> A synthetic disposition-gate specimen: the shape a guarded-then-warm NPC and a -> single earned personal reveal take in the bible. Authored `status: candidate`, -> so the build VALIDATES it (`--check` resolves its gate against the ladder) but -> emits NOTHING to `content/world` or `content/server`. This is a teaching -> example for the world-building skill, not part of the Margreave. Do not wire -> real content to these ids. +> A synthetic disposition-gate specimen: the shape a guarded-then-warm NPC takes +> in the bible, with an ascending knowledge chain — one reveal the player earns at +> `warm`, and a `never`-gated core the NPC knows and no disposition ever unlocks. +> Authored `status: candidate`, so the build VALIDATES it (`--check` resolves its +> gates against the ladder) but emits NOTHING to `content/world` or +> `content/server`. This is a teaching example for the world-building skill, not +> part of the Margreave. Do not wire real content to these ids. ```yaml id: place.specimen-wharf @@ -40,13 +41,27 @@ body: > wharf's silence, a little at a time. ``` +```yaml +id: secret.specimen-drowned-clerk +type: secret +status: candidate +secrecy: 4 +related: [place.specimen-wharf, person.specimen-teague, fact.specimen-foreign-coin] +body: > + The charter clerk who came asking after the coin went into the river in the + spring. Teague held his legs. He has not been out on the water since and tells + anyone who asks that it is his knees. +``` + ```yaml id: npc.specimen-teague type: person status: candidate secrecy: 0 start_disposition: cold -related: [person.specimen-teague, fact.specimen-foreign-coin] +related: + [person.specimen-teague, fact.specimen-foreign-coin, + secret.specimen-drowned-clerk] body: > Same man as person.specimen-teague; his interactive layer. Curt with strangers, not from malice but from a lifetime of watching talkers end up face-down in the @@ -55,8 +70,11 @@ body: > knows: - {fact: fact.specimen-foreign-coin, gate: warm} + - {fact: secret.specimen-drowned-clerk, gate: never} disposition_notes: > Starts cold. Buying his catch, not his story, is what moves him. At warm he - names the coin; he never speculates aloud about who mints it. + names the coin; he never speculates aloud about who mints it. The clerk is the + one thing no rung buys — saying it aloud would hang him, and he knows it. He + reasons around it, steers off it, and takes it to the ground. ```