Files
settled-reach/docs/workshops/v01-content-scoping/round2-paula.md
T
jpmschweitzerandClaude Opus 4.6 b672b9c269 feat(docs): restructure wiki taxonomy with templates and Krenn System entry (#301, #319)
Move wiki from docs/wiki/ to root wiki/. Add 14 category templates with
YAML frontmatter, governance model, hierarchical spatial structure
(system > station > district > location). Populate Krenn System entry
as first concrete star system. Update cross-references in workshop and
sprint docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 00:58:45 +01:00

25 KiB

Round 2 — Paula (Narrative & Political Depth)

Task 1: NPC Pattern/Motivation Mapping — v0.2 Emotional Layer

Gestalt's mechanical mapping is canonical for v0.1. Accepted.

But the versioned approach creates something valuable: two analytical lenses on the same NPCs. Gestalt maps from function ("What does this NPC do in the system?"). I map from meaning ("What does this NPC mean to the story?"). For v0.1, function drives implementation. For v0.2, meaning drives emotional depth expansion.

Here's every disagreement annotated with what the v0.2 emotional layer adds:

Disagreement Resolution + v0.2 Notes

NPC v0.1 (Gestalt) v0.2 Layer (Paula) What the v0.2 Layer Adds
Voss SYSTEM + OPERATOR SYSTEM + HANDLER v0.1 Voss runs schedules (OPERATOR). v0.2 Voss manages people through scheduling authority — the resentment, the fear, the performative competence hiding real vulnerability. HANDLER unlocks Voss-specific monologue about being trapped between institutional role and criminal obligation. "I manage people. They just don't know who I'm managing them for."
Devra THRESHOLD + HANDLER THRESHOLD + OPERATOR v0.1 Devra manages from above (HANDLER). v0.2 Devra runs the operation's machinery — she's the most competent person in the ring and knows it. OPERATOR unlocks content about Devra's ambition, her quiet belief she could run this better than Nils, her frustration at being the brain behind someone else's decisions.
Maret SYSTEM + WITNESS WITNESS + SKEPTIC v0.1 Maret is the institutional scheduler who saw something (SYSTEM+WITNESS). v0.2 Maret doubts — not just "the numbers are off" but "the entire system I trusted is corrupt, and I'm complicit by filing clean reports." SKEPTIC unlocks Maret's crisis of institutional faith, the thing that makes her more than a data point for the detective.
Resha CATALYST + SKEPTIC CATALYST + CIVILIAN v0.1 treats Resha's questions as genuine skepticism (SKEPTIC). v0.2 adds the tragedy: Resha is a CIVILIAN who accidentally became a CATALYST. She's not questioning the system — she's trying to learn it. The system is so broken that LEARNING it is disruptive. CIVILIAN unlocks content about Resha's bewilderment when people react to her innocent questions with fear.
Harek GHOST + HANDLER ANCHOR + HANDLER v0.1 Harek shapes events through debt leverage (GHOST+HANDLER). v0.2 adds: Harek embodies contentment. He's the man who has enough, wants nothing more, and whose comfortable complacency created a tool for others without him meaning to. ANCHOR unlocks content about unconscious complicity — the "Is this enough?" question answered by someone who never thought to ask it, whose answer is "yes" while his comfort enables harm.
Drin REMNANT + TURNCOAT SYSTEM + TURNCOAT v0.1 Drin remembers simpler times (REMNANT). v0.2 adds: Drin IS the inspection system. His compromise doesn't just corrupt a person — it corrupts the institutional process itself. SYSTEM unlocks content about institutional rot as metaphor: when the inspector is compromised, what does "inspection" even mean?
Sess ANCHOR + CIVILIAN NOBODY + CIVILIAN v0.1 Sess embodies quiet contentment (ANCHOR). v0.2 adds: Sess is invisible — social wallpaper that the player walks past twenty times before realizing the bartender has seen everything. NOBODY unlocks dynamic tier promotion content for v0.2: the moment the player invests in Sess, the quiet contentment reveals itself as an observation post.
Olin CATALYST + SKEPTIC CATALYST + CIVILIAN v0.1 gives Olin dual motivation (ambiguity). v0.2 resolves the ambiguity per playthrough: some seeds, Olin IS a skeptic (asking questions because they're probing). Other seeds, Olin is a civilian (asking questions because they genuinely need work). The randomized motivation resolution is a v0.2 generator feature.
Sabel THRESHOLD + OPERATOR GHOST + OPERATOR v0.1 Sabel is the off-station gatekeeper (THRESHOLD). v0.2 adds: Sabel is absent power — the upstream force shaping local events. GHOST unlocks content about Sabel's indifference: Sabel doesn't care about Sova's people, only about the supply chain. If the operation burns, Sabel moves on. That coldness is narrative content for v0.2 (the player discovers the ring is disposable to its supplier).
Tav SYSTEM + CIVILIAN NOBODY + OPERATOR v0.1 Tav follows ring lookout procedure (SYSTEM+CIVILIAN). v0.2 adds: Tav is peripheral, barely visible, the lowest rung. NOBODY unlocks tier promotion content — the player who notices Tav discovers a young person trapped in a role they barely understand, doing dangerous work because someone told them it mattered.

What the v0.2 layer means for content planning

The v0.2 layer adds ~30-50 authored lines per NPC of emotional-depth content: expanded monologue pools, deeper dialogue gating, and pattern-specific interaction triggers (e.g., ANCHOR contentment dialogues, NOBODY promotion paths, GHOST influence chains). This is the "write 10, generate 40" Tier 2 expansion target.

For now, Gestalt's v0.1 mapping governs implementation. My mapping governs the content roadmap. Both are correct — they describe different layers of the same characters.


Task 2: The Key Bloat Question — Generic Assessment Architecture

The lead asks: "If the original EntityKnowledge set was incomplete for the smuggler, are we doing this again for the administrator or the corporate tycoon?"

The honest truth: No, but only if we name the keys correctly.

The Problem With "Smuggler-Specific" Keys

Gestalt proposed 4 new keys: exposure_risk, loyalty_assessment, cover_integrity, moral_weight. These are described as "smuggler-specific." But look at what they actually capture:

Key What It Really Measures Is This Smuggler-Specific?
exposure_risk "How much does this NPC's behavior threaten my current interests?" No. An administrator assesses exposure risk too — but it's political exposure, not operational.
loyalty_assessment "Where does this NPC's loyalty lie relative to me?" No. Every archetype navigates loyalty networks.
cover_integrity "Is my position/identity intact around this person?" No. An administrator's "cover" is their public reputation. A newcomer's "cover" is their attempt to blend in.
moral_weight "How much moral cost do I carry in this relationship?" No. Already generic. Every human feels guilt, complicity, or indifference.

These aren't smuggler keys. They're role-perspective assessment keys that every archetype uses with different semantics.

The Generic Architecture

Proposal: 6 role-perspective keys that work for all 8 archetypes. Same keys, archetype-specific interpretation, zero per-archetype schema bloat.

Generic Key Smuggler Interpretation Detective Interpretation Administrator Newcomer Merchant
risk_assessment Exposure of ring operations Exposure of investigation Exposure of political position Vulnerability as an outsider Exposure of trade relationships
loyalty_assessment Loyal to the ring? Cooperative with investigation? Aligned with my faction? Willing to help a newcomer? Reliable trade partner?
position_integrity Is my cover identity holding? Is my authority respected? Is my reputation intact? Am I blending in? Is my business relationship secure?
moral_weight Guilt about complicity Guilt about using people Guilt about political compromises Guilt about disrupting others Guilt about exploiting information
tell_observed Behavioral tell suggesting ring exposure Behavioral tell suggesting concealment Political tell (nervous in meetings) Social tell (who's welcoming, who's not) Commercial tell (price sensitivity, evasion)
contradiction_flagged Behavior contradicts ring loyalty Behavior contradicts claimed innocence Behavior contradicts public stance Behavior contradicts stated welcome Behavior contradicts stated terms

The values use the same enums. risk_assessment: "high" means different things to different archetypes, but the schema is identical. The content authoring guide (the archetype brief, the voice register, the monologue prerequisite rules) provides the interpretation. The knowledge graph stores data; the content layer provides meaning.

Why This Works

Let me complicate this by testing it against the hardest case. The Insider archetype (the community member, the person embedded in the social fabric). Does risk_assessment work?

  • Insider's risk_assessment of Kael: "How much does Kael's behavior threaten the community I'm part of?" Value: "moderate" — Kael's nervousness is unsettling but hasn't caused concrete harm yet.
  • Insider's loyalty_assessment of Voss: "Where does Voss's loyalty lie — with the shift crew or with whoever's pressuring him?" Value: "uncertain" — Voss seems stressed but still functional.
  • Insider's position_integrity assessment of themselves near the detective: "Does the detective's presence threaten my standing in the community?" Value: "stressed" — people are nervous, the community is pulling inward, and the insider's position as a trusted neighbor is complicated by anyone who cooperates with authorities.

It works. Same keys. Different lens. Zero schema change.

What IS Archetype-Specific

The archetype-specific content lives in three places, none of which are EntityKnowledge keys:

  1. Monologue prerequisite interpretation. The prerequisite risk_assessment == "high" triggers different monologue lines per archetype. The smuggler thinks: "Torek's spending is going to get us caught." The administrator thinks: "Torek's spending is drawing Commission attention to the district." Same trigger, different pool, same key.

  2. Dual-lens section in NPC profiles. Every NPC profile already has per-character lens sections. For 8 archetypes, this becomes an archetype-lens section per NPC — but that's content authoring, not schema work. And at 300-world scale, the generator produces these from archetype brief + NPC profile + composition rules.

  3. Voice register. The smuggler's internal voice is operational and terse. The detective's is analytical and institutional. An administrator's would be political and strategic. A newcomer's would be uncertain and observational. These registers shape how the same knowledge is expressed, not what knowledge exists.

The Practical Answer

For v0.1: Rename Gestalt's 4 keys to the generic versions:

Current (Gestalt's v0.1) Renamed (Generic) Change Required
exposure_risk risk_assessment Rename in schema + content
loyalty_assessment loyalty_assessment No change — already generic
cover_integrity position_integrity Rename in schema + content
moral_weight moral_weight No change — already generic

2 renames. That's it. The v0.1 smuggler and detective content is authored against the generic keys. When v0.2 adds the Newcomer archetype, the Newcomer's knowledge graph uses the same 6 role-perspective keys with Newcomer-specific content. Zero schema changes. Zero key bloat.

For v0.2+: social_debt and loyalty_conflict (Gestalt's deferred keys) should also be evaluated against this lens. social_debt generalizes cleanly (every archetype navigates obligations). loyalty_conflict may fold into loyalty_assessment + behavior_flags as Gestalt argued. That's a v0.2 decision.

Total key count per archetype: 20 (14 shared + 6 role-perspective). Same for smuggler, detective, administrator, merchant, newcomer, insider, fixer, exile. No per-archetype keys. No bloat. The schema scales to 8 archetypes without modification.

What SUSTAINS This Across 8 Archetypes

The keys are the skeleton. The archetype brief is the muscle. Each archetype needs:

  1. A voice register (how their monologue sounds)
  2. An assessment framework (what "risk" means to them, what "loyalty" means)
  3. A moral arc (what their version of Comfort → Doubt → Reckoning → Compromise looks like)

These are content documents, not schema changes. They live in the authoring guide, not the codebase. Mellanie writes them; Paula designs them; Gestalt validates that the mechanical triggers work.

The smuggler moral arc (Comfort → Doubt → Reckoning → Compromise) is the prototype. Every archetype gets a 4-phase arc with the same structure and different content. The administrator's arc might be: Authority → Doubt → Reckoning → Adaptation. The newcomer's: Wonder → Doubt → Reckoning → Belonging-or-Departure.

But the keys don't change. The keys are the infrastructure. The content is the building.


Task 3: Wiki Fix Execution Plan

Prioritized Execution Order

The changes are ordered by dependency — later items reference earlier items' outputs.

Priority Change Files Affected Content Status Estimated Effort
P0-1 Naia Tamm rename 16 files Cascade plan ready (Round 1). Content changes specified per-file. ~2 hours (mechanical, but must be thorough)
P0-2 Nils Davan stub page 1 new file + 3 cross-ref updates Full draft ready (Round 1). ~30 min
P0-3 Drin Tier 2 expansion 1 file rewrite + index update Full draft ready (Round 1). 7 new axes, voice sample, tell system. ~1 hour
P1-1 Canonical name application 10 NPC profile headers + index Name table ready (Round 1). 3 names need Miri validation. ~1 hour
P1-2 Triangle 1 escalation fork index.md triangle section + Kael/Voss notes 5-beat sequence designed (Round 1). Self-contained per D-INTERACT. ~1 hour
P2-1 Smuggler-lens sections (all 17 NPCs) 17 NPC profile files Template designed (Round 1). Per-NPC content requires authoring. ~8-10 hours
P2-2 PC-as-NPC profiles 2 new files Gap identified (Round 1). Content not yet drafted. ~3-4 hours
P2-3 FactId catalog — smuggler entries 1 file Gap identified (Round 1). Entries not yet drafted. ~2 hours

P0-1: Naia Tamm Rename — Execution-Ready Content

Below is the exact content change needed for each file. I'm specifying what to find and what to replace so this can be executed mechanically.

File 1: wiki/npcs/hael.md → rename to wiki/npcs/naia-tamm.md

Full rewrite of the file header and all internal references. Key structural changes:

Old header:

# Hael

**Tier 2 NPC** | The Last Shift (Bar) | Mundane

New header:

# Naia Tamm — THE MIRROR

**Tier 1 (MIRROR) NPC** | The Last Shift (Bar) | Mundane

Core Identity section changes:

  • **Name**: Hael**Name**: Naia Tamm
  • Add: **Canonical ID**: krenn.naia-tamm
  • Add: **Pattern**: MIRROR (no contradiction arc, no secret)
  • Add: **Motivation**: CIVILIAN (v0.1 mechanical mapping)

All internal "Hael" references → "Naia Tamm" (formal) or "Naia" (casual/dialogue). The Krenn convention (D-036) is first-name-primary in social contexts, so dialogue and monologue use "Naia." Profile text and cross-references use "Naia Tamm."

Secret/Vulnerability section — must be reframed for MIRROR pattern:

### 2. Secret / Vulnerability

**Surface secret**: None. Naia has no secrets. This is THE MIRROR's
defining trait.

**Deep secret**: None. Naia Tamm is the one person in the district who
is exactly what she appears to be — a teacher worried about her partner.
The MIRROR's power is simplicity. When events drag Naia into the
conspiracy (through Kael's ring involvement, through Sera's concealment),
the damage is devastating precisely because Naia was genuine.

**Vulnerability**: Emotional exposure. Naia's worry about Kael is visible,
exploitable, and honest. She has no defenses because she has no agenda.
The detective can cultivate Naia as a source without guilt — until the
consequences of that cultivation become apparent.

Content requirements section — update for MIRROR-specific depth:

## Content Requirements (MIRROR — Tier 1 Emotional Depth)

**~50-70 authored lines total** (no generation expansion):

- **20-25 dialogue lines**: Bar greetings (3), Kael-related conversation
  (8-10), Sera interaction (4-5), school/community (3-4), response to
  bad news (3-5)
- **8-12 trust-gated lines**: Honest disclosures about Kael's behavior
  changes, emotional confessions about the relationship, what Naia has
  told Sera
- **5-8 unprompted lines**: Naia volunteers worry about Kael, asks
  about Kael if the player has seen him, mentions school events
- **8-12 monologue lines per character**:
  - Smuggler monologue about Naia: guilt (4-5 — "She doesn't know.
    She can never know."), protectiveness (3-4), moral weight (2-3)
  - Detective monologue about Naia: sympathy (3-4 — "The partner.
    Worried. Doesn't know what I know."), source assessment (2-3),
    moral cost of using her (3-4)
- **3-5 tell observation lines**: Visible stress, checking for Kael,
  increased bar presence, confiding in Sera
- **NO contradiction discovery lines** — THE MIRROR has no contradiction.
  The emotional payload comes from what happens TO Naia, not what Naia
  hides.

Cross-reference links at bottom:

**Cross-References:** [Kael Davan](kael-davan.md), [Sera Venn](sera-venn.md),
[Lera Sessik](lera-sessik.md)

File 2: wiki/npcs/index.md

Roster table row 9:

  • Old: | 9 | Hael | Teacher (Kael's Partner) | Bar | Tier 2 | Mundane | Worried Partner |
  • New: | 9 | **Naia Tamm** | Teacher (Kael's Partner) | Bar | **Tier 1 (MIRROR)** | Mundane | Worried Partner |

Triangle 4 diagram (3 label changes):

          Naia Tamm (Teacher, Kael's Partner)
         /                              \
   worried about                    confides in friend
   Kael's late nights,                    |
   evasive answers                        |
       |                                  |
    Kael (Dock Worker) <--friendship--> Sera (Commission Field Tech)

Triangle 4 description text — every "Hael" → "Naia Tamm" (formal) or "Naia" (in-character). Approximately 8 replacements.

Social site listing — The Last Shift:

  • Old: - Hael (Teacher) — Kael's partner, worried
  • New: - Naia Tamm (Teacher) — Kael's partner, worried

Content Deliverables section:

  • Move Naia Tamm from "Tier 2" list to a new "Tier 1 (MIRROR)" subsection, or note the tier change explicitly.

File 3: wiki/index.md

NPC listing:

  • Old: - [Hael](npcs/hael.md) — Kael's partner (referenced)
  • New: - [Naia Tamm](npcs/naia-tamm.md) — Kael's partner, THE MIRROR

Also move from "Tier 2" to a new bullet under Tier 1:

- **Tier 1 (MIRROR):**
  - [Naia Tamm](npcs/naia-tamm.md) — Kael's partner, teacher

File 4: wiki/npcs/kael-davan.md (~20+ replacements)

This is the heaviest file. Every "Hael" becomes "Naia" in dialogue/monologue contexts and "Naia Tamm" in descriptive/profile contexts. Key sections:

  • Axis 1 (Want), Secondary: "Protect Hael (partner)" → "Protect Naia (partner)"
  • Axis 2 (Secret): "Hael doesn't know about the smuggling" → "Naia doesn't know about the smuggling"
  • Relationship 2 header: "Hael (partner, teacher, civilian)" → "Naia Tamm (partner, teacher, civilian)"
  • Relationship 2 body: All "Hael" → "Naia" (casual reference in relationship description)
  • Axis 4 (Tolerance): "Hael's increasing worry" → "Naia's increasing worry"
  • Axis 5 (Routine): "Home with Hael" → "Home with Naia"
  • Axis 6 (Information): "Hael's worry" → "Naia's worry", "Hael talked to Sera" → "Naia talked to Sera"
  • Axis 7 (Contentment): "guilt about lying to Hael" → "guilt about lying to Naia"
  • Voice sample: "I'm fine, Hael" → "I'm fine, Naia" (Mood: Protective line)
  • Dual-lens notes: All Hael references
  • Triangle 4 role notes: All Hael references
  • Secret section: All Hael references
  • Contradiction arc: Multiple references throughout all 5 phases
  • Authoring notes: "Hael references" → "Naia references"

File link in cross-references:

  • Old: [Hael](hael.md) (if present)
  • New: [Naia Tamm](naia-tamm.md)

File 5: wiki/npcs/sera-venn.md (~15 replacements)

Same pattern as Kael. Key sections:

  • Axis 1 (Want), Secondary: "Protect Hael" → "Protect Naia Tamm"
  • Relationship 2: Full section rewrite — "Hael" → "Naia" / "Naia Tamm"
  • Axis 4, 5, 6, 7: All Hael references
  • Tell system: References to Hael observing Sera's avoidance
  • Voice sample: "Hael was here earlier" → "Naia was here earlier"
  • Triangle 4 role notes: All Hael references
  • Secret section: All Hael references
  • Contradiction arc: Hael references throughout
  • Authoring notes: "Hael references" → "Naia references"

Files 6-16: Lighter touch changes

File Changes
wiki/npcs/lera-sessik.md Axis 6 info inventory: "Hael's worry about Kael" → "Naia Tamm's worry about Kael"
wiki/npcs/maret-korr.md Axis 5 routine: "goes for Hael's company" → "goes for Naia's company"
wiki/authoring/monologue-guide.md Any monologue examples referencing Hael
wiki/locations/krenn-system/the-last-shift.md NPC presence list, social dynamics
wiki/world/sova-transit-district.md NPC references
wiki/factions/the-ring.md Kael vulnerability references
wiki/knowledge/relationship-states.md Example entries
wiki/knowledge/entity-attributes.md Example entries
wiki/knowledge/fact-catalog.md FactId entries: npc.hael.*npc.naia_tamm.*, relationship.kael.haelrelationship.kael.naia_tamm
wiki/world/krenn-system.md Naming examples list: "Hael" → keep (it's a valid Krenn first name), but add "Naia" to the list if not present
decisions/content.md D-034: "partner Hael" → "partner Naia Tamm". D-036: naming examples list update.

P0-2: Nils Davan Stub — Execution-Ready Content

The full stub page draft was provided in my Round 1 response. It's ready to write to wiki/npcs/nils-davan.md.

Cross-reference updates needed after creation:

File Change
wiki/npcs/index.md Add Nils to the Smuggling Ring social site listing. Add to roster table as off-stage NPC.
wiki/index.md Add [Nils Davan](npcs/nils-davan.md) — Ring coordinator (off-stage) to NPC listing.
wiki/npcs/kael-davan.md Add cross-reference link at bottom: [Nils Davan](nils-davan.md)
wiki/npcs/voss.md Add cross-reference link
wiki/npcs/devra.md Add cross-reference link
wiki/npcs/renn.md Add cross-reference link

P0-3: Drin Tier 2 Expansion

Full 7-axis draft provided in Round 1. Gestalt confirms promotion (A-01 consensus). Execution:

  1. Rewrite wiki/npcs/drin.md from Tier 3 format to Tier 2 format using my Round 1 draft
  2. Update wiki/npcs/index.md roster table: Tier 3 → Tier 2, update entanglement
  3. Update wiki/index.md: Move Drin from Tier 3 listing to Tier 2
  4. Add Gestalt's v0.1 mapping to header: **Pattern**: REMNANT | **Motivation**: TURNCOAT

P1-1: Canonical Names

Apply the name table from Round 1. Three names need Miri validation before applying: Drin Vassar, Sess Torin, Tav Lenn. Olin deliberately omits surname (narrative choice). Sabel deliberately omits surname (off-station character).

P1-2: Triangle 1 Escalation Fork

Important: Self-contained per Tyre's recommendation (confirmed by lead as D-INTERACT). My Round 1 design included cross-triangle cascade (Path B feeding Triangle 2 via Maret). For v0.1, the fork must be self-contained.

Revised Triangle 1 fork — self-contained version:

The 5-beat structure stays the same, but Beat 5 consequences are resolved WITHIN Triangle 1:

Path Self-Contained Consequence What Does NOT Cascade
A (Back Voss) Nils is angry at Kael. Kael is frightened. Smuggler feels responsible. Nils's anger does not trigger Pell's crisis (Triangle 5).
B (Back Nils) Voss capitulates but is visibly rattled. Fourth manifest revision happens. The manifest revision does NOT trigger Maret's discovery (Triangle 2). Maret discovers independently.
C (Stay neutral) Nils acts unilaterally. Operation is sloppier. Smuggler's standing drops. The sloppy operation does NOT make the detective's investigation easier. Detective's timeline is independent.

This keeps Triangle 1 testable in isolation while preserving the emotional weight of each choice. Cross-triangle cascade becomes a v0.2 feature when the storyteller can manage multi-triangle state.

Execution Dependencies

P0-1 (Naia Tamm rename)    ─── no dependencies, start immediately
P0-2 (Nils stub)           ─── no dependencies, start immediately
P0-3 (Drin expansion)      ─── blocked by A-01 formalization (consensus confirmed)
P1-1 (Canonical names)     ─── blocked by Miri validation (3 names)
P1-2 (Triangle 1 fork)     ─── depends on P0-2 (Nils stub must exist first)
P2-1 (Smuggler-lens)       ─── depends on key bloat resolution (Task 2 above)
P2-2 (PC-as-NPC)           ─── depends on P2-1 (smuggler-lens template establishes format)
P2-3 (Smuggler FactIds)    ─── depends on P2-1

P0-1 and P0-2 can start immediately and run in parallel. I recommend these as the first Sprint 3 copy team commits.