systems/NAMING_METHOD.md
Josh, 2026-07-04: the difficulty-ladder naming pass (Wellspring · Veiled ·
Fading · Sundered · The Forgotten One) is "the workflow and strategy that means
following our CVD and vision and canon." This note makes that method the
standard for ALL naming and persona work — difficulty tiers, NPC names/personas
(Ruling 6), site classes, ability/school names, weapon names, region labels —
not a one-off.
1. Deep-dive the canon first. Before proposing any name, read the governing
docs and extract the single axis/concept the name must sit on, with exact
quoted lines. Names are derived FROM canon (the vril-withdrawal dial, the
culture/era the character lives in, the trade/thread the site serves), never
invented over the top of it. If the canon does not support the lore a name
needs, discard the name — do not invent canon to justify it (cardinal rule).
2. Generate widely, on distinct axes. Produce several candidate sets on
genuinely different conceptual axes (e.g. the realm's fading reach vs the
veil thickening vs the memory of home dimming), not variations on one idea.
3. Adversarially filter — this is the load-bearing step. Attack every
candidate on four surfaces: (a) will a real player instantly order/parse it
and feel it as evocative, not obscure or academic — the "vibe" test; (b) is
every word genuinely canon-grounded (cite the line); (c) does it bridge the
whole span it must cover, not just one end; (d) does it avoid the known
failure modes below. Kill anything that fails; keep only survivors.
4. Test it works. State the winner as one legible through-line (the
difficulty ladder reads as one sentence of the realm receding), and confirm
it composes with the fixed points already ruled.
5. Ground and record. Land it in the owning doc with the quoted canon, mark
the ruling, and retire the superseded passes by name so they are not re-tried.
Realm Reaches / Within Reach / …" was rejected for being phrases).
player's own condition don't land (Flow/Ebb/Drought — right vision, wrong
register; the player must feel the name as *their* state, e.g. the bond with
home).
rejected as abstractions that don't order or evoke.
endpoint ("Forsaken" collided with "The Forgotten One"). Leave clear space
between adjacent names.
its span, not only the near one or only the far one.
For NPCs the same loop runs, plus: the name and persona are grounded in the
culture and era the chapter inhabits; puns/wordplay tie to profession or
attitude; humor is calibrated by moral standing (poke freely at thieves and
deplorables, respectfully elsewhere); and each NPC carries a real
persona/personality/strength, not a label. Same discipline: derive from the
chapter's actual cultural substrate, adversarially check it lands, never invent
culture that the canon/research does not support.
Run this as a deep-dive + adversarial Workflow (or a focused agent with a
markdown deliverable) — the exact pattern used for the difficulty ladder and the
Thread-2 finale question. Structured-output schemas for naming passes should keep
required fields minimal (the difficulty-names agent errored on an over-strict
schema); prefer a markdown report the main session reviews and lands.