Merge remote-tracking branch 'origin/main' into planning
# Conflicts: # CHANGELOG.md # content/_meta/README.md # content/_meta/npc-authoring-style-guide.md # wiki/_templates/cultural-group.md # wiki/_templates/institution.md # wiki/_templates/star-system.md # wiki/characters/devra.md # wiki/characters/drin.md # wiki/characters/harek.md # wiki/characters/lera-sessik.md # wiki/characters/maret-korr.md # wiki/characters/naia-tamm.md # wiki/characters/nils-davan.md # wiki/characters/pell.md # wiki/characters/renn.md # wiki/characters/resha.md # wiki/characters/sabel.md # wiki/characters/sera-venn.md # wiki/characters/torek-lintar.md # wiki/characters/voss.md # wiki/star-systems/krenn/index.md
This commit is contained in:
+4
-3
@@ -25,9 +25,10 @@ Every wiki entry has a `status` field in its YAML frontmatter:
|
||||
|
||||
1. Copy the appropriate template from `_templates/`
|
||||
2. Fill in the YAML frontmatter (all fields)
|
||||
3. Set `status: proposed`
|
||||
4. Write the content following the template structure
|
||||
5. Submit for review
|
||||
3. Write a concise `description` — one line that captures what makes this entry distinct. This field enables context-aware loading (agents filter by description before loading full files).
|
||||
4. Set `status: proposed`
|
||||
5. Write the content following the template structure
|
||||
6. Submit for review
|
||||
|
||||
**Templates available:** `star-system`, `station`, `district`, `location`, `character`, `faction`, `technology`, `cultural-group`, `contraband`, `institution`, `species`, `lore`, `concept`, `triangle`
|
||||
|
||||
|
||||
@@ -1,23 +1,41 @@
|
||||
---
|
||||
title: "Kael Davan"
|
||||
description: "EXEMPLAR — Tier 1 FRIEND (smuggler), dock worker entangled in smuggling ring. Use as reference for generator output quality."
|
||||
slug: kael-davan
|
||||
canonical_id: "npc:kael-davan"
|
||||
category: character
|
||||
status: canonical
|
||||
status: exemplar
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
updated: 2026-03-13
|
||||
tier: 1
|
||||
pattern: "FRIEND"
|
||||
motivation: "OPERATOR"
|
||||
social_sites: []
|
||||
social_sites: [logistics-hub, smuggling-ring]
|
||||
entanglement: "Entangled"
|
||||
triangles: []
|
||||
triangles: [hub-power, worried-partner]
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
tags: [generator-exemplar]
|
||||
decision_refs: [D-024, D-034, D-122]
|
||||
cross_refs: [nils-davan, naia-tamm, sera-venn, voss, renn]
|
||||
---
|
||||
|
||||
<!-- EXEMPLAR NOTE
|
||||
This is a fully worked example of a Tier 1 NPC profile. It was hand-authored
|
||||
for v0.1 and is preserved as the quality target for the v0.2 generator pipeline
|
||||
(D-122). The generator should produce NpcBlueprint structs that encode this
|
||||
level of depth for Tier 1 characters. Not all fields need to be this detailed
|
||||
for Tier 2-3 characters.
|
||||
|
||||
Key quality markers this exemplar demonstrates:
|
||||
- 10-axis profile with concrete, actionable content per axis
|
||||
- Dual-lens notes showing how both player characters read the same NPC differently
|
||||
- Tell system with observable triggers and mechanical flags
|
||||
- Contradiction arc with timed phases and emotional payoff
|
||||
- Triangle roles showing how this character functions in multi-NPC dynamics
|
||||
- Voice samples across moods showing speech pattern consistency
|
||||
- Content requirements with concrete line counts per category
|
||||
-->
|
||||
|
||||
# Kael Davan — THE FRIEND (Smuggler)
|
||||
|
||||
**Tier 1 Production-Level NPC** | Logistics Hub + Smuggling Ring | Entangled
|
||||
@@ -220,11 +238,8 @@ Born on Station Sova. Grew up in the freight district — child of logistics wor
|
||||
### How the Smuggler Sees Kael
|
||||
|
||||
**Access tier**: Insider + Peer (if ring-member path) OR Peer (if non-ring civilian smuggler)
|
||||
|
||||
**Relationship**: Friendly (baseline) → PersonOfInterest (post-contradiction)
|
||||
|
||||
**Monologue tone (baseline)**: Fond, casual. *"Kael's here. Good — always reliable."*
|
||||
|
||||
**Monologue tone (post-contradiction)**: Conflicted, analytical. *"Kael's lying to me. I know his tells. What are you hiding?"*
|
||||
|
||||
**What the smuggler knows that the detective doesn't**: Kael is a ring member (if smuggler is also in the ring). Kael's personal tell (looks left when lying). Kael's relationship with Naia. The unauthorized meeting is a *betrayal of operational security*, not just suspicious behavior.
|
||||
@@ -236,11 +251,8 @@ Born on Station Sova. Grew up in the freight district — child of logistics wor
|
||||
### How the Detective Sees Kael
|
||||
|
||||
**Access tier**: Public (baseline) → Authority (if investigation escalates and detective pressures Kael)
|
||||
|
||||
**Relationship**: Unknown → Known → PersonOfInterest (if tells accumulate)
|
||||
|
||||
**Monologue tone (baseline)**: Clinical, observational. *"Dock worker. Davan, K. Unremarkable on paper."*
|
||||
|
||||
**Monologue tone (post-tells)**: Analytical suspicion. *"Davan's nervous. Lattice activity spiked. Behavioral pattern suggests concealment."*
|
||||
|
||||
**What the detective knows that the smuggler doesn't**: Manifest discrepancies tied to Kael's shifts (if Sera has shared or detective has analyzed logs). Naia's worry (if detective talks to Naia or Sera). Kael as a pressure point — partner at risk, potential informant.
|
||||
@@ -251,7 +263,7 @@ Born on Station Sova. Grew up in the freight district — child of logistics wor
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
### Triangle 1: Hub Power (Voss - Kael - Nils)
|
||||
### Hub Power (Voss - Kael - Nils)
|
||||
|
||||
**Kael's function**: The executor. Kael handles the physical work — routing containers, managing dock-side operations. Caught between Voss (shift supervisor, resentful of being managed) and Nils (ring coordinator, Kael's sibling, pushing for escalation).
|
||||
|
||||
@@ -261,7 +273,7 @@ Born on Station Sova. Grew up in the freight district — child of logistics wor
|
||||
|
||||
---
|
||||
|
||||
### Triangle 4: The Worried Partner (Naia - Kael - Sera)
|
||||
### Worried Partner (Naia - Kael - Sera)
|
||||
|
||||
**Kael's function**: The oblivious cause. Kael's smuggling (late nights, evasive answers) is making Naia worried. Naia confides in Sera. Sera knows enough to connect Kael to the investigation but hasn't reported (loyalty to Naia). Kael doesn't know Naia talked to Sera.
|
||||
|
||||
@@ -271,135 +283,48 @@ Born on Station Sova. Grew up in the freight district — child of logistics wor
|
||||
|
||||
---
|
||||
|
||||
### Triangle 5: Cross-Template (Pell - Renn - Drin)
|
||||
|
||||
**Kael's indirect role**: Not a triangle member, but connected. Kael works with Renn (courier). If Pell (wavering member) turns informant, Kael's name will come up (Pell knows Kael handles cargo). If the ring starts fracturing internally, Kael's exit attempt becomes more dangerous (less trust, more paranoia).
|
||||
|
||||
---
|
||||
|
||||
## Secret
|
||||
|
||||
**What Kael is hiding**: The exit attempt. Unauthorized contact with someone outside the ring who's offered extraction help.
|
||||
|
||||
**From whom**: Everyone. Nils, the smuggler, Naia (Naia doesn't even know about the ring), Sera, the detective.
|
||||
|
||||
**Consequences if exposed**:
|
||||
- **Nils finds out**: Kael is eliminated (violently or expelled, either way gone).
|
||||
- **Smuggler finds out**: Trust collapses. If smuggler reports to Nils, Kael is done. If smuggler protects Kael, smuggler is complicit in a security breach.
|
||||
- **Detective finds out**: Kael becomes the perfect informant. Desperate, already trying to leave, motivated by protecting Naia. Detective can offer protection in exchange for cooperation.
|
||||
- **Naia finds out**: Emotional devastation. Naia learns (1) Kael is a smuggler, (2) Kael has been lying for two years, (3) Kael is in danger trying to exit. Trust in the relationship is destroyed, even if Naia understands the motive.
|
||||
|
||||
---
|
||||
|
||||
## Contradiction Arc
|
||||
|
||||
### Phase 1: Comfort (Friendly, baseline)
|
||||
|
||||
**Timing**: 0-10 minutes (game start)
|
||||
|
||||
**Observable behavior**: Kael is warm, reliable, present. Greets the smuggler with genuine affection. Talks about shift schedules, complains about Voss, asks about the smuggler's weekend.
|
||||
|
||||
**Observable behavior**: Kael is warm, reliable, present. Greets the smuggler with genuine affection.
|
||||
**Monologue (smuggler)**: *"Kael's already at the dock. Good. The day's better when he's on shift."*
|
||||
|
||||
**Color**: Soft green (Friendly)
|
||||
|
||||
**Dialogue tone**: Insider-tier, warm. Trust-gated content available.
|
||||
|
||||
**Tell**: None — baseline normal.
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: First Crack (still Friendly, but flags accumulating)
|
||||
|
||||
**Timing**: 10-15 minutes
|
||||
|
||||
**Observable behavior**: Kael checks lattice more often than usual. Excuses himself from lunch early. Shortened social interactions.
|
||||
|
||||
**Observable behavior**: Kael checks lattice more often than usual. Excuses himself from lunch early.
|
||||
**Monologue (smuggler)**: *"Kael's distracted today. Probably nothing."*
|
||||
|
||||
**Color**: Still green (Friendly), but `EntityKnowledge.known_attributes["behavior_flags"]` updates to `"lattice_checking,distracted"`.
|
||||
|
||||
**Dialogue tone**: Still warm, but Kael deflects prolonged conversation.
|
||||
|
||||
**Color**: Still green, but `behavior_flags` update to `"lattice_checking,distracted"`.
|
||||
**Tell**: **Increased lattice checking** (observable if smuggler pays attention).
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: The Observation (Friendly → PersonOfInterest)
|
||||
|
||||
**Timing**: 15-20 minutes
|
||||
|
||||
**Trigger**: The smuggler sees Kael in Corridor B-7 (restricted maintenance corridor) talking to an unknown person. The person leaves before the smuggler gets close.
|
||||
|
||||
**Observable behavior**: Kael in unexpected location, with unrecognized contact, during off-shift time.
|
||||
|
||||
**Trigger**: The smuggler sees Kael in Corridor B-7 talking to an unknown person.
|
||||
**Monologue (smuggler)**: *"That wasn't anyone from our rotation. And Kael didn't tell me about a meeting. What's going on?"*
|
||||
|
||||
**Knowledge system**:
|
||||
- `EntityKnowledge.state` → `KnowledgeState::Contradicted` (prior belief: "Kael operates within ring protocol" conflicts with observation: "Kael meeting unauthorized contact")
|
||||
- `EntityKnowledge.known_attributes["contradiction_flagged"]` = `"meeting_unknown_contact"`
|
||||
- `RelationshipState` transitions: `Friendly` → `PersonOfInterest`
|
||||
|
||||
**Color shift**: Soft green → amber. **This is the emotional moment.** The player trusted Kael. Now Kael is amber.
|
||||
|
||||
**Dialogue options unlock**: Confrontation path ("Kael, who was that?"), observation path (don't confront yet, gather more information).
|
||||
|
||||
**Tell**: **Spatial deviation** — presence in restricted area at irregular time.
|
||||
|
||||
---
|
||||
**Color shift**: Soft green → amber. **This is the emotional moment.**
|
||||
|
||||
### Phase 4: Confrontation Opportunity (PersonOfInterest, dialogue shift)
|
||||
|
||||
**Timing**: 20-25 minutes
|
||||
|
||||
**Trigger**: Smuggler can ask Kael about the meeting. Dialogue option: *"I saw you in Corridor B-7. Who were you talking to?"*
|
||||
|
||||
**Kael's response** (deflection): *"Just a thing. Don't worry about it."* [Looks left before answering — **the tell**]
|
||||
|
||||
**Trigger**: Smuggler can ask Kael about the meeting.
|
||||
**Kael's response** (deflection): *"Just a thing. Don't worry about it."* [Looks left — **the tell**]
|
||||
**Monologue (smuggler)**: *"He looked left. He always looks left when he's making something up. Kael is lying to me."*
|
||||
|
||||
**Knowledge system**:
|
||||
- `EntityKnowledge.known_attributes["tell_observed"]` = `"looks_left_when_lying"`
|
||||
- `EntityKnowledge.known_attributes["secret_held"]` = `"unauthorized contact, exit attempt?"`
|
||||
- `EntityKnowledge.known_attributes["secret_confidence"]` = `"confirmed"` (the tell confirms the lie)
|
||||
|
||||
**Dialogue tone**: Kael becomes evasive, subject changes, forced casualness. Trust-tier content locks (Kael won't share real information while hiding the exit attempt).
|
||||
|
||||
**Color**: Remains amber (PersonOfInterest).
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: New Equilibrium (PersonOfInterest, contaminated trust)
|
||||
|
||||
**Timing**: 25-30 minutes (remainder of vertical slice)
|
||||
|
||||
**Observable behavior**: Kael acts normal again. Same shifts, same greetings, same surface warmth. But the smuggler is now **watching**.
|
||||
|
||||
**Timing**: 25-30 minutes
|
||||
**Observable behavior**: Kael acts normal again. But the smuggler is now **watching**.
|
||||
**Monologue (smuggler)**: *"Same old Kael. Laughing at the same jokes. ...What are you not telling me?"*
|
||||
|
||||
**Dialogue options**:
|
||||
- **Path A (understanding)**: Smuggler confronts gently: *"Kael, if you're in trouble, I can help."* Kael might confess (exit attempt, protecting Naia). `RelationshipState` remains `PersonOfInterest` (still a problem), but tone shifts to sympathetic. Player gains information, can choose to help Kael exit or report to Nils.
|
||||
- **Path B (betrayal)**: Smuggler reports to Nils or pressures Kael harshly: *"You broke protocol. Unauthorized contact is grounds for elimination."* Kael turns defensive. `RelationshipState` → `Hostile`. Kael avoids smuggler, might actively obstruct or flee.
|
||||
- **Path C (observation)**: Smuggler doesn't confront, just watches. Accumulate more evidence, decide later. `RelationshipState` remains `PersonOfInterest`. Tension simmers.
|
||||
|
||||
**Color**: Amber (paths A/C) or Red (path B).
|
||||
|
||||
**Emotional payload**: The warm interactions from Phase 1 are **contaminated**. Every smile, every joke, every "good to see you" is now filtered through doubt. THE FRIEND arc doesn't resolve — it metastasizes.
|
||||
|
||||
---
|
||||
|
||||
## Content Requirements (Tier 1)
|
||||
|
||||
**~70-100 authored lines total** (no generation expansion):
|
||||
|
||||
- **25-35 dialogue lines**: Greetings (5), shift talk (8), bar casual (6), ring coordination (6 if smuggler is in ring), deflection/evasion (5-8 post-contradiction), confrontation responses (3-5)
|
||||
- **15-20 trust-gated lines**: Insider-tier (close colleague talk, ring operations), secret-tier (if smuggler earns deep trust pre-contradiction)
|
||||
- **5-8 unprompted lines**: Kael volunteers information or warnings (early), excuses or deflections (late)
|
||||
- **10-15 monologue lines per character**:
|
||||
- Smuggler monologue about Kael: warmth (3), concern (3), contradiction discovery (4), post-confrontation (3-5)
|
||||
- Detective monologue about Kael: identification (2), behavioral observation (4), suspicion (3), informant potential (2-3)
|
||||
- **5-8 tell observation lines**: Lattice checking (2), distraction (2), looks-left tell (2), spatial deviation (2)
|
||||
- **3-5 contradiction discovery lines**: The Corridor B-7 moment from multiple angles (direct observation, monologue reaction, follow-up dialogue)
|
||||
**Dialogue branches**:
|
||||
- **Path A (understanding)**: Smuggler confronts gently. Kael might confess. Tone shifts to sympathetic.
|
||||
- **Path B (betrayal)**: Smuggler reports to Nils. Kael turns hostile.
|
||||
- **Path C (observation)**: Smuggler watches silently. Tension simmers.
|
||||
|
||||
---
|
||||
|
||||
@@ -409,18 +334,14 @@ Born on Station Sova. Grew up in the freight district — child of logistics wor
|
||||
- **The tell** (looks left when lying) must be established early in casual dialogue so the smuggler (and player) recognize it during the contradiction.
|
||||
- **Naia references**: Kael mentions Naia in casual conversation ("Naia's got a school event tonight, so I'm heading home early"). Establishes the relationship before it becomes load-bearing.
|
||||
- **Ring operations dialogue** (if smuggler is in ring): Matter-of-fact, operational. "Container 4471 is flagged. I'll reroute it during shift transition." No drama, no theatrics.
|
||||
- **Deflection dialogue** (post-contradiction): Kael doesn't lie outright (too risky). Kael deflects: "It's handled." "Don't worry about it." "Just work stuff." The evasion itself is the tell.
|
||||
- **Deflection dialogue** (post-contradiction): Kael doesn't lie outright. Kael deflects: "It's handled." "Don't worry about it." "Just work stuff." The evasion itself is the tell.
|
||||
- **Dual-lens discipline**: Every Kael line must work for BOTH the smuggler (who knows Kael personally) AND the detective (who reads Kael analytically). The same sentence lands differently per character.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** FRIEND — Kael is a trust anchor whose relationship with the player character is the emotional core of the smuggler's experience. The FRIEND pattern means Kael's betrayal (or the smuggler's betrayal of Kael) carries maximum emotional weight.
|
||||
**Motivation (System B):** OPERATOR — Kael runs ring cargo at the dock level. He routes containers, manages handoffs, coordinates timing. His day-to-day function is operational execution, not strategic direction or pressure application.
|
||||
**Pattern (System A):** FRIEND — Trust anchor whose relationship with the player is the emotional core. The FRIEND pattern means betrayal carries maximum emotional weight.
|
||||
**Motivation (System B):** OPERATOR — Runs ring cargo at the dock level. Routes containers, manages handoffs, coordinates timing.
|
||||
|
||||
**Composition read:** FRIEND + OPERATOR creates the identity betrayal: "I was your friend AND your co-conspirator." The player trusted Kael as a person (FRIEND) while relying on Kael as a functional colleague (OPERATOR). When the contradiction surfaces — Kael meeting an unauthorized contact, attempting to exit — the betrayal cuts both relationships simultaneously. The warmth was real. The operational reliability was real. The secret exit attempt violates both, and the player cannot separate the personal loss from the professional one.
|
||||
|
||||
---
|
||||
|
||||
**End Kael Davan Profile**. This is the full Tier 1 production depth. Sera Venn (detective's FRIEND) follows the same structure with different contradiction mechanics.
|
||||
**Composition read:** FRIEND + OPERATOR creates the identity betrayal: "I was your friend AND your co-conspirator." The player trusted Kael as a person (FRIEND) while relying on Kael as a functional colleague (OPERATOR). When the contradiction surfaces, the betrayal cuts both relationships simultaneously.
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Kael Davan")
|
||||
description: "" # One-line summary for context filtering (e.g., "Tier 1 detective NPC, central to Hub Power triangle")
|
||||
slug: "" # URL-safe identifier (e.g., "kael-davan")
|
||||
canonical_id: "" # e.g., "npc:kael-davan"
|
||||
category: character
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Knowledge Graph")
|
||||
description: "" # One-line summary for context filtering (e.g., "Per-character fact tracking system driving asymmetric information gameplay")
|
||||
slug: "" # URL-safe identifier
|
||||
category: concept
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Unlicensed Lattice Components")
|
||||
description: "" # One-line summary for context filtering (e.g., "Black market neural lattice parts with medical and enhancement applications")
|
||||
slug: "" # URL-safe identifier (e.g., "lattice-components")
|
||||
category: contraband
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Van Maanen's Star Culture")
|
||||
description: "" # One-line summary for context filtering (e.g., "Industrial frontier culture valuing self-reliance and practical skills")
|
||||
slug: "" # URL-safe identifier (e.g., "van-maanens-star-system")
|
||||
category: cultural-group
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Sova Transit District")
|
||||
description: "" # One-line summary for context filtering (e.g., "Main logistics hub of Station Sova, 12 social sites, high NPC density")
|
||||
slug: "" # URL-safe identifier (e.g., "transit")
|
||||
category: district
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "The Ring")
|
||||
description: "" # One-line summary for context filtering (e.g., "Criminal syndicate controlling contraband flow through Transit District")
|
||||
slug: "" # URL-safe identifier (e.g., "the-ring")
|
||||
category: faction
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Van Maanen's Star Administrator's Office")
|
||||
description: "" # One-line summary for context filtering (e.g., "Local government office overseeing system-level administration and permits")
|
||||
slug: "" # URL-safe identifier
|
||||
category: institution
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "The Terminal")
|
||||
description: "" # One-line summary for context filtering (e.g., "Main transport hub with high NPC traffic and open sightlines")
|
||||
slug: "" # URL-safe identifier (e.g., "the-terminal")
|
||||
category: location
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "The Founding of the Settled Reach")
|
||||
description: "" # One-line summary for context filtering (e.g., "Origin story of human expansion through the Horizon Gate network")
|
||||
slug: "" # URL-safe identifier
|
||||
category: lore
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Human (Baseline)")
|
||||
description: "" # One-line summary for context filtering (e.g., "Unaugmented human baseline, dominant species in the Settled Reach")
|
||||
slug: "" # URL-safe identifier
|
||||
category: species
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Van Maanen's Star")
|
||||
description: "" # One-line summary for context filtering (e.g., "Industrial frontier system, home to Station Sova, first playable location")
|
||||
slug: "" # URL-safe identifier (e.g., "van-maanens-star")
|
||||
category: star-system
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Station Sova")
|
||||
description: "" # One-line summary for context filtering (e.g., "Primary logistics station in Krenn System, 3 districts, mixed-use")
|
||||
slug: "" # URL-safe identifier (e.g., "sova")
|
||||
category: station
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Neural Lattice")
|
||||
description: "" # One-line summary for context filtering (e.g., "Brain-computer interface enabling cognitive augmentation and information access")
|
||||
slug: "" # URL-safe identifier (e.g., "neural-lattice")
|
||||
category: technology
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "" # Display name (e.g., "Hub Power")
|
||||
description: "" # One-line summary for context filtering (e.g., "Three-way power struggle over Transit District logistics control")
|
||||
slug: "" # URL-safe identifier (e.g., "hub-power")
|
||||
category: triangle
|
||||
status: proposed # proposed | draft | canonical
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
# Base Text Authoring Guide — The Settled Reach
|
||||
**Ticket:** #645
|
||||
**Author:** Mellanie
|
||||
**Status:** canonical
|
||||
**Last updated:** 2026-03-13
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Base text is the culture-neutral semantic layer that every NPC line must have. It serves two purposes simultaneously:
|
||||
|
||||
1. **LLM seed** — the culture injector uses it as input. The better the base text, the better the voiced output.
|
||||
2. **Fallback** — when "AI-Enhanced Dialogue" is off or pre-voicing hasn't caught up, the player sees the base text directly. It must be functional and readable on its own.
|
||||
|
||||
This guide establishes the quality bar for all base text and documents failure modes to avoid.
|
||||
|
||||
---
|
||||
|
||||
## The quality bar (three tests)
|
||||
|
||||
Before committing a base text line, ask three questions:
|
||||
|
||||
1. **Does this show a moment, not a category?**
|
||||
A category tells you *what kind of thing* the NPC does. A moment shows you *a specific instance* of doing it.
|
||||
- Category: `"tends crops in the field"` — you know the role, not the person
|
||||
- Moment: `"works back along a crop row with a hoe, stopping twice to pull weeds by the root before moving on"` — you see a specific action sequence
|
||||
|
||||
2. **Could you picture a specific person doing this?**
|
||||
If the line could appear in a stock photo caption, it needs specificity. Add the HOW or the small physical detail that anchors it.
|
||||
|
||||
3. **Would you be okay if this were the only text the player ever sees?**
|
||||
The voice pipeline may not be available. The base text is not a draft — it is the default experience for players below spec or with AI-Enhanced Dialogue disabled. Author it to that bar.
|
||||
|
||||
---
|
||||
|
||||
## Failure modes and fixes
|
||||
|
||||
### 1. Category verb (`"tends"`, `"checks"`, `"monitors"`, `"manages"`)
|
||||
|
||||
These describe a role, not an action. Replace with a physical verb sequence.
|
||||
|
||||
| Below bar | At bar |
|
||||
|---|---|
|
||||
| `"tends rows of low-growing crops"` | `"works back along a crop row, stopping to pull weeds by the root"` |
|
||||
| `"checks seedling trays"` | `"crouches over seedling trays and pinches back a leggy stem that grew sideways"` |
|
||||
| `"monitors the loading floor"` | `"stands at the mezzanine rail watching a forklift angle into a tight bay"` |
|
||||
|
||||
Fix: replace the category verb with the specific physical action that *constitutes* the checking or tending.
|
||||
|
||||
### 2. Quality modifier instead of specific action
|
||||
|
||||
Phrases like `"with practiced ease"`, `"with no wasted motion"`, `"efficiently"` are editorial commentary. The reader is told a quality instead of shown it.
|
||||
|
||||
| Below bar | At bar |
|
||||
|---|---|
|
||||
| `"lifts a crate of produce onto a flatbed with practiced ease"` | `"lifts a crate of produce onto the flatbed in one motion and reaches for the next before it settles"` |
|
||||
| `"swaps a panel module with practiced speed and no wasted motion"` | `"swaps a panel module in under a minute, tools back in the pouch before the cover is latched"` |
|
||||
|
||||
Fix: remove the modifier. Show the efficiency through the action sequence itself — specificity creates the impression.
|
||||
|
||||
### 3. Universal gesture (no character information)
|
||||
|
||||
Some gestures apply to anyone anywhere — wiping sweat, yawning, stretching. These are placeholder movements. Replace with something that shows role, circumstance, or cultural habit.
|
||||
|
||||
| Below bar | At bar |
|
||||
|---|---|
|
||||
| `"wipes sweat from her forehead with the back of a gloved hand"` | `"pulls a glove off with her teeth to wipe her face, pulls it back on without looking"` |
|
||||
| `"stretches"` | `"straightens up and rolls her neck once before kneeling back down"` |
|
||||
|
||||
Fix: find the physical quirk that's specific to this role, this body, this situation.
|
||||
|
||||
### 4. "Corporate-speak" / institutional passive
|
||||
|
||||
Lines that sound like they belong in a procedure manual. The NPC is a person, not a process.
|
||||
|
||||
| Below bar | At bar |
|
||||
|---|---|
|
||||
| `"initiates task completion protocol"` | `"gets back to sorting the manifests"` |
|
||||
| `"performs routine inspection of the facility perimeter"` | `"walks the fence line at a measured, unhurried pace"` |
|
||||
|
||||
Fix: use plain present tense and a physical verb. If you can hear a robot saying it, rewrite it.
|
||||
|
||||
---
|
||||
|
||||
## Lines you must NOT change
|
||||
|
||||
**`Factual`-type lines** are protected. These are lines bearing:
|
||||
- Specific numbers or quantities: `"fourteen crates in bay seven"`
|
||||
- Causal chains: `"the pressure dropped when the coupling failed"`
|
||||
- Denial statements: `"I don't know anything about that"`
|
||||
|
||||
Factual lines bypass the LLM entirely (D-138: `ContentType::Factual`). The pipeline serves them as exact base text. Do not elevate them — precision is their quality.
|
||||
|
||||
If you're unsure whether a line is Factual: if it contains a number, a named quantity, a specific event chain, or a denial with named content, treat it as protected.
|
||||
|
||||
---
|
||||
|
||||
## Cultural neutrality requirement
|
||||
|
||||
Base text must not contain culture-specific vocabulary. The culture injectors add that layer at voicing time. Base text is the semantic skeleton.
|
||||
|
||||
**What to avoid:**
|
||||
- Van Maanen's Star oath vocabulary: `"void take it"`, `"blood and void"` — these go in voice_examples, not base text
|
||||
- Culture-specific greetings or farewells
|
||||
- Slang that implies a particular register
|
||||
|
||||
**Test:** Could this base text be voiced convincingly in *any* culture? If the answer is yes, it's culturally neutral. If not, strip the culture-specific markers.
|
||||
|
||||
---
|
||||
|
||||
## Volume guidance
|
||||
|
||||
Each role should have 15–25 on-shift behaviors plus 5–10 off-shift / social site behaviors. This gives the generator enough variety across a session without repetition. Roles with narrower activity ranges (security, militia) can have fewer.
|
||||
|
||||
---
|
||||
|
||||
## Elevation checklist (per line)
|
||||
|
||||
Before committing, run through:
|
||||
|
||||
- [ ] Physical verb sequence, not category verb
|
||||
- [ ] No quality modifiers — show efficiency through action, not through adjective
|
||||
- [ ] Character information visible (not a universal gesture)
|
||||
- [ ] No institutional/passive language
|
||||
- [ ] Culturally neutral (no culture-specific vocabulary)
|
||||
- [ ] Not a Factual-type line (no numbers, denials, or causal chains to preserve)
|
||||
- [ ] Reads as a complete, legible observation on its own
|
||||
|
||||
---
|
||||
|
||||
## Examples from the Van Maanen's Star zones (reference)
|
||||
|
||||
These lines passed elevation review (Sprint 26):
|
||||
|
||||
**Strong — moment-specific, role-grounded:**
|
||||
- `"kneels at the base of a struggling plant and parts the soil with two fingers"`
|
||||
- `"threads a wire through a conduit clip and bites the insulation back with her teeth"`
|
||||
- `"keeps a junior worker between herself and the inspection team as the inspectors pass through"`
|
||||
- `"trades a quick look with a colleague when the foreman walks by"`
|
||||
- `"leans back on a stool and tracks a browser who has checked the same display twice without committing"`
|
||||
|
||||
**Strong — off-shift texture:**
|
||||
- `"sits with boots off under the table, socked feet flat on the floor"`
|
||||
- `"refills a neighbor's cup from her own jug without being asked"`
|
||||
- `"buys a round for the table and returns to her seat before anyone can thank her"`
|
||||
|
||||
---
|
||||
|
||||
*Last review: Sprint 26, base text elevation pass (#645). Apply this standard to all new zone RON files.*
|
||||
@@ -0,0 +1,296 @@
|
||||
# Cultural Generation Guide — The Settled Reach
|
||||
**Ticket:** #189
|
||||
**Author:** Miri
|
||||
**Status:** canonical
|
||||
**Last updated:** 2026-02-19
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
This guide provides the framework for generating culturally consistent content in The Settled Reach. Every named district, NPC, and piece of authored dialogue reflects a specific cultural context. This guide codifies how to derive that context from first principles so that any content author — writing a dockworker or a station administrator, a bar greeting or a confrontation line — can produce work that feels like it belongs.
|
||||
|
||||
The Sova Transit District in Van Maanen's Star is the first concrete instance of this framework. All examples in this guide are drawn from Sova. Subsequent settings use the same framework applied to different parameters.
|
||||
|
||||
---
|
||||
|
||||
## Part 1: The Framework — Five Dimensions of Cultural Context
|
||||
|
||||
Every location in The Settled Reach has cultural context along five dimensions. These are not rigid categories — they blend and interact. But knowing them for a setting before writing a single line of dialogue prevents inconsistency.
|
||||
|
||||
### Dimension 1: Reach Position
|
||||
|
||||
**Range:** Core → Mid-Reach → Frontier → Deep Frontier
|
||||
|
||||
This determines the age of institutions, the density of infrastructure, and the relationship between residents and authority.
|
||||
|
||||
| Position | Infrastructure | Institutional Presence | Resident Attitude to Authority | Setting Feel |
|
||||
|---|---|---|---|---|
|
||||
| **Core** | Mature, well-maintained | Heavy. Commission offices, Concord representatives, Syndic headquarters | Deferential-to-compliant. Authority is a daily reality. | Corporate. Managed. Politics visible. |
|
||||
| **Mid-Reach** | Functional, mixed-era | Moderate. Commission terminals, periodic visits, field investigators | Pragmatic-to-skeptical. Authority exists but isn't everywhere. | Working. Lived-in. Rules enforced selectively. |
|
||||
| **Frontier** | Sparse, improvised | Light. Syndic representatives, occasional Commission audit | Independent-to-resistant. Authority is a distant abstraction. | Improvised. Tight-knit. Self-reliant. |
|
||||
| **Deep Frontier** | Minimal | Nominal or none | Sovereign. Authority is whatever the community enforces. | Harsh. Communal. Rules of necessity. |
|
||||
|
||||
**Sova Transit District:** Mid-Reach. Commission presence is intermittent — enough to maintain order, not enough to catch everything. The district's residents are pragmatic about authority: they comply when observed, continue as normal when not.
|
||||
|
||||
---
|
||||
|
||||
### Dimension 2: Economic Base
|
||||
|
||||
**Range:** Freight → Resource Extraction → Manufacturing → Service → Research → Mixed
|
||||
|
||||
Economic base determines daily rhythms, vocabulary, and the social pressures that create narrative stakes.
|
||||
|
||||
| Economic Base | Daily Rhythm | NPC Concerns | Social Pressure | Narrative Hook |
|
||||
|---|---|---|---|---|
|
||||
| **Freight** | Span gate schedules. Shift rotations. Cargo waves. | Manifests, container counts, shift assignments, dock schedules. | Wages stable but tight. Extra income tempting. | Manifest discrepancy. Smuggling access. |
|
||||
| **Resource Extraction** | Mining shifts. Equipment maintenance cycles. | Equipment reliability, extraction quotas, safety protocols. | Dangerous work, irregular income, company-town dynamics. | Workplace accident cover-up. Union pressure. |
|
||||
| **Manufacturing** | Production cycles. Quality control. | Production quotas, supply chains, quality flags. | Line work monotony, automation anxiety, middle-management tension. | Sabotage. Corporate espionage. |
|
||||
| **Service** | Tourist/commercial traffic. | Tips, regulars, reputation management. | Income dependent on traffic volume. Reputation fragile. | Blackmail. Theft. Information sale. |
|
||||
| **Research** | Project deadlines. Funding cycles. | Research progress, institutional politics, publication credit. | Competitive, status-driven, secrecy around results. | Data theft. Fabrication. Factions. |
|
||||
|
||||
**Sova Transit District:** Freight primary. The span gate transit schedule structures everything. NPC routines, the ring's operational calendar, and social patterns (when the bar fills, when corridors are quiet) all derive from freight rhythm.
|
||||
|
||||
---
|
||||
|
||||
### Dimension 3: Settlement Age and Character
|
||||
|
||||
**Range:** New Colony (< 20 years) → Established (20-80 years) → Mature (80-200 years) → Old (200+ years)
|
||||
|
||||
Settlement age determines architectural character, generational memory, and whether residents think of themselves as pioneers or locals.
|
||||
|
||||
| Age | Architecture | Cultural Identity | Generational Memory | Relationship to Origin |
|
||||
|---|---|---|---|---|
|
||||
| **New Colony** | Prefab, temporary-feeling. Little personalization. | Identity still forming. People compare everything to where they came from. | Recent. First-generation. Stories of the journey. | Strong nostalgia for origin system. |
|
||||
| **Established** | Prefab base showing modification. Layers visible. Some personalization, some institutional standardization. | Local identity forming but not solid. Mix of origin-cultures. | Mixed. Parents remember old places; children only know here. | Ambivalent. Here is home, but parents' memories linger. |
|
||||
| **Mature** | Mixed construction eras clearly visible. Original structure heavily modified. Strong local character in older sections. | Distinct local identity. People think of themselves as "from here." | Distant. The origin is history, not memory. | Local pride. Skepticism of core-system assumptions. |
|
||||
| **Old** | Accretive. Original construction may be invisible under layers. Idiosyncratic. | Deeply rooted identity. History is ambient. | Institutional. Stories are embedded in place-names and customs. | The origin system is foreign. "We are our own thing." |
|
||||
|
||||
**Sova Transit District:** Established-to-Mature. The district is ~40 years old on a station settled ~180 years ago. The district itself shows layered construction — prefab base, retrofitted sections, personalized details. Local identity is present but not deep. Workers think of themselves as Sova people, not Van Maanen's Star people; but they don't have the rootedness of a settlement in its third or fourth generation.
|
||||
|
||||
---
|
||||
|
||||
### Dimension 4: Cultural Reference Point
|
||||
|
||||
The cultural reference point is the system of origin for the majority population, combined with how many generations of local drift have occurred.
|
||||
|
||||
This determines:
|
||||
- **Naming conventions** — how names sound, what they reference, whether family names matter
|
||||
- **Social norms** — eye contact, titles, how trust is established
|
||||
- **Relationship to technology** — whether lattice use is stigmatized, normalized, or a source of pride
|
||||
- **Attitudes toward the Commission** — reverence, compliance, resentment, or active evasion
|
||||
|
||||
**Van Maanen's Star Cultural Profile (established, working-class mid-Reach):**
|
||||
|
||||
- **Names:** Compact, consonant-heavy, first-name-primary in social contexts. Family names exist but are used formally (official documents, institutional contexts, introductions to strangers). Nicknames common among colleagues. Off-system names (longer vowels, different consonant clusters) stand out subtly but aren't cause for suspicion — just quietly noted.
|
||||
|
||||
- **Social norms:**
|
||||
- Eye contact is normal during conversation, brief during passing. Sustained eye contact from a stranger reads as challenge or authority.
|
||||
- Physical contact minimal — a hand on the shoulder is significant. A handshake is formal.
|
||||
- Complaining is fine. Complaining to the person you're complaining about is not.
|
||||
- Mind your business is the unspoken rule. People don't ask intrusive questions; they don't volunteer information they haven't been asked for. This makes the detective's investigation harder and the smuggler's operation safer.
|
||||
- Trust is established through repeated small interactions over time, not through declarations.
|
||||
|
||||
- **Technology attitudes:** Lattice use is unreflective — ubiquitous, taken for granted, the way breathing is taken for granted. Checking your lattice overlay in conversation is rude but common. The Unbound (those without lattices) are a known category — treated with mild curiosity and zero hostility. Nobody makes a fuss about it. Augmented lattice (institutional or premium) carries subtle status markers — people notice, don't comment.
|
||||
|
||||
- **Commission attitude:** Pragmatic compliance. The Commission regulates neural lattice technology; that regulation affects everyone, constantly. Workers find it mildly onerous (recertification requirements, software update mandates, firmware flags on aftermarket accessories). The Commission isn't hated — it's just the reality of living in the Reach. Like weather.
|
||||
|
||||
---
|
||||
|
||||
### Dimension 5: Institutional Ecosystem
|
||||
|
||||
Every location has a set of institutions that structure daily life. Understanding which institutions are present, which are visible, and which are resented tells you how NPCs talk about authority, rules, and power.
|
||||
|
||||
**Core institutions across the Reach:**
|
||||
|
||||
| Institution | Role | Local Manifestation |
|
||||
|---|---|---|
|
||||
| **Concord Assembly** | Reach-wide legislature | Background. Distant. Appears in news tickers. Not visible on the ground. |
|
||||
| **Lattice Commission** | Neural tech regulation | Kiosks, certification terminals, field investigators. The most visible institutional presence in most districts. |
|
||||
| **Syndics** | Commercial entities, freight and resource management | The actual employers of most working-class NPCs. Contracts, shipping manifests, wage structures. |
|
||||
| **Meridian** | Information network | Ambient. The infrastructure everyone uses without thinking about. Dead spots are notable. |
|
||||
| **Station Administration** | Local governance | Immediate authority. Maintenance schedules, district regulations, housing allocation. |
|
||||
| **Medical Services** | Re-embodiment and healthcare | Presence varies by wealth. Clinics in working districts, full services in affluent ones. |
|
||||
|
||||
**Sova Transit District institutional profile:**
|
||||
- Syndic logistics consortium: the main employer, highly visible in daily operations
|
||||
- Station Administration: present through maintenance schedules, posted notices, the occasional administrator in the corridors
|
||||
- Lattice Commission: intermittent. A kiosk in the logistics hub lobby, field investigators who visit quarterly (usually)
|
||||
- Medical clinic: small, basic. Re-embodiment services require transfer to the main station medical center
|
||||
- Meridian: strong coverage in institutional spaces (hub, bar), degraded in older sections, minimal in maintenance corridors
|
||||
|
||||
---
|
||||
|
||||
## Part 2: Derived Guidelines — From Framework to Content
|
||||
|
||||
### 2.1 Naming Conventions
|
||||
|
||||
Naming conventions follow from Dimension 4 (Cultural Reference Point). The table below captures Van Maanen's Star standard, which serves as the v0.1 model.
|
||||
|
||||
**Van Maanen's Star naming rules:**
|
||||
- **First names:** 1-2 syllables, consonant-forward, no double vowels in typical form. Examples: Kael, Voss, Drin, Lera, Torek, Maret, Naia, Sera, Nils, Kosse, Pael, Tev, Ren, Resha, Harek, Sess, Devra.
|
||||
- **Family names:** 1-2 syllables, similar phoneme pattern. Examples: Davan, Lintar, Sessik, Korr.
|
||||
- **Social usage:** First name in most contexts. "Supervisor Voss" for institutional address. Full name only in formal or hostile contexts.
|
||||
- **Nicknaming:** Common among colleagues. A name like "Renn" might be short for something nobody uses.
|
||||
- **Off-system names:** Slightly softer vowels, longer syllable count, different consonant clusters. Example: Olin, Sabel. These stand out quietly — the detective's lattice may flag them as non-Van Maanen's Star-origin before the detective consciously registers why.
|
||||
|
||||
**IP check:** Van Maanen's Star names are constructed to feel plausibly human-future without mapping to any existing franchise. They are NOT Hamilton Commonwealth names (conspicuously contemporary English, which is Hamilton's signature device). They are NOT Banks Culture names (often whimsical or elaborate). They are NOT Firefly or Star Wars (no Earth-ethnic-name echoes). They suggest cultural drift across 180 years of mid-Reach settlement.
|
||||
|
||||
---
|
||||
|
||||
### 2.2 Economic Vocabulary
|
||||
|
||||
Economic base (Dimension 2) determines the vocabulary of daily life. Workers in a freight hub speak differently from workers in a mining operation or a research station. This vocabulary should permeate every NPC's dialogue — not as jargon dumps, but as the ambient language of their daily reality.
|
||||
|
||||
**Sova Transit District — Freight Economic Vocabulary:**
|
||||
|
||||
See companion document: **Sova Texture Appendix (#302)** for the full slang glossary.
|
||||
|
||||
Core vocabulary patterns for freight:
|
||||
- Work = "shift" (not "rotation," not "duty," not "tour")
|
||||
- The gate = "the gate" casually, "the span gate terminal" institutionally — never "the span gate" in casual speech
|
||||
- Cargo containers = "containers" or "cans" (informal) — never "pods"
|
||||
- Cargo manifests = "manifests" (precise), "paperwork" (dismissive), "the file" (when being evasive)
|
||||
- Credits = "marks" in casual conversation (a Van Maanen's Star local usage)
|
||||
- Off-shift time = "off-book" among the ring; just "after" for civilians ("see you after")
|
||||
- Lattice communication = "pinging" (sending), "a ping" (notification)
|
||||
|
||||
---
|
||||
|
||||
### 2.3 Social Rhythms and Norms
|
||||
|
||||
The freight rhythm (span gate schedules, shift rotations) structures social life. Content authors should use these rhythms as temporal anchors for dialogue and monologue.
|
||||
|
||||
**Sova Transit social rhythm:**
|
||||
|
||||
| Time | Activity | Social Atmosphere |
|
||||
|---|---|---|
|
||||
| 0600-0800 | Morning shift change | High traffic, business-focused, brief greetings |
|
||||
| 0800-1200 | Morning freight cycle | Focused work, minimal social interaction |
|
||||
| 1200-1400 | Midday break | Break room social time, bar has light lunch trade |
|
||||
| 1400-1600 | Afternoon freight cycle | Quieter, post-lunch pace |
|
||||
| 1600-1800 | Evening shift change | Second major transition, people heading to or from |
|
||||
| 1800-2200 | Peak bar hours | The Last Shift fills up. Main social time of the day. |
|
||||
| 2200-0200 | Late night | Bar quiet (late regulars only). Corridors quieter. Ring operations typical timing. |
|
||||
| 0200-0600 | Deep night | Minimal staffing. Maintenance windows. Skeleton shift. |
|
||||
|
||||
---
|
||||
|
||||
### 2.4 Relationship to Authority
|
||||
|
||||
Dimension 3 (Reach Position) determines how NPCs speak about, around, and to authority figures. This affects dialogue at every trust tier.
|
||||
|
||||
**Sova Transit — Authority Relationship Patterns:**
|
||||
|
||||
| NPC Type | To Commission directly | About Commission (behind back) | To institutional-tagged stranger |
|
||||
|---|---|---|---|
|
||||
| Flat NPC (civilian) | Cooperative, neutral. Answers questions. Doesn't volunteer. | "They do their job. Just don't want them doing *my* job." | Polite. Slightly more careful with word choice. Watches for cues. |
|
||||
| Triangle NPC (mundane) | Cooperative. Slightly more nervous if personally concerned. | "They'll always find something to flag if they look hard enough." | Normal, with an undercurrent of evaluation: are they relevant to me? |
|
||||
| Entangled NPC (ring) | Carefully cooperative. Prepared answers. Nothing extra. | "Commission pokes around twice a year and finds nothing because they don't know where to look." | Alert. Measures words. Changes topics smoothly. |
|
||||
|
||||
---
|
||||
|
||||
### 2.5 Technology Integration
|
||||
|
||||
Lattice use is unreflective for most NPCs — it's background, like breathing. Content should treat lattice references the way people treat phone references: incidentally, in passing, without ceremony.
|
||||
|
||||
**Correct treatment:**
|
||||
> "I pinged you twice. Did you sleep through your lattice?"
|
||||
|
||||
**Wrong treatment (over-technological):**
|
||||
> "I sent a message through the neural lattice communication network to your personal lattice implant."
|
||||
|
||||
**Wrong treatment (under-technological):**
|
||||
> "I tried to call you." *(This isn't the Reach — people don't "call." They "ping.")*
|
||||
|
||||
The exception: NPCs under stress or in unusual circumstances may reference their lattice more explicitly — "I checked three times, it's not in the manifest" — where the precision itself signals anxiety.
|
||||
|
||||
---
|
||||
|
||||
## Part 3: Scaling Beyond v0.1
|
||||
|
||||
Van Maanen's Star instance demonstrates the framework. Future settings apply the same five dimensions with different parameters. The cultural output — naming conventions, vocabulary, social norms, authority attitudes — follows from the parameters, not from free-form invention.
|
||||
|
||||
**Quick-generation checklist for a new district:**
|
||||
|
||||
1. **Reach Position:** Core / Mid-Reach / Frontier / Deep Frontier
|
||||
→ Determines institutional density and authority attitude
|
||||
|
||||
2. **Economic Base:** Freight / Extraction / Manufacturing / Service / Research / Mixed
|
||||
→ Determines daily rhythm and vocabulary domain
|
||||
|
||||
3. **Settlement Age:** New / Established / Mature / Old
|
||||
→ Determines architectural character and cultural rootedness
|
||||
|
||||
4. **Cultural Reference Point:** Which system of origin? How many generations of local drift?
|
||||
→ Determines naming conventions and social norms
|
||||
|
||||
5. **Institutional Ecosystem:** Which institutions are present, how visibly?
|
||||
→ Determines how NPCs relate to authority
|
||||
|
||||
From these five inputs, the following outputs are derivable for any new setting:
|
||||
- Naming conventions (with example names)
|
||||
- Economic vocabulary (10-15 terms)
|
||||
- Social rhythm (daily time anchors)
|
||||
- Authority relationship patterns (flat/triangle/entangled × authority figure)
|
||||
- Technology integration register (how casually lattice is referenced)
|
||||
|
||||
**When a new setting is created:** Write a cultural profile following this guide and add it to `docs/wiki/cultural-groups/`. Tag it with the relevant star system. Link from the district entry in the wiki.
|
||||
|
||||
---
|
||||
|
||||
## Part 4: The Dual Lens Principle — Culture Serves Asymmetry
|
||||
|
||||
Every cultural detail in The Settled Reach exists to serve asymmetric information. Culture is not decoration — it's the medium through which two characters experience the same world differently.
|
||||
|
||||
**What this means in practice:**
|
||||
|
||||
The same cultural detail should mean something different to the smuggler and the detective:
|
||||
|
||||
| Cultural Detail | Smuggler Reads It As | Detective Reads It As |
|
||||
|---|---|---|
|
||||
| "Mind your business" norm | Operational cover. Nobody asks, nobody knows. | Investigative friction. People won't volunteer. |
|
||||
| First-name social culture | Social camouflage. Insider by default. | Access challenge. Have to earn first names. |
|
||||
| Lattice pings as communication | Ring coordination. Off-Meridian pings are clean. | Evidence trail. Pings log to Meridian (mostly). |
|
||||
| Bar as social heart | Safe social space. Home territory. | Intelligence gathering venue. |
|
||||
| Commission presence intermittent | The gap in oversight is the operational window. | The jurisdictional gap is also my investigative constraint. |
|
||||
| Span gate schedule as daily rhythm | The operational calendar. Timing is everything. | Investigation timeline. Window when oversight is thinnest. |
|
||||
|
||||
**Authoring instruction:** When writing any cultural detail — a sign, a greeting, a social norm — ask: what does the smuggler see, and what does the detective see? If the answer is identical, the detail is decorative. If the answers differ, the detail is load-bearing.
|
||||
|
||||
---
|
||||
|
||||
## Appendix: v0.1 Named Characters — Van Maanen's Star Consistency Check
|
||||
|
||||
All named characters in the Sova Transit District, with naming convention validation:
|
||||
|
||||
| Name | Convention Check | Role | Notes |
|
||||
|---|---|---|---|
|
||||
| Kael Davan | Van Maanen's Star standard | Dock worker, ring member, smuggler's FRIEND | Full name used in formal contexts |
|
||||
| Sera Venn | Van Maanen's Star standard | Commission field tech, detective's FRIEND | "Venn" slightly softer than typical Van Maanen's Star surname — deliberate: she's institutional, slightly apart |
|
||||
| Lera Sessik | Van Maanen's Star standard | Bar owner, The Last Shift | "Lera's" informal name. Never Lera Sessik to regulars. |
|
||||
| Torek Lintar | Van Maanen's Star standard | Dock inspector, compromised | Full name used when the detective runs his file |
|
||||
| Voss | Van Maanen's Star standard | Logistics supervisor | Single name in social use. Probably Voss-something officially. |
|
||||
| Drin | Van Maanen's Star standard | Maintenance tech, flat NPC | Single name. Been here long enough nobody uses a surname. |
|
||||
| Maret Korr | Van Maanen's Star standard | Freight scheduler, ring-adjacent | "Korr" is direct Van Maanen's Star standard |
|
||||
| Naia | Van Maanen's Star standard | Kael's partner (mentioned, not primary) | Brief, soft — contrast to Kael |
|
||||
| Nils | Van Maanen's Star standard | Bar regular (mentioned) | |
|
||||
| Kosse | Van Maanen's Star standard | Station name / character reference | |
|
||||
| Pael | Van Maanen's Star standard | Maintenance tech, flat NPC (Sprint 12: #307) | |
|
||||
| Tev | Van Maanen's Star standard | Lookout/runner, flat NPC (Sprint 12: #307) | |
|
||||
| Ren | Van Maanen's Star standard | Drifter, flat NPC (Sprint 12: #307) | "Ren" is earlier-established; "Renn" is the courier variant from Round 2 mapping |
|
||||
|
||||
**Off-system characters (deliberate naming deviation):**
|
||||
|
||||
| Name | Deviation | Role | Purpose of Deviation |
|
||||
|---|---|---|---|
|
||||
| Resha | Softer vowel pattern | New hire | Implies off-system origin — explains why they ask too many questions |
|
||||
| Sabel | Different phoneme cluster | Ring fence/buyer, external contact | External contact should sound external |
|
||||
|
||||
**IP check:** All Van Maanen's Star names validated against Hamilton (Contemporary English — cleared), Banks (whimsical/elaborate — cleared), Reynolds (Dutch/Germanic — cleared), Simmons (Greek/Latin register — cleared), Morgan (Anglo-American register — cleared). No franchise overlap found.
|
||||
|
||||
---
|
||||
|
||||
*This guide is a living document. As new settings are established, update the scaling examples. As cultural decisions are refined through gameplay testing, update the social norm descriptions. The framework is the constant; the instances are the evidence.*
|
||||
|
||||
*Miri — Sprint 12*
|
||||
@@ -0,0 +1,385 @@
|
||||
# Culture Authoring Guide — The Settled Reach
|
||||
**Ticket:** #653
|
||||
**Author:** Mellanie
|
||||
**Status:** canonical
|
||||
**Last updated:** 2026-03-13
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Every NPC in The Settled Reach is voiced through their culture. The voice pipeline (D-138) uses a culture profile as its primary LLM prompt — the culture injector is the single biggest determinant of how an NPC sounds. Culture files are authored once and used thousands of times across every generated NPC in that system.
|
||||
|
||||
This guide explains how to author a new culture RON file from scratch. The target: one experienced author can produce a complete, Spike-validated culture profile in approximately one working day.
|
||||
|
||||
Three reference cultures exist in `content/global/`:
|
||||
- `culture-van-maanens-star.ron` — Mid-Reach, freight, working-class pragmatic (the Spike 1/2 reference)
|
||||
- `culture-vael.ron` — Core-adjacent, administrative/research, institutional-formal
|
||||
- `culture-osse.ron` — Deep Frontier, extraction industry, terse-utilitarian
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Establish the cultural parameters (30 minutes)
|
||||
|
||||
Before writing a single word of the RON file, answer these five questions from `docs/design/cultural-generation-guide.md`:
|
||||
|
||||
1. **Reach Position:** Core / Mid-Reach / Frontier / Deep Frontier
|
||||
→ Determines authority attitude, institutional density, Commission presence
|
||||
|
||||
2. **Economic Base:** Freight / Extraction / Manufacturing / Service / Research / Mixed
|
||||
→ Determines daily vocabulary, rhythms, what NPCs care about
|
||||
|
||||
3. **Settlement Age:** New (< 20 yr) / Established (20-80 yr) / Mature (80-200 yr) / Old (200+ yr)
|
||||
→ Determines rootedness, architectural character, whether "here" is home
|
||||
|
||||
4. **Heritage Root:** Frost / Tide / Iron / Dust / Stone / Vine / Salt
|
||||
→ Determines spatial grammar and social privacy model (D-104/D-105)
|
||||
|
||||
5. **Institutional Ecosystem:** Which institutions are visibly present? Which are resented?
|
||||
|
||||
Write these down before you open a RON file. They are the source of truth for everything that follows.
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Define the voice register (10 minutes)
|
||||
|
||||
Derive the voice register from your five parameters. Ask:
|
||||
|
||||
- How does authority feel here? (Collegial / Distant / Resented / Absent)
|
||||
- What is the cost of saying too much? (Social / Physical / Legal / None)
|
||||
- What earns trust here? (Credential / Shared risk / Repeated interaction / Demonstrated skill)
|
||||
- What is the cultural mode of emotional expression? (Understatement / Direct / Suppressed / Public)
|
||||
|
||||
Write a one-sentence register description. This becomes `speech.register` in the RON.
|
||||
|
||||
**Examples:**
|
||||
| Culture | Register |
|
||||
|---|---|
|
||||
| Van Maanen's Star | direct, minimal pleasantries, gets to the point |
|
||||
| Vael | complete sentences, institutional framing, measured, precise |
|
||||
| Osse | terse, functional, equipment vocabulary, economy of language |
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Author the naming conventions (15 minutes)
|
||||
|
||||
Naming conventions follow from Reach position + settlement age + economic base:
|
||||
|
||||
| Parameter | Naming tendency |
|
||||
|---|---|
|
||||
| Core, old settlement | Polysyllabic, family-name-primary, formal phonemes |
|
||||
| Mid-Reach, mature | Mixed — 1-2 syllables, either name primary depending on sub-culture |
|
||||
| Frontier, new | Short, work-derived, first-name-only or work-name |
|
||||
| Extraction industry | Often functional; legal names exist but aren't used |
|
||||
| Administrative | Family names primary; given names reserved |
|
||||
|
||||
**IP check rule:** All names must be checked against:
|
||||
- Hamilton (Contemporary English given names — avoid)
|
||||
- Banks (Whimsical/elaborate — avoid)
|
||||
- Reynolds Firefly (Earth-ethnic echoes — avoid)
|
||||
- Simmons (Greek/Latin — avoid overt register matches)
|
||||
|
||||
Generate 25-35 given names and 15-20 family names. The generator needs variety across playthroughs.
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Author the voice persona (60 minutes — the core work)
|
||||
|
||||
The `voice_persona` field is the LLM instruction that shapes all re-voiced output for NPCs from this culture. This is where one working day of authoring matters most.
|
||||
|
||||
### Structure (6-block format, ~200-250 tokens total)
|
||||
|
||||
```
|
||||
PERSONA: You are a [Culture] [role type].
|
||||
|
||||
[BLOCK 1 — REGISTER, ~25 tokens]
|
||||
State the register style, why it exists, one distinguishing marker.
|
||||
|
||||
[BLOCK 2 — CULTURAL CONTEXT, ~25 tokens]
|
||||
One sentence: what shaped this culture's voice. The social or environmental fact.
|
||||
|
||||
[BLOCK 3 — VOCABULARY, ~40 tokens]
|
||||
Exclamations: [closed list — ONLY these expressions. No invented variants.]
|
||||
Greetings: [closed list]
|
||||
Address conventions: [family-name-primary, first-name-only, etc.]
|
||||
|
||||
[BLOCK 4 — VALUES, ~20 tokens]
|
||||
Two core values as behavioral instructions. "You do X." not "This culture values X."
|
||||
|
||||
[BLOCK 5 — NOT-LIST, ~20 tokens]
|
||||
2-3 exclusions SPECIFIC to this culture. (Universal NIs cover global constraints.)
|
||||
Start with: "Do not use..."
|
||||
|
||||
[BLOCK 6 — EXAMPLE PAIRS (~70-80 tokens): go in voice_examples field, not here]
|
||||
```
|
||||
|
||||
### The NEVER: block — most important element
|
||||
|
||||
**Format:** The NEVER: block is a separate, explicitly labeled section at the END of the persona string. It must not be embedded as a numbered instruction.
|
||||
|
||||
```
|
||||
[positive instructions 1-8]\n\nNEVER: [3-5 explicit negatives defining what this culture does NOT sound like]
|
||||
```
|
||||
|
||||
**Why it matters:** Spike 2 finding — explicit NEVER: blocks are critical for voice quality. Without them, the LLM defaults to register-neutral generic output. The numbered instructions alone are insufficient. The NEVER: section must be visually and structurally distinct — not "8. Do not use..." but a labeled block after the numbered list.
|
||||
|
||||
The not-list prevents register leakage. Write it by asking: what does this culture NEVER sound like?
|
||||
|
||||
| Culture | NEVER block content |
|
||||
|---|---|
|
||||
| Van Maanen's Star | Corporate/institutional language, effusive or polished register, deference to unearned rank, family names in casual use, verbosity |
|
||||
| Vael | Void-adjacent exclamations (frontier register), casual contractions, sentence fragments, direct emotional expression, physical labor as value ground |
|
||||
| Osse | Institutional framing or courtesy protocols, formal complete sentences, Commission-world vocabulary, Core-system exclamations, elaboration where a number suffices |
|
||||
|
||||
The NEVER: content must be culture-specific. Global constraints (no religious language, no Earth references) go in the universal RULES const — do not repeat them per-culture.
|
||||
|
||||
### Writing the persona instructions
|
||||
|
||||
Use second-person imperative: "Be direct." not "This culture is direct."
|
||||
|
||||
Each numbered instruction should target a DIFFERENT speech dimension so trait modifiers can stack cleanly:
|
||||
- Instruction 1 → delivery style (brevity, formality)
|
||||
- Instruction 2 → cultural context (why they speak this way)
|
||||
- Instruction 3 → address conventions (name usage)
|
||||
- Instruction 4 → emotional register (how feelings appear in speech)
|
||||
- Instruction 5 → institutional framing (how authority is referenced)
|
||||
- Instruction 6 → exclamation vocabulary (closed, explicit list)
|
||||
- Instruction 7 → trust signal (how the culture verifies credibility)
|
||||
- Instruction 8 → not-list (what this voice never does)
|
||||
|
||||
**Test before committing:** Read the persona out loud. Can you imagine an NPC responding to you from this profile? Would a speaker from this culture be clearly distinct from Van Maanen's Star if you heard both without labels?
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Author voice examples (20 minutes)
|
||||
|
||||
Write 3-5 `(input, output)` example pairs for the `voice_examples` array.
|
||||
|
||||
**Input:** A culture-neutral semantic description of an action (same as base text format)
|
||||
**Output:** That action rendered in the culture's voice
|
||||
|
||||
Example pairs are the model's pattern anchors — small LLMs are pattern matchers before instruction-followers. The examples matter as much as the instructions.
|
||||
|
||||
**Rules for example pairs:**
|
||||
1. Cover the range: neutral, positive relationship, refusal/deflection, high-affect
|
||||
2. Output should be short (1-2 sentences). Long outputs lose the pattern.
|
||||
3. Each output must be recognizably THIS culture — read them side by side with Van Maanen's Star examples. They should sound like different people.
|
||||
4. Do not use real NPC names in examples — use generic role references
|
||||
|
||||
### Cross-cultural contrast test
|
||||
|
||||
Before finalizing examples, run this test. Take the same three base-text inputs and write outputs in Van Maanen's Star, Vael, and Osse voices. If the outputs are hard to distinguish, the culture persona needs sharpening.
|
||||
|
||||
**Example inputs for the test:**
|
||||
- "declines to answer a question about an overnight run"
|
||||
- "acknowledges a colleague's greeting while continuing to work"
|
||||
- "thanks a colleague for covering a shift"
|
||||
|
||||
| Input | Van Maanen's Star | Vael | Osse |
|
||||
|---|---|---|---|
|
||||
| Declines question | "Look, that's not mine to say." | "I'm not in a position to speak to that. You'd want to refer to the relevant operations log." | "Not my section. Ask Grek." |
|
||||
| Acknowledges greeting | "Hey. Yeah. Catch you at shift end." | "Harthen. Good. I'll be with you in a moment." | "Doss. Yeah." |
|
||||
| Thanks colleague | "Appreciated. See you at handoff." | "That was well handled. I've noted it." | "Solid. Owe you one." |
|
||||
|
||||
If all three rows sound similar, the culture personas need work.
|
||||
|
||||
---
|
||||
|
||||
## Step 6: Author occasional injections (15 minutes)
|
||||
|
||||
`occasional_injections` are cultural vocabulary or speech patterns that should appear occasionally but not always — oath vocabulary, institutional references, equipment ground truth. The composition engine handles frequency; the author specifies what and when.
|
||||
|
||||
**Fields:**
|
||||
- `kind` — a string identifier (e.g., `"oath"`, `"protocol_cite"`, `"equipment_ground"`)
|
||||
- `clause` — the LLM instruction when this injection fires
|
||||
- `example` — `Some((input, output))` showing correct usage, or `None`
|
||||
- `frequency` — float 0.0–1.0 (how often the composition engine fires this injection)
|
||||
- `suppress_on_tells` — tells that should suppress this injection (e.g., oath suppressed when Guarded)
|
||||
|
||||
**Frequency guidelines:**
|
||||
- 0.25 — Van Maanen's Star oath vocabulary (appears in ~1 in 4 high-affect contexts)
|
||||
- 0.20 — Vael protocol citation (appears occasionally in procedural exchange)
|
||||
- 0.15 — Osse equipment ground (appears in work-adjacent contexts)
|
||||
|
||||
Start with one injection per culture. More can be added after Spike validation confirms the base persona is clean.
|
||||
|
||||
---
|
||||
|
||||
## Step 7: Author the tell-tone table (15 minutes)
|
||||
|
||||
Each culture profile should include a tell-tone table mapping each `TellCategory` to how that tell expresses in this culture's register. This table is not in the RON file — it's authoring documentation used when tell-context injectors are written.
|
||||
|
||||
Include this table in a comment block in the RON file header, or maintain it separately in the culture's authoring notes.
|
||||
|
||||
**Format:**
|
||||
|
||||
| TellCategory | How it reads in this culture |
|
||||
|---|---|
|
||||
| Nervous | [culture-specific description] |
|
||||
| Angry | [culture-specific description] |
|
||||
| Friendly | [culture-specific description] |
|
||||
| Guarded | [culture-specific description] |
|
||||
| RoutineDeviation | [culture-specific description] |
|
||||
|
||||
**Design principle (from D-138):** Humans are humans first. Universal baseline (phenomenon-class behavior) is always readable across cultures. Cultural flavor is conditional and additive — the LLM adds cultural texture only if it doesn't significantly change the information conveyed. Per-culture tell-tone tables are optional enrichment.
|
||||
|
||||
---
|
||||
|
||||
## Step 8: Validate and commit
|
||||
|
||||
```bash
|
||||
tooling/validate-ron content/global/culture-{id}.ron culture
|
||||
```
|
||||
|
||||
A passing validation confirms:
|
||||
- All required fields are present and correctly typed
|
||||
- Trait names are valid enum values
|
||||
- RON syntax is correct
|
||||
|
||||
After validation, the culture profile is ready for Spike 1 prompt testing. Human review of voiced output is required before the culture goes into baked content.
|
||||
|
||||
---
|
||||
|
||||
## Tell-tone reference tables
|
||||
|
||||
### Van Maanen's Star tell-tone table
|
||||
|
||||
| TellCategory | Van Maanen's Star-inflected tonal register |
|
||||
|---|---|
|
||||
| Nervous | Answers run shorter than usual. Eyes stay on task. Nothing's wrong — just things to do. |
|
||||
| Guarded | Direct past the point of directness. Closes conversation paths fast without being unfriendly. |
|
||||
| Friendly | One beat more than the exchange needed. A word of warmth lands casually, not performed. |
|
||||
| Angry | Steady. Even. The kind of steady that takes effort. Not hostile — just flat in a way that doesn't feel natural for Van Maanen's Star. |
|
||||
| RoutineDeviation | Unhurried. Unremarkably normal. Like nothing's worth noticing. |
|
||||
|
||||
### Vael tell-tone table
|
||||
|
||||
| TellCategory | Vael-inflected tonal register |
|
||||
|---|---|
|
||||
| Nervous | Sentences become over-complete — more formal than the situation warrants. Qualifications multiply. "As I understand it" appears where it wasn't needed. |
|
||||
| Guarded | Responses are brief and technically correct. Every question answered with only what was asked. Institutional framing appears even in informal exchange. |
|
||||
| Friendly | Slightly less formal than baseline — a given name used where a family name would normally appear. The exchange closes with a word of genuine regard. |
|
||||
| Angry | Register becomes precisely correct — almost pedantically so. The effort to maintain composure shows as over-precision. |
|
||||
| RoutineDeviation | Procedures are cited where they wouldn't normally be. A person who deviates from routine anchors to institutional language as cover. |
|
||||
|
||||
### Osse tell-tone table
|
||||
|
||||
| TellCategory | Osse-inflected tonal register |
|
||||
|---|---|
|
||||
| Nervous | Words get shorter. Already-minimal speech contracts to one-word answers and physical acknowledgment. The silence between words lengthens. |
|
||||
| Guarded | Assessment framing appears: "Why do you need to know?" — stated or implied. Eye contact shifts from reading-the-room to reading-you specifically. |
|
||||
| Friendly | Slightly more than the exchange needed — an extra beat, an unrequested detail, a "good shift" that lands with more weight. Not warm, just more. |
|
||||
| Angry | Everything slows down. Deliberate. Responses accurate, closed, no opening for follow-up. |
|
||||
| RoutineDeviation | The opposite of nervous: unusually conversational. When someone is off-routine on purpose, they over-normalize by saying more than usual. |
|
||||
|
||||
---
|
||||
|
||||
## Checklist: culture profile complete?
|
||||
|
||||
- [ ] Five parameters documented (Reach Position, Economic, Age, Heritage Root, Institutions)
|
||||
- [ ] Register statement authored and distinctive
|
||||
- [ ] 25+ given names, 15+ family names, phoneme pattern consistent
|
||||
- [ ] `family_name_used_socially` accurately reflects the culture
|
||||
- [ ] Voice persona: 8 numbered instructions, ~200-250 tokens
|
||||
- [ ] Explicit `NEVER:` block at end of persona string (separate from numbered instructions)
|
||||
- [ ] NEVER block content is culture-specific (not repeating universal constraints)
|
||||
- [ ] Cross-cultural contrast test passed (Van Maanen's Star/Vael/Osse comparison)
|
||||
- [ ] 3-5 voice examples authored, range covered
|
||||
- [ ] At least 1 occasional injection with suppression logic
|
||||
- [ ] Tell-tone table authored (5 TellCategories)
|
||||
- [ ] `tooling/validate-ron content/global/culture-{id}.ron culture` passes
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## Addendum: Behavior Modifiers (#634)
|
||||
|
||||
*Added Sprint 26. Applies to all culture files after the composable behavior engine (#633) ships.*
|
||||
|
||||
### What behavior_modifiers does
|
||||
|
||||
The composable behavior engine assembles observable behavior strings from two parts:
|
||||
|
||||
```
|
||||
BehaviorPrimitive.action + BehaviorModifier.clause → assembled behavior string
|
||||
```
|
||||
|
||||
Example:
|
||||
- Action: `"moves freight containers"`
|
||||
- Modifier: `"without wasted motion"` (Van Maanen's Star, `work_pace`)
|
||||
- Result: `"moves freight containers without wasted motion"`
|
||||
|
||||
A culture provides a pool of modifier clauses. When the engine assembles a behavior, it looks for a modifier whose `category` matches the primitive's `modifier_hint` string. If no match exists, it falls back to any modifier in the pool. If no modifiers exist at all, the action text is used as-is.
|
||||
|
||||
**Modifier clauses must grammatically trail any action text.** They are appended with a space. Test by mentally substituting different action verbs: does the clause still read naturally?
|
||||
|
||||
### BehaviorContext: when to use each tag
|
||||
|
||||
Every `BehaviorPrimitive` carries a `context` field that gates when it is eligible for selection. The composition engine filters by context before modifier selection.
|
||||
|
||||
| Context | Use for | Example action |
|
||||
|---------|---------|----------------|
|
||||
| `OnShift` | Physical task execution, work-site behaviors, role-specific routines | "checks a manifest against a handheld scanner", "guides a freight container into position" |
|
||||
| `OffDuty` | Break-room behaviors, personal downtime, non-work physical states | "slumps into a break room chair and stares at nothing", "unwraps a meal packet standing at the counter" |
|
||||
| `Social` | Social-site behaviors (bars, cantinas, communal spaces) — may overlap with OffDuty but specifically at a social venue | "nurses a drink at the end of the bar", "trades short words with a neighbor" |
|
||||
| `Any` | Behaviors valid in any context — ambient, universal physical states | "rubs the back of their neck", "pauses and looks at nothing for a moment" |
|
||||
|
||||
**Decision rule:**
|
||||
- If the behavior only makes sense on a work site → `OnShift`
|
||||
- If the behavior only makes sense in a break room or personal space → `OffDuty`
|
||||
- If the behavior specifically happens at a social venue → `Social`
|
||||
- If the behavior could appear anywhere → `Any`
|
||||
- When unsure, prefer `Any` over a specific context — you can always narrow later
|
||||
|
||||
### Modifier category vocabulary (the contract)
|
||||
|
||||
These seven categories define the interface between primitives (Mellanie, role-action templates) and modifiers (culture authors). A primitive's `modifier_hint` must use one of these strings for a culture modifier to match it.
|
||||
|
||||
| Category | What it inflects | Example modifier (Van Maanen's Star) |
|
||||
|---|---|---|
|
||||
| `work_pace` | Speed and intensity of physical task execution | "without wasted motion" |
|
||||
| `physical_manner` | Body language and movement quality during tasks | "without looking up from the task" |
|
||||
| `social_signal` | Brief acknowledgments made during or between tasks | "with a short nod" |
|
||||
| `task_completion` | How tasks are finished, wrapped up, or handed off | "and moves on" |
|
||||
| `environmental_scan` | Awareness or vigilance while in a space | "with one eye still on the floor" |
|
||||
| `offduty_posture` | Body language and social stance when off-shift | "without making a show of it" |
|
||||
| `authority_response` | Behavior when supervisors or authority figures are present | "at the same pace as before" |
|
||||
|
||||
**The fallback is safe but less targeted.** A primitive with no `modifier_hint` gets a random modifier from the full culture pool. This still produces culturally inflected output — just without category precision. Prefer leaving `modifier_hint` unset over using an incorrect category string.
|
||||
|
||||
### Authoring behavior_modifiers for a new culture
|
||||
|
||||
**Minimum:** 2 modifiers for each of the 7 categories = 14 modifiers total. Fewer categories will still work (fallback to any), but full coverage ensures every action type gets the right cultural texture.
|
||||
|
||||
**Process:**
|
||||
1. For each category, ask: *How does this culture DISTINCTIVELY express this dimension?*
|
||||
- Not "how does any person do this" but "what is the cultural tell for this culture specifically?"
|
||||
2. Write the clause as a short trailing phrase (4-8 words). Test: does it read naturally after "moves freight containers ___"?
|
||||
3. Avoid clauses that are too action-specific — they need to trail any verb, not just one type
|
||||
4. Run `tooling/validate-ron content/global/culture-{id}.ron culture` to confirm syntax
|
||||
|
||||
**Three-culture contrast for modifiers** (same as voice persona contrast test):
|
||||
|
||||
| Category | Van Maanen's Star | Vael | Osse |
|
||||
|---|---|---|---|
|
||||
| work_pace | "without wasted motion" | "with practiced deliberation" | "at extraction pace" |
|
||||
| physical_manner | "without ceremony" | "with institutional correctness" | "tool already in hand" |
|
||||
| social_signal | "with a short nod" | "with a measured acknowledgment" | "with a word or a look" |
|
||||
| task_completion | "and moves on" | "with the relevant entry already updated" | "gear stowed before moving on" |
|
||||
| environmental_scan | "with one eye still on the floor" | "aware of who is observing" | "pressure and exits both in range" |
|
||||
| offduty_posture | "without making a show of it" | "maintaining composed reserve" | "with one ear still on the work floor" |
|
||||
| authority_response | "at the same pace as before" | "with appropriate professional deference" | "without a change in pace" |
|
||||
|
||||
If your new culture's modifiers would fit in any of the existing columns above without sounding different — the culture needs more work before modifiers are authored.
|
||||
|
||||
### Updated checklist
|
||||
|
||||
Add these items to the culture profile checklist:
|
||||
|
||||
- [ ] `behavior_modifiers` array populated with at least 2 clauses per category (14 minimum)
|
||||
- [ ] Each clause tested: grammatically trails "moves freight containers ___" and "checks a manifest ___"
|
||||
- [ ] Three-culture contrast check: modifiers are clearly distinct from Van Maanen's Star, Vael, and Osse
|
||||
- [ ] `tooling/validate-ron` still passes after adding modifiers
|
||||
|
||||
*Addendum: Sprint 26, #634 (composable behavior content). Category vocabulary established jointly by Gestalt (culture modifiers) and Mellanie (behavior primitives). Add new categories only by agreement between both sides — unmatched categories silently fall back to any modifier.*
|
||||
@@ -0,0 +1,750 @@
|
||||
# Dual Lens Authoring Guide
|
||||
|
||||
**v0.1 Content Design Document** | Blocks: 11 downstream tickets | Status: Draft
|
||||
**Author:** Mellanie (Copywriter) + Paula (Narrative & Political Depth)
|
||||
**Date:** 2026-02-12
|
||||
|
||||
---
|
||||
|
||||
## Document Purpose
|
||||
|
||||
This guide defines how content authors write for two playable characters experiencing the same world through different perspectives. Every dialogue line, monologue line, and NPC profile must work for BOTH the smuggler AND the detective. Same world. Two lenses. Zero shared monologue lines. Maximum narrative divergence from minimal content duplication.
|
||||
|
||||
**Critical Dependencies:**
|
||||
- D-027: Vertical slice — smuggler + detective two-character proof
|
||||
- D-028: Dialogue architecture — tagged line pools with four relational layers
|
||||
- D-032: Separate monologue pools per character (hard partition, non-negotiable)
|
||||
- D-034: THE FRIEND — production-level NPC pattern
|
||||
- D-035: Converged tag taxonomy for dialogue and monologue line pools
|
||||
|
||||
---
|
||||
|
||||
## Chapter 1: Core Identity + Emotional Starting State
|
||||
|
||||
### Who Is The Smuggler?
|
||||
|
||||
**Occupation:** Logistics worker, Sova Transit District Freight Terminal ("The Terminal")
|
||||
**Ring Position:** Mid-level operator. Handles physical cargo routing, knows the schedule windows, manages dock-side coordination.
|
||||
**Time in Ring:** ~2 years. Comfortable with the work. Good at it.
|
||||
**Lattice Tier:** Baseline (standard civilian-grade, no augmentation)
|
||||
|
||||
**What They Know At Session Start:**
|
||||
- The ring exists. Who's in it: Nils (coordinator), Kael (closest colleague, ring member), Voss (shift supervisor, takes a cut), Renn (courier), and 2-3 others.
|
||||
- The routes: freight bay → service corridor → temp storage → bar back room.
|
||||
- The cargo: unlicensed lattice components, medical-grade neural replacements diverted from Syndic supply chains. They don't look too closely at the sealed containers.
|
||||
- The schedule: shift transitions create 20-minute oversight gaps. The operation runs during these windows.
|
||||
- The stakes: if caught, it's a Commission offense. Years in detention. But the money helps, the team is solid, and it's felt manageable for two years.
|
||||
|
||||
**What They Don't Know:**
|
||||
- The detective is investigating (unless playing detective path and the smuggler has been flagged).
|
||||
- Kael is trying to exit the ring. Meeting unknown contacts. Lying to the smuggler.
|
||||
- Sera (Commission field tech) has flagged manifest discrepancies and is sitting on unreported evidence.
|
||||
- The full upstream supply chain (knows cargo comes from off-station contact Sabel, doesn't know Syndic connections).
|
||||
- How much Naia (Kael's partner) suspects. How much danger the ring is actually in.
|
||||
|
||||
**Emotional Baseline:**
|
||||
- **Comfortable-tense.** Not happy, not miserable. The smuggler is managing a life with two faces: legitimate dock worker (public) and ring operator (hidden). The cognitive load is constant but bearable. The money eases the financial pressure that makes station life tight for most workers. The team feels like family — shared risk creates trust.
|
||||
- **Loyal to people, not institutions.** First-name basis with everyone. Thinks relationally: Kael is "my shift partner," not "dock worker Davan." Voss is "tense today," not "the shift supervisor is agitated." Institutions (Commission, Concord, Syndic) are distant, abstract, often adversarial.
|
||||
- **Operational thinking mode.** Time-aware, route-aware, schedule-aware. Worries about exposure: "Is Torek's spending too visible?" "Did Maret notice that manifest discrepancy?" "Is the detective going to connect Kael to the irregularities?"
|
||||
- **Protectiveness over the team.** Would cover for Kael even at personal cost. Would warn Voss if something looked wrong. The ring isn't just work — it's the people the smuggler eats lunch with, drinks with, trusts.
|
||||
|
||||
---
|
||||
|
||||
### Who Is The Detective?
|
||||
|
||||
**Occupation:** Commission investigator, assigned to Sova Transit District for manifest irregularity investigation
|
||||
**Assignment Duration:** New arrival. Session start is early in the investigation (first week).
|
||||
**Lattice Tier:** Standard professional (Commission-grade diagnostic tools, analytical overlays, not investigative-tier augmentation)
|
||||
|
||||
**What They Know At Session Start:**
|
||||
- There are manifest discrepancies tied to Sova Transit District freight operations. Containers logged but not reconciled with incoming manifests. Pattern suggests smuggling.
|
||||
- Names from case files: Voss (shift supervisor), Maret (freight scheduler), Drin (dock inspector). Persons of interest, not confirmed suspects.
|
||||
- Sova Transit District social geography: The Terminal (logistics hub), The Last Shift (bar, social nexus), maintenance corridors (off-books access routes).
|
||||
- Institutional context: The previous Commission liaison rotated out 3 months ago. Current Commission presence is minimal (Sera Venn, field tech, not an investigator).
|
||||
- Sera Venn is a pre-existing contact. Same institutional background, transferred to Sova a year ago. Reliable. The detective's one friendly face in the district.
|
||||
|
||||
**What They Don't Know:**
|
||||
- Who the ring members are (Nils, Kael, Renn, etc. — names without context).
|
||||
- The smuggler's identity. If the smuggler is in the ring, the detective doesn't know yet.
|
||||
- Kael is trying to exit the ring. Sera is sitting on unreported evidence. Naia is worried about Kael and has confided in Sera.
|
||||
- The social web connecting everyone. Who's loyal to whom. Who's protecting whom. Who's compromised and how.
|
||||
- How embedded the ring is in the district's economic immune system. The detective reads it as criminal enterprise. Doesn't yet understand it as community survival mechanism.
|
||||
|
||||
**Emotional Baseline:**
|
||||
- **Professional-cautious.** The detective is trained to observe, analyze, withhold judgment until evidence accumulates. But they're also human — isolation in an unfamiliar community, reliance on Sera for social grounding, awareness that non-cooperation is the district default.
|
||||
- **Analytical habit.** Counts things. Tracks frequencies. Flags inconsistencies. Self-directs: "filing it," "noted," "coincidence?" Internal bookkeeping runs in background. The institutional training doesn't turn off.
|
||||
- **Institutional frame.** Thinks in terms of evidence, patterns, leverage. Surnames before first names for targets. "Davan, K." not "Kael." The shift from surname to first-name IS a relationship marker.
|
||||
- **Moral position.** The detective believes in the work. Smuggling isn't victimless — unlicensed lattice components can cause neural degradation, medical-grade replacements diverted from Syndic supply chains mean someone else doesn't get the replacement they need. The ring is breaking the law. The investigation is justified. But the detective is also starting to see the grey: Kael isn't a cartel boss, he's a dock worker who said yes once and kept saying yes. Complexity accumulates.
|
||||
|
||||
---
|
||||
|
||||
### Starting State Comparison
|
||||
|
||||
| Dimension | Smuggler | Detective |
|
||||
|-----------|----------|-----------|
|
||||
| **Knowledge of the ring** | Insider. Knows who, what, when, where. Operational detail. | Suspects. Has data anomalies, no confirmed names. Investigative frame. |
|
||||
| **Relationship to NPCs** | Personal. First-name basis. History, trust, loyalty. | Clinical. Surname-first. Categorizes by role and behavior. |
|
||||
| **Emotional orientation** | Protective. Worries about people. "Is Kael okay?" | Analytical. Worries about patterns. "Why is Kael nervous?" |
|
||||
| **Lattice capability** | Baseline. No enhanced perception, no analytical overlays. | Professional. Diagnostic access, pattern recognition tools. |
|
||||
| **Social position** | Insider. Belongs. Everyone knows the smuggler. | Outsider. Institutional authority resented by the community. |
|
||||
| **Moral framing** | Pragmatic complicity. "We're careful. We take care of our own." | Institutional clarity. "This is a crime. There are victims." |
|
||||
| **What threatens them** | Exposure (being caught, losing the team). | Failure (case goes cold, ring stays hidden). |
|
||||
|
||||
---
|
||||
|
||||
## Chapter 2: The Dual-Lens Rule
|
||||
|
||||
### The Core Test
|
||||
|
||||
Every content piece — dialogue line, monologue line, NPC profile axis — must work for BOTH characters. Ask:
|
||||
|
||||
1. **Does this line make sense if the smuggler experiences it?**
|
||||
2. **Does this line make sense if the detective experiences it?**
|
||||
3. **Does this line reveal something different to each character?**
|
||||
4. **Is the access tier correct for both characters?**
|
||||
5. **Does this line advance at least one character's emotional arc?**
|
||||
|
||||
If the answer to 1 or 2 is "no," the line is broken. If the answer to 3 is "no," the line isn't dual-lens — it's just generic.
|
||||
|
||||
---
|
||||
|
||||
### Three Types of Dual-Lens Difference
|
||||
|
||||
**Type 1: Access Difference**
|
||||
The smuggler hears a line the detective doesn't (or vice versa) because of `access` tier filtering.
|
||||
|
||||
*Example:*
|
||||
```yaml
|
||||
- id: terminal_d_044
|
||||
role: dock_worker
|
||||
text: "Container 4471 sat in temp storage overnight. Scheduling backed up again."
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start]
|
||||
dual_lens:
|
||||
smuggler: "Operational context — part of the ring pipeline. 'Backed up' is cover language."
|
||||
detective: "Anomaly — overnight exceeds standard procedure. Flag for investigation."
|
||||
```
|
||||
|
||||
Both characters can hear this line (`public` + `peer` both accessible). But the smuggler ALSO hears ring-specific operational dialogue that the detective never accesses:
|
||||
|
||||
```yaml
|
||||
- id: terminal_d_045
|
||||
role: dock_worker
|
||||
text: "4471's routed for transfer at 14:30. Voss kept the window clear."
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
dual_lens:
|
||||
smuggler: "Confirmation — the route is active, Voss is cooperating."
|
||||
detective: "Never hears this line. Doesn't have insider access."
|
||||
```
|
||||
|
||||
**Type 2: Interpretation Difference**
|
||||
Both characters hear the same NPC dialogue, but their monologue reactions interpret it differently.
|
||||
|
||||
*Shared dialogue line:*
|
||||
```yaml
|
||||
- id: bar_d_033
|
||||
role: bartender
|
||||
text: "Sera left early. Headache, she said."
|
||||
access: [public]
|
||||
trust: surface
|
||||
```
|
||||
|
||||
*Smuggler monologue reaction:*
|
||||
```yaml
|
||||
- id: bar_m_051
|
||||
character: smuggler
|
||||
trigger: post_conversation
|
||||
text: "Sera's gone. Good — one less Commission presence in the room."
|
||||
mood: [relieved]
|
||||
```
|
||||
|
||||
*Detective monologue reaction:*
|
||||
```yaml
|
||||
- id: bar_m_052
|
||||
character: detective
|
||||
trigger: post_conversation
|
||||
prerequisite:
|
||||
known_attributes:
|
||||
subject: sera_venn
|
||||
key: behavior_flags
|
||||
value_contains: avoidance_pattern
|
||||
text: "Second time Sera's left when Torek arrived. Coincidence?"
|
||||
mood: [suspicious]
|
||||
```
|
||||
|
||||
Same dialogue. Smuggler reads it as relief (less oversight). Detective reads it as a behavioral tell (avoidance pattern forming).
|
||||
|
||||
**Type 3: Emotional Weight Difference**
|
||||
The relationship history creates different emotional stakes for the same observation.
|
||||
|
||||
*Observation trigger:* Kael checking his lattice for the third time in ten minutes.
|
||||
|
||||
*Smuggler monologue:*
|
||||
```yaml
|
||||
- id: terminal_m_011
|
||||
character: smuggler
|
||||
trigger: observe_anomaly
|
||||
prerequisite:
|
||||
relationship_state: Friendly
|
||||
subject: kael_davan
|
||||
text: "Kael keeps checking his lattice. Waiting for a message? Not like him to be jumpy."
|
||||
mood: [concerned]
|
||||
topic: [colleague]
|
||||
```
|
||||
|
||||
*Detective monologue:*
|
||||
```yaml
|
||||
- id: terminal_m_042
|
||||
character: detective
|
||||
trigger: observe_anomaly
|
||||
prerequisite:
|
||||
relationship_state: Known
|
||||
subject: kael_davan
|
||||
text: "Dock worker Davan — lattice activity spiked. Expecting a message? Or checking for surveillance?"
|
||||
mood: [analytical]
|
||||
topic: [investigation]
|
||||
```
|
||||
|
||||
Same behavior. Smuggler worries about a friend ("Not like him"). Detective analyzes a subject ("Dock worker Davan"). Emotional weight is asymmetric.
|
||||
|
||||
---
|
||||
|
||||
### Tag Implications
|
||||
|
||||
The dual-lens rule is enforced through the tag taxonomy (D-035). Here's how tags create different content surfaces from the same pool:
|
||||
|
||||
**`access` Tag — Hard Filter (D-028 Layer 1)**
|
||||
|
||||
| Access Tier | Who Gets It | Smuggler Example | Detective Example |
|
||||
|-------------|-------------|------------------|-------------------|
|
||||
| `public` | Everyone | Bar greeting, shift small talk | Commission procedural questions |
|
||||
| `peer` | Known or Friendly relationship | Coworker gossip, shift complaints | Institutional background sharing (Sera to detective) |
|
||||
| `insider` | Friendly relationship only | Ring operational talk, close confidences | Never unlocked for ring NPCs (detective is outsider) |
|
||||
| `authority` | Detective only, works at Unknown/Known/PersonOfInterest | Institutional leverage questions | Smuggler never has authority access |
|
||||
| `hostile` | Hostile relationship only | Threats, final warnings | Post-cover-blown confrontation |
|
||||
|
||||
**Critical rule:** When Kael transitions from Friendly to PersonOfInterest (THE FRIEND contradiction), `insider` and `peer` lines LOCK OUT. The smuggler still sees Kael, still interacts with Kael, but the warm operational dialogue disappears. That absence IS the emotional payload.
|
||||
|
||||
**`trust` Tag — Hard Filter (D-028 Layer 3)**
|
||||
|
||||
Within each access tier, `trust` further filters content:
|
||||
|
||||
| Trust Level | What It Gates |
|
||||
|-------------|--------------|
|
||||
| `surface` | Safe topics, social norms, what anyone would say |
|
||||
| `real` | Honest opinions, unguarded speech, actual feelings |
|
||||
| `secret` | Dangerous knowledge, confessions, things that create leverage |
|
||||
|
||||
A line tagged `access: [insider], trust: secret` is the deepest content — only available to the smuggler, only when Kael is Friendly, only when trust has been earned through repeated interaction.
|
||||
|
||||
**`character` Tag — Hard Partition (D-032)**
|
||||
|
||||
Monologue pools are completely separate. The smuggler's monologue pool lives in `monologue-smuggler.yaml`. The detective's pool lives in `monologue-detective.yaml`. **No shared lines.** This is non-negotiable.
|
||||
|
||||
Same trigger, different pool. That's how mirror moments work without either pool knowing about the other.
|
||||
|
||||
---
|
||||
|
||||
### Authoring Workflow
|
||||
|
||||
When writing a line:
|
||||
|
||||
1. **Write the line.** Concrete, in the speaker's voice.
|
||||
2. **Check both readings.** Document the dual-lens split in the `dual_lens` field:
|
||||
```yaml
|
||||
dual_lens:
|
||||
smuggler: "How the smuggler interprets this."
|
||||
detective: "How the detective interprets this."
|
||||
```
|
||||
3. **Verify neither reading breaks.** If the line only works for one character, use a different `access` tier or rely on character-specific monologue to recontextualize.
|
||||
4. **Tag correctly.** The `access`, `trust`, `situation`, `mood`, and `topic` tags must express the dual-lens difference mechanically.
|
||||
|
||||
---
|
||||
|
||||
## Chapter 3: Access Tier Mapping
|
||||
|
||||
### Per-NPC Access Mapping
|
||||
|
||||
How each character relates to key NPCs at session start:
|
||||
|
||||
| NPC | Smuggler Access | Detective Access | Shift Path (Smuggler) | Shift Path (Detective) |
|
||||
|-----|----------------|------------------|---------------------|----------------------|
|
||||
| **Kael Davan (THE FRIEND)** | `insider`, `peer` | `public` → `authority` (if flagged) | `insider` → locked out (post-contradiction, PersonOfInterest) | `public` → `authority` (investigation progresses) |
|
||||
| **Sera Venn (THE FRIEND)** | `public` (Commission, wary) | `peer` → `authority` (post-contradiction) | No shift (smuggler doesn't develop relationship) | `peer` → `authority` (trust breaks, PersonOfInterest) |
|
||||
| **Voss (shift supervisor)** | `insider` (colleague, knows smuggler is ring) | `authority` | `insider` → `hostile` (if cover blown) | `authority` → `peer` (if detective earns trust) |
|
||||
| **Lera Sessik (bar owner)** | `insider` (bar regular, ring-aware) | `public` → `peer` (repeat visits) | No major shift | `public` → `peer` (regular status, 3-4 visits) |
|
||||
| **Naia Tamm (Kael's partner)** | `peer` (through Kael) | `public` → `peer` (through Sera) | `peer` → `hostile` (if Naia learns truth about ring) | `public` → `peer` (Sera introduction) |
|
||||
| **Torek Lintar (bar regular)** | `insider` or `peer` (depends on whether smuggler knows Torek's ring connection) | `public` | No shift | `public` → `authority` (if financial tells flagged) |
|
||||
| **Maret Korr (freight scheduler)** | `insider` (hub colleague) | `authority` | No major shift | `authority` → `peer` (if Maret cooperates) |
|
||||
| **Drin Rosta (dock inspector)** | `insider` (hub colleague, smuggler knows Drin is compromised) | `authority` | `insider` → `hostile` (if Drin turns informant) | `authority` (detective can pressure via gambling debt) |
|
||||
|
||||
---
|
||||
|
||||
### Access Tier Shift Paths (Per Social Site)
|
||||
|
||||
**The Terminal (Logistics Hub)**
|
||||
|
||||
| Character | Starting Tier | Likely Shift | Trigger | Content Requirement |
|
||||
|-----------|--------------|--------------|---------|---------------------|
|
||||
| Smuggler | `insider` + `peer` | `insider` → `hostile` | Cover blown — seen with detective, ring member reports suspicion | Dialogue lines for "former colleague now enemy" tone. Monologue lines for paranoia, betrayal. |
|
||||
| Detective | `authority` | `authority` → `peer` | Earns trust by keeping a minor infraction quiet, helping with a non-smuggling problem | Dialogue lines for "institutional authority softening to personal rapport." Monologue shift from clinical to sympathetic. |
|
||||
|
||||
**The Last Shift (Bar)**
|
||||
|
||||
| Character | Starting Tier | Likely Shift | Trigger | Content Requirement |
|
||||
|-----------|--------------|--------------|---------|---------------------|
|
||||
| Smuggler | `insider` (regular) | `insider` → `hostile` | Social contamination from hub (ring turns on smuggler) | Bar dialogue shifts from warm to cold. Lera stops saving the smuggler's seat. Torek stops buying rounds. |
|
||||
| Detective | `public` | `public` → `peer` | Repeated visits (3-4), becomes a regular, earns Lera's respect | Greeting dialogue warms. Sera introduces detective to regulars. Access to bar gossip unlocks. |
|
||||
|
||||
**The Ring (Smuggling Operations)**
|
||||
|
||||
| Character | Starting Tier | Likely Shift | Trigger | Content Requirement |
|
||||
|-----------|--------------|--------------|---------|---------------------|
|
||||
| Smuggler | `insider` + `peer` | `peer` → `hostile` | Suspected of cooperation with detective, unauthorized contact (like Kael) | Ring dialogue becomes interrogative. Nils questions loyalty. Operational info stops flowing. |
|
||||
| Detective | `public` (doesn't know ring exists) | `public` → `hostile` | Stumbles into ring awareness — NPCs react defensively | Immediate evasion. Doors close. No access to insider content, but NPCs' defensive behavior is itself evidence. |
|
||||
|
||||
---
|
||||
|
||||
### What Access Tier Shifts Mean for Content Packs
|
||||
|
||||
Every content pack must support:
|
||||
1. **Starting state dialogue** — the baseline access tier per character
|
||||
2. **Shifted state dialogue** — the most likely tier transition per character
|
||||
3. **Monologue that tracks the shift** — the character's internal reaction to changed access
|
||||
|
||||
Example from Kael content pack:
|
||||
|
||||
*Starting state (Friendly, insider access):*
|
||||
```yaml
|
||||
- id: terminal_d_120
|
||||
role: dock_worker
|
||||
text: "Container 4471 is flagged. I'll reroute it during shift transition."
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
notes: "Ring operational talk. Only smuggler hears this."
|
||||
```
|
||||
|
||||
*Shifted state (PersonOfInterest, insider locked out):*
|
||||
```yaml
|
||||
- id: terminal_d_121
|
||||
role: dock_worker
|
||||
text: "Shift's running smooth today. No issues."
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [shift_start]
|
||||
notes: "Post-contradiction. Kael is surface-normal. The warmth is gone. The insider content is locked."
|
||||
```
|
||||
|
||||
*Smuggler monologue tracking the shift:*
|
||||
```yaml
|
||||
- id: terminal_m_122
|
||||
character: smuggler
|
||||
trigger: post_conversation
|
||||
prerequisite:
|
||||
relationship_state: PersonOfInterest
|
||||
subject: kael_davan
|
||||
text: "Same old Kael. Same jokes, same routine. ...What are you not telling me?"
|
||||
mood: [conflicted]
|
||||
topic: [colleague]
|
||||
notes: "Phase 5: Contaminated trust. Every normal interaction is now suspicious."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Chapter 4: Divergence Escalation Curve
|
||||
|
||||
The vertical slice is 30 minutes. Divergence between the smuggler and detective experiences escalates over time. Here's the minute-by-minute curve:
|
||||
|
||||
### Minutes 0-10: Minimal Divergence
|
||||
|
||||
**Shared Experience:**
|
||||
- Both characters enter the same locations (The Terminal, The Last Shift).
|
||||
- Both see the same NPCs moving through their routines.
|
||||
- Both hear similar `public`-tier dialogue (greetings, small talk, shift schedules).
|
||||
- Both experience the same sensory atmosphere (station hum, cargo machinery, recycled air).
|
||||
|
||||
**Minimal Differences:**
|
||||
- Monologue voice is different (smuggler: casual, relational; detective: analytical, institutional).
|
||||
- NPC greetings vary by recognition (smuggler gets "There you are" from Kael; detective gets "Can I help you?" from Voss).
|
||||
- The smuggler's monologue references operational context ("shift transition in thirty minutes"). The detective's monologue references investigative context ("manifest discrepancies tied to this hub").
|
||||
|
||||
**Player Experience:**
|
||||
The two characters feel similar. The world is shared. The voice is different, but the content overlap is high. This is intentional — it establishes the baseline before divergence accelerates.
|
||||
|
||||
---
|
||||
|
||||
### Minutes 10-20: Growing Divergence
|
||||
|
||||
**Access Tiers Start to Differ:**
|
||||
- The smuggler hears `insider` dialogue from Kael, Voss, Lera. Ring operational talk. Close colleague warmth.
|
||||
- The detective hears `authority` dialogue from Maret, Drin, Voss. Institutional leverage questions. Evasive answers.
|
||||
- The smuggler's `peer` access to bar regulars unlocks gossip, complaints, social texture. The detective is still `public` at the bar — polite but distant.
|
||||
|
||||
**Monologue Pools Diverge:**
|
||||
- The smuggler's monologue starts tracking operational risk: "Torek's spending is too visible." "Maret's been quiet lately — did she notice something?"
|
||||
- The detective's monologue starts tracking behavioral tells: "Dock worker Davan — lattice activity spiked." "Voss deflected when I asked about overnight containers."
|
||||
|
||||
**NPCs Respond Differently:**
|
||||
- Kael is warm to the smuggler (Friendly relationship), clinical to the detective (Unknown or Known).
|
||||
- Sera is warm to the detective (Friendly, pre-existing contact), wary to the smuggler (Commission presence).
|
||||
- Lera is protective of regulars around the detective (defensive), casual with the smuggler (insider).
|
||||
|
||||
**Player Experience:**
|
||||
The same room. Different colors. Different names. Different monologue. The player who's played both paths starts to notice: "Wait, I didn't hear that line as the detective." The asymmetry is becoming visible.
|
||||
|
||||
---
|
||||
|
||||
### Minutes 20-30: Maximum Divergence
|
||||
|
||||
**Completely Different Internal Experiences:**
|
||||
|
||||
**Smuggler (navigating ring crisis):**
|
||||
- Kael's contradiction discovered. The FRIEND arc is in Phase 3-4 (shock, confrontation).
|
||||
- Monologue is emotionally loaded: hurt, betrayal, protectiveness, fear of exposure.
|
||||
- Access to `insider` content at The Terminal and bar. Operational dialogue about shift windows, container routing, risk management.
|
||||
- Relationship stakes are personal: "Kael is lying to me. What do I do? Confront? Protect? Report to Nils?"
|
||||
|
||||
**Detective (uncovering evidence):**
|
||||
- Sera's contradiction discovered. The FRIEND arc is in Phase 3-4 (pattern confirmed, question asked).
|
||||
- Monologue is analytically loaded: suspicion, professional conflict, moral cost of using Sera's concealment.
|
||||
- Access to `authority` content at The Terminal. Institutional leverage. Maret might cooperate. Drin might turn.
|
||||
- Relationship stakes are institutional: "Sera knows something. Do I press? Report her? Protect her?"
|
||||
|
||||
**Zero Overlap in Emotional Journey:**
|
||||
- The smuggler is inside a community facing internal betrayal.
|
||||
- The detective is outside a community trying to crack it open.
|
||||
- The same events (Kael's nervousness, Sera's avoidance, Torek's spending) mean completely different things to each character.
|
||||
|
||||
**Player Experience:**
|
||||
"I was only seeing HALF of this." The replay reveals a completely different game. Not just "I knew different things" — "I cared about different things." The divergence is total.
|
||||
|
||||
---
|
||||
|
||||
### Content Authoring Implications
|
||||
|
||||
| Minutes | Dialogue Overlap | Monologue Overlap | NPC Behavior Overlap | Content Requirement |
|
||||
|---------|-----------------|-------------------|---------------------|---------------------|
|
||||
| 0-10 | ~80% | 0% (separate pools) | ~90% (same routines) | Heavy `public` dialogue, light `insider`/`authority` |
|
||||
| 10-20 | ~50% | 0% | ~70% (NPCs start reacting differently) | Balanced `public`/`insider`/`authority`, access tier shifts begin |
|
||||
| 20-30 | ~30% | 0% | ~50% (relationships diverged) | Heavy `insider` (smuggler) and `authority` (detective), THE FRIEND arcs at peak |
|
||||
|
||||
---
|
||||
|
||||
## Chapter 5: Authoring Checklist
|
||||
|
||||
Before submitting a line, ask:
|
||||
|
||||
### Question 1: Does this line make sense if the smuggler hears it?
|
||||
|
||||
**Test:** Read the line aloud. Imagine the smuggler — a dock worker who's been on Sova for years, knows the ring from inside, thinks in operational terms, worries about people. Does this line sound like something an NPC would say TO a smuggler? Or does it assume the listener is an outsider / authority figure?
|
||||
|
||||
**Common failures:**
|
||||
- NPC explains basic station layout to the smuggler (the smuggler already knows).
|
||||
- NPC uses institutional vocabulary the smuggler wouldn't recognize ("manifest reconciliation protocol" instead of "the paperwork doesn't match").
|
||||
- NPC is defensive or evasive without cause (why would Kael be evasive with his closest colleague unless something's wrong?).
|
||||
|
||||
**Fix:** Rewrite the line for insider context. Or tag it `access: [authority, public]` so the smuggler never hears it.
|
||||
|
||||
---
|
||||
|
||||
### Question 2: Does this line make sense if the detective hears it?
|
||||
|
||||
**Test:** Read the line aloud. Imagine the detective — a Commission investigator, new to the district, analytical training, institutional frame, no prior relationships except Sera. Does this line sound like something an NPC would say TO a detective? Or does it assume the listener already belongs to the community?
|
||||
|
||||
**Common failures:**
|
||||
- NPC uses in-group slang or references without explanation (the detective doesn't have the context yet).
|
||||
- NPC is too warm / too trusting (why would Voss share operational details with an investigator?).
|
||||
- NPC volunteers sensitive information unprompted (people don't do that to authorities they don't trust).
|
||||
|
||||
**Fix:** Rewrite the line for outsider context. Or tag it `access: [insider, peer]` so the detective never hears it.
|
||||
|
||||
---
|
||||
|
||||
### Question 3: Does this line reveal something different to each character?
|
||||
|
||||
**Test:** If both characters hear this line, do they interpret it differently? Does the smuggler's monologue reaction differ from the detective's? If both characters hear "Container 4471 sat in temp storage overnight," does one read it as operational routine and the other as procedural anomaly?
|
||||
|
||||
**Common failures:**
|
||||
- The line is purely informational with no interpretive space ("The bar opens at 15:00" — both characters just learn the hours).
|
||||
- The line is so specific to one character's context that the other character's hearing it feels wrong.
|
||||
- The dual-lens difference isn't meaningful — both characters react the same way.
|
||||
|
||||
**Fix:** Add subtext. Create interpretive ambiguity. Or split the line into two versions (one `insider`, one `public`) that say similar things with different connotations.
|
||||
|
||||
---
|
||||
|
||||
### Question 4: Is the access tier correct for both characters?
|
||||
|
||||
**Test:** Check the `access` tag. If it includes `insider`, can the detective reach that tier with this NPC? (Usually no — the detective is an outsider to the ring.) If it includes `authority`, does the smuggler have authority leverage over this NPC? (Usually no — the smuggler is peer-level.)
|
||||
|
||||
**Common failures:**
|
||||
- Line tagged `access: [public, insider]` — both characters hear it, but the insider-specific content makes no sense to the detective.
|
||||
- Line tagged `access: [authority]` — detective gets institutional leverage questions, but the NPC's answer assumes peer relationship.
|
||||
- No `access` tag (defaults to `public`) — line contains sensitive information that should be tier-gated.
|
||||
|
||||
**Fix:** Be explicit. If the line only works for one character, tag it `access: [insider]` or `access: [authority]` exclusively. If it works for both, tag `access: [public, peer]` and test both readings.
|
||||
|
||||
---
|
||||
|
||||
### Question 5: Does this line advance at least one character's emotional arc?
|
||||
|
||||
**Test:** Does this line move a relationship forward? Deepen trust, reveal a contradiction, escalate tension, provide comfort, create doubt? Or is it purely functional (greeting, filler, repetition)?
|
||||
|
||||
**Common failures:**
|
||||
- Line is generic social lubricant ("Nice weather today" — there's no weather on a station).
|
||||
- Line repeats information the character already has ("Kael works at the dock" — the smuggler knows this).
|
||||
- Line doesn't connect to any NPC axis (Want, Secret, Relationship, Tolerance) or triangle tension.
|
||||
|
||||
**Fix:** Every line should serve character, relationship, or narrative. If it doesn't, cut it or replace it with a line that does. Content budget is finite. No filler.
|
||||
|
||||
---
|
||||
|
||||
## Chapter 6: THE FRIEND Specification
|
||||
|
||||
### The Pattern
|
||||
|
||||
Each playable character has one "FRIEND" NPC — a production-level complex character that exercises every content and systems pipeline at full depth. THE FRIEND is the emotional centerpiece of v0.1 and carries D-027 success criterion #3 ("player names an NPC they felt conflicted about").
|
||||
|
||||
**THE FRIEND follows a reusable pattern:**
|
||||
|
||||
| Element | Requirement |
|
||||
|---------|-------------|
|
||||
| **Relationship phases** | 3+ phases with distinct monologue registers (comfort → doubt → conflict) |
|
||||
| **Observable contradiction** | Discoverable through observation, not told through dialogue |
|
||||
| **Sympathetic motivation** | THE FRIEND isn't evil — their concealment comes from care or fear |
|
||||
| **No clean resolution** | Every choice (confront, ignore, exploit, protect) has consequences |
|
||||
| **Dual-lens resonance** | The other character's playthrough recontextualizes THE FRIEND's behavior |
|
||||
| **Triangle integration** | THE FRIEND's contradiction connects to at least one triangle |
|
||||
| **Tell progression** | 3+ observable behavioral changes the monologue system flags |
|
||||
| **Dialogue shift** | Pre-discovery and post-discovery dialogue pools feel different |
|
||||
|
||||
---
|
||||
|
||||
### Smuggler's FRIEND: Kael Davan
|
||||
|
||||
**Who:** Dock worker, Sova Transit District Logistics Hub. The smuggler's closest colleague. Ring member. Handles physical cargo routing.
|
||||
|
||||
**Surface Presentation (Minutes 0-10):**
|
||||
Warm, reliable, slightly sardonic. Greets the smuggler with genuine affection. Talks about shift schedules, complains about Voss, asks about the smuggler's weekend. Feels like the best coworker you've ever had.
|
||||
|
||||
**What the Smuggler Knows:**
|
||||
Kael is a ring member. This isn't a secret from the smuggler — it's shared context. They work together on both the legitimate side and the ring side. The smuggler trusts Kael because they've shared risk for two years.
|
||||
|
||||
**The Contradiction:**
|
||||
The smuggler sees Kael in the restricted maintenance corridor (Corridor B-7) talking to someone the smuggler doesn't recognize. Late. Off-shift. The person leaves before the smuggler gets close.
|
||||
|
||||
Smuggler monologue: *"That's Kael. But who's he talking to? I don't know that face."*
|
||||
|
||||
This is NOT the detective. This is someone from outside the ring's known network. Kael has a side arrangement the smuggler doesn't know about.
|
||||
|
||||
**The Shift Arc (Triangle 4: The Worried Partner)**
|
||||
|
||||
Kael is at the center of Triangle 4 (Naia-Kael-Sera). His partner Naia is worried about his late nights. Naia has confided in Sera (Commission field tech, the detective's FRIEND). Kael is oblivious to the anxiety he's causing. The unknown contact is someone offering to help Kael exit the ring — to protect Naia. Kael is trying to get out. But from the smuggler's perspective, any unauthorized contact is a security breach.
|
||||
|
||||
| Phase | Timing | Smuggler Observes | Monologue Register | Tell |
|
||||
|-------|--------|------------------|-------------------|------|
|
||||
| **Phase 1: Comfort** | 0-10 min | Kael is warm, reliable, present. Business as usual. | Fond, casual: *"Kael's already at the dock. Good. The day's better when he's on shift."* | None — baseline comfortable |
|
||||
| **Phase 2: First Crack** | 10-15 min | Kael checks lattice more often. Excuses himself from lunch early. | Mild concern: *"Kael's distracted today. Probably nothing."* | Behavioral: increased lattice checking, shortened interactions |
|
||||
| **Phase 3: The Contradiction** | 15-20 min | Corridor B-7. Unknown contact. Spatial deviation. | Alarm + confusion: *"That wasn't anyone from our rotation. And Kael didn't tell me about a meeting."* | Spatial: Kael in unexpected location at unexpected time |
|
||||
| **Phase 4: Confrontation** | 20-25 min | Smuggler asks. Kael deflects: "Just a thing. Don't worry about it." He's lying. | Betrayal crystallizing: *"He looked left before answering. He always looks left when he's making something up."* | Dialogue: evasion, subject change, the tell confirmed |
|
||||
| **Phase 5: Contaminated Trust** | 25-30 min | Everything looks normal again. But the smuggler is watching. | Conflicted: *"Same old Kael. Laughing at the same jokes. ...What are you not telling me?"* | Emotional: every warm interaction is now suspicious |
|
||||
|
||||
**RelationshipState Transition:**
|
||||
`Friendly` (green) → `PersonOfInterest` (amber) at Phase 3 contradiction discovery.
|
||||
|
||||
**Access Tier Shift:**
|
||||
`insider` + `peer` dialogue locks out at Phase 3. Kael still talks to the smuggler, but the warmth is gone. Only `public` + `surface` lines remain. That absence IS the narrative.
|
||||
|
||||
**Content Requirements:**
|
||||
~70-100 authored lines (no generation expansion):
|
||||
- 25-35 dialogue lines (greetings, shift talk, bar casual, ring coordination, deflection, confrontation responses)
|
||||
- 15-20 trust-gated lines (insider ring talk, close colleague warmth, secret-tier hints about wanting out)
|
||||
- 5-8 unprompted lines (Kael volunteers info early, warnings/deflections late)
|
||||
- 10-15 monologue lines (smuggler about Kael: warmth, concern, contradiction discovery, post-confrontation, contaminated trust)
|
||||
- 10-15 monologue lines (detective about Kael: identification, behavioral observation, suspicion, informant potential)
|
||||
- 5-8 tell observation lines (lattice checking, distraction, looks-left tell, spatial deviation)
|
||||
- 3-5 contradiction discovery lines (Corridor B-7 moment from multiple angles)
|
||||
|
||||
---
|
||||
|
||||
### Detective's FRIEND: Sera Venn
|
||||
|
||||
**Who:** Commission field technician, off-duty bar regular. The detective's pre-existing contact in the district. Same institutional background. Transferred to Sova a year ago. The detective's social anchor.
|
||||
|
||||
**Surface Presentation (Minutes 0-10):**
|
||||
Competent, slightly wry, comfortable in the district. When the detective visits the bar, Sera waves them over. Easy rapport. Fills in background — who the regulars are, what the district's like. The detective's guide to an unfamiliar place.
|
||||
|
||||
**What the Detective Knows:**
|
||||
Sera is reliable. She transferred for routine work after a stressful posting elsewhere. She doesn't have skin in the smuggling game. She's the detective's safe harbor.
|
||||
|
||||
**The Contradiction:**
|
||||
Sera always leaves when Torek Lintar arrives at the bar. Always. Three times in a row. Different excuses each time. "Early shift tomorrow." "Headache." "Need to check something at the kiosk."
|
||||
|
||||
Detective monologue: *"That's the third time Sera's left when Torek walked in. That's not coincidence."*
|
||||
|
||||
**The Shift Arc (Triangle 4: The Worried Partner)**
|
||||
|
||||
Sera is at the other node of Triangle 4. Naia (Kael's partner) confides in Sera about Kael's late nights. Sera — being a Commission tech with system access — ran an unofficial compliance check on Kael's work patterns. She found manifest discrepancies. She knows something is wrong. She hasn't reported it because Naia is her friend, and reporting would mean Kael gets investigated, possibly arrested, and Naia's life falls apart. Sera is sitting on unreported evidence. She avoids Torek because Torek is ring-adjacent, and she doesn't want to be seen near him while concealing what she knows.
|
||||
|
||||
| Phase | Timing | Detective Observes | Monologue Register | Tell |
|
||||
|-------|--------|-------------------|-------------------|------|
|
||||
| **Phase 1: Trust** | 0-10 min | Sera is warm, informative, helpful. Shares district intel freely. | Professional + personal warmth: *"Good to see Sera. She always was the reliable one."* | None — baseline comfortable |
|
||||
| **Phase 2: Background Data** | 10-15 min | Sera mentions Naia (Kael's partner) as "a friend." Naia joins them once. Genuine rapport. | Noting: *"Sera's connected here. Good. She knows the locals."* | Social: Sera has relationships outside institutional channels |
|
||||
| **Phase 3: The Pattern** | 15-20 min | Third departure when Torek arrives. Three different excuses. Same result. | Suspicion activating: *"That's the third time. Three excuses, one result. That's data."* | Behavioral: avoidance pattern, excuse variety, timing correlation |
|
||||
| **Phase 4: The Question** | 20-25 min | Detective asks about Torek. Sera tenses. Deflects: "He's just loud. I don't like loud drunks." | Professional analysis + personal conflict: *"She's not lying. But she's not telling me everything."* | Dialogue: controlled deflection, topic change, re-establishing warmth quickly |
|
||||
| **Phase 5: Contaminated Trust** | 25-30 min | Sera continues being helpful. Maybe MORE helpful — compensating. | Analytical doubt: *"Still the same Sera. Still reliable. ...But reliable about what?"* | Emotional: detective's observation lines shift from trusting to evaluating |
|
||||
|
||||
**RelationshipState Transition:**
|
||||
`Friendly` (green) → `PersonOfInterest` (amber) at Phase 3 pattern confirmation.
|
||||
|
||||
**Access Tier Shift:**
|
||||
`peer` dialogue available at Phase 1-2. At Phase 3, `authority` dialogue unlocks (detective can press institutional leverage questions). `peer` warmth remains but is contaminated.
|
||||
|
||||
**Content Requirements:**
|
||||
~70-100 authored lines (no generation expansion):
|
||||
- 25-35 dialogue lines (bar greetings, district orientation, Naia conversation, institutional discussion, deflection about Torek, confrontation responses)
|
||||
- 15-20 trust-gated lines (peer-tier institutional background, secret-tier hints about what she found)
|
||||
- 5-8 unprompted lines (Sera volunteers district background early, steers away from sensitive areas late)
|
||||
- 10-15 monologue lines (detective about Sera: trust/relief, pattern observation, contradiction discovery, post-confrontation)
|
||||
- 10-15 monologue lines (smuggler about Sera: institutional categorization, avoidance notation, cautious assessment)
|
||||
- 5-8 tell observation lines (avoidance pattern x3, topic deflection, overcompensation helpfulness, extended kiosk time)
|
||||
- 3-5 contradiction discovery lines (third departure from multiple angles)
|
||||
|
||||
---
|
||||
|
||||
### Why THE FRIEND Works Narratively
|
||||
|
||||
**Kael's contradiction isn't "Kael is secretly evil."**
|
||||
The contradiction is "Kael is secretly desperate, and his desperation is making him do exactly the kind of thing that could get everyone caught." The smuggler's anger is justified (protocol breach). Kael's motivation is sympathetic (protecting family). No clean answer. That's the conflict.
|
||||
|
||||
**Sera's contradiction isn't "Sera is corrupt."**
|
||||
The contradiction is "Sera is a good person making a terrible choice: loyalty to a friend vs. duty to her institution." The detective's discovery doesn't reveal a villain — it reveals a moral compromise the detective might understand. The question becomes: do I report Sera? Use what she knows? Confront and risk losing my only ally?
|
||||
|
||||
**Dual-Lens Resonance:**
|
||||
The smuggler who's played the detective path knows the investigation is closing in — Kael's exit attempt reads differently (not betrayal, desperation). The detective who's played the smuggler path knows why Sera is protecting Naia — Sera's silence reads differently (not corruption, loyalty).
|
||||
|
||||
---
|
||||
|
||||
## Chapter 7: Voice Signature
|
||||
|
||||
### Smuggler — Internal Voice Register
|
||||
|
||||
**One-line summary:** Watches people, not systems. Thinks in fragments. Worries about friends the way a dock worker worries — practically, physically, with the knot in the stomach, not the word for it.
|
||||
|
||||
#### Voice Parameters
|
||||
|
||||
| Parameter | Value | Example |
|
||||
|-----------|-------|---------|
|
||||
| **Sentence length** | Short. Fragments welcome. Rarely more than 2 sentences per monologue. | *"Kael's here. Good."* |
|
||||
| **Vocabulary** | Concrete, physical, sensory. Trade jargon (containers, manifests, shifts, routes) without explaining. No institutional language. | *"Recycled air and cargo lubricant."* Not: "Standard atmospheric recycling." |
|
||||
| **Emotional register** | Feeling-first, analysis second. Names the gut before the brain catches up. | *"Starting to worry"* before *"something's off."* |
|
||||
| **Relationship mode** | First-name basis. People defined by connection, not role. | *"Kael"* not *"Davan."* *"Voss is tense"* not *"the shift supervisor seems agitated."* |
|
||||
| **Observation priority** | People > environment > objects. Notices body language before cargo. | *"Kael keeps checking his lattice"* before *"Container 4471 is still in temp."* |
|
||||
| **Operational thinking** | Present when thinking about the job. Time-aware, route-aware, schedule-aware. Filtered through "is this safe for my people?" | *"Transition window opens in fifty minutes."* |
|
||||
| **Self-reference** | Rare. Thinks about others, not herself. When it occurs, through physical sensation. | *"My stomach dropped"* not *"I feel betrayed."* |
|
||||
| **Humor** | Dry, situational, understated. Dark when stressed. Never witty. | *"Home sweet home"* about a cargo bay. |
|
||||
|
||||
**What the smuggler doesn't do:**
|
||||
- Doesn't analyze systems.
|
||||
- Doesn't use institutional vocabulary.
|
||||
- Doesn't explain things to herself that she already knows.
|
||||
- Doesn't monologue in paragraphs.
|
||||
|
||||
#### Voice Anchors (Reference Lines)
|
||||
|
||||
These 5 lines define the boundaries. Every smuggler monologue should feel like it could sit next to these:
|
||||
|
||||
1. **Baseline warm:** *"Kael's already at the dock. Good. The day's better when he's on shift."*
|
||||
2. **Operational:** *"Shift transition in thirty minutes. If Voss kept the schedule thin, the route's clear."*
|
||||
3. **Concerned:** *"Kael keeps checking his lattice. Waiting for a message? Not like him to be jumpy."*
|
||||
4. **Hurt:** *"He looked left. He always looks left when he's making something up. Two years I've known that tell. Kael is lying to me."*
|
||||
5. **Atmospheric:** *"Morning shift. Recycled air and cargo lubricant. Home sweet home."*
|
||||
|
||||
#### Anti-Patterns (What the Smuggler Does NOT Sound Like)
|
||||
|
||||
- *"I should investigate this anomaly further."* (Too clinical. She'd think: *"That's not right."*)
|
||||
- *"The scheduling irregularity suggests systemic manipulation."* (Institutional vocabulary. She'd think: *"Voss changed the rotation again."*)
|
||||
- *"I need to consider the implications of Kael's behavior for our operational security."* (Analytical distance. She'd think: *"What the hell is Kael doing?"*)
|
||||
- *"According to the manifest, container 4471 should weigh 240 kilograms."* (Explaining what she already knows. She'd think: *"4471's heavy. Too heavy."*)
|
||||
|
||||
---
|
||||
|
||||
### Detective — Internal Voice Register
|
||||
|
||||
**One-line summary:** Categorizes first, feels second. Thinks in complete sentences. The institutional training runs in the background like an operating system — it never turns off, but sometimes the human overrides it.
|
||||
|
||||
#### Voice Parameters
|
||||
|
||||
| Parameter | Value | Example |
|
||||
|-----------|-------|---------|
|
||||
| **Sentence length** | Complete sentences, but not long. More structured than the smuggler. Occasional fragments for emphasis. | *"Standard prefab, heavy foot traffic. Let's see what the shift change tells me."* |
|
||||
| **Vocabulary** | Institutional layer over plain speech. Professional terms: "case file," "filing it," "noted," "flagged." Not technical jargon — investigative habit. | *"Dock worker. Davan, K. Unremarkable on paper."* The surname-comma-initial is institutional reflex. |
|
||||
| **Emotional register** | Analysis-first, personal second. When personal breaks through, it's notable — a crack in the professional surface. | *"She's not lying. But she's not telling me everything. Sera, what do you know?"* The first-name appeal IS the emotion. |
|
||||
| **Relationship mode** | Surname-first for targets and unknowns. First-name for allies and trusted. The shift IS a relationship marker. | *"Davan, K."* early → *"Kael"* never (smuggler's FRIEND, not detective's). *"Sera"* always (detective's FRIEND). |
|
||||
| **Observation priority** | Patterns > people > environment. Notices deviations from expected before noticing the person. | *"That's twice now"* before *"Sera leaves."* The count matters more than the actor. |
|
||||
| **Analytical thinking** | Automatic. Counts, tracks, flags. Self-directs: "filing it," "noted," "coincidence?" Internal bookkeeping. | *"Three times. Three excuses. That's data."* |
|
||||
| **Self-reference** | More common than the smuggler, but always through professional lens. Monitors own state as evidence. | *"I'm reading too much into this"* — self-aware about analytical bias. |
|
||||
| **Humor** | Wry, observational. Appreciates irony at a distance. Can laugh at himself. Never cruel. | *"Only place in this district that doesn't smell like freight lubricant."* |
|
||||
|
||||
**What the detective doesn't do:**
|
||||
- Doesn't think in fragments (that's the smuggler).
|
||||
- Doesn't use trade jargon he hasn't learned.
|
||||
- Doesn't name-drop relationships he doesn't have.
|
||||
- Doesn't express vulnerability directly — it leaks, he doesn't pour.
|
||||
|
||||
#### Voice Anchors (Reference Lines)
|
||||
|
||||
1. **Clinical baseline:** *"Logistics hub. Standard prefab, heavy foot traffic. Let's see what the shift change tells me."*
|
||||
2. **Pattern recognition:** *"That's the third time. Sera leaves when Torek arrives. Three different excuses, same result. That's not coincidence."*
|
||||
3. **Personal leak:** *"Good to see Sera. She always was the reliable one. At least someone in this district speaks my language."*
|
||||
4. **Conflicted:** *"Same booth. Same warm smile. Same offer to buy me a drink. ...Everything except whatever she's not saying."*
|
||||
5. **Atmospheric:** *"Grain spirit and low conversation. Only place in this district that doesn't smell like freight lubricant."*
|
||||
|
||||
#### Anti-Patterns (What the Detective Does NOT Sound Like)
|
||||
|
||||
- *"Kael's here. Good."* (Too terse. That's the smuggler. The detective: *"Davan's on shift. Standard."*)
|
||||
- *"I feel uneasy about Sera's behavior."* (Direct emotional vocabulary. He'd think: *"Something's off with Sera. Can't place it yet."*)
|
||||
- *"This container has been tampered with, indicating smuggling activity."* (Explaining the obvious. He'd think: *"Weight's wrong. Noted."*)
|
||||
- *"My heart sank when I saw the evidence."* (Physical emotion — smuggler's register. Detective: *"Didn't want to see that. But there it is."*)
|
||||
|
||||
---
|
||||
|
||||
### Voice Register Comparison — Same Observation, Two Characters
|
||||
|
||||
**Trigger:** Seeing a container in temp storage overnight.
|
||||
|
||||
- **Smuggler:** *"That container's been in temp since yesterday. Someone forgot to process it, or someone's stalling."*
|
||||
- **Detective:** *"Container in overnight temp. Unusual for a hub this size — turnaround is normally sub-eight hours. Flag it."*
|
||||
|
||||
**Trigger:** Entering the bar.
|
||||
|
||||
- **Smuggler:** *"Lera's. Grain spirit and noise. Could use both right now."*
|
||||
- **Detective:** *"The Last Shift. Same crowd as yesterday. Let's see who's NOT here tonight."*
|
||||
|
||||
**Trigger:** Noticing Naia Tamm is upset.
|
||||
|
||||
- **Smuggler:** *"Naia looks rough today. Should check on her later."*
|
||||
- **Detective:** *"Tamm seems distressed. Not her baseline. Something at home, or something she's heard?"*
|
||||
|
||||
**Trigger:** Hearing raised voices behind a door.
|
||||
|
||||
- **Smuggler:** *"Raised voices from the back room. Devra's in there. That's not a brokering call."*
|
||||
- **Detective:** *"Arguing behind that door. The bartender didn't flinch. Either she's used to it or she knows what it is."*
|
||||
|
||||
---
|
||||
|
||||
## Conclusion
|
||||
|
||||
The dual-lens rule is simple: **one world, two perspectives, zero shared monologue lines.** Every content piece must work for both characters. The smuggler sees home and sees betrayal. The detective sees a crime scene and sees moral complexity. Same NPCs. Same locations. Completely different games.
|
||||
|
||||
Write for the voice. Tag for the system. Test for both lenses. Cut ruthlessly.
|
||||
|
||||
That's the job.
|
||||
|
||||
---
|
||||
|
||||
**End Dual Lens Authoring Guide v0.1**
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Environmental Text Examples"
|
||||
description: "Worked examples of diegetic environmental text — bar menus, safety notices, news tickers, corridor graffiti — with dual-lens monologue pairings"
|
||||
slug: environmental-text-examples
|
||||
category: authoring-guide
|
||||
status: canonical
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
# Line ID Authoring Guide
|
||||
|
||||
**Decision:** D-084 (dual-namespace line ID scheme)
|
||||
**Resolves:** Q-028 (collision-resistant IDs for auto-generated NPCs)
|
||||
**Ticket:** #544
|
||||
|
||||
---
|
||||
|
||||
## The Short Version
|
||||
|
||||
- **Role pool lines:** Use `{role-slug}_d_{###}` — e.g., `dock-worker_d_001`. These lines are shared by all NPCs with that role. This is the default for all auto-generated NPC content.
|
||||
- **Named NPC lines:** Use `{npc-slug}_d_{###}` — e.g., `kael-davan_d_001`. Unchanged from current practice.
|
||||
- **Instance-specific lines (rare):** Use `{role-slug}-{counter}_d_{###}` — e.g., `dock-worker-07_d_001`. Only needed when a specific generated NPC needs content different from the role pool.
|
||||
|
||||
---
|
||||
|
||||
## How Line IDs Work
|
||||
|
||||
A line ID identifies **content**, not speaker. The speaker is identified by their `StableId` in the history log. So `dock-worker_d_001` being said by 40 different dock workers is correct: the log records `(StableId: 12, dock-worker_d_001)`, `(StableId: 37, dock-worker_d_001)`, etc. No collision.
|
||||
|
||||
This means the role pool approach already handles most cases — the "collision problem" is mainly a concern for the rare case where you want a specific generated NPC to say something *different* from others of the same role.
|
||||
|
||||
---
|
||||
|
||||
## Namespace Reference
|
||||
|
||||
### Named NPC lines (Tier 1 and Tier 2 authored NPCs)
|
||||
|
||||
```
|
||||
Format: {npc-slug}_{content-type}_{###}
|
||||
Example: kael-davan_d_001 (Kael's dialogue line 1)
|
||||
sera-venn_d_015 (Sera's dialogue line 15)
|
||||
pc-smuggler_m_s_001 (Smuggler monologue line 1)
|
||||
```
|
||||
|
||||
File location: One file per NPC (e.g., `dialogue/maintenance-corridors/kael-davan.yaml`)
|
||||
|
||||
Numbering: Sequential within the file. Gaps are acceptable (deleted lines leave permanent gaps). Never reuse a number.
|
||||
|
||||
---
|
||||
|
||||
### Role pool lines (auto-generated NPCs, Tier 3 flat, Tier 2 mundane)
|
||||
|
||||
```
|
||||
Format: {role-slug}_{content-type}_{###}
|
||||
Example: dock-worker_d_001 (any dock worker, dialogue line 1)
|
||||
bar-regular_d_008 (any bar regular, dialogue line 8)
|
||||
transit-worker_d_003 (any transit worker, dialogue line 3)
|
||||
```
|
||||
|
||||
File location: One file per role-at-location (e.g., `dialogue/the-terminal/dock-worker.yaml`)
|
||||
|
||||
These lines are shared by **all instances** of the role. Write them to suit any dock worker, not a specific one.
|
||||
|
||||
---
|
||||
|
||||
### Instance-specific lines (opt-in, rare)
|
||||
|
||||
Use only when the generation system has flagged a specific NPC as needing content that differs from the role pool. Examples: a generated dock worker who is also a triangle member with a specific tell; a generated bar regular who witnessed a specific event.
|
||||
|
||||
```
|
||||
Format: {role-slug}-{zero-padded counter}_{content-type}_{###}
|
||||
Example: dock-worker-07_d_001 (instance 7 of dock-worker role, line 1)
|
||||
bar-regular-02_d_005 (instance 2 of bar-regular role, line 5)
|
||||
```
|
||||
|
||||
The counter (01, 02, ... N) is assigned by the generation system in world-seed-deterministic order. The NPC's generated profile file will tell you which counter to use.
|
||||
|
||||
File location: Same directory as the role pool file, separate file with instance slug as name (e.g., `dialogue/the-terminal/dock-worker-07.yaml`)
|
||||
|
||||
---
|
||||
|
||||
## Quick Decision Guide
|
||||
|
||||
| Situation | ID format to use |
|
||||
|-----------|------------------|
|
||||
| Named authored NPC (Kael, Sera, Voss...) | `{npc-slug}_d_{###}` |
|
||||
| Lines any dock worker can say | `dock-worker_d_{###}` |
|
||||
| Lines any bar regular can say | `bar-regular_d_{###}` |
|
||||
| Generated NPC with specific triangle role | `{role-slug}-{counter}_d_{###}` |
|
||||
| Generated NPC who's just background | `{role-slug}_d_{###}` — no instance ID needed |
|
||||
|
||||
---
|
||||
|
||||
## Schema Compatibility
|
||||
|
||||
The existing ID regex `^[a-z][a-z0-9-]*_[dme]_\d{3}$` accepts all three formats. No schema change is required. The content validator (`make validate-content`) checks for duplicate IDs across all files in a district.
|
||||
|
||||
---
|
||||
|
||||
## Numbering Rules
|
||||
|
||||
1. Start at `001`, increment by 1 for each new line.
|
||||
2. Never reuse a number, even if a line is deleted. Gaps are fine.
|
||||
3. Lines within a single file have a contiguous prefix — `dock-worker_d_001` through `dock-worker_d_042`, etc.
|
||||
4. Cross-file: `kael-davan.yaml` at the terminal and `kael-davan.yaml` at maintenance corridors both use the `kael-davan_d_###` namespace. Continue numbering from where the other file left off (check the existing files first, use a fresh sequence if the NPC is new to a location).
|
||||
|
||||
---
|
||||
|
||||
*D-084 — authored by Gestalt, Sprint 18*
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Monologue Authoring Guide"
|
||||
description: "How to write tagged monologue and dialogue content — tag taxonomy, prerequisite format, situation overlap rules, and voice discipline"
|
||||
slug: monologue-guide
|
||||
category: authoring-guide
|
||||
status: canonical
|
||||
|
||||
@@ -0,0 +1,480 @@
|
||||
# Monologue Voice Guide: Trait, Background, and Mood Modifiers
|
||||
|
||||
**Ticket:** #121
|
||||
**Authors:** Paula (narrative framing), Mellanie (example lines — see Section notes)
|
||||
**Gestalt:** validate mood → delivery mappings are mechanically coherent
|
||||
**Date:** 2026-02-20
|
||||
**Status:** Draft — narrative framing complete; Mellanie to supply example lines per section
|
||||
|
||||
**Cross-references:**
|
||||
- [Monologue Content Architecture](../../docs/design/monologue-content-architecture.md) — the authoring contract this document extends
|
||||
- [Voice Patterns](../../docs/design/voice-patterns.md) — sentence-level execution (contractions, punctuation, sentence length)
|
||||
- [Dual Lens Authoring Guide](dual-lens-authoring-guide.md) — Chapter 7 (base voice registers)
|
||||
- D-024: NPC triangle model — PersonalityTraits list (10 axes)
|
||||
- D-035: tag taxonomy — mood enum (8+1 moods)
|
||||
|
||||
---
|
||||
|
||||
## Document Purpose
|
||||
|
||||
This document answers one question: **given that both characters have established voice registers, what happens to those registers when we vary personality traits, character backgrounds, and mood states?**
|
||||
|
||||
The monologue architecture defines *what* characters think about. The voice patterns spec defines *how* they write sentences. This document defines the *inflection layer* — how the same thought sounds different from a Cautious smuggler versus a Bold one, from a character with Guardian background versus Worker background, in an Anxious moment versus a Content one.
|
||||
|
||||
The goal is not separate scripts per trait/background/mood. The goal is a **transformation guide**: a set of rules that let Mellanie take a base line and render it correctly for any combination of modifiers, without writing from scratch.
|
||||
|
||||
---
|
||||
|
||||
## Chapter 1: Base Voice Registers — The Narrative Framing
|
||||
|
||||
The voice-patterns.md spec describes the mechanics of each character's voice. This chapter explains *why* those mechanics exist — the psychological and experiential logic that makes the voice real. Understanding the "why" allows you to make correct decisions when the spec doesn't cover an edge case.
|
||||
|
||||
### 1.1 The Smuggler: Concrete Cognition
|
||||
|
||||
The smuggler's voice is not the result of low intelligence or limited vocabulary. It's the result of two years of professional survival in a context where abstract thinking is dangerous.
|
||||
|
||||
When you're running contraband through a logistics hub, you can't afford to think in categories — you think in specifics. Not "this situation is getting risky" but "Voss changed the rotation and Kael's not answering his lattice." Abstract framing makes patterns invisible. Concrete framing catches the deviation.
|
||||
|
||||
The smuggler's internal voice is trained, not natural. She developed it. It served her. The short sentences and fragments aren't lack of complexity — they're the mental habit of someone who learned to think in real-time decision points. "Kael's late. Wrong. Move." Three thoughts, three beats, three potential action triggers. Abstract cognition is a liability she's edited out.
|
||||
|
||||
**The emotional truth beneath the voice:** She cares about people first. Operations second. Institutions never. The concrete voice maps onto this: she sees people, not systems. She notices Kael is distracted before she notices the manifest is wrong. The world is a network of relationships, and her monologue is live monitoring of that network.
|
||||
|
||||
**What this means for trait and mood modifiers:** When trait or mood modifiers inflect the smuggler's voice, they do so within this framework. A Bold smuggler is still concrete-first — she just acts on partial information faster. An Anxious smuggler is still relational — she just cycles through the network faster, checking and rechecking. The base is immovable. The modifiers inflect it.
|
||||
|
||||
### 1.2 The Detective: Analytical Cognitive Frame
|
||||
|
||||
The detective's voice is institutional training running as an operating system. He was taught to externalise his cognition — to turn observations into filed reports, to name patterns as data, to treat emotional reactions as information to be processed rather than feelings to be felt.
|
||||
|
||||
This is not coldness. It's self-protection. Investigators who let themselves feel first make bad decisions. The detective learned that lesson somewhere — we don't know where, but it's in the bone. The analytical frame is a tool he uses so well he's forgotten it's a tool. Except when Sera makes him forget.
|
||||
|
||||
The longer sentences and complete syntactic structures aren't pretension. They're habits of evidence: a complete sentence has a subject, verb, and object, which means it has an agent, an action, and a consequence. The detective's brain naturally produces complete sentences because incomplete sentences don't file well.
|
||||
|
||||
**The emotional truth beneath the voice:** He cares about doing the work correctly. Not because he's a rule-follower (he'd bend a rule if the evidence demanded it), but because he believes the correct process produces the correct result. When Sera introduces doubt into that belief, the whole framework shudders. His fear isn't being wrong about a fact — it's discovering that correct process produced an unjust outcome, and having no language for what comes next.
|
||||
|
||||
**What this means for trait and mood modifiers:** Detective trait modifiers inflate or compress the analytical frame. A Compassionate detective lets the personal break through the professional more easily. A Ruthless detective turns the analytical frame into a weapon — identifies leverage faster, doesn't dwell on moral weight. Mood modifiers thin or thicken the professional veneer. The base is the analyst. The modifiers determine how much of the person shows through.
|
||||
|
||||
---
|
||||
|
||||
## Chapter 2: Personality Trait Modifiers
|
||||
|
||||
D-024 defines 10 personality traits across 5 opposing pairs. These modify the *delivery* of monologue, not the *content*. The same base line should be writable in any trait version. The trait changes the sentence-level texture: hedging vs. assertion, relational vs. operational framing, question vs. declaration.
|
||||
|
||||
**Authoring note:** Traits come in pairs. An NPC (or player character) has values along the axis — a 3-point scale: Trait A (strong), Trait A (mild), Neutral, Trait B (mild), Trait B (strong). For monologue, we write for the strong expression of each trait. Mild expressions are interpolations that Mellanie can derive.
|
||||
|
||||
---
|
||||
|
||||
### 2.1 Cautious ↔ Bold
|
||||
|
||||
**The axis:** How much information does the character need before acting (or thinking forward to action)?
|
||||
|
||||
**Cautious — transformation logic:**
|
||||
A Cautious character qualifies her observations before she acts on them. She notices things in the same order as a neutral character, but she checks her own conclusions. She hedges internally. She is not less intelligent — she is more aware that she might be wrong.
|
||||
|
||||
- Declarations become conditionals: "That's Kael's route" → "That looks like Kael's route"
|
||||
- Observations become questions: "Something's off" → "Something might be off"
|
||||
- Concern arrives earlier and stays longer (more re-checking)
|
||||
- The voice is slower, more tentative
|
||||
|
||||
**How this inflects each character:**
|
||||
- *Cautious smuggler:* More checking, more revisiting. Sees the same deviation, holds the conclusion longer before committing. Her concern accumulates quietly rather than crystallizing fast. Phrases like "probably," "maybe," "could be" appear more. She doesn't voice suspicion until she's sure — then she's very sure.
|
||||
- *Cautious detective:* Qualifies his filings. "Unusual behavior" becomes "behavior that may deviate from baseline." He is extremely careful about premature conclusions. His analytical questions multiply before resolving. This character is hard to rattle because he expects to be uncertain.
|
||||
|
||||
**Bold — transformation logic:**
|
||||
A Bold character acts on partial information. She names the conclusion before she has the evidence. She's often right — bold cognition built on competence. But she's also capable of committing to a wrong read and holding it too long.
|
||||
|
||||
- Questions become declarations: "Something might be off" → "Something's off"
|
||||
- Hedges disappear: "That looks like Kael's route" → "That's Kael's route"
|
||||
- Concern arrives fast and crystallizes immediately
|
||||
- The voice is faster, more assertive, shorter latency between observation and conclusion
|
||||
|
||||
**How this inflects each character:**
|
||||
- *Bold smuggler:* She names it. Fast. Doesn't wait for confirmation. Her operational thinking has a "move first, verify later" quality. Lines are shorter, more declarative, fewer qualifiers.
|
||||
- *Bold detective:* His analytical sentences become more assertive. Fewer conditionals. He "flags" things as facts before he's confirmed them. This character is easier to manipulate through his own confidence.
|
||||
|
||||
**Mellanie — write 2-3 example rewrite pairs per character (base line → Cautious version, base line → Bold version). Reference the voice anchors from voice-patterns.md Chapter 7 as the base.**
|
||||
|
||||
---
|
||||
|
||||
### 2.2 Honest ↔ Deceptive
|
||||
|
||||
**The axis:** How accurately does the character represent observations — to themselves, in their own internal voice?
|
||||
|
||||
**Honest — transformation logic:**
|
||||
An Honest character's monologue is self-correcting. She catches her own spin and revises it. She doesn't lie to herself to feel better. This makes her monologue have a characteristic pattern: initial reaction, then correction.
|
||||
|
||||
- Self-correction appears: "Kael's fine. — No. He's not fine."
|
||||
- Less motivated reasoning: she acknowledges evidence she doesn't want to see
|
||||
- The voice is slightly more uncomfortable with its own conclusions
|
||||
- She doesn't minimize things that scare her
|
||||
|
||||
**Deceptive — transformation logic:**
|
||||
A Deceptive character's internal voice shows motivated reasoning. She rationalizes what she wants to be true. She notices threatening evidence and then explains it away. This is not dishonest *about others* — it's dishonest with herself.
|
||||
|
||||
- Conclusions favor the preferred reading: "Kael's meeting someone I don't know. Probably work."
|
||||
- Dismissal appears quickly after observation: "Could be nothing. Probably is nothing."
|
||||
- She notices the tell and then chooses not to follow it
|
||||
- The voice has a self-soothing quality, particularly under threat
|
||||
|
||||
**How this inflects each character:**
|
||||
- *Honest smuggler / Honest detective:* Harder on themselves. The self-correction pattern creates vulnerability — they see things they don't want to see and say so.
|
||||
- *Deceptive smuggler / Deceptive detective:* The internal voice becomes unreliable in a new way (D-016 establishes the unreliable narrator function — this makes it more pronounced). They rationalize the FRIEND contradiction longer. The player has to read against the grain.
|
||||
|
||||
**Mellanie — write 2-3 example rewrite pairs: same observation, Honest version vs. Deceptive version.**
|
||||
|
||||
---
|
||||
|
||||
### 2.3 Compassionate ↔ Ruthless
|
||||
|
||||
**The axis:** How much does concern for others' wellbeing inflect the character's internal assessment?
|
||||
|
||||
**Compassionate — transformation logic:**
|
||||
A Compassionate character's first read of a situation is through the lens of what it means for people she cares about. She identifies the person most likely to be hurt before she identifies the operational implication.
|
||||
|
||||
- People-first sequencing: observation of person → emotional assessment → operational conclusion
|
||||
- Concern is named: "Naia looks exhausted. Something's wrong at home."
|
||||
- She personalizes abstract threats: not "ring security is compromised" but "Kael could get caught"
|
||||
- Moral weight is felt quickly and stays present
|
||||
|
||||
**Ruthless — transformation logic:**
|
||||
A Ruthless character assesses utility before empathy. She notices a threat and immediately calculates how to neutralize it, including through people. This is not cruelty — it's a habit of assessment that puts operational outcome first.
|
||||
|
||||
- Utility assessment appears early: "Kael's behavior is risky. If he cracks, he takes the route with him."
|
||||
- Moral weight is noted and set aside: "He might not deserve this. Doesn't matter right now."
|
||||
- People are resources first: "Maret's nervous. That's usable."
|
||||
|
||||
**How this inflects each character:**
|
||||
- *Compassionate smuggler:* Most Naia-and-Kael-focused. Her FRIEND arc lines emphasize relationship cost over operational cost. She confronts Kael later because she keeps hoping he'll explain.
|
||||
- *Ruthless smuggler:* Calculates exposure fast. Cuts contact with Kael earlier once he's flagged. Sees Naia's distress as a data point about Kael's reliability, not as a human problem.
|
||||
- *Compassionate detective:* The Sera question hits harder and sooner. He identifies the personal cost before the institutional obligation.
|
||||
- *Ruthless detective:* Uses Sera's knowledge instrumentally. The friendship is real, but usable.
|
||||
|
||||
**Mellanie — write 2 example rewrite pairs per character: the same FRIEND-arc moment in Compassionate vs. Ruthless voice.**
|
||||
|
||||
---
|
||||
|
||||
### 2.4 Curious ↔ Incurious
|
||||
|
||||
**The axis:** Does the character lean into questions they can't immediately answer, or redirect to what they know?
|
||||
|
||||
**Curious — transformation logic:**
|
||||
A Curious character asks more internal questions, including questions she can't answer. She sits with open threads longer. She generates hypotheses and lets them hang.
|
||||
|
||||
- Questions multiply before resolving: "What was Kael doing there? Who was that? Is the route changing? Is Nils moving the window?"
|
||||
- The voice has more speculative energy — she follows the thread
|
||||
- She notices more at the margins: background details, things that don't connect yet
|
||||
- Open-endedness is comfortable
|
||||
|
||||
**Incurious — transformation logic:**
|
||||
An Incurious character categorizes and moves on. She notices, files, and redirects to the actionable. Open questions without operational payoff are dead weight.
|
||||
|
||||
- Questions resolve fast or don't appear: "That's wrong." Not "Is that wrong? Why?"
|
||||
- The voice is more efficient, less ruminative
|
||||
- She notices less at the margins — processes what's relevant
|
||||
- Ambiguity is uncomfortable; she resolves it one way or another and moves
|
||||
|
||||
**Mellanie — write 1-2 example rewrite pairs: same observation, Curious vs. Incurious voice.**
|
||||
|
||||
---
|
||||
|
||||
### 2.5 Social ↔ Reclusive
|
||||
|
||||
**The axis:** How much does the character define situations through social relationships vs. environmental or operational facts?
|
||||
|
||||
**Social — transformation logic:**
|
||||
A Social character's monologue is populated. She mentions people when she could just mention actions. She frames operations through the network.
|
||||
|
||||
- People are named when not necessary: "The route's clear. Kael cleared it."
|
||||
- She reads absence: "Where's Renn today? He's always here at this hour."
|
||||
- Mood-reads appear: "Voss is different today. Tired, or something else."
|
||||
|
||||
**Reclusive — transformation logic:**
|
||||
A Reclusive character's monologue is depopulated. People appear when they're directly relevant. The environment and operation carry more weight.
|
||||
|
||||
- Operations are mentioned without actors: "Route's clear." Not "Kael cleared the route."
|
||||
- Absence of people is comfortable: she doesn't notice it
|
||||
- The environment gets more attention: she describes the space, the sounds, the texture
|
||||
|
||||
**Mellanie — write 1-2 example rewrite pairs: same moment, Social vs. Reclusive voice.**
|
||||
|
||||
---
|
||||
|
||||
## Chapter 3: Background-Dependent Phrasing
|
||||
|
||||
Character background (selected at game start) shapes three things in monologue: the idioms and references the character uses, the assumptions they make about institutions and authority, and how they frame the moral dimension of what's happening in Sova Transit District.
|
||||
|
||||
Three backgrounds for v0.1:
|
||||
|
||||
| Background | Core assumption | Relationship to institutions |
|
||||
|-----------|----------------|------------------------------|
|
||||
| **Guardian** | Institutions serve the powerful; collective protection requires network | Distrust of Commission; network solidarity as primary value |
|
||||
| **Senator** | Systems can be worked; leverage and process are the tools | Works within institutions while managing them; political capital logic |
|
||||
| **Worker** | Survival in tight margins; coworker loyalty is the only reliable thing | Neither trusts institutions nor fights them; accepts them as weather |
|
||||
|
||||
---
|
||||
|
||||
### 3.1 Guardian Background
|
||||
|
||||
**Narrative framing:** Someone with Guardian background has, at some point, been in a network that operated outside or against institutional authority — Guardians of Autonomy, community mutual aid, or simply lived experience of Commission overreach in their origin system. They think in terms of *who protects whom* and *who's watching*. They're not necessarily political; they may have absorbed these values experientially without ideological labels.
|
||||
|
||||
**How it inflects the smuggler:**
|
||||
The ring's activities are, to a Guardian-background smuggler, a natural extension of the protective network logic she already believes in. She doesn't see herself as a criminal — she sees herself as part of a system that serves people the regulated system won't. This changes how she frames the ring's cargo: medical lattice components aren't contraband, they're access. The Commission's regulation is a monopoly problem, not a safety protection.
|
||||
|
||||
Her monologue references network solidarity: "We look after our own" is a value, not just a statement. When the network is threatened (Kael's situation), her response is to protect, not to report. The Commission is not a solution to her problems — it's the problem with different uniforms.
|
||||
|
||||
Idiom signals: phrases that imply collective or mutual protection ("we look after our own," "this keeps us safe," "not their business"), references to surveillance as adversarial ("they're watching the corridors closer"), reflexive Commission-skepticism ("another Commission inspection" carries more weight, more contempt).
|
||||
|
||||
**Mellanie — write 2 examples:** (a) Guardian-background smuggler entering The Terminal on a normal morning; (b) Guardian-background smuggler seeing the detective for the first time.
|
||||
|
||||
**How it inflects the detective:**
|
||||
A Guardian-background detective is in a structurally uncomfortable position: she believes in a community's right to self-determination but is employed by the institution that overrides it. She may have unexamined tension between her institutional role and her network values. Her internal voice sometimes catches itself applying institutional logic and stops — not from disloyalty, but from the habit of checking whether what she's doing serves people or just process.
|
||||
|
||||
This creates a more nuanced reading of the ring: she notices earlier that it isn't weaponry, that the people running it aren't villains, that the moral picture is complicated. The analytical frame doesn't disappear — it processes the evidence correctly — but the conclusion "this is a crime" arrives with more friction than for a default-background detective.
|
||||
|
||||
Idiom signals: slight Commission-skepticism applied to her own role, instinct toward community protection over prosecution, "who does this actually hurt?" appears as an internal question earlier in the arc.
|
||||
|
||||
**Mellanie — write 2 examples:** (a) Guardian-background detective walking through The Terminal for the first time; (b) Guardian-background detective after a confrontation with Voss that didn't land.
|
||||
|
||||
---
|
||||
|
||||
### 3.2 Senator Background
|
||||
|
||||
**Narrative framing:** Senator background means exposure to Concord Assembly political culture — either through family, prior work, or a posting in an administrative center. This character thinks in terms of leverage, political capital, and institutional process as tools to be used. They believe in systems (not naively — they've seen how they work), they communicate strategically, and they think about consequences in terms of how they're recorded and remembered.
|
||||
|
||||
**How it inflects the smuggler:**
|
||||
A Senator-background smuggler is an unusual animal. She ended up on Sova with this background for reasons that suggest a fall — political family, bad posting, something that deposited her in freight work. She still thinks in political terms. The ring is, to her, a structure with power dynamics that can be managed. She assesses Nils as a faction leader, Voss as a compromisable middle manager, Kael as an uncertain ally. She has more framework for navigating institutional pressure than the default smuggler.
|
||||
|
||||
Her monologue carries strategic calculation that the default smuggler doesn't have: "If Nils moves against us, who has leverage over Nils?" She names power structures. She's more comfortable with authority figures because she spent time being one or adjacent to one.
|
||||
|
||||
Idiom signals: political vocabulary deployed in operational context ("who holds the leverage here," "what does this cost us politically," "that's a favor spent"), more awareness of chain of command, comfort with complexity and multiple-move thinking.
|
||||
|
||||
**Mellanie — write 2 examples:** (a) Senator-background smuggler reading a tense moment between Voss and Nils; (b) Senator-background smuggler deciding whether to warn Kael about the detective.
|
||||
|
||||
**How it inflects the detective:**
|
||||
A Senator-background detective is most at home in the Commission's formal institutional structure. He knows how to work the process because he's seen political process at close range. He's less likely to be frustrated by bureaucratic obstacles and more likely to use them as tools. He's also more aware of how investigations can be used politically — and more careful to distinguish between evidence that serves justice and evidence that serves someone's career.
|
||||
|
||||
This can work two ways: he's more sophisticated about when to file and when not to, and he's more aware that the ring is a political problem as well as a criminal one. The Syndic connections in the ring's supply chain are visible to him as political economy, not just logistics.
|
||||
|
||||
Idiom signals: references to political process ("that'll go on record," "who is this actually going to serve"), awareness of institutional optics, formal courtesy in internal voice (he holds standards in private that mirror public institutional expectations).
|
||||
|
||||
**Mellanie — write 2 examples:** (a) Senator-background detective receiving unhelpful cooperation from Maret (deflection, formal compliance); (b) Senator-background detective realizing Sera has evidence she hasn't reported.
|
||||
|
||||
---
|
||||
|
||||
### 3.3 Worker Background
|
||||
|
||||
**Narrative framing:** Worker background is the default — or close to it. Born and raised in the working logistics economy of a station or freight hub. Grew up with shift schedules, margin pressure, and coworker bonds as primary social fabric. Institutions are not enemies (the Guardian stance) or tools (the Senator stance) — they're weather. You work around them when you can, you deal with them when you can't, and you don't waste energy on ideology about them.
|
||||
|
||||
**How it inflects the smuggler:**
|
||||
The Worker-background smuggler is the closest to the spec as written — she *is* the baseline. The ring isn't an ideological project; it's a response to economic conditions. The moral dimension is simple: this is what keeps people fed. She doesn't dress it up. She doesn't philosophize about Commission regulation. She just runs the job.
|
||||
|
||||
Her monologue about the ring's cargo is practical, not moral: "Medical components. That's for people who need lattice work they can't afford." She's not celebrating it. She's explaining it to herself, briefly, and moving on. She's the character most likely to be genuinely conflicted when the ring puts people she knows at risk — because she joined for community, and the community is now in danger.
|
||||
|
||||
Idiom signals: shift-economy references ("that's a week's pay gone"), physical work vocabulary, coworker solidarity language that's practical not sentimental ("you cover for your people"), no ideological framing.
|
||||
|
||||
**Mellanie — write 2 examples:** (a) Worker-background smuggler after a long shift where nothing went wrong (genuine relief in mundane form); (b) Worker-background smuggler finding out about Kael's corridor meeting.
|
||||
|
||||
**How it inflects the detective:**
|
||||
A Worker-background detective is a less common institutional profile — someone who came up from the logistics world, or the adjacent working community of a station, and then entered Commission work. This creates the most dramatic read of the Sova Transit District: he *knows* what this world looks like from inside. The community's distrust of him isn't abstract — he grew up in a community that had this relationship with Commission investigators.
|
||||
|
||||
His analytical frame is the same, but its application produces a different emotional texture. He reads Voss not just as a shift supervisor but as someone managing his people in a system that gives them no margin. He reads the ring not just as a crime but as what people do when the legal option doesn't work. He's not excusing it — but he's explaining it to himself in ways a Senator-background detective wouldn't.
|
||||
|
||||
Idiom signals: working vocabulary that leaks through the institutional frame ("another form to fill out" with genuine frustration), more personal reads on community behavior, faster comprehension of coworker loyalty dynamics.
|
||||
|
||||
**Mellanie — write 2 examples:** (a) Worker-background detective entering The Terminal and recognizing it as a place he knows in his bones; (b) Worker-background detective having a moment of sympathy for Kael that he then has to file away.
|
||||
|
||||
---
|
||||
|
||||
## Chapter 4: Mood Modifiers
|
||||
|
||||
The 8+1 moods from D-035 (`neutral`, `anxious`, `frustrated`, `content`, `suspicious`, `warm`, `hostile`, `focused`) are line-selection tags and delivery expectations. They work together: a line tagged `mood: anxious` is preferred when the character's current mood state is Anxious, and it is *authored to sound anxious*.
|
||||
|
||||
Mood modifiers are **not separate line pools.** They are a) selection weights that surface mood-appropriate lines, and b) authoring constraints on how lines in a given mood register should feel. The goal is not that the player is explicitly told "you're anxious now" — it's that anxious-mood lines surface when they should and sound anxious when they play.
|
||||
|
||||
### 4.1 The Core Principle: Mood Inflects Register
|
||||
|
||||
Each mood bends the character's voice toward a version of itself. The base register (Chapter 1) doesn't change. The mood is an adjective applied to that register, not a replacement for it.
|
||||
|
||||
| Mood | Smuggler inflection | Detective inflection |
|
||||
|------|-------------------|---------------------|
|
||||
| `neutral` | Baseline. Dry warmth. Measured. | Baseline. Professional. Structured. |
|
||||
| `anxious` | Goes smaller and faster. More questions. Physical sensation surfaces. | Goes shorter and more personal. Contractions increase. Self-directs. |
|
||||
| `frustrated` | Goes flat. Sarcasm. "Of course." | Sardonic understatement. Cold. |
|
||||
| `content` | Warms, expands slightly. More humor. | Structured satisfaction. Humor surfaces. |
|
||||
| `suspicious` | Narrows. More observation of specific people. Hypotheses pile up. | Files faster. More quantification. "Coincidence?" frequency increases. |
|
||||
| `warm` | More name-drops. Affectionate observations. Longer people-reads. | First-name register expands beyond Sera. More personal disclosure. |
|
||||
| `hostile` | Edges. Fewer words about the hostile object. Watchful. | Clinical distance increases. Dehumanizing label (surname-only). |
|
||||
| `focused` | Strips down. Only the current task. Environmental and NPC data pruned ruthlessly. | Most structured voice. Near-mechanical. Labels and flags only. |
|
||||
|
||||
---
|
||||
|
||||
### 4.2 Mood Modifier Details
|
||||
|
||||
**`neutral` — baseline delivery**
|
||||
|
||||
Both characters at their natural resting state. Not happy, not stressed. Working. This is the voice that carries most of the game's content. Lines tagged `neutral` or untagged should default to this register.
|
||||
|
||||
Key authoring note: Neutral smuggler is NOT flat or bland — she has dry warmth and laconic humor. Neutral detective is NOT cold — he has professional engagement and occasional wry observation. "Neutral" means the voice is itself, not that the voice is suppressed.
|
||||
|
||||
**`anxious` — compression and acceleration**
|
||||
|
||||
The threat or uncertainty feels present. The character's cognitive bandwidth is partially occupied by monitoring something they can't resolve.
|
||||
|
||||
- *Smuggler:* Sentences get shorter. Questions pile up. Physical sensation surfaces ("Hands are cold." / "Stomach's tight."). Humor disappears. First names become clipped. The operational countdown appears as a comfort mechanism — counting what she can control.
|
||||
- *Detective:* Contractions multiply. Complete sentences break up. Self-monitoring appears ("I'm too close to this."). The analytical questions become self-directed rather than case-directed. Physical sensation barely surfaces but does: "Need to focus."
|
||||
|
||||
Lines tagged `mood: anxious` should feel compressed. Not panicked — the characters are experienced — but alert in a way that presses on the surface of the text.
|
||||
|
||||
**`frustrated` — controlled deflation**
|
||||
|
||||
Something isn't working. The block is structural, not threatening.
|
||||
|
||||
- *Smuggler:* Flat declarations. Sarcastic understatement. "Of course." / "Great." Dark humor returns — she goes wry under frustration. Names get blamed: "Voss did it again." Swearing surfaces (mild — the character swears, but not obscenely).
|
||||
- *Detective:* Sardonic compression. Dismissive shorthand: "Standard." meaning the opposite. The institutional frame holds but it fits uncomfortably. He doesn't swear; frustration surfaces as brittle patience.
|
||||
|
||||
Lines tagged `mood: frustrated` should feel like controlled flat. Both characters have learned not to waste anger — they spend it in specific, pointed ways.
|
||||
|
||||
**`content` — expansion and warmth**
|
||||
|
||||
Things are working. The current moment is manageable or even good.
|
||||
|
||||
- *Smuggler:* Slight expansion — still short, but more generous. More humor. First names carry warmth. Environmental description picks up (she actually notices the space when she's not scanning for threats). "Home sweet home" is a content line.
|
||||
- *Detective:* More complete and elegant sentences. Humor surfaces without prompting. The analytical frame fits comfortably — it's doing its job. Fewer corrective self-directives.
|
||||
|
||||
Lines tagged `mood: content` are the hardest to write because they need to feel genuinely good without being saccharine. The character's voice remains itself; it just sits in it more easily.
|
||||
|
||||
**`suspicious` — narrowing and intensification**
|
||||
|
||||
Something's off. The character's attention is directing toward a specific object or pattern.
|
||||
|
||||
- *Smuggler:* More NPC-specific observation. Questions multiply around the specific person or thing. Hedges fall off — she trusts her read. Operational contingency thinking activates: "If that's what I think it is, then..."
|
||||
- *Detective:* Filing rate increases. "Coincidence?" appears more. He cross-references against baseline more explicitly. The analytical questions become hypotheses rather than open threads.
|
||||
|
||||
Lines tagged `mood: suspicious` should feel *directed*. The suspicion has an object — even if the character can't name it yet. The voice narrows toward whatever is generating the suspicion.
|
||||
|
||||
**`warm` — relational softening**
|
||||
|
||||
The character is in a moment of genuine positive connection. This is not `content` (good situation) — this is specifically warm *toward someone*.
|
||||
|
||||
- *Smuggler:* More name-drops with positive color. People-reads are generous and long. She notices when someone seems well, not just when they seem off. Humor becomes inclusive rather than dry. She might express something like affection, obliquely.
|
||||
- *Detective:* First-name register expands beyond Sera — he might first-name someone he normally surnames if the moment calls for it. Personal disclosure is slightly more available. The analytical frame softens: he observes without immediately filing.
|
||||
|
||||
Lines tagged `mood: warm` are most visible in the detective because they represent a departure from his baseline. For the smuggler, warmth is closer to her baseline; the lines should be a slightly more saturated version of her natural register.
|
||||
|
||||
**`hostile` — clinical or defensive reduction**
|
||||
|
||||
The relationship to the hostile object is adversarial. The character is managing threat.
|
||||
|
||||
- *Smuggler:* Less said, more watched. She goes quiet around the hostile object — mentions them tersely, observations are monitoring-reads rather than social-reads. "Nils walked past." Period. No color.
|
||||
- *Detective:* Dehumanizing label returns even for NPCs who have previously graduated to first-name in his monologue. "Venn, S." instead of "Sera" signals the relationship has turned. Analytical lines about the hostile object are more clinical.
|
||||
|
||||
Lines tagged `mood: hostile` should feel like distance enforced deliberately. Neither character becomes cruel — cruelty requires emotional investment. The hostile register is managed withdrawal.
|
||||
|
||||
**`focused` — operational reduction**
|
||||
|
||||
The character is executing a task. Everything not relevant is stripped out.
|
||||
|
||||
- *Smuggler:* The operational countdown is at maximum. Times, routes, names in task-relevant order. Environmental texture disappears. People are reduced to their role in the current operation. She's not cold — she's locked in.
|
||||
- *Detective:* The analytical frame at its most mechanical. Labels only. No editorial. "Terminal. Commission access. Logging in." He strips his voice to the minimum that keeps the investigation moving.
|
||||
|
||||
Lines tagged `mood: focused` should feel efficient to the point of austerity. For the smuggler especially, this is the mode that feels most competent — she's at her best when she's locked in.
|
||||
|
||||
---
|
||||
|
||||
### 4.3 Mood-as-Selection-Weight (Technical Note for Gestalt)
|
||||
|
||||
The mood tags on monologue lines function as selection weights in the engine:
|
||||
|
||||
1. The simulation produces a current `mood_state` for the player character (server-side, from the mood system in #323)
|
||||
2. The line selection system applies a weight bonus to lines tagged with the matching mood
|
||||
3. Lines tagged `mood: [neutral]` or untagged are always eligible; lines tagged with specific moods are preferred when the mood matches
|
||||
|
||||
**The same base line should NOT be re-authored per mood.** A smuggler entering The Terminal does not need 9 `enter_location` variants (one per mood). The system should:
|
||||
- Select from the available `enter_location` pool
|
||||
- Apply mood-weight bonuses to lines with the matching mood tag
|
||||
- Ensure at least 1-2 lines per trigger/location have each major mood tagged
|
||||
|
||||
For FRIEND arc content specifically, mood-specific variants are most valuable at crisis beats (Phase 3-4 of the arc), where the emotional register shifts dramatically and the mood state is predictable. Authors should prioritize mood-tagging for:
|
||||
- Post-contradiction observation lines (likely `suspicious` or `anxious`)
|
||||
- Post-confrontation post-conversation lines (likely `warm` → `hostile` transition zone)
|
||||
- Contaminated trust time_idle lines (likely `suspicious` + `warm` collision)
|
||||
|
||||
---
|
||||
|
||||
## Chapter 5: Modifier Combination Logic
|
||||
|
||||
Traits, backgrounds, and moods interact. Some combinations have emergent properties:
|
||||
|
||||
**High coherence combinations** (reinforce each other):
|
||||
- Cautious + Guardian background: more second-guessing of institutional solutions, more checking of network alternatives
|
||||
- Bold + Ruthless: decisive and instrumental — the fastest decision-maker, for better or worse
|
||||
- Compassionate + Worker background: the character who most viscerally feels the human cost of what's happening to Kael and Naia
|
||||
- Suspicious mood + Curious trait: questions multiply exponentially — the character follows every thread simultaneously
|
||||
|
||||
**High tension combinations** (create internal conflict):
|
||||
- Honest + Deceptive situation (character who can't self-lie encountering a situation where she needs to): the monologue catches itself mid-rationalization and overrides it
|
||||
- Ruthless + warm mood: the warmth is visible and slightly uncomfortable — the character senses she's letting her guard down, notes it
|
||||
- Senator background + Worker background idioms (where the character's formation bleeds through the professional veneer): the occasional shift vocabulary surfaces in otherwise formal speech
|
||||
|
||||
**FRIEND arc special case:**
|
||||
Trait and background modifiers should be considered especially carefully for lines in the FRIEND arc. The same arc beat — "Kael met someone I don't know" — produces dramatically different emotional readings depending on trait combination:
|
||||
|
||||
| Trait | Smuggler's first-move internal response to the Kael contradiction |
|
||||
|-------|------------------------------------------------------------------|
|
||||
| Cautious | Checks herself: "Maybe it's nothing. There could be a work reason." (sits with it longer) |
|
||||
| Bold | Names it immediately: "That's a breach. Kael met someone unauthorized." |
|
||||
| Compassionate | Worries about Kael first: "What's he gotten himself into?" |
|
||||
| Ruthless | Calculates exposure: "How much does this contact know?" |
|
||||
| Honest | Won't minimize: "He was there. That wasn't anyone we know." |
|
||||
| Deceptive | Minimizes: "Kael's allowed his own contacts. It's fine." (not fine) |
|
||||
|
||||
These aren't separate arc paths — they're the same arc with different pacing and emotional texture. A Cautious smuggler reaches the confrontation later. A Bold one gets there faster and possibly too fast. The arc is the same. The voice is not.
|
||||
|
||||
---
|
||||
|
||||
## Appendix: Background Phrasing Quick Reference
|
||||
|
||||
For Mellanie — a vocabulary guide per background to use when writing example lines:
|
||||
|
||||
**Guardian background idioms:**
|
||||
- "Looking out for your people" / "covering for each other" (protection network language)
|
||||
- References to Commission as "them," surveillance as a threat
|
||||
- Collective pronouns where others might use "I": "we don't report things like this"
|
||||
- Suspicion of institutional solutions: "who does that actually serve?"
|
||||
|
||||
**Senator background idioms:**
|
||||
- "On record" / "that goes on record" / "recorded as"
|
||||
- Leverage vocabulary: "what does that cost us," "who holds the note on that"
|
||||
- Chain-of-command awareness: "above Nils" / "below Voss on that"
|
||||
- Process language: "formally," "through channels," "the filing on that says"
|
||||
|
||||
**Worker background idioms:**
|
||||
- Shift-economy references: "that's a week's difference," "shift schedule says"
|
||||
- Practical solidarity: "you cover your people," "that's what you do"
|
||||
- Acceptance of conditions: "that's how the station runs" (not resigned — just realistic)
|
||||
- Concrete physical references: "the smell of cargo lubricant," "my feet ache"
|
||||
|
||||
---
|
||||
|
||||
*Narrative framing complete as of 2026-02-20. Mellanie to supply example lines for all section prompts marked "Mellanie — write X examples." Gestalt to validate mood → delivery mappings in Chapter 4 for mechanical coherence with server-side mood system (#323).*
|
||||
|
||||
---
|
||||
|
||||
## Gestalt — Mood → Delivery Validation (2026-02-20)
|
||||
|
||||
**Status: RESOLVED — schema renamed Sprint 14 to match voice guide vocabulary.**
|
||||
|
||||
Schema and Rust `Mood` enum updated to use Chapter 4 names directly: `anxious`, `frustrated`, `content`, `suspicious`, `warm`, `hostile`, `relieved`, `focused`. Neutral mood = omit tag (untagged lines are always eligible). `analytical` and `conflicted` dropped (merged into `focused` and modeled as `suspicious`+`warm` collision respectively). `hostile` added. Authors can now use voice guide mood names directly in YAML files.
|
||||
|
||||
### Mood as selection weight — mechanical coherence
|
||||
|
||||
The selection model in Section 4.3 is mechanically coherent with how the pipeline works:
|
||||
- Line pool query returns all eligible lines (pass Layers 1-3)
|
||||
- Layer 4 (topic + mood) applies weights, not hard filters — correct
|
||||
- Untagged lines remain eligible — correct
|
||||
- Mood-tagged lines are preferred when mood matches — correct
|
||||
|
||||
**Trait modifier system (Chapters 2-3):** Mechanically coherent. Traits are authoring modifiers, not runtime filters. No engine-side trait tracking needed for monologue. The authoring guide is sufficient.
|
||||
|
||||
**FRIEND arc special case (Section 4.3):** The note about prioritizing mood-tagging for crisis beats is correct. The collision of `suspicious` + `warm` as the trust-contamination zone is the right call.
|
||||
|
||||
**Mood → delivery validation: PASS.** The delivery model is mechanically coherent. Vocabulary mismatch resolved. All mood system design approved.
|
||||
@@ -0,0 +1,251 @@
|
||||
# THE FRIEND: Contradiction Arc Pattern
|
||||
|
||||
**Ticket:** #332 | **Priority:** Medium | **Sprint:** 12
|
||||
**Status:** v0.1 Draft
|
||||
**Owner:** Paula
|
||||
**Blocked by:** #297 (Kael Davan profile — done), #298 (Sera Venn profile — done)
|
||||
**Decisions referenced:** D-034 (THE FRIEND pattern), D-035 (tag taxonomy), D-039 (wow moment #3), D-041 (knowledge graph), D-062 (invisible locked options), D-063 (confrontation mechanics)
|
||||
|
||||
---
|
||||
|
||||
## 1. What This Document Is
|
||||
|
||||
A reusable design pattern document extracted from the two concrete THE FRIEND implementations: Kael Davan (smuggler's FRIEND) and Sera Venn (detective's FRIEND). Both are complete. Both worked. This document captures the structural logic they share so that future FRIEND NPCs can be authored consistently and quickly.
|
||||
|
||||
The pattern is called the **Contradiction Arc**. It is not a mystery. It is not a betrayal in the conventional sense. It is the discovery that someone the player trusts is carrying something they haven't shared — and that what they're carrying changes everything the player thought they understood about the relationship.
|
||||
|
||||
---
|
||||
|
||||
## 2. The Pattern: Definition
|
||||
|
||||
A Contradiction Arc is a 5-phase character trajectory built around a single observable contradiction that the player discovers through spatial observation, not through dialogue. The contradiction is:
|
||||
|
||||
- **Observable**: The player sees it happen. No NPC tells them. No dialogue flag. No notification.
|
||||
- **Spatially staged**: The contradiction is a behavioral deviation from expected routine (wrong location, wrong time, wrong person, wrong pattern).
|
||||
- **Morally complex**: THE FRIEND's concealment comes from care or fear, not malice. There is no clean resolution.
|
||||
- **Dual-lens resonant**: The same contradiction means something different to each playable character. The second playthrough recontextualizes the first.
|
||||
|
||||
---
|
||||
|
||||
## 3. The 5 Phases
|
||||
|
||||
### Phase 1: Baseline Warmth (0-10 minutes)
|
||||
|
||||
**Purpose:** Establish the relationship BEFORE the contradiction. Create genuine attachment so the discovery has emotional weight.
|
||||
|
||||
**Mechanics:**
|
||||
- THE FRIEND is warm, reliable, helpful. Their dialogue is at surface/real trust for their relationship tier.
|
||||
- Monologue during this phase is fond, casual, present-tense. No hints of incoming trouble.
|
||||
- THE FRIEND's routine is consistent with their stated role. No behavioral deviations.
|
||||
- Their personal tell (the observable habit that will become load-bearing later) is established here — but reads as innocuous.
|
||||
|
||||
**Content authoring rule:** Write Phase 1 as if it is the whole story. The warmth must be real, not performed. If the player never discovers the contradiction, Phase 1 should feel like a complete, satisfying relationship.
|
||||
|
||||
**Tag notes:**
|
||||
- Dialogue: `trust: surface` (greeting, small talk) + `trust: real` (personal warmth, shared history)
|
||||
- Monologue: positive mood tags (content, fond, warm)
|
||||
|
||||
**Kael example:** "Kael's already at the dock. Good. The day's better when he's on shift."
|
||||
**Sera example:** "Good to see Sera. She always was the reliable one. At least someone in this district speaks my language."
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: First Behavioral Shift (10-15 minutes)
|
||||
|
||||
**Purpose:** Introduce behavioral tells that the observant player might notice — but that have plausible innocent explanations.
|
||||
|
||||
**Mechanics:**
|
||||
- THE FRIEND's behavior changes in small ways. Shortened interactions. Increased action frequency (lattice checking, looking around). Redirected attention.
|
||||
- These are observable but not alarming. A non-observant player may not register them at all.
|
||||
- The monologue shifts to mild concern or puzzlement. "Not like them to be..." registers something without naming it.
|
||||
- THE FRIEND's dialogue remains warm at the surface level. The behavioral tells exist beneath the dialogue.
|
||||
|
||||
**Content authoring rule:** Every tell in Phase 2 must have a non-suspicious explanation AND a suspicious one. The player who discovers the contradiction on a second playthrough should recognize these tells as load-bearing. The player experiencing them for the first time should accept the innocent explanation.
|
||||
|
||||
**Tag notes:**
|
||||
- Dialogue: same trust tiers as Phase 1 — surface content unchanged
|
||||
- Monologue: mild concern tone; `trigger: observe_anomaly` for behavioral tell moments
|
||||
- Tell system: all Phase 2 tells fire with `visible_to: peripheral` or `visible_to: any`
|
||||
|
||||
**Kael example:** "Kael's distracted today. Checks his lattice more than usual. Probably nothing."
|
||||
**Sera example:** "Sera left early. 'Headache,' she said. First time she's done that."
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: The Contradiction (15-20 minutes)
|
||||
|
||||
**Purpose:** The observable contradiction. THE FRIEND is in the wrong place, doing the wrong thing, with the wrong person — and the player sees it.
|
||||
|
||||
**Mechanics:**
|
||||
- Spatial staging: THE FRIEND deviates from their established routine in a way that is spatially visible to the player. This is NOT communicated through dialogue or UI. The player moves through the world and encounters the deviation.
|
||||
- The contradiction must be observable without being forced. The player discovers it; the game does not direct them to it. However, the contradiction is staged in a location the player will naturally visit in the course of normal gameplay.
|
||||
- The monologue fires on `trigger: observe_anomaly` or `trigger: witness_interaction`. It names what the player has seen without drawing a conclusion. The character asks the question; the player supplies the answer.
|
||||
- **Entity color shifts** at this moment: `Friendly` (green) → `PersonOfInterest` (amber). The visual system registers what the player has just observed.
|
||||
- **Dialogue tiers lock**: The discovery creates a relationship fracture. Insider/peer warmth content becomes unavailable. Only public/surface dialogue remains for this NPC going forward. The absence is the signal.
|
||||
|
||||
**Content authoring rule:** The contradiction must be:
|
||||
1. Spatially clear (the player can see what is happening)
|
||||
2. Contextually ambiguous (they understand WHAT but not WHY)
|
||||
3. Emotionally weighted (the relationship context makes the "what" feel like a wound)
|
||||
|
||||
**Tag notes:**
|
||||
- Monologue at discovery: `trigger: witness_interaction` or `trigger: observe_anomaly`, `mood: [shocked, analytical]`
|
||||
- Monologue should name the observation, not the interpretation
|
||||
- KG update: `contradiction_flagged: true`, relationship shifts to PersonOfInterest
|
||||
|
||||
**Kael example:** "That's Kael. But who's he talking to? I don't know that face. And that's not anyone from our rotation."
|
||||
**Sera example:** "That's the third time. Sera leaves when Torek walks in. Three different excuses. Same result."
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: Confrontation Opportunity (20-25 minutes)
|
||||
|
||||
**Purpose:** Give the player the option to press THE FRIEND. The confrontation dialogue reveals concealment without full confession.
|
||||
|
||||
**Mechanics:**
|
||||
- A new dialogue option appears (D-062 — invisible until unlocked; players won't see it until the contradiction triggers it). The option is written in the character's internal voice (D-063).
|
||||
- THE FRIEND deflects. They give an answer that is technically not a lie, but is not the truth. Their personal tell fires during the deflection — the tell established in Phase 1 becomes the proof that they're hiding something.
|
||||
- The player can choose to accept the deflection, push harder, or walk away. All three paths have consequences.
|
||||
- This is the emotional peak. Whatever the player does here determines the shape of the rest of the session.
|
||||
|
||||
**Content authoring rule:** THE FRIEND's deflection must be sympathetic. They are not lying to harm the player. They are concealing because the truth would hurt someone they love, or would place them in impossible danger. The player who understands the full arc (second playthrough) recognizes the deflection as fear, not treachery.
|
||||
|
||||
**Tag notes:**
|
||||
- New dialogue option: confrontation style, `situation: [confrontation]`, `access: [peer, insider]` — only the character who has the relationship can ask this question
|
||||
- THE FRIEND's response: `trust: real` (this is as honest as THE FRIEND can be without full confession), `situation: [confrontation]`, mood that indicates concealment
|
||||
- Personal tell confirmation: observation monologue fired by THE FRIEND's specific tell behavior
|
||||
|
||||
**Kael example:** "Just a thing. Don't worry about it." [looks left before answering] / Smuggler monologue: "He looked left. He always looks left when he's making something up. Two years I've known that tell. Kael is lying to me."
|
||||
**Sera example:** "He's just loud. I don't like loud drunks." / Detective monologue: "She's not lying. But she's not telling me everything. Sera, what do you know?"
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: Contaminated Trust (25-30 minutes)
|
||||
|
||||
**Purpose:** THE FRIEND returns to surface-normal behavior. But the player is now watching differently. Every warm interaction is filtered through doubt.
|
||||
|
||||
**Mechanics:**
|
||||
- THE FRIEND's surface behavior normalizes. They resume their routine, greet the player warmly, act as if Phase 3 and 4 didn't happen (or at least, as if they're trying to move past it).
|
||||
- But dialogue has shifted: insider/peer warmth is gone, replaced by public/surface content only. The player hears the same NPC; the texture is different. The warmth is slightly performed.
|
||||
- Monologue shifts into the contaminated register: every warm interaction generates a note of doubt. The player's observational frame has changed.
|
||||
- Three player paths diverge from here:
|
||||
- **Understanding** — gentle follow-up, possible confession, partial truth
|
||||
- **Betrayal** — report/expose THE FRIEND; relationship damage is permanent
|
||||
- **Observation** — watch and wait; the doubt lives but no confrontation happens
|
||||
|
||||
**Content authoring rule:** Phase 5 content must work for all three player paths. The NPC's surface behavior is path-neutral — they don't know what the player has decided. The player's monologue shifts based on what decision they've made (or chosen not to make yet).
|
||||
|
||||
**Tag notes:**
|
||||
- Dialogue: `trust: surface` only; warm tone but no real-tier content; `mood: [composed]` for THE FRIEND
|
||||
- Monologue: `mood: [conflicted]` or `mood: [analytical]`; prerequisite gates on relationship state PersonOfInterest
|
||||
- If player chose Understanding path: additional monologue lines for partial-confession scenario
|
||||
|
||||
**Kael example:** "Same old Kael. Same jokes, same routine. ...What are you not telling me?"
|
||||
**Sera example:** "Still the same Sera. Still reliable. ...But reliable about what?"
|
||||
|
||||
---
|
||||
|
||||
## 4. Required Content Per FRIEND NPC
|
||||
|
||||
| Content Type | Count | Notes |
|
||||
|-------------|-------|-------|
|
||||
| Phase 1 dialogue lines (warmth, establishment) | 8-12 | Across greeting, social, situation contexts |
|
||||
| Phase 1-2 monologue (fond, mild concern) | 5-8 | `trigger: observe_npc`, `trigger: post_conversation` |
|
||||
| Phase 2 behavioral tells (description + monologue) | 3+ | Each tell: visible_to, behavior, monologue line |
|
||||
| Phase 3 contradiction discovery monologue | 3-5 | `trigger: witness_interaction`, observation language only |
|
||||
| Phase 4 confrontation dialogue option (player choice) | 1 | In character's internal voice per D-063 |
|
||||
| Phase 4 THE FRIEND deflection dialogue | 3-5 | With personal tell behavior flagged |
|
||||
| Phase 4 tell confirmation monologue | 1-2 | "I know this tell. They're lying." |
|
||||
| Phase 5 contaminated-trust monologue | 4-6 | Varies by player path taken |
|
||||
| **Total authored** | **~70-100 items** | No generation expansion — all hand-authored |
|
||||
|
||||
---
|
||||
|
||||
## 5. The Tell System
|
||||
|
||||
Every FRIEND NPC has a **personal tell** — a specific behavioral marker established in Phase 1 (innocent, recognizable) and confirmed in Phase 4 (proof of concealment). The tell must:
|
||||
|
||||
1. Be **physical and observable** (not internal state — visible behavior the player can see)
|
||||
2. Be **introduced before it becomes load-bearing** — Phase 1 or early Phase 2
|
||||
3. Be **unique to this NPC** — not a generic "nervousness" tell, but a specific habit
|
||||
4. Be **explainable differently before and after** — innocent early, incriminating late
|
||||
|
||||
**Kael's tell:** Looks left before answering. Established as a habit the smuggler has observed for two years. Becomes proof of lying at Phase 4 because the smuggler knows the tell AND its meaning.
|
||||
|
||||
**Sera's tell:** Gathers her things quickly when leaving. Not a lie tell — Sera isn't lying when she leaves. But the timing (always when Torek arrives) and the variety of excuses (genuine, not scripted) creates the pattern the detective reads as behavioral.
|
||||
|
||||
**Tell design rule:** The tell should produce a different emotional register for each playable character observing it:
|
||||
- The character with the relationship reads the tell as **personal** ("I know that tell — I've seen it before")
|
||||
- The character without the relationship reads the tell as **behavioral pattern** ("That's twice now — flag it")
|
||||
|
||||
---
|
||||
|
||||
## 6. Dual-Lens Design Requirements
|
||||
|
||||
Every FRIEND NPC must produce different monologue experiences for both characters observing the same behavior. The contradiction arc has two distinct "readings":
|
||||
|
||||
| Phase | Bonded Character Reading | Other Character Reading |
|
||||
|-------|--------------------------|------------------------|
|
||||
| Phase 1 | Warmth, familiarity, fond reliance | Clinical observation, behavioral baseline, possible suspicion |
|
||||
| Phase 2 | Personal concern ("something's wrong with them") | Analytical flag ("deviation from baseline, note it") |
|
||||
| Phase 3 | Betrayal, confusion, hurt | Evidence accumulation, pattern confirmation, institutional assessment |
|
||||
| Phase 4 | Personal confrontation (uses the personal tell as confirmation) | Investigative confrontation (uses behavioral pattern as evidence) |
|
||||
| Phase 5 | Contaminated intimacy (every warm moment now suspect) | Professional caution (reliable informant now uncertain quantity) |
|
||||
|
||||
**The second-playthrough resonance:** The player who has experienced both sides of Triangle 4 understands:
|
||||
- Kael is trying to get OUT of the ring to protect Naia. His exit attempt is an act of love, not treachery.
|
||||
- Sera is protecting Naia by NOT reporting what she found. Her concealment is loyalty, not corruption.
|
||||
- The smuggler and detective are both experiencing friendship fractured by the same cause — Naia's worry about Kael, and the chain of protection that worry created.
|
||||
|
||||
This is the design. The contradiction is not "THE FRIEND is bad." The contradiction is "THE FRIEND is doing something complicated for reasons that make sense, and it's happening to YOU."
|
||||
|
||||
---
|
||||
|
||||
## 7. The No-Clean-Resolution Rule
|
||||
|
||||
Every Contradiction Arc must refuse to offer a clean resolution. This is non-negotiable.
|
||||
|
||||
**What "no clean resolution" means:**
|
||||
- Confronting THE FRIEND does not produce a confession that absolves them. It produces a partial truth that raises more questions.
|
||||
- Protecting THE FRIEND does not produce safety. It produces continued risk with the added weight of knowledge.
|
||||
- Reporting THE FRIEND does not produce justice. It produces a particular kind of harm to people who didn't deserve to be caught in the consequence.
|
||||
- Ignoring THE FRIEND does not produce peace. The doubt persists. The knowledge lives.
|
||||
|
||||
**Why this rule exists:** D-027 success criterion #3 is "after each playthrough, player names an NPC they felt conflicted about." Confliction requires that no choice was clearly right. The moment a clean resolution exists — confess = forgiven, report = solved, ignore = safe — the Contradiction Arc collapses into a problem with a correct answer. The player stops feeling conflicted and starts making optimal choices. Emotional weight requires moral weight. Moral weight requires cost on every path.
|
||||
|
||||
---
|
||||
|
||||
## 8. Content Authoring Checklist
|
||||
|
||||
Before shipping a FRIEND NPC with a Contradiction Arc, validate:
|
||||
|
||||
- [ ] Phase 1 warmth is genuine — the relationship is established as real before it's threatened
|
||||
- [ ] Phase 2 tells are pre-established in Phase 1 (not appearing for first time at contradiction)
|
||||
- [ ] Phase 3 contradiction is observable through spatial play — no dialogue/UI flag triggers it
|
||||
- [ ] Phase 3 monologue names the observation without naming the explanation
|
||||
- [ ] Phase 3 entity color shifts to amber (PersonOfInterest) at contradiction discovery
|
||||
- [ ] Phase 3 dialogue tier lock: insider/peer content unavailable post-contradiction
|
||||
- [ ] Phase 4 confrontation option appears only post-Phase 3 (D-062 invisible until unlocked)
|
||||
- [ ] Phase 4 confrontation written in character's internal voice (D-063)
|
||||
- [ ] Phase 4 THE FRIEND's deflection is sympathetic — they're concealing, not lying maliciously
|
||||
- [ ] Phase 4 personal tell fires during deflection and is confirmed in monologue
|
||||
- [ ] Phase 5 content exists for all three player paths (Understanding / Betrayal / Observation)
|
||||
- [ ] Dual-lens notes written for both characters on every key monologue trigger
|
||||
- [ ] No clean resolution on any player path
|
||||
- [ ] Total authored content: 70-100 items
|
||||
|
||||
---
|
||||
|
||||
## 9. Application to Future FRIEND NPCs
|
||||
|
||||
This pattern is designed to be reused. When designing a future FRIEND NPC for a new template:
|
||||
|
||||
1. **Identify the concealment.** What is THE FRIEND hiding, and WHY? The why must be sympathetic. "Protecting someone they love" or "fear of consequences" — not "because they're secretly bad."
|
||||
2. **Design the contradiction.** What does the player OBSERVE that breaks the baseline? It must be spatial and behavioral, not told.
|
||||
3. **Design the tell.** What physical habit is introduced in Phase 1 that becomes load-bearing in Phase 4? It must be specific to this NPC.
|
||||
4. **Map the dual-lens difference.** How does the bonded character read the contradiction differently from the observing character? The emotional register must diverge.
|
||||
5. **Refuse the clean resolution.** What does each of the three player paths cost? If any path costs nothing, revise.
|
||||
|
||||
---
|
||||
|
||||
*Ticket #332 — Contradiction arc design document. Reusable FRIEND pattern. v0.1 scope.*
|
||||
@@ -0,0 +1,280 @@
|
||||
# Mirror Moment Design Document
|
||||
|
||||
**Ticket:** #329 | **Priority:** Medium | **Sprint:** 12
|
||||
**Status:** v0.1 Draft
|
||||
**Owners:** Paula (design), Mellanie (authoring)
|
||||
**Blocked by:** #297 (Kael profile — done), #298 (Sera profile — done)
|
||||
**Decisions referenced:** D-032 (separate monologue pools), D-034 (THE FRIEND), D-039 (wow moment #4 — Divergence Reveal)
|
||||
|
||||
---
|
||||
|
||||
## 1. What Is a Mirror Moment?
|
||||
|
||||
A mirror moment is a **shared trigger that produces completely different monologue for each playable character.** Same event. Same NPC. Same location. Two entirely different emotional experiences.
|
||||
|
||||
The player who has completed both playthroughs encounters the mirror moments as a recognition: *"I was in this exact situation, but I felt something completely different."* This is the mechanism of Wow Moment #4 (Divergence Reveal — D-039): the realization that the same world contains two different experiences, and that you've had both.
|
||||
|
||||
**What a mirror moment is NOT:**
|
||||
- A branching dialogue option
|
||||
- A triggered cutscene
|
||||
- An informational difference ("the smuggler knows X and the detective doesn't")
|
||||
|
||||
A mirror moment is an **interpretive difference** — same information, same NPC behavior, same physical event. Different internal frame. Different emotional weight.
|
||||
|
||||
---
|
||||
|
||||
## 2. Design Principles
|
||||
|
||||
**Principle 1: Same trigger, different pool (D-032 hard partition)**
|
||||
Mirror moments operate because monologue pools are hard-partitioned by character. The same trigger key fires into the smuggler pool OR the detective pool — never both. The authoring requirement is to write both sides of every shared trigger.
|
||||
|
||||
**Principle 2: The difference must be felt, not explained**
|
||||
A mirror moment works when the player FEELS the divergence without having it explained. The two monologue lines should be immediately recognizable as coming from different places — different relationships, different frames, different fears.
|
||||
|
||||
**Principle 3: The mirror reveals what the character CARES about**
|
||||
The smuggler's monologue reveals personal loyalty (people). The detective's monologue reveals investigative analysis (patterns). A mirror moment that doesn't surface this difference is a content gap, not a mirror.
|
||||
|
||||
**Principle 4: At least some mirrors should work on first playthrough**
|
||||
Not every mirror moment requires a second playthrough to land. Some mirrors work as a moment of character voice — the player just hears what their character notices. Second playthrough makes the divergence explicit, but first playthrough should have its own emotional coherence.
|
||||
|
||||
---
|
||||
|
||||
## 3. The 10 Mirror Moments (v0.1)
|
||||
|
||||
### Mirror 1: The Friend's Routine
|
||||
|
||||
**Trigger:** `observe_npc` — Seeing THE FRIEND (Kael/Sera) going about their daily routine in their expected location.
|
||||
|
||||
**Shared observation:** THE FRIEND is doing exactly what they always do. Nothing unusual. The baseline before anything cracks.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"Kael's at his station. Right where he always is. Something settles when the shift starts right."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"The dock worker — Davan — is on the floor again. Same position, same timing. Three days in a row. That's a routine. File it."*
|
||||
|
||||
**What the mirror reveals:** The smuggler sees a person. The detective sees a data point. Same NPC at the same station. The relationship determines the register.
|
||||
|
||||
---
|
||||
|
||||
### Mirror 2: The Empty Corridor
|
||||
|
||||
**Trigger:** `enter_location` — Player enters a maintenance corridor when no other NPCs are present.
|
||||
|
||||
**Shared observation:** The corridor is empty. The maintenance systems hum. No one is watching.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"Clear. Good. Transition window's still open for eleven more minutes."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"Three separate entries to this corridor in my district walkthrough. Nothing documented in my file about why workers access this route. Off-books path? Add it to the log."*
|
||||
|
||||
**What the mirror reveals:** The smuggler reads the empty corridor as operational safety. The detective reads it as an investigative lead. The physical space is identical; the cognitive frame inverts it.
|
||||
|
||||
---
|
||||
|
||||
### Mirror 3: The Worried Partner (Naia Tamm)
|
||||
|
||||
**Trigger:** `observe_npc` — Seeing Naia Tamm sitting alone at the bar, visibly preoccupied.
|
||||
|
||||
**Shared observation:** Naia is at The Last Shift without Kael. She looks tired or worried. Not in distress — just carrying something heavy.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"Naia's here without Kael again. She looks rough. Should check in. ...Not now. Later."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"That woman — Tamm, I think Sera mentioned her — is sitting alone. Wrong energy for a social evening. Something at home, or something she's heard?"*
|
||||
|
||||
**What the mirror reveals:** The smuggler has a protective impulse toward Naia but defers it. The detective categorizes Naia as a potential information source. Same worried woman, same empty chair across from her. One character plans to check on a person; the other plans to assess a witness.
|
||||
|
||||
---
|
||||
|
||||
### Mirror 4: The Spending
|
||||
|
||||
**Trigger:** `observe_npc` — Watching Torek Lintar buy rounds at the bar.
|
||||
|
||||
**Shared observation:** Torek is buying drinks for several people he doesn't know well. The drinks are nicer than they should be on a compliance officer's salary. He's clearly enjoying himself.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"Torek's buying rounds again. That's the third time this week. Either he won something, or he's getting paid from somewhere he shouldn't be. Starting to worry about that."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"Commission compliance officer, buying grain spirit for half the bar. On his salary? That doesn't close. Financial tell. Noted."*
|
||||
|
||||
**What the mirror reveals:** Both characters notice the same behavioral anomaly. The smuggler frames it as a security risk to the ring. The detective frames it as an evidentiary lead. Both have the same concern (Torek's spending is unusual) — but the concern has completely different stakes.
|
||||
|
||||
---
|
||||
|
||||
### Mirror 5: Sera Leaving
|
||||
|
||||
**Trigger:** `observe_npc` — Watching Sera Venn gather her things and leave the bar when Torek arrives.
|
||||
|
||||
**Shared observation:** Sera gives a brief excuse (headache, kiosk check, early shift) and leaves. She was comfortable until the moment Torek walked in.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"Sera left. Good timing — she was starting to make everyone nervous anyway. Commission presence at Lera's always shifts the temperature."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"Second time now. Sera leaves when Torek walks in. Same type of excuse. 'Headache' last time, 'kiosk' tonight. Same result. That's two data points. Third is a pattern."*
|
||||
|
||||
**What the mirror reveals:** The smuggler reads Sera's departure as relief (Commission leaving = safer conversation). The detective reads the same departure as a behavioral anomaly. The event is identical. The emotional response is inverted.
|
||||
|
||||
This mirror is structurally important: it shows the detective's FRIEND arc developing through observational patience, while simultaneously showing the smuggler's categorical relationship with Commission presence.
|
||||
|
||||
---
|
||||
|
||||
### Mirror 6: The Station Hum
|
||||
|
||||
**Trigger:** `time_idle` — Player is stationary in the terminal for more than a few seconds with no active interaction.
|
||||
|
||||
**Shared observation:** The station's ambient systems — span gate hum, ventilation cycle, cargo machinery in the background — fill the silence. Sova at rest.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"Span gate's cycling early. One hour to the next transit. Voss'll be running the schedule check in twenty."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"They've been on this station their whole lives. That hum is just background to them. I'm still trying to tune it out."*
|
||||
|
||||
**What the mirror reveals:** The smuggler hears operational data in the ambient sound. The detective hears alienation. The station hum carries the same frequency to both characters' ears. It means completely different things to their experience of being in this place.
|
||||
|
||||
---
|
||||
|
||||
### Mirror 7: The Commission Kiosk
|
||||
|
||||
**Trigger:** `enter_location` or `observe_npc` — The player walks past or observes the Commission compliance kiosk near the terminal entrance.
|
||||
|
||||
**Shared observation:** The kiosk is a small Commission compliance desk near the terminal entrance — mostly unmanned, used for permit verification and compliance queries. Standard infrastructure.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"Commission kiosk. Nobody uses it. Institutional furniture. Long as nobody decides to run a full cargo audit, that's exactly what I want it to stay."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"The compliance kiosk has public access to manifest verification records. Local. Less filtered than the request I made through channels. Check it when Maret's not watching."*
|
||||
|
||||
**What the mirror reveals:** The smuggler reads the kiosk as a passive threat to be ignored. The detective reads it as an investigative tool. Same object. Same physical location. The smuggler hopes it stays irrelevant; the detective plans to use it.
|
||||
|
||||
---
|
||||
|
||||
### Mirror 8: Kael and Naia Together (Bar)
|
||||
|
||||
**Trigger:** `observe_npc` — Seeing Kael and Naia sitting together at their usual table. Naia is talking; Kael is listening but seems distracted.
|
||||
|
||||
**Shared observation:** A couple having dinner. Naia is clearly talking seriously about something. Kael is present but not quite there. The gap between them is subtle but visible.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"Kael and Naia look... off. Naia's talking a lot. Kael's nodding but he's somewhere else. Something's going on at home. He doesn't say."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"Couple — the dock worker, Davan, and the woman who sits with Sera sometimes. She's animated; he's distracted. Relationship tension. That level of checked-out usually means someone's keeping something."*
|
||||
|
||||
**What the mirror reveals:** The smuggler reads this as a friend's private trouble that deserves respect and distance. The detective reads it as behavioral evidence — someone keeping something from a partner. Same visible tension. One character looks away; the other leans in.
|
||||
|
||||
---
|
||||
|
||||
### Mirror 9: The Manifest Terminal
|
||||
|
||||
**Trigger:** `observe_npc` or `enter_location` — The freight manifest terminal in the terminal hub.
|
||||
|
||||
**Shared observation:** A freight terminal kiosk showing manifest data. Busy during shifts; the data moves constantly.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"That's Maret's terminal. She's got access to all the schedules from here. If anything's getting flagged in the manifest data, she'd see it before anyone else. Maret's solid. She won't say anything."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"Freight manifests for the last six months, loaded from here. The cluster analysis shows three anomaly windows, all at shift transition. That's not clerical error. Someone's using this terminal to adjust records after the fact."*
|
||||
|
||||
**What the mirror reveals:** The smuggler sees a trusted colleague's workspace and trusts that colleague's loyalty. The detective sees the exact location where evidence of the ring's operations lives. The terminal is simultaneously proof of criminal activity and proof of a trusted relationship — depending on which character is reading it.
|
||||
|
||||
---
|
||||
|
||||
### Mirror 10: The End of Shift
|
||||
|
||||
**Trigger:** `observe_npc` — Watching the shift change happen across the terminal floor — workers clocking out, new crew arriving, a brief period of cross-traffic and handoffs.
|
||||
|
||||
**Shared observation:** Dozens of workers moving at once. The shift change is organized chaos. Cargo gets routed, schedules are handed off, the floor changes.
|
||||
|
||||
**Smuggler monologue:**
|
||||
*"Shift transition. Twenty-minute window. The floor's all cross-traffic now — nobody's tracking individual movement. This is when it runs."*
|
||||
|
||||
**Detective monologue:**
|
||||
*"Shift change. Every anomaly in my manifest data clusters around this. The window. The handoff moment. Someone is using the cross-traffic as cover. But for WHAT?"*
|
||||
|
||||
**What the mirror reveals:** The smuggler knows exactly what the shift change covers. The detective sees the pattern but not the specific. Both characters observe the same 20-minute window of organized chaos. One is running something through it; the other is trying to figure out what's being run.
|
||||
|
||||
---
|
||||
|
||||
## 4. Mirror Moment Authoring Rules
|
||||
|
||||
### Rule 1: Both sides are mandatory
|
||||
A mirror moment is only complete when both the smuggler monologue and the detective monologue are authored. Omitting one side is a content gap.
|
||||
|
||||
### Rule 2: Same trigger key, different pool
|
||||
Both lines use the same `trigger` type and similar `prerequisite` conditions. They appear in separate character monologue files (D-032 hard partition). The only difference is the `character` tag.
|
||||
|
||||
### Rule 3: No shared content
|
||||
Neither monologue line should directly reference the other or acknowledge the other character's frame. Each line is internally coherent to its character. The divergence is created by the CHARACTER's relationship to the world, not by explicit contrast.
|
||||
|
||||
### Rule 4: The lines must stand alone
|
||||
A player who only plays one character should not feel the mirror moment is incomplete. Both lines should work as independent character voice — good monologue that stands on its own.
|
||||
|
||||
### Rule 5: Tag all mirrors for tracking
|
||||
Add `tags: [mirror_moment]` to both sides of every mirror pair so they can be identified and validated as a set.
|
||||
|
||||
---
|
||||
|
||||
## 5. YAML Example
|
||||
|
||||
```yaml
|
||||
# Smuggler side — monologue-smuggler.yaml
|
||||
- id: pc-smuggler_m_s_044
|
||||
character: smuggler
|
||||
trigger: observe_npc
|
||||
prerequisite:
|
||||
location: the-terminal
|
||||
target: npc:naia-tamm
|
||||
relationship_state: Known
|
||||
text: "Naia's here without Kael again. She looks rough. Should check in. ...Not now. Later."
|
||||
mood: [concerned, fond]
|
||||
topic: [colleague]
|
||||
tags: [mirror_moment, mirror_worried_partner]
|
||||
|
||||
# Detective side — monologue-detective.yaml
|
||||
- id: pc-detective_m_d_044
|
||||
character: detective
|
||||
trigger: observe_npc
|
||||
prerequisite:
|
||||
location: the-last-shift
|
||||
target: npc:naia-tamm
|
||||
text: "That woman — Tamm, I think Sera mentioned her — is sitting alone. Wrong energy for a social evening. Something at home, or something she's heard?"
|
||||
mood: [analytical, curious]
|
||||
topic: [investigation]
|
||||
tags: [mirror_moment, mirror_worried_partner]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. Validation Checklist
|
||||
|
||||
For each mirror pair:
|
||||
|
||||
- [ ] Both sides authored
|
||||
- [ ] Same trigger type used
|
||||
- [ ] Both sides use `tags: [mirror_moment, {mirror_name}]`
|
||||
- [ ] Lines stand independently as character voice
|
||||
- [ ] Emotional register diverges (personal vs. analytical, OR equivalent meaningful contrast)
|
||||
- [ ] No shared vocabulary that implies the characters are comparing notes
|
||||
- [ ] Prerequisites match (same NPC, same location condition, equivalent state requirements)
|
||||
|
||||
---
|
||||
|
||||
## 7. Expansion Notes (Post-v0.1)
|
||||
|
||||
Additional mirror moments to author in future content passes:
|
||||
|
||||
- **The Missing Person Notice:** A posted notice near the bar about a missing dock worker (pre-existing, unrelated to main plot). Smuggler: "People disappear. Station life." Detective: "Filed under 'before my posting.' What was the investigative status?"
|
||||
- **Voss Walking the Floor:** The shift supervisor doing a routine floor inspection. Smuggler sees cover being maintained. Detective sees a potential informant.
|
||||
- **Drin's Inspection:** Dock inspector doing a container verification. Smuggler knows Drin will find nothing. Detective sees the inspection as either genuine compliance or evidence of a compromised process.
|
||||
|
||||
---
|
||||
|
||||
*Ticket #329 — Mirror moment design document. 10 paired observations. v0.1 scope.*
|
||||
@@ -0,0 +1,632 @@
|
||||
# THE MIRROR — NPC Pattern Specification
|
||||
|
||||
**Pattern Type:** Production-level Tier 1 (emotional depth, full 10-axis model)
|
||||
**Design Principle:** Transparency as contrast mechanism
|
||||
**Ticket:** #380
|
||||
**Reference Implementation:** Naia Tamm (Sova Transit District v0.1)
|
||||
|
||||
---
|
||||
|
||||
## 1. Pattern Definition
|
||||
|
||||
THE MIRROR is the honest-character NPC pattern. No contradiction arc, no deep secret, no hidden agenda. MIRROR NPCs are transparent — what you see is what you get.
|
||||
|
||||
**Core mechanic:** Their role in the system is to make surrounding dishonesty visible by contrast. When everyone else is hiding something, the one person who isn't becomes the emotional anchor.
|
||||
|
||||
**Design payload:** In a game built around asymmetric information and deception detection, THE MIRROR is the NPC whose absence of deception becomes its own kind of content. The player learns to read tells on every other NPC — facial tics, evasive answers, spatial deviations. Encountering someone without tells is disorienting and emotionally significant.
|
||||
|
||||
**Thematic integration:** THE MIRROR connects directly to Gore's contentment axis and the game's central question: "Is this enough?" The MIRROR NPC typically answers: "It was enough — until everything around me started falling apart." Their contentment is genuine, their worry is genuine, their emotional reactions are genuine. That honesty makes everyone else's lies painful by proximity.
|
||||
|
||||
---
|
||||
|
||||
## 2. Mechanical Rules
|
||||
|
||||
### What MIRROR NPCs Do NOT Have
|
||||
|
||||
| Absent System | Why Missing | Content Signal |
|
||||
|--------------|-------------|----------------|
|
||||
| **No tells** | Tells imply deception or concealment. MIRROR has nothing to conceal from the player (though they may be uninformed about events around them). The absence of tells IS the tell — when the player has learned to read behavioral flags on every other NPC, encountering someone without them is the anomaly. | The player's monologue might note: "No hesitation. No evasion. Either she's telling the truth or she's the best liar I've ever met." The absence becomes noticeable. |
|
||||
| **No dishonesty ≠ no misinformation** | MIRROR NPCs can be *wrong* without being *deceptive*. A MIRROR who has been lied to will repeat that lie in good faith -- they are transparent about what they believe, not omniscient about what is true. Naia reporting "Kael said he's picking up extra shifts" is honest transmission of a lie she was told. | The player recognizes the MIRROR is being used as an unwitting conduit. This makes the liar's deception feel worse, not the MIRROR's honesty feel cheaper. |
|
||||
| **No secrets** (or only mundane surface-level ones) | The `secret_held` field is empty or contains only ordinary privacy (e.g., "worried about partner's late nights" — visible to anyone observant). No trust gates that reveal hidden criminal knowledge or conspiracies. | If a MIRROR has a "secret," it's one they'd share with a sympathetic stranger at a bar. There's no revelation moment where the player discovers the MIRROR was hiding something all along. |
|
||||
| **No contradiction arc** | No phases, no discovery moment, no color shift from green to amber. The relationship with MIRROR is stable across the session. | The trust level may deepen (public → insider → peer), but there's no betrayal moment. The MIRROR you meet at minute 5 is the same MIRROR at minute 25. |
|
||||
| **No trust-gated dialogue that changes the picture of who they are** | Trust progression reveals more FEELING, not more SECRETS. Deeper access tiers show emotional vulnerability, not concealed information. | At `public` tier: "I'm worried about Kael." At `peer` tier: "I don't know what to do. I love him, but I can't keep living like this." Same truth, deeper emotion. |
|
||||
|
||||
### What MIRROR NPCs DO Have
|
||||
|
||||
| Present System | Function | Why Essential |
|
||||
|---------------|----------|---------------|
|
||||
| **Full 10-axis profile** | Want, Secret/Vulnerability, Relationships 1-3, Tolerance, Routine, Information, Contentment, Personality, Tell (absent), Skills | MIRROR is not a shallow NPC. They're Tier 1 depth — full emotional complexity, just without deception. |
|
||||
| **Tier 1 emotional depth despite pattern simplicity** | Rich personality, genuine reactions, emotional stakes in the world around them | The player trusts the MIRROR because the MIRROR is WORTH trusting. They're not a cardboard cutout labeled "honest person." They're a complete character whose honesty is part of their identity. |
|
||||
| **Genuine emotional reactions to the world** | MIRROR NPCs respond to events around them with authentic worry, joy, confusion, anger — whatever fits their personality and situation | When the ring's actions threaten someone the MIRROR loves, the MIRROR's distress is real. The player FEELS it because they've learned this person doesn't perform emotions — they experience them. |
|
||||
| **Emotional vulnerability as content** | The MIRROR's lack of deception makes them emotionally EXPOSED. They wear their worry visibly. They confide in friends. They react honestly to stress. | This vulnerability is load-bearing. The player becomes protective of the MIRROR. Threats to the MIRROR create player urgency. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Content Requirements
|
||||
|
||||
**Total authored line budget:** 50-70 lines (Tier 1 MIRROR is slightly lower than FRIEND pattern's 70-100, because no contradiction arc content)
|
||||
|
||||
| Content Type | Line Count | Function |
|
||||
|-------------|-----------|----------|
|
||||
| **Dialogue** | 25-35 | Greetings (5), emotional state conversation (8-10), relationship discussion (5-7), situation responses (5-8), peer-tier vulnerability (3-5) |
|
||||
| **Trust-gated dialogue** | 10-15 | Deeper emotional exposure at insider/peer tiers. Not secret revelations — emotional revelations. "I'm scared" vs "I'm worried." |
|
||||
| **Unprompted lines** | 3-5 | MIRROR volunteers emotional state or asks for help. "Have you seen Kael today? I'm worried." |
|
||||
| **Monologue triggers** | 10-15 per character | Player's internal reaction to MIRROR's honesty. Smuggler: guilt (if protecting someone the MIRROR loves). Detective: relief (finally someone not lying) + strategic value (MIRROR as witness to behavioral change). |
|
||||
| **Voice sample** | 3-5 lines | Covering: baseline warm, worried, brittle (close to tolerance break) |
|
||||
|
||||
**No contradiction discovery content.** No tell observation content (because no tells). No phase-shift dialogue. This is where MIRROR saves budget relative to FRIEND.
|
||||
|
||||
### Dual-Lens Distribution
|
||||
|
||||
**Smuggler perspective (if MIRROR is connected to a ring member):** Emotional collateral. The MIRROR's worry creates guilt. The smuggler knows WHY the person the MIRROR loves is behaving strangely and can't say. Seeing the MIRROR's distress is a cost of operations.
|
||||
|
||||
**Detective perspective:** Potential witness + emotional anchor. A partner who suspects their loved one is hiding something is a classic entry point for investigation. The MIRROR knows behavioral patterns, routines, recent changes. The detective can cultivate trust by being sympathetic.
|
||||
|
||||
---
|
||||
|
||||
## 4. Tell System Rules
|
||||
|
||||
**Core principle:** MIRROR has no tells because tells imply deception or concealment.
|
||||
|
||||
### The Absence-as-Content Design
|
||||
|
||||
| What the Player Experiences | System State | Mechanical Expression |
|
||||
|-----------------------------|--------------|---------------------|
|
||||
| Early game: MIRROR seems ordinary | No behavioral flags set. No `contradiction_flagged`. No tell observations in monologue. | The player's training (from interacting with NPCs who DO have tells) hasn't fired. This feels normal. |
|
||||
| Mid game: Player has learned to read other NPCs | The player has observed: Kael looks left when lying, Sera leaves when Torek arrives, Voss fidgets when questioned about manifests. | The player's mental model now expects tells. They're watching for them. |
|
||||
| MIRROR interaction: No tells present | Player talks to MIRROR. MIRROR makes eye contact, answers directly, emotional state matches words. No spatial deviation, no topic deflection, no nervous tics. | The ABSENCE is striking. The player's monologue notes it: "No hesitation. She's either telling the truth or she's the best actor I've ever seen." |
|
||||
| Resolution: Trust through transparency | If the player cross-references MIRROR's information with other sources, it checks out. MIRROR was telling the truth. | The player LEARNS that honesty exists in this world. That one person isn't performing. That becomes the emotional fulcrum for everything else. |
|
||||
|
||||
### How This Interacts with the Contradiction System
|
||||
|
||||
FRIEND NPCs have contradiction arcs: warmth → trust → doubt → conflict. Color shifts green to amber. The emotional payload is betrayal.
|
||||
|
||||
MIRROR NPCs have NO contradiction arc. Color remains green (or progresses public → insider → peer within green). The emotional payload is RELIEF and PROTECTION.
|
||||
|
||||
**Mechanical distinction:**
|
||||
- FRIEND: `EntityKnowledge.state` transitions to `KnowledgeState::Contradicted` when tells accumulate.
|
||||
- MIRROR: `EntityKnowledge.state` remains `KnowledgeState::Confirmed` or `KnowledgeState::Direct`. No contradiction flags ever set.
|
||||
|
||||
**Content signal:** The player's monologue about MIRROR evolves from neutral observation to active trust: "She's worried. Can't blame her — her partner is acting strange." → "I believe her. She doesn't know what's happening, but she's telling me everything she does know."
|
||||
|
||||
---
|
||||
|
||||
## 5. Dialogue Architecture
|
||||
|
||||
MIRROR dialogue follows the standard four-layer system (D-028) but with simplified secret-tier structure.
|
||||
|
||||
### Access Tiers (Layer 1)
|
||||
|
||||
| Tier | What MIRROR Shares | Example |
|
||||
|------|-------------------|---------|
|
||||
| **Public** | Observable emotional state, general information about their life/relationships | "I teach at the community school. The kids are doing well this term." |
|
||||
| **Insider** | Specific worry, named relationships, genuine vulnerability | "Kael's been coming home late. Says it's work, but the schedule doesn't match. I don't know what to think." |
|
||||
| **Peer** | Deep emotional exposure, requests for help or advice | "I'm scared, honestly. Not of Kael — of what Kael might be involved in. I don't know who else to talk to." |
|
||||
| **Authority** (if detective) | Cooperation with investigation, willingness to provide information about loved one despite emotional cost | "If you think Kael is in trouble, I want to know. I'll help if I can. Just — please don't hurt him." |
|
||||
|
||||
**No secret tier that reveals hidden criminal knowledge.** The MIRROR doesn't have hidden criminal knowledge. The "secret" tier for MIRROR is the deepest emotional vulnerability, not a plot revelation.
|
||||
|
||||
### Trust Progression
|
||||
|
||||
```
|
||||
Public (stranger) → Insider (acquaintance) → Peer (trusted friend) → Authority (if applicable)
|
||||
|
||||
What changes: Depth of emotional sharing, not type of information.
|
||||
What doesn't change: The facts. MIRROR tells the same truth at all tiers. The emotion around it deepens.
|
||||
```
|
||||
|
||||
**Example progression (Naia about Kael):**
|
||||
|
||||
- **Public:** "Kael works at the freight hub. Dock worker. We've been together six years."
|
||||
- **Insider:** "Kael's been stressed lately. Late nights, evasive when I ask about it. I'm worried."
|
||||
- **Peer:** "I love him. But I can't keep doing this — the not-knowing is killing me. I think something's wrong. I just don't know what."
|
||||
- **Authority (detective):** "If you're investigating something at the hub, and if Kael is involved — I need to know. I'll help. I just need the truth."
|
||||
|
||||
Same story. Deeper emotion. No revelation that changes the player's understanding of who Naia is.
|
||||
|
||||
### Monologue Trigger Design
|
||||
|
||||
MIRROR NPCs trigger monologue focused on the PC's EMOTIONAL REACTION to the MIRROR's honesty, not on information extraction.
|
||||
|
||||
**Smuggler monologue about MIRROR (if MIRROR is connected to ring member):**
|
||||
|
||||
| Trigger | Monologue Content | Emotional Layer |
|
||||
|---------|------------------|-----------------|
|
||||
| Observe MIRROR waiting at bar | "Naia's at the bar again. Alone. Keeps looking at the door. I know where Kael is. I can't say." | Guilt. The smuggler's operational knowledge creates distance from the MIRROR's suffering. |
|
||||
| MIRROR asks about loved one | "She asked if I'd seen Kael today. What do I say? 'Yeah, he's fine, just moving contraband?' Can't tell her. Can't lie to her face either." | Moral tension. The MIRROR's directness makes evasion feel worse. |
|
||||
| MIRROR shares deep worry | "She's really scared. Not just worried — scared. And she has no idea what's actually happening. If she knew..." | Protective instinct + guilt. The smuggler wants to shield the MIRROR from both the truth and the consequences. |
|
||||
|
||||
**Detective monologue about MIRROR:**
|
||||
|
||||
| Trigger | Monologue Content | Emotional Layer |
|
||||
|---------|------------------|-----------------|
|
||||
| First conversation with MIRROR | "She's not hiding anything. I've interviewed enough people to know when someone's performing. She's genuinely worried." | Relief. In a district where everyone seems evasive, the MIRROR is a breath of fresh air. |
|
||||
| MIRROR shares information about loved one | "She knows his routine better than anyone. The late nights, the evasions — she's been tracking them without realizing it. She's building my case for me." | Strategic recognition. The MIRROR is a witness to behavioral change — the best kind. |
|
||||
| MIRROR asks for help | "She wants me to figure out what's wrong. Not to arrest anyone — just to know. That's... trust. Real trust." | Emotional weight. The detective realizes the investigation has personal stakes for the MIRROR. Success means breaking someone's heart. |
|
||||
|
||||
---
|
||||
|
||||
## 6. Naia Tamm — Reference Implementation
|
||||
|
||||
Naia Tamm is the v0.1 MIRROR NPC in Sova Transit District. Let me walk through how her 10-axis profile demonstrates each MIRROR rule.
|
||||
|
||||
### Core Identity
|
||||
|
||||
- **Name:** Naia Tamm
|
||||
- **Age:** 33
|
||||
- **Role:** Teacher, Station Sova community school
|
||||
- **Social Site:** The Last Shift (Bar)
|
||||
- **Triangle:** Triangle 4 — The Worried Partner (Naia - Kael - Sera)
|
||||
|
||||
### 10-Axis MIRROR Implementation
|
||||
|
||||
#### 1. Want (Tier 1 depth, no deception)
|
||||
|
||||
**Primary:** Understand what's happening with Kael.
|
||||
|
||||
Naia and Kael have been together 6 years. Kael started coming home late, evasive answers, money that doesn't match hours. Naia doesn't know about the ring. Naia knows the person they share a life with is hiding something. The not-knowing is worse than almost any truth.
|
||||
|
||||
**Secondary:** Protect the life they've built.
|
||||
|
||||
Naia wants it resolved without destroying everything — the home, the relationship, the stability. This is why Naia confides in Sera instead of confronting Kael directly: wants advice, not a fight.
|
||||
|
||||
**MIRROR rule demonstrated:** Want is ABOUT someone else's secret, not concealing Naia's own. Naia's motivation is transparent to the player from the first conversation.
|
||||
|
||||
#### 2. Secret / Vulnerability (surface-level only)
|
||||
|
||||
**Surface secret:** Worried about Kael. Visible to anyone who sees Naia's stress.
|
||||
|
||||
**Deep secret:** Naia confided in Sera about Kael's behavior. This is the action that set Sera's compliance check in motion, though Naia doesn't know that. Naia shared a personal worry with a trusted friend.
|
||||
|
||||
**Vulnerability:** Emotional exposure. Naia's worry is genuine, visible, exploitable.
|
||||
|
||||
**MIRROR rule demonstrated:** Naia's "secret" is that she confided in a friend. That's not a conspiracy — it's ordinary human behavior under stress. The vulnerability is EMOTIONAL, not criminal.
|
||||
|
||||
#### 3. Relationships (genuine, no hidden agendas)
|
||||
|
||||
**Kael Davan (partner, 6 years):** Deep love, growing anxiety. Doesn't question Kael's character — just Kael's honesty.
|
||||
|
||||
**Sera Venn (close friend, 10 months):** Genuine friendship. Trusts Sera as someone who can give perspective without gossip.
|
||||
|
||||
**Lera Sessik (bar acquaintance):** Social connection. Lera is warm to Naia — protective attention to someone visibly struggling.
|
||||
|
||||
**MIRROR rule demonstrated:** All relationships are exactly what they appear to be. No hidden resentments, no secret alliances, no ulterior motives. Naia likes who she likes for straightforward reasons.
|
||||
|
||||
#### 4. Tolerance Threshold (moderate, genuine limits)
|
||||
|
||||
**Moderate.** Patient — teaching station kids requires it. But patience is fraying. Every evasive answer from Kael chips at tolerance. If pushed to breaking point, Naia confronts Kael directly — which could trigger Kael's crisis, force Sera's hand, or give the detective an opening.
|
||||
|
||||
**MIRROR rule demonstrated:** Tolerance threshold is real and observable. No hidden resilience, no secret breaking point. What Naia says she can tolerate is what she can tolerate.
|
||||
|
||||
#### 5. Daily Routine (predictable, no spatial deviations)
|
||||
|
||||
- 07:00 - 15:00: Teaching (community school, Residential Radial A)
|
||||
- 15:00 - 15:30: Commute back to Transit District
|
||||
- 15:30 - 17:30: Bar (The Last Shift) — meets Sera, social time
|
||||
- 17:30 - 22:00: Home. Waits for Kael.
|
||||
- Late evenings: Alone in apartment, wondering where Kael is.
|
||||
|
||||
**MIRROR rule demonstrated:** Routine is stable, observable, doesn't hide anything. Naia is where she says she'll be. No unauthorized corridor meetings, no suspicious timing patterns. The routine itself is transparent.
|
||||
|
||||
#### 6. Information Inventory (knows what she knows, doesn't know what she doesn't)
|
||||
|
||||
**Knows:** Kael's normal routine (6 years of partnership), Kael's recent deviations (late nights, evasive answers), Sera's Commission role (knows Sera is a tech, not investigator), bar social dynamics, school community.
|
||||
|
||||
**Doesn't know:** Ring, smuggling, Kael's membership, manifest discrepancies, Sera's compliance check, the detective's investigation.
|
||||
|
||||
**MIRROR rule demonstrated:** Naia's knowledge state is exactly what it appears to be. She's not concealing anything she knows. She genuinely doesn't know the conspiracy exists. This makes her the perfect witness to BEHAVIORAL change without knowledge of CAUSE.
|
||||
|
||||
#### 7. Contentment (low and declining — thematically essential)
|
||||
|
||||
**Was content:** Stable job, loving partner, community. Now relationship anxiety is coloring everything. Teaching is harder when distracted. Bar visits tinged with worry. Home is where the absence lives.
|
||||
|
||||
**MIRROR rule demonstrated:** Contentment trajectory is VISIBLE and GENUINE. Naia isn't pretending to be happy or hiding dissatisfaction. Her emotional state is observable in her voice, her behavior, her routine changes (increased bar presence = avoiding empty apartment).
|
||||
|
||||
#### 8. Personality Traits (no performance, no mask)
|
||||
|
||||
- **Primary: Caring** — genuinely invested in other people's wellbeing
|
||||
- **Secondary: Patient** — tolerates uncertainty longer than most, but not indefinitely
|
||||
- **Tertiary: Perceptive** — reads emotional states well. Knows when Kael is lying even if can't prove it.
|
||||
|
||||
**MIRROR rule demonstrated:** These traits are REAL, not performed. Naia's caring isn't a manipulation tactic. Her perceptiveness makes her WORRIED (she knows something's wrong) but doesn't make her SUSPICIOUS (she trusts Kael's character even while doubting his honesty about the situation).
|
||||
|
||||
#### 9. Tell System (ABSENT — the design payload)
|
||||
|
||||
Naia's entry in the wiki lists three "tells":
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| Visible stress | Tired eyes, distracted conversation, checking lattice | Sera, Lera, Detective, bar regulars |
|
||||
| Mentions Kael unprompted | Worry overflowing into conversation | Sera, Detective (if sitting nearby) |
|
||||
| Increased bar presence | Coming more often, staying longer — avoiding empty apartment | Lera (notices pattern), Sera (recognizes coping mechanism) |
|
||||
|
||||
**CRITICAL MIRROR DISTINCTION:** These are NOT tells in the deception-detection sense. They're not "behavioral flags that signal concealment." They're GENUINE STRESS MARKERS. Naia is visibly worried because Naia IS worried. There's no contradiction between internal state and external behavior.
|
||||
|
||||
**The system perspective:** A TELL is a deviation that signals deception (Kael looks left when lying, Sera leaves when Torek arrives). Naia's behaviors are COPING MECHANISMS and EMOTIONAL EXPRESSIONS, not tells. The player's monologue doesn't say "She's hiding something." It says "She's really struggling."
|
||||
|
||||
**MIRROR rule demonstrated:** The absence of deception-tells IS the content. The player who has learned to read evasion on other NPCs will notice that Naia makes direct eye contact, answers questions fully, doesn't deflect topics, doesn't have spatial anomalies beyond her normal routine. That ABSENCE becomes the signal: "This person is being honest with me."
|
||||
|
||||
#### 10. Skill Set (civilian, no hidden capabilities)
|
||||
|
||||
**Occupational:** Teaching, community engagement, youth education, curriculum management.
|
||||
|
||||
**Combat tag:** NO. Entirely civilian.
|
||||
|
||||
**Lattice capability:** Baseline.
|
||||
|
||||
**MIRROR rule demonstrated:** No hidden skills, no secret training, no combat capability concealed behind a civilian facade. Naia is exactly what she presents: a teacher who's worried about her partner.
|
||||
|
||||
### Naia's Triangle Role (Emotional Center)
|
||||
|
||||
**Triangle 4: The Worried Partner (Naia - Kael - Sera)**
|
||||
|
||||
Naia is the emotional center. Naia's worry about Kael triggered Sera's investigation. Naia's trust in Sera makes Sera's concealment more painful. Naia connects the detective's investigation to Kael's personal life through Sera, through Naia's own observations, through the fact that a worried partner is the best witness to behavioral change.
|
||||
|
||||
**Why MIRROR works here:** Naia is UNINVOLVED in the conspiracy but CENTRAL to its emotional impact. She's the person both the smuggler and detective want to protect — and the person whose honest worry makes the smuggling operation's human cost visible. If Naia were lying, the triangle would be about competing deceptions. Because Naia is honest, the triangle is about the COST of everyone else's deceptions.
|
||||
|
||||
### Dual-Lens Implementation
|
||||
|
||||
**Smuggler perspective (if smuggler is Kael's friend):**
|
||||
|
||||
Naia is emotional collateral. The smuggler knows why Kael is busy and can't say. Seeing Naia's worry creates guilt. If Naia asks the smuggler about Kael, there's no good answer.
|
||||
|
||||
Sample monologue: *"Naia's at the bar again. Alone. Looking at the door every time it opens. I know where Kael is. I can't say."*
|
||||
|
||||
**Detective perspective:**
|
||||
|
||||
Naia is a potential source. A partner who suspects their loved one is hiding something is a classic entry point. The detective can cultivate Naia's trust by being sympathetic — listen, validate, gently probe. Naia might not know specifics, but knows Kael's routine, habits, recent changes better than anyone.
|
||||
|
||||
Sample monologue: *"The partner — Naia Tamm. Teacher. Visibly stressed. Keeps looking at the door. If Davan is involved, this partner knows something changed, even if they don't know what."*
|
||||
|
||||
**MIRROR payload in dual-lens:** SAME transparency, DIFFERENT player reaction. Smuggler feels guilt. Detective sees opportunity. Both recognize honesty. The MIRROR's transparency makes the two characters' different relationships to truth more visible by contrast.
|
||||
|
||||
---
|
||||
|
||||
## 7. Generator Template
|
||||
|
||||
For creating future MIRROR NPCs. This is the content pack structure for a MIRROR.
|
||||
|
||||
### Profile Fields (What to Fill)
|
||||
|
||||
```yaml
|
||||
npc_id: "{name-lowercase}"
|
||||
name: "{Full Name}"
|
||||
age: {25-50 typical}
|
||||
role: "{Occupation — typically civilian}"
|
||||
social_site: "{Primary location}"
|
||||
tier: 1 # MIRROR is Tier 1 depth
|
||||
pattern: "MIRROR"
|
||||
entanglement: "mundane" # MIRROR is never directly entangled
|
||||
|
||||
# 10-Axis Profile
|
||||
|
||||
want:
|
||||
primary: "{Want that's ABOUT someone else or visible situation — no hidden agenda}"
|
||||
secondary: "{Want that's protective or stabilizing — preserve what they have}"
|
||||
|
||||
secret:
|
||||
surface: "{Visible emotional state — worry, stress, joy}"
|
||||
deep: "{Ordinary privacy or emotional vulnerability — NOT conspiracy knowledge}"
|
||||
vulnerability: "{Emotional exposure, not operational risk}"
|
||||
|
||||
relationships:
|
||||
relationship_1:
|
||||
target: "{Name}"
|
||||
type: "{Genuine bond — no hidden resentment}"
|
||||
history: "{How they met, why they care}"
|
||||
tension: "{Current stress in relationship — external, not deceptive}"
|
||||
relationship_2: ...
|
||||
relationship_3: ...
|
||||
|
||||
tolerance: "{moderate/high — describe genuine limits, what would make them break}"
|
||||
|
||||
routine:
|
||||
"{Time range}": "{Activity — predictable, no hidden meetings}"
|
||||
# No spatial deviations, no unauthorized locations
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "{Visible facts about their life}"
|
||||
- "{Behavioral observations about loved ones}"
|
||||
- "{Community knowledge}"
|
||||
doesnt_know:
|
||||
- "{Conspiracy details}"
|
||||
- "{Hidden agendas of others}"
|
||||
- "{Secret motivations}"
|
||||
|
||||
contentment: "{low/moderate — declining if connected to stressed loved one}"
|
||||
|
||||
personality:
|
||||
primary: "{Caring, Honest, Warm — prosocial trait}"
|
||||
secondary: "{Patient, Loyal, Perceptive — supportive trait}"
|
||||
tertiary: "{Genuine emotional responsiveness}"
|
||||
|
||||
tell_system:
|
||||
tells: [] # Empty array — MIRROR has no deception tells
|
||||
behavioral_markers:
|
||||
- "{Genuine stress marker — visible worry, not concealment}"
|
||||
- "{Coping mechanism — increased social presence, routine changes}"
|
||||
# These are NOT tells. They're genuine emotional expressions.
|
||||
|
||||
skills:
|
||||
occupational: ["{Teaching}", "{Community work}", "{Civilian profession}"]
|
||||
combat: false # MIRROR is never combat-capable
|
||||
lattice: "baseline"
|
||||
```
|
||||
|
||||
### Dialogue Content Pack Structure
|
||||
|
||||
```yaml
|
||||
# File: districts/{location}/dialogue/{role}-mirror.yaml
|
||||
|
||||
- id: "{npc-slug}_d_001"
|
||||
text: "Greeting — warm, open, no guardedness"
|
||||
role: "{role}"
|
||||
access: ["public"]
|
||||
trust: "surface"
|
||||
situation: ["greeting"]
|
||||
mood: ["warm"]
|
||||
|
||||
- id: "{npc-slug}_d_002"
|
||||
text: "Sharing worry — direct, no evasion"
|
||||
role: "{role}"
|
||||
access: ["public", "insider"]
|
||||
trust: "surface"
|
||||
situation: ["worried_inquiry"]
|
||||
mood: ["anxious"]
|
||||
|
||||
- id: "{npc-slug}_d_010"
|
||||
text: "Deep emotional vulnerability — peer tier"
|
||||
role: "{role}"
|
||||
access: ["peer"]
|
||||
trust: "real" # Not 'secret' — MIRROR has no secrets tier content
|
||||
situation: ["emotional_crisis"]
|
||||
mood: ["desperate"]
|
||||
|
||||
# Monologue content (separate per character, per D-032)
|
||||
|
||||
# File: districts/{location}/monologue/smuggler/{location}.yaml
|
||||
- id: "pc-smuggler_m_s_001"
|
||||
text: "Smuggler feels guilt observing MIRROR's distress"
|
||||
character: "smuggler"
|
||||
trigger: "observe_npc"
|
||||
prerequisite:
|
||||
target.known_attributes.name: "{Name}"
|
||||
target.known_attributes.emotional_state: "worried"
|
||||
|
||||
# File: districts/{location}/monologue/detective/{location}.yaml
|
||||
- id: "pc-detective_m_d_001"
|
||||
text: "Detective recognizes MIRROR as honest witness"
|
||||
character: "detective"
|
||||
trigger: "post_conversation"
|
||||
prerequisite:
|
||||
target.known_attributes.name: "{Name}"
|
||||
target.known_attributes.honesty_assessment: "transparent"
|
||||
```
|
||||
|
||||
### What Fields to Leave Empty
|
||||
|
||||
| Field | State | Why |
|
||||
|-------|-------|-----|
|
||||
| `tell_system.tells` | Empty array `[]` | MIRROR has no deception tells |
|
||||
| `secret.criminal_knowledge` | Omit entirely | MIRROR doesn't have criminal secrets |
|
||||
| `contradiction_arc` | Omit entirely | MIRROR has no contradiction phases |
|
||||
| `access: ["authority"]` content | Minimal | Only if MIRROR cooperates with investigation — still no secret reveals |
|
||||
| `trust: "secret"` tier content | Omit or minimal | MIRROR's deepest tier is emotional vulnerability, not plot revelation |
|
||||
|
||||
### What Makes a Good MIRROR Candidate
|
||||
|
||||
**Ideal MIRROR characteristics:**
|
||||
|
||||
1. **Emotionally connected to an entangled NPC** — Partner, sibling, close friend of someone in the conspiracy. Their honesty makes the conspiracy's human cost visible.
|
||||
|
||||
2. **Civilian role** — Teacher, bartender, service worker. Not institutional (Commission, Security). Not criminal. Represents ordinary life.
|
||||
|
||||
3. **Observable worry or stress** — MIRROR's emotional state is VISIBLE because they don't hide it. Their distress is the content.
|
||||
|
||||
4. **Genuine perceptiveness** — MIRROR notices behavioral changes in loved ones but doesn't KNOW the cause. "Something's wrong" without "I know what's wrong." Perfect witness to change without knowledge of crime.
|
||||
|
||||
5. **Prosocial personality** — Caring, loyal, honest. The player trusts them BECAUSE they're trustworthy. The game needs at least one person whose goodness is real.
|
||||
|
||||
**Poor MIRROR candidates:**
|
||||
|
||||
- NPCs with institutional power (they'd have investigative tools)
|
||||
- NPCs with hidden skills or backgrounds (contradicts transparency)
|
||||
- NPCs who are themselves criminals (MIRROR must be genuinely uninvolved)
|
||||
- NPCs without emotional stakes in the district (MIRROR's honesty is load-bearing only if they CARE)
|
||||
|
||||
---
|
||||
|
||||
## 8. Design Notes: Why MIRROR Isn't Boring
|
||||
|
||||
**The risk:** A character with no secrets, no tells, no contradiction arc sounds mechanically thin. "Just an honest person" doesn't feel like a gameplay system.
|
||||
|
||||
**Why it works:**
|
||||
|
||||
### The Contrast Mechanic
|
||||
|
||||
MIRROR is mechanically interesting BECAUSE of the surrounding systems. In a game where:
|
||||
|
||||
- Every FRIEND has a contradiction arc (warmth → doubt → conflict)
|
||||
- Every CATALYST disrupts equilibrium through action
|
||||
- Every SYSTEM embodies corrupted institutions
|
||||
- Every WITNESS carries dangerous knowledge
|
||||
- Every GHOST applies pressure from off-screen
|
||||
|
||||
...the ONE character with no deception becomes the ANCHOR. The player learns to expect complexity, hidden agendas, behavioral tells. MIRROR subverts that learned expectation by being EXACTLY what they appear to be.
|
||||
|
||||
**Mechanical payload:** The observation pipeline (Ozzie + Gestalt + Paula's unified system) trains the player to notice tells. The MIRROR's ABSENCE of tells is itself an observation event. The player's monologue fires: "No evasion. No deflection. Either honest or the best liar I've encountered." The uncertainty itself creates tension until the player verifies the honesty.
|
||||
|
||||
### The Emotional Fulcrum
|
||||
|
||||
When the ring's actions threaten the MIRROR (Naia worrying about Kael, potentially losing her relationship and stability), the player FEELS it because they've learned to believe this person.
|
||||
|
||||
**Smuggler:** The guilt of watching an innocent person suffer because of your operations. You can't tell her. You can't protect her. You're part of the cause of her pain.
|
||||
|
||||
**Detective:** The weight of knowing your investigation will break this person's life. Success means revealing that her partner is a criminal. The MIRROR trusted you to find answers — and the answers will destroy her.
|
||||
|
||||
**That's the design payoff.** MIRROR's transparency isn't boring — it's the emotional investment that makes the conspiracy's consequences real. The player cares about protecting the MIRROR because the MIRROR is the one person in the district who isn't performing, isn't hiding, isn't playing angles. That honesty makes them precious.
|
||||
|
||||
### The Trust Anchor
|
||||
|
||||
In a district where everyone has an agenda, the MIRROR is the person the player can RELY on. When the smuggler needs to know what's happening with Kael, Naia will tell the truth as she understands it. When the detective needs a witness, Naia will cooperate fully. The MIRROR's reliability is itself a strategic asset — but one that comes with emotional cost (using an innocent person's trust).
|
||||
|
||||
**System interaction:** The trust-gated gossip system (D-028 Layer 3, #171) means NPCs share information at different access tiers. With most NPCs, the player wonders: "Is this real or are they steering me?" With MIRROR, that question is answered: "This is real. She's telling me everything she knows." That certainty is VALUABLE in a game built on asymmetric information.
|
||||
|
||||
### The Replay Dimension
|
||||
|
||||
On second playthrough, playing the other character, the MIRROR's honesty becomes even more visible. The player KNOWS Naia isn't involved. They see her worry from a different angle:
|
||||
|
||||
- **Playthrough 1 (smuggler):** "I know why Kael is busy. Naia's worry is collateral damage."
|
||||
- **Playthrough 2 (detective):** "Naia's worry is my opening. She's the way in."
|
||||
|
||||
Same honesty. Different use. The player's knowledge that Naia is a MIRROR (from first playthrough) makes the second playthrough's interaction with her more complex: "I know she's honest. How do I use that? Should I?"
|
||||
|
||||
**Replay payload:** MIRROR transparency survives across playthroughs. FRIEND contradictions change (different seed might assign FRIEND to different NPC). MIRROR remains honest regardless of seed. That constancy is mechanically useful for teaching the player to recognize honesty — and ethically complex when the player knows they'll exploit it.
|
||||
|
||||
---
|
||||
|
||||
## 9. Implementation Checklist
|
||||
|
||||
For developers implementing a MIRROR NPC:
|
||||
|
||||
### ECS Component Setup
|
||||
|
||||
```rust
|
||||
// MIRROR NPCs use standard NPC components but with specific flags
|
||||
|
||||
NPCProfile {
|
||||
pattern: NPCPattern::Mirror,
|
||||
tier: ContentTier::One, // MIRROR is always Tier 1
|
||||
entanglement: EntanglementLevel::Mundane, // Never directly criminal
|
||||
}
|
||||
|
||||
TellSystem {
|
||||
tells: vec![], // Empty — no deception tells
|
||||
behavioral_markers: vec![
|
||||
BehavioralMarker::VisibleStress,
|
||||
BehavioralMarker::EmotionalExpression,
|
||||
// These are NOT tells — they're genuine coping mechanisms
|
||||
],
|
||||
}
|
||||
|
||||
ContradictionState {
|
||||
has_contradiction_arc: false, // MIRROR never contradicts
|
||||
relationship_phase: RelationshipPhase::Stable, // No phase transitions
|
||||
}
|
||||
|
||||
SecretInventory {
|
||||
criminal_secrets: vec![], // Empty
|
||||
personal_vulnerabilities: vec![
|
||||
Vulnerability::EmotionalExposure,
|
||||
Vulnerability::UninformedWitness,
|
||||
],
|
||||
}
|
||||
```
|
||||
|
||||
### Dialogue System Configuration
|
||||
|
||||
```rust
|
||||
// MIRROR dialogue has simpler trust structure
|
||||
|
||||
DialogueProfile {
|
||||
access_tiers: vec![
|
||||
AccessTier::Public, // General conversation
|
||||
AccessTier::Insider, // Named relationships, specific worries
|
||||
AccessTier::Peer, // Deep emotional vulnerability
|
||||
AccessTier::Authority, // (Optional) Cooperation with investigation
|
||||
],
|
||||
trust_gates: vec![
|
||||
TrustGate { tier: TrustTier::Surface, access: [Public, Insider] },
|
||||
TrustGate { tier: TrustTier::Real, access: [Peer, Authority] },
|
||||
// NO TrustTier::Secret — MIRROR doesn't have secret-tier content
|
||||
],
|
||||
}
|
||||
```
|
||||
|
||||
### Knowledge System Integration
|
||||
|
||||
```rust
|
||||
// Observer's knowledge state about MIRROR
|
||||
|
||||
EntityKnowledge {
|
||||
state: KnowledgeState::Confirmed, // Or Direct. Never Contradicted.
|
||||
known_attributes: {
|
||||
"honesty_assessment": "transparent",
|
||||
"reliability": "solid",
|
||||
"facade_status": "N/A", // MIRROR has no facade
|
||||
"emotional_state": "worried", // Visible, genuine
|
||||
"threat_to_position": "none", // MIRROR is not operationally dangerous
|
||||
"moral_standing": "innocent", // Never shifts to complicit
|
||||
},
|
||||
contradiction_flagged: None, // MIRROR never flags contradictions
|
||||
}
|
||||
```
|
||||
|
||||
### Monologue Event Triggers
|
||||
|
||||
```rust
|
||||
// When player observes MIRROR, monologue focuses on emotional reaction
|
||||
|
||||
if npc.pattern == NPCPattern::Mirror {
|
||||
if observer.has_learned_to_read_tells() {
|
||||
// Trigger "absence of tells" observation
|
||||
monologue_event = MonologueEvent {
|
||||
trigger: MonologueTrigger::ObserveNPC,
|
||||
target: npc.entity_id,
|
||||
filter_tags: ["honesty_recognition", "emotional_anchor"],
|
||||
};
|
||||
}
|
||||
|
||||
if npc.emotional_state == EmotionalState::Distressed
|
||||
&& observer.knows_cause_of_distress()
|
||||
&& !observer.can_share_knowledge() {
|
||||
// Trigger guilt/conflict monologue (if smuggler)
|
||||
monologue_event = MonologueEvent {
|
||||
trigger: MonologueTrigger::ObserveNPC,
|
||||
target: npc.entity_id,
|
||||
filter_tags: ["guilt", "emotional_collateral"],
|
||||
};
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Testing Validation
|
||||
|
||||
**MIRROR correctness tests:**
|
||||
|
||||
1. **No contradiction flags should ever set** for MIRROR entity.
|
||||
2. **EntityKnowledge.state should never transition to Contradicted** for MIRROR.
|
||||
3. **TellSystem.tells should remain empty array** throughout session.
|
||||
4. **Monologue events about MIRROR should NOT include tags:** `"deception"`, `"evasion"`, `"suspicious"`.
|
||||
5. **Monologue events about MIRROR SHOULD include tags:** `"honesty"`, `"transparency"`, `"genuine"`, `"emotional_anchor"`.
|
||||
6. **Trust progression should not unlock "secret" tier content** — only surface/real tiers should have content.
|
||||
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
**THE MIRROR pattern is the emotional foundation of the game's moral complexity.**
|
||||
|
||||
In a world where everyone is hiding something, the one person who isn't becomes the player's anchor — and their vulnerability. The MIRROR's transparency is mechanically expressed through the ABSENCE of systems (no tells, no contradiction arc, no secrets) that are present on every other NPC. That absence becomes visible through contrast.
|
||||
|
||||
**The design works because:**
|
||||
- The observation pipeline trains the player to expect deception
|
||||
- The MIRROR subverts that expectation through consistent honesty
|
||||
- The player's verification of honesty (cross-referencing MIRROR's info against other sources) creates trust
|
||||
- That trust makes the MIRROR's emotional stakes real
|
||||
- Threats to the MIRROR create urgency and moral weight
|
||||
|
||||
**Naia Tamm demonstrates every rule:** She has full Tier 1 depth, genuine emotional complexity, visible stress, transparent relationships, predictable routine, and zero deception. Her honesty makes Kael's secrets painful, Sera's concealment costly, and the investigation's human consequences visible.
|
||||
|
||||
**For content authors:** MIRROR is mechanically simple (no contradiction content) but emotionally complex (full 10-axis depth). The 50-70 line budget focuses on genuine emotional expression, trust progression through vulnerability, and dual-lens player reaction. The MIRROR is the person both characters want to protect — and the person who makes the cost of deception real.
|
||||
|
||||
---
|
||||
|
||||
**End Pattern Specification.**
|
||||
|
||||
**Files referenced:**
|
||||
- `/var/mnt/data/projects/settled-reach/copy/wiki/npcs/naia-tamm.md` — Reference implementation
|
||||
- `/var/mnt/data/projects/settled-reach/copy/decisions/content.md` — D-024 (10-axis model), D-028 (dialogue architecture), D-029 (entanglement ratio), D-032 (separate monologue pools), D-034 (THE FRIEND pattern), D-035 (tag taxonomy)
|
||||
- `/var/mnt/data/projects/settled-reach/copy/docs/workshops/v01-content-scoping/round2-gestalt.md` — Pattern definitions and NPC mapping
|
||||
- `/var/mnt/data/projects/settled-reach/copy/docs/workshops/v01-gap-analysis/round2-gestalt.md` — Unified observation system, character identity integration
|
||||
@@ -0,0 +1,450 @@
|
||||
# Tier 1 Drama Module — Authoring Guide
|
||||
|
||||
**Schema:** `content/schemas/drama_module.schema.yaml`
|
||||
**Module pool:** `content/modules/tier1/*.yaml`
|
||||
**Decisions:** D-023 (three-tier model), D-027 (vertical slice), D-029 (30/50/20 population), D-034 (FRIEND pattern)
|
||||
**Vertical slice reference:** `content/modules/tier1/smuggling_ring_v0_1.yaml`
|
||||
|
||||
---
|
||||
|
||||
## What Is a Tier 1 Drama Module?
|
||||
|
||||
Tier 1 is the authored conspiracy layer of D-023. Drama modules are the things that can go wrong — or go very right, or simply happen — beneath the surface of daily life in Sova Transit. They are:
|
||||
|
||||
- **Hand-authored.** Every event sequence, every NPC role, every outcome was written by a person.
|
||||
- **Pool-based.** Multiple modules exist. The storyteller draws from the pool at game start and activates a subset based on the district and the storyteller's pacing decisions.
|
||||
- **Optional from the player's perspective.** The player can play 60 minutes without engaging the ring. The ring happens anyway. D-027 criterion #4: the observe→notice→follow→discover sequence must emerge from *systems*, not *scripts*.
|
||||
- **Dual-lens.** Every module must be experienced differently by the smuggler and detective characters. Same world, different keyholes.
|
||||
|
||||
What they are **not:**
|
||||
- Not quests with markers or objectives.
|
||||
- Not scripted cutscenes.
|
||||
- Not balanced challenge encounters.
|
||||
|
||||
The storyteller uses the module as a *schedule* — a series of world events it will fire, and conditions it monitors to determine how the world resolves. The player is a witness and agent in a world that moves with or without them.
|
||||
|
||||
---
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
content/
|
||||
schemas/
|
||||
drama_module.schema.yaml ← Schema reference (this file validates against it)
|
||||
modules/
|
||||
tier1/
|
||||
smuggling_ring_v0_1.yaml ← The v0.1 vertical slice module
|
||||
future_module_v0_1.yaml ← Future modules go here
|
||||
```
|
||||
|
||||
One `.yaml` file per drama module. The storyteller's content loader scans `content/modules/tier1/` at startup and adds all valid modules to the pool.
|
||||
|
||||
---
|
||||
|
||||
## Field Reference
|
||||
|
||||
### Identity Fields
|
||||
|
||||
| Field | Required | Description |
|
||||
|-------|----------|-------------|
|
||||
| `module_id` | Yes | Stable slug: `{name}_v{major}_{minor}`. Never reuse. Increment on breaking structural change. |
|
||||
| `display_name` | Yes | Human-readable title for dev tooling. Not shown in-game. |
|
||||
| `version` | Yes | Authoring version: `{major}.{minor}`. |
|
||||
| `tier` | Yes | Always `1`. |
|
||||
| `description` | No | One-paragraph design summary. Authoring-only. |
|
||||
| `notes` | No | Design rationale, cross-references. Ignored at load time. |
|
||||
| `dual_lens` | No | How smuggler vs detective experience this module. Authoring-only. **Write this first** — it disciplines the design. |
|
||||
|
||||
---
|
||||
|
||||
### Pool Metadata
|
||||
|
||||
Controls how the storyteller samples this module.
|
||||
|
||||
| Field | Required | Description |
|
||||
|-------|----------|-------------|
|
||||
| `pool.weight` | Yes | Selection probability 1–10. Higher = more likely per playthrough. Default 5. |
|
||||
| `pool.compatible_districts` | No | District slugs. Omit for "any". |
|
||||
| `pool.incompatible_with` | No | Module IDs that can't run concurrently. |
|
||||
| `pool.max_concurrent` | No | Almost always 1. |
|
||||
|
||||
**Design note on weight:** Use weight to tune narrative variety, not difficulty. A weight-1 module is a rare playthrough surprise. A weight-8 module like the smuggling ring is "this is usually what's happening in Sova Transit."
|
||||
|
||||
---
|
||||
|
||||
### Entry Conditions
|
||||
|
||||
Defines when the module becomes eligible for activation. ALL world-state conditions must be true. The activation trigger determines *how* it fires.
|
||||
|
||||
#### World-State Condition Types
|
||||
|
||||
| Type | Required Fields | Use When |
|
||||
|------|----------------|----------|
|
||||
| `npc_present` | `role` | The module requires a specific NPC to be in the district. |
|
||||
| `location_accessible` | `location` | The module requires a location the player can physically reach. |
|
||||
| `fact_not_known` | `fact_id` | Module shouldn't activate if a precondition has already been discovered. |
|
||||
| `no_active_module` | `module_id` | Prevents two incompatible modules running at once. |
|
||||
| `fact_known` | `fact_id`, `known_by` | Module requires prior knowledge to make sense. |
|
||||
|
||||
#### Player Conditions (Optional)
|
||||
|
||||
Player conditions are *optional* — modules can and should activate without player engagement as a prerequisite. Use player conditions sparingly, only when the module literally cannot function without a minimum relationship state.
|
||||
|
||||
#### Activation Triggers
|
||||
|
||||
| Trigger | When to Use |
|
||||
|---------|-------------|
|
||||
| `storyteller_push` | Default. Storyteller activates on its own pacing. Most Tier 1 modules. |
|
||||
| `proximity` | Module activates when player wanders near a key location. Useful for "stumble-upon" conspiracies. |
|
||||
| `player_action` | Reserved for modules that require player initiation. Use rarely. |
|
||||
|
||||
**The `min_play_ticks` field is load-bearing for D-027 criterion #1.** At approximately 1 tick/second, 30 minutes of play ≈ 1800 ticks. Set `min_play_ticks` to at least 1800. The vertical slice uses 2100 to give extra breathing room.
|
||||
|
||||
---
|
||||
|
||||
### NPC Requirements
|
||||
|
||||
Each module specifies its NPC slots. Roles are internal slugs used throughout the rest of the document.
|
||||
|
||||
| Field | Required | Description |
|
||||
|-------|----------|-------------|
|
||||
| `role` | Yes | Module-internal slug. Kebab-case. Used in event triggers and outcome conditions. |
|
||||
| `display_hint` | No | Authoring note: who this role is narratively. |
|
||||
| `binding` | Yes | `named` (specific authored NPC) or `generated` (any matching NPC). |
|
||||
| `named_npc` | Conditional | Required when `binding: named`. Short-form canonical ID: `npc:{slug}`. |
|
||||
| `axes` | Conditional | Required when `binding: generated`. Axis constraints the NPC must satisfy. |
|
||||
| `must_have_pattern` | No | Optional NPC pattern (D-024 System A). |
|
||||
| `must_have_motivation` | No | Optional NPC motivation (D-024 System B). |
|
||||
| `is_optional` | No | Default false. If true, module runs without this slot filled (degraded experience). |
|
||||
|
||||
#### Named vs. Generated Bindings
|
||||
|
||||
**Named bindings** reference specific hand-authored NPCs from the district. All v0.1 roles are named. This is the right choice for:
|
||||
- THE FRIEND NPCs (D-034) — they have authored arcs, not generic behavior
|
||||
- NPCs with unique relationships in the 5-triangle web
|
||||
- Roles where voice, history, and moral weight matter
|
||||
|
||||
**Generated bindings** are for future modules set in different districts or using procedurally generated NPCs. They use axis constraints:
|
||||
|
||||
```yaml
|
||||
axes:
|
||||
- axis: secret
|
||||
constraint: has_major_secret
|
||||
- axis: contentment
|
||||
constraint: min_contentment_-3 # Discontented, susceptible to opportunity
|
||||
```
|
||||
|
||||
Constraint conventions: `has_{value}`, `min_{N}`, `not_{value}`. The server's NPC filter system interprets these.
|
||||
|
||||
#### What "Roles" Are Not
|
||||
|
||||
NPC roles in a drama module are **not** the same as NPC patterns (FRIEND, MIRROR, etc.) or motivations (HANDLER, WITNESS, etc.). Module roles are:
|
||||
- Functional slots within the module's narrative (ring-leader, witness, evidence-holder)
|
||||
- Module-local: "ring-leader" in the smuggling ring module ≠ "ring-leader" in any other module
|
||||
- Used to reference the same NPC across events and outcomes without hardcoding the NPC slug
|
||||
|
||||
#### NPC Pattern and Motivation Reference
|
||||
|
||||
Patterns (System A, `must_have_pattern`) encode the NPC's thematic function in the player's experience:
|
||||
|
||||
| Pattern | What It Means |
|
||||
|---------|---------------|
|
||||
| `FRIEND` | Emotionally complex anchor; the contradiction arc lives here (D-034) |
|
||||
| `MIRROR` | Reflects the player character's own path back at them |
|
||||
| `ANCHOR` | Reliable presence; stability the player can always return to |
|
||||
| `GHOST` | Presence felt more than seen; past hangs over current events |
|
||||
| `CATALYST` | Actions cause cascading effects on other NPCs |
|
||||
| `THRESHOLD` | Gatekeeper; controls access to deeper information or relationships |
|
||||
| `REMNANT` | Survivor of a prior event; carries knowledge others want buried |
|
||||
| `SYSTEM` | Embodies an institution or faction rather than personal stakes |
|
||||
| `NOBODY` | Genuinely flat; texture and atmosphere, no arc |
|
||||
|
||||
Motivations (System B, `must_have_motivation`) encode why the NPC acts within the module's conspiracy:
|
||||
|
||||
| Motivation | What It Means |
|
||||
|------------|---------------|
|
||||
| `HANDLER` | Organizes or directs others; the operational center |
|
||||
| `WITNESS` | Knows something they haven't decided to act on |
|
||||
| `TURNCOAT` | Wants out, or has already switched allegiance |
|
||||
| `CIVILIAN` | No conspiracy involvement; proximity creates moral weight |
|
||||
| `OPERATOR` | Executes tasks; functional cog in the system |
|
||||
| `SKEPTIC` | Doubts the conspiracy exists; useful foil for investigation |
|
||||
|
||||
**Full definitions and canonical usage:** `decisions/content.md` D-024.
|
||||
|
||||
---
|
||||
|
||||
### Events
|
||||
|
||||
Events are world-state changes the storyteller fires. They are not scripted player experiences — they happen in the world, and the player may or may not observe them.
|
||||
|
||||
#### Sequences vs. Pools
|
||||
|
||||
| Structure | Use For |
|
||||
|-----------|---------|
|
||||
| **Sequence** | Ordered narrative beats. Step N+1 becomes eligible only after step N fires. Use for character arcs. |
|
||||
| **Pool** | Unordered ambient activity. The storyteller fires any eligible event at any time. Use for texture and background. |
|
||||
|
||||
The vertical slice uses:
|
||||
- `kael_exit_arc` (sequence) — Kael's ordered character arc
|
||||
- `investigation_pressure` (sequence) — Parallel pressure escalation
|
||||
- `ambient_ring_activity` (pool) — Background ring business that runs throughout
|
||||
|
||||
Most modules should have 1-2 sequences plus 1 pool.
|
||||
|
||||
#### Event Step Fields
|
||||
|
||||
| Field | Required | Description |
|
||||
|-------|----------|-------------|
|
||||
| `event_id` | Yes | Unique within module. Used in outcome conditions and `ticks_since_event` triggers. |
|
||||
| `label` | No | Short human-readable label for dev tooling. |
|
||||
| `description` | No | What happens narratively. Write this first — events should have a clear observable presence. |
|
||||
| `triggers` | Yes | ANY trigger being true fires the event. Multiple triggers = OR logic. |
|
||||
| `effects` | No | What changes in the world. |
|
||||
| `once` | No | Default `true`. Set `false` for repeating events (ambient discrepancies, etc.). |
|
||||
| `sets_flag` | No | Module-internal flag set when event fires. Used in outcome conditions. |
|
||||
|
||||
#### Trigger Types
|
||||
|
||||
| Type | Fires When | Key Fields |
|
||||
|------|-----------|------------|
|
||||
| `ticks_since_activation` | N ticks after module activated | `ticks` |
|
||||
| `ticks_since_event` | N ticks after a previous event fired | `after_event`, `ticks` |
|
||||
| `player_proximity` | Player near NPC/location | `target_type`, `target`, `radius_tiles` |
|
||||
| `player_action` | Player interacts with target | `action`, `target_role` |
|
||||
| `fact_known_by_player` | Player has discovered a fact | `fact_id` |
|
||||
| `flag_set` | A module flag has been set | `flag` |
|
||||
| `npc_mood` | NPC enters a mood state | `npc_role`, `mood` |
|
||||
|
||||
**Design principle: events should fire without the player.** Every event must have at least one tick-based trigger (`ticks_since_activation` or `ticks_since_event`). Proximity and action triggers are secondary paths that fire the event *earlier* if the player engages. The world moves at its own pace; the player accelerates or delays, not controls.
|
||||
|
||||
#### Effect Types
|
||||
|
||||
| Type | Use For |
|
||||
|------|---------|
|
||||
| `npc_routine_deviation` | Visible NPC behavior change. Write this descriptively — it's what the player sees. |
|
||||
| `fact_becomes_discoverable` | Gates a fact into the knowledge graph at Rumoured confidence. |
|
||||
| `tell_intensify` | NPC's tell behavior becomes more frequent/pronounced. |
|
||||
| `flag_set` | Internal state tracking. Not visible to player. |
|
||||
| `location_state` | Something visible changes in a location. |
|
||||
| `npc_knowledge_update` | An NPC learns something new. |
|
||||
|
||||
**On `fact_becomes_discoverable`:** This makes a fact discoverable, not known. The player still has to find it — through proximity, examination, dialogue, or observation. The `discovery_method` field is an authoring note for how: be specific enough that a Mellanie can write the dialogue or monologue that surfaces it, and a Gestalt can define the trigger condition in the fact catalog.
|
||||
|
||||
**Fact ID convention:** Use `{module-slug}.{fact_name}` — e.g., `ring.kael_unauthorized_corridor_access`. The module slug prefix namespaces the fact to avoid collisions across modules. Before creating a new fact ID, check `content/global/knowledge/` to see if an equivalent fact already exists; reuse it rather than creating a duplicate.
|
||||
|
||||
**Mapping `discovery_method` to D-035 trigger types:** The `discovery_method` note should describe exactly how the player triggers fact discovery. This maps directly to the D-035 monologue trigger taxonomy (full list in `decisions/content.md` D-035 and `content/global/enums/triggers.yaml`):
|
||||
|
||||
| If discovery happens via… | D-035 trigger type | What to author |
|
||||
|--------------------------|-------------------|----------------|
|
||||
| Player enters the location where something is visible | `enter_location` | Monologue line flagging the anomaly on arrival |
|
||||
| Player watches an NPC doing something unusual | `observe_npc` | Monologue line on NPC observation; dialogue option unlocks |
|
||||
| Player examines an object or terminal | `observe_anomaly` | Examine verb interaction; monologue on result |
|
||||
| Player witnesses two NPCs interacting | `witness_interaction` | Monologue line; trust-gated gossip unlock |
|
||||
| Player finishes a conversation with the relevant NPC | `post_conversation` | Monologue beat after talking to the NPC |
|
||||
| Player discovers a physical object (cargo, message) | `discover_evidence` | Examine verb; monologue on discovery |
|
||||
| Player returns to a location they've been before | `return_visit` | Monologue on changed state vs. prior visit |
|
||||
|
||||
Write the `discovery_method` note to specify which of these applies — ideally two methods for redundancy (e.g., `enter_location` plus `observe_anomaly`) so players aren't funneled into a single approach.
|
||||
|
||||
---
|
||||
|
||||
### Outcomes
|
||||
|
||||
Outcomes are resolution states. The storyteller checks all outcome conditions each tick after the module activates. The first matching outcome is applied.
|
||||
|
||||
**Every module must include:**
|
||||
- At least one terminal outcome that represents "the investigation succeeded"
|
||||
- At least one terminal outcome that represents "the conspiracy ran its course"
|
||||
- Exactly one expiry outcome (`is_expiry: true`) for quiet player non-engagement
|
||||
|
||||
#### Outcome Fields
|
||||
|
||||
| Field | Required | Description |
|
||||
|-------|----------|-------------|
|
||||
| `outcome_id` | Yes | Unique slug. |
|
||||
| `label` | Yes | Short label. |
|
||||
| `is_terminal` | Yes | `true` = module ends. `false` = transitional state (module can continue evolving). |
|
||||
| `is_expiry` | No | `true` = this is the quiet-exit outcome. One per module. |
|
||||
| `conditions` | No | ALL conditions must be true. See below. |
|
||||
| `effects` | No | World changes when outcome is reached. |
|
||||
|
||||
**On `is_terminal: false`:** A non-terminal outcome fires its effects and applies its label, but the module remains active — the storyteller keeps checking for the next matching outcome. Use this for intermediate states where the world has visibly shifted but the situation hasn't resolved: the `ring_splinters` outcome in the vertical slice is non-terminal because the ring going quiet is a change of state, not a conclusion. A module with only non-terminal outcomes will run forever; always ensure there is a reachable terminal outcome (or expiry) downstream.
|
||||
|
||||
#### Outcome Conditions
|
||||
|
||||
| Condition | Description |
|
||||
|-----------|-------------|
|
||||
| `facts_known` | Player must know all listed facts. |
|
||||
| `facts_not_known` | Player must NOT know any listed facts. |
|
||||
| `flags_set` | All listed module flags must be set. |
|
||||
| `flags_not_set` | None of listed flags may be set. |
|
||||
| `events_fired` | All listed events must have fired. |
|
||||
| `ticks_since_activation` | Module has been running for at least N ticks. |
|
||||
|
||||
#### Outcome Effects
|
||||
|
||||
| Type | Description |
|
||||
|------|-------------|
|
||||
| `npc_disposition` | NPC's relationship state with player shifts. |
|
||||
| `faction_reaction` | Faction reputation change. |
|
||||
| `location_access_change` | Location becomes restricted, locked, or open. |
|
||||
| `fact_state` | Fact is permanently known, hidden, or destroyed. |
|
||||
| `npc_exit` | NPC leaves the district or becomes inaccessible. |
|
||||
|
||||
---
|
||||
|
||||
## Design Principles for Tier 1 Modules
|
||||
|
||||
### 1. The World Moves First
|
||||
|
||||
Events happen on a tick schedule. The player is a witness who can accelerate, delay, or redirect — not a trigger. If your module can only function if the player takes specific actions, it's a quest, not a drama module.
|
||||
|
||||
### 2. Both Characters Must Have a Story
|
||||
|
||||
Every event and outcome must mean something different to the smuggler and the detective. Write the `dual_lens` authoring field first. If you can't write both lenses, the module is character-agnostic filler — not Tier 1.
|
||||
|
||||
### 3. No Clean Resolutions
|
||||
|
||||
D-034 and D-027 both require moral ambiguity. The smuggling ring doesn't have a "good" ending. The detective arresting Kael is not obviously better than letting him go. Every outcome must have a cost. If one outcome is obviously correct, you've failed the design.
|
||||
|
||||
### 4. THE FRIEND Contradiction Is the Pivot
|
||||
|
||||
If your module involves a FRIEND-pattern NPC, the observable contradiction (D-034) must be:
|
||||
- **Observable from spatial positioning** — not from dialogue, not from menus
|
||||
- **Ambiguous before context** — the player sees the behavior before they understand what it means
|
||||
- **Irreversible once witnessed** — seeing changes the relationship, even if the player does nothing
|
||||
|
||||
The secret meeting in corridor B-7 is the canonical example. After witnessing it, neither character can pretend they don't know what they saw.
|
||||
|
||||
### 5. Expiry Is Not Failure
|
||||
|
||||
The `module_abandoned` expiry outcome should feel like a natural ending, not a penalty. The world closes around this conspiracy without the player. That's the 70% mundane reality (D-029): most conspiracies don't get protagonists. Write the expiry description to feel melancholy but not punitive.
|
||||
|
||||
### 6. Facts, Not Flags, Drive Investigation
|
||||
|
||||
Facts (from `global/knowledge/`) are the player's knowledge graph. Flags are the storyteller's internal state tracking. The key design question: "Is this something the player knows, or is this something the storyteller tracks?" If the player knows it, it's a fact. If the storyteller tracks it, it's a flag.
|
||||
|
||||
Facts should be discoverable through multiple methods (observation, dialogue, examination, proximity). Never require a single specific action to surface a critical fact.
|
||||
|
||||
---
|
||||
|
||||
## Validation and Format Rules (Gestalt)
|
||||
|
||||
These rules cover the schema's format constraints and the validation gaps that JSON Schema cannot enforce. All of these are also caught by Tier 2 build-time validation (`make validate-content`), but catching them during authoring saves a pipeline run.
|
||||
|
||||
### ID and Slug Formats
|
||||
|
||||
| Field | Regex | Example |
|
||||
|-------|-------|---------|
|
||||
| `module_id` | `^[a-z][a-z0-9-]*_v[0-9]+_[0-9]+$` | `smuggling_ring_v0_1` |
|
||||
| `sequence_id`, `pool_id` | `^[a-z][a-z0-9_-]*$` | `kael_exit_arc` |
|
||||
| `event_id` | `^[a-z][a-z0-9_-]*$` | `kael_goes_cold` |
|
||||
| `outcome_id` | `^[a-z][a-z0-9_-]*$` | `ring_exposed` |
|
||||
| `sets_flag` / flag references | `^[a-z][a-z0-9_-]*$` | `kael_behavior_changed` |
|
||||
| `role` (npc slot) | `^[a-z][a-z0-9-]*$` | `ring-member-exiting` |
|
||||
| `named_npc` | `^npc:[a-z][a-z0-9-]*$` | `npc:kael-davan` |
|
||||
| `version` | `^[0-9]+\\.[0-9]+$` | `0.1` |
|
||||
|
||||
Note the difference: `event_id`, `outcome_id`, `sequence_id`, and flags use underscores and hyphens (`[a-z0-9_-]*`). NPC `role` slugs use hyphens only (`[a-z0-9-]*`). Mixing them in wrong fields will fail schema validation.
|
||||
|
||||
### Flag Naming Convention
|
||||
|
||||
Flags are module-internal state. Every flag name that appears in `sets_flag` on an event **must** also appear in at least one outcome's `flags_set` or `flags_not_set` condition — or the flag serves no purpose. Convention:
|
||||
|
||||
- Use `snake_case` with underscores: `kael_behavior_changed`, `voss_pressure_applied`
|
||||
- Name by what happened, not what it enables: `handler_pressure_applied` not `kael_ready_to_flee`
|
||||
- Flags set by events accumulate — they are never automatically cleared
|
||||
- A flag set by a time-triggered event (not player-triggered) cannot be used as an expiry gate (see "Common Mistakes" below)
|
||||
|
||||
### Axis Constraint Syntax (Generated NPC Bindings)
|
||||
|
||||
The `constraint` field in `axes` is a freeform string. The storyteller's NPC filter interprets it. Convention (author responsibility — schema does not enforce):
|
||||
|
||||
| Prefix | Example | Meaning |
|
||||
|--------|---------|---------|
|
||||
| `has_` | `has_major_secret` | NPC axis value includes this descriptor |
|
||||
| `min_contentment_` | `min_contentment_-3` | Contentment axis value ≤ N (more discontented) |
|
||||
| `not_` | `not_combat_trained` | Axis value does NOT include this descriptor |
|
||||
| `is_` | `is_ring_member` | Boolean flag set on NPC profile |
|
||||
|
||||
### What JSON Schema Cannot Validate (Tier 2 Catches These)
|
||||
|
||||
| Issue | Where to Look | Impact |
|
||||
|-------|--------------|--------|
|
||||
| `fact_id` not defined in `global/knowledge/` | Effect `fact_becomes_discoverable`, outcome `facts_known` | Fact silently never becomes discoverable |
|
||||
| `sets_flag` name not referenced in any outcome condition | Event `sets_flag` | Flag is set but never meaningful |
|
||||
| `flags_set`/`flags_not_set` reference flag never set by any event | Outcome conditions | Condition permanently true or false |
|
||||
| `ticks_since_event.after_event` references unknown event_id | Event trigger | Trigger never fires |
|
||||
| `named_npc` ID doesn't exist in district NPC profiles | NPC requirements | Load-time failure |
|
||||
| Multiple outcomes have `is_expiry: true` | Outcomes list | Undefined storyteller behavior |
|
||||
| `faction` in outcome effects not in `global/factions/` | Outcome effects | Effect silently ignored |
|
||||
|
||||
### The Expiry Condition Pitfall
|
||||
|
||||
This is the most common authoring mistake for expiry outcomes. **The expiry condition must use `facts_not_known`, not `flags_not_set`.** Reason:
|
||||
|
||||
Events with `ticks_since_activation` triggers fire automatically without player engagement. If an auto-firing event sets a flag, and your expiry checks `flags_not_set: [that_flag]`, the expiry condition becomes permanently false after the event fires — the module can never expire quietly.
|
||||
|
||||
**Wrong:**
|
||||
```yaml
|
||||
# kael_goes_cold fires automatically at tick 300, sets kael_behavior_changed
|
||||
# This expiry can never fire after tick 300
|
||||
- outcome_id: module_abandoned
|
||||
is_expiry: true
|
||||
conditions:
|
||||
flags_not_set:
|
||||
- kael_behavior_changed # This flag is always set by tick 300
|
||||
ticks_since_activation: 5400
|
||||
```
|
||||
|
||||
**Correct:**
|
||||
```yaml
|
||||
# facts_not_known gates on player investigative action, not auto-fired events
|
||||
- outcome_id: module_abandoned
|
||||
is_expiry: true
|
||||
conditions:
|
||||
facts_not_known:
|
||||
- "ring.cargo_discrepancy_pattern" # Only known if player examined terminal
|
||||
- "ring.kael_unauthorized_corridor_access" # Only known if player observed Kael
|
||||
ticks_since_activation: 5400
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Checklist Before Submitting a New Module
|
||||
|
||||
- [ ] `module_id` uses correct format and doesn't collide with existing modules
|
||||
- [ ] `dual_lens` is written and shows clearly different experiences per character
|
||||
- [ ] `min_play_ticks` ≥ 1800 (30 minutes at 1 tick/second)
|
||||
- [ ] Every event sequence step has at least one tick-based trigger
|
||||
- [ ] Every `fact_becomes_discoverable` effect has a `discovery_method` note
|
||||
- [ ] The module includes at least one named FRIEND-pattern NPC (for v0.1 modules)
|
||||
- [ ] Expiry outcome is present (`is_expiry: true`) with conditions gated on `facts_not_known`, NOT `flags_not_set`
|
||||
- [ ] All outcomes have been reviewed for moral ambiguity — no "obviously correct" resolution
|
||||
- [ ] `npc_requirements` covers every role referenced in events and outcomes
|
||||
- [ ] All fact IDs used in effects/conditions exist in `global/knowledge/`
|
||||
- [ ] All `sets_flag` names appear in at least one outcome condition
|
||||
- [ ] All `flags_set`/`flags_not_set` names are set by at least one event's `sets_flag`
|
||||
- [ ] `make validate-content` passes
|
||||
|
||||
---
|
||||
|
||||
## Cross-References
|
||||
|
||||
| Topic | Location |
|
||||
|-------|----------|
|
||||
| Three-tier content model | `decisions/content.md` D-023 |
|
||||
| NPC 10-axis model | `decisions/content.md` D-024 |
|
||||
| Vertical slice scope | `decisions/scope.md` D-027 |
|
||||
| Population ratios | `decisions/content.md` D-029 |
|
||||
| THE FRIEND pattern | `decisions/content.md` D-034 |
|
||||
| Smuggling ring module | `content/modules/tier1/smuggling_ring_v0_1.yaml` |
|
||||
| Drama module schema | `content/schemas/drama_module.schema.yaml` |
|
||||
| Fact catalog | `content/global/knowledge/` |
|
||||
| NPC profiles (v0.1) | `content/campaigns/main/systems/van-maanens-star/` |
|
||||
| Storyteller stub | `server/src/storyteller/mod.rs` |
|
||||
|
||||
---
|
||||
|
||||
*Ticket #158 — Tier 1 drama module schema. Paula (dramatic structure), Gestalt (schema format), Mellanie (authoring review).*
|
||||
@@ -1,148 +0,0 @@
|
||||
---
|
||||
title: "Devra Talsen"
|
||||
slug: devra
|
||||
canonical_id: "npc:devra"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "THRESHOLD"
|
||||
motivation: "HANDLER"
|
||||
social_sites: []
|
||||
entanglement: "Entangled"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Devra Talsen
|
||||
|
||||
**Tier 2 NPC** | Smuggling Ring + The Last Shift (Bar) | Entangled
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Devra Talsen
|
||||
**Age**: 38
|
||||
**Role**: Ring coordinator (manages external contacts, logistics planning); publicly, a freelance supply broker with a regular seat at The Last Shift
|
||||
**System Origin**: Van Maanen's Star, born off-station (Orbital Manufacturing Platform 3), relocated to Sova 5 years ago
|
||||
**Lattice Tier**: Standard professional (commercial-grade communication and logistics tools)
|
||||
**Employer**: Self-employed (supply brokering — legitimate cover); The Arrangement (ring coordination, operational)
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Keep the operation running smoothly and profitably.
|
||||
|
||||
Devra is the ring's operational brain. She manages the external supply chain — coordinating with Sabel (off-station contact) for incoming shipments, scheduling handoffs, managing the timeline between gate transits and dock processing. She's good at this. Better than Nils, frankly, though she'd never say it.
|
||||
|
||||
**Secondary**: Maintain her legitimate cover.
|
||||
|
||||
The supply brokering business isn't just cover — it's real income and real social capital. Devra brokers small freight contracts for independent operators. This gives her a legitimate reason to know shipping schedules, gate transit windows, and cargo volumes. The line between her legal and illegal work is intentionally blurred.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: The supply brokering business is partly a cover for ring logistics. Visible to anyone who tracks how much time Devra spends on freight details that don't match her client list.
|
||||
|
||||
**Deep secret**: Devra manages the relationship with Sabel, the off-station supplier. If the chain is traced upstream, it runs through Devra. She's more exposed than anyone except Nils.
|
||||
|
||||
**Vulnerability**: The external contact chain. Devra is the single point of failure between the local ring and the supply source. If Sabel is compromised, Devra is the next link. If the detective traces cargo origins, Devra's brokering records are the thread to pull.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Nils Davan** (off-stage): Ring coordinator (strategic). Devra handles operations; Nils handles personnel and security. They respect each other's competence but disagree on risk tolerance — Devra favors steady volume, Nils pushes for escalation.
|
||||
|
||||
**Sabel** (off-station, Tier 3): External supplier. Devra's primary off-station contact. Professional, efficient, no personal warmth. Sabel delivers; Devra pays. The relationship is transactional.
|
||||
|
||||
**Lera Sessik**: The bar is Devra's social stage. She drinks there, brokers small deals publicly, maintains the image of a working professional. Lera knows Devra uses the back room but doesn't know for what.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**High**. Devra is calm under pressure, thinks operationally, and doesn't panic. What breaks her tolerance: Pell's wavering (internal security threat), unexpected Commission presence (the detective's arrival is exactly the kind of disruption Devra planned to avoid), and Nils pushing volume too fast.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**08:00 - 12:00**: Supply brokering work (lattice calls, contract negotiation, legitimate business)
|
||||
**12:00 - 14:00**: Lunch, sometimes at the hub (maintaining visibility near freight operations)
|
||||
**14:00 - 17:00**: Bar (The Last Shift) — social presence, quiet coordination
|
||||
**17:00 - 19:00**: Back room meetings (1-2x per week, ring business)
|
||||
**19:00+**: Home or continued brokering
|
||||
**Night operations**: Coordinates gate transit timing with Sabel during off-peak windows (lattice communication from home)
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Ring structure (all operational details), supply chain from Sabel through dock to distribution, which containers are flagged, gate transit schedules, who in the ring is reliable and who isn't. Knows Pell is wavering (Renn reported suspicions to Nils, who told Devra). Knows Kael handles dock-side operations efficiently.
|
||||
|
||||
**Doesn't know**: Kael's exit attempt (Kael concealed this from everyone in the ring), Sera's compliance check, the detective's investigation details, Maret's growing suspicion about manifests.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Moderate-high**. Devra is competent and knows it. The operation runs well. The money is good. The brokering cover is solid. Her contentment would drop sharply if the operation were threatened — not because she loves the work, but because she's built her entire life in the district around it.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Strategic** — thinks in logistics, plans contingencies, manages complexity.
|
||||
**Secondary: Controlled** — doesn't show stress, maintains composure, presents a professional face.
|
||||
**Tertiary: Ambitious** — wants the operation to grow (at a sustainable pace), not just survive.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Increased lattice activity** | Coordinating with Sabel about incoming shipment timing | Smuggler (if ring member, recognizes the pattern), Detective (if tracking lattice traffic) |
|
||||
| **Back room usage** | Ring coordination meetings — Devra enters, door closes, 30-60 minutes | Lera (knows the door is closed), Sess (observes from behind the bar), Detective (if tracking movement patterns in the bar) |
|
||||
| **Professional demeanor shift** | When discussing ring business, Devra's casual bar persona drops — sentences get shorter, eye contact increases | Smuggler (recognizes the operational mode), anyone paying close attention |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Supply chain logistics, contract negotiation, freight brokering, commercial communication.
|
||||
**Ring-relevant**: External coordination, timing management, operational planning, information compartmentalization.
|
||||
**Combat tag**: **No**. Devra is not physical. If threatened, she leverages connections and information, not force.
|
||||
**Lattice capability**: Standard professional (commercial-grade, not military or investigative).
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Professional (public bar persona)**
|
||||
- *"I've got a freight contract clearing through Gate 2 next cycle. Standard components. Nothing exciting, but it pays the rent."*
|
||||
|
||||
**Mood: Operational (ring coordination)**
|
||||
- *"The window is tight. Sabel confirms transit for the 22:00 cycle. Renn handles pickup. Nobody else needs to be involved."*
|
||||
|
||||
**Mood: Concerned (about Pell)**
|
||||
- *"Pell's been quiet. Too quiet. When someone stops complaining, that's when I worry."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Devra is the operational heart of the ring. The smuggler respects her competence and relies on her coordination. If the smuggler is a ring member, Devra is the colleague who keeps things running. *"Devra's got the next shipment scheduled. She's reliable — more reliable than Nils, honestly."*
|
||||
|
||||
**Detective**: Devra is a freelance supply broker who spends a lot of time at the bar and knows freight schedules in unusual detail. The detective initially reads her as a local businesswoman. Only deeper investigation reveals the brokering is partly cover. *"Freelance broker. Devra, no family name offered. Knows freight schedules better than most hub workers. Interesting."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Not a formal v0.1 triangle member.** Devra's role is connective — she links the ring's internal operations to the external supply chain. She's referenced in multiple triangles without being a node in one. Her significance is operational, not interpersonal.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** THRESHOLD — Devra is the ring's gatekeeper. Access to the operation's logistics, to Sabel's supply chain, to Nils's strategic direction — all of it runs through Devra. She is the person you go through or you do not go. For the detective, reaching the ring's operational layer means getting past Devra's cover. For the smuggler, coordination with the upstream supply means working through Devra's scheduling.
|
||||
**Motivation (System B):** HANDLER — Devra manages operations from above. She conveys Nils's strategy, coordinates with Sabel, manages internal ring logistics, and delivers escalation demands to Voss and Kael. She applies pressure downward on behalf of the off-stage authority. She does not run day-to-day dock operations — she manages the people who do.
|
||||
|
||||
**Composition read:** THRESHOLD + HANDLER creates the obstacle with authority: "You go through her or you don't go." Devra gates access to the ring (THRESHOLD) while applying top-down operational pressure (HANDLER). This dual function makes her the most structurally important ring member on-station — she is both the wall and the hand pushing people against it. Her competence makes her formidable; her ambition (she could run this better than Nils) makes her interesting. The player who tries to reach the ring's inner workings must reckon with Devra twice: once as a barrier, once as a manager.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Renn](renn.md), [Pell](pell.md), [Lera Sessik](lera-sessik.md), [Sabel](sabel.md)
|
||||
@@ -1,160 +0,0 @@
|
||||
---
|
||||
title: "Drin Rosta"
|
||||
slug: drin
|
||||
canonical_id: "npc:drin"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "SYSTEM"
|
||||
motivation: "TURNCOAT"
|
||||
social_sites: []
|
||||
entanglement: "Mundane"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Drin Rosta
|
||||
|
||||
**Tier 2 NPC** | Logistics Hub (The Terminal) | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Drin Rosta
|
||||
**Age**: 40
|
||||
**Role**: Maintenance tech + dock inspector, Sova Transit District Logistics Hub
|
||||
**System Origin**: Van Maanen's Star, Station Sova
|
||||
**Lattice Tier**: Baseline
|
||||
**Employer**: Sova Logistics Consortium
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Clear the debt. Stop looking over his shoulder.
|
||||
|
||||
Drin is a maintenance tech who also handles dock inspections. He's competent at both. The problem is the gambling debt to Harek — a significant sum from the bar card games that Drin can't repay on his salary. The debt doesn't require Drin to do anything explicitly illegal. It just means Drin is slow during inspections of certain containers. He doesn't open them. He doesn't look hard. The ring has noticed this pattern and relies on it. Drin is compromised by omission, not commission.
|
||||
|
||||
**Secondary**: Return to when the job was just a job.
|
||||
|
||||
Drin remembers the period before the debt. Maintenance rounds, dock inspections, clocking out, going home. The work was repetitive and that was fine. Drin liked the repetition. Now every inspection cycle carries a second calculation running underneath — which containers to skip, which bays to clear without looking, how to file a report that says nothing happened when something might have. He wants the old version of the job back. He doesn't know how to get there.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: Gambling debt to Harek. Known to bar regulars, card game circle. Nobody thinks much of it — debts are common on Sova.
|
||||
|
||||
**Deep secret**: Drin's inspection negligence is being exploited by the ring. Drin understands that someone benefits from his looking the other way — containers move through his shifts without scrutiny and nobody complains. But he doesn't know the ring's structure, doesn't know Kael's role, doesn't know the scope of the operation his silence enables. He thinks it's smaller than it is.
|
||||
|
||||
**Vulnerability**: Compromised by omission. Drin never actively smuggled anything. He failed to inspect. The distinction feels meaningful to him and would not feel meaningful to an investigator. If confronted with the scale of what his negligence enabled, Drin's self-narrative collapses.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Harek Valde**: Debt holder, inadvertent coercer. Fear-based, asymmetric. Harek doesn't press aggressively — he keeps the debt active, invites Drin to card games, covers a round. The relationship is social on the surface and transactional underneath. Drin likes Harek personally, which makes the dynamic worse. It's hard to resent someone who buys you drinks and never explicitly threatens you. The ring noticed the power dynamic and exploits it without Harek fully understanding what he built.
|
||||
|
||||
**Arvo Voss**: Shift supervisor. Professional, strained. Voss needs Drin functional and quiet. Drin senses that Voss knows something about why the inspection negligence is useful but doesn't want to test that suspicion. They interact procedurally — shift handoffs, maintenance reports, inspection schedules. The professional distance is mutual and deliberate.
|
||||
|
||||
**Maret Korr**: Freight scheduler, colleague. Guilt-adjacent. Maret processes manifests. Drin knows his inspection reports feed into Maret's reconciliation workflow. He also senses — without proof — that Maret has noticed the reports are too clean. The discomfort is unspoken. Drin avoids extended interaction with Maret because her attention feels like scrutiny, even when it isn't.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Low — already past breaking.** The compromise IS Drin's post-threshold state. He crossed the line the first time he filed an inspection report he knew was incomplete, and he's been living past the threshold ever since.
|
||||
|
||||
**What he tolerates**: The routine guilt. The mechanical compliance. Harek's passive leverage. Inspecting containers he knows he shouldn't clear and clearing them anyway. The daily rhythm of knowing and not acting.
|
||||
|
||||
**What breaks him**: Direct confrontation — the detective asking pointed questions about specific inspections. Escalating demands — if the ring asks Drin to do MORE than look away (actively falsify, handle cargo, participate). Harek pressing the debt publicly — rupturing the social fiction that the debt is just a card game thing between friends. Any of these collapses the distinction between omission and commission that Drin needs to function.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**05:50**: Arrives at hub. Checks maintenance board for overnight issues.
|
||||
**06:00 - 10:00**: Maintenance rounds — environmental systems, loading equipment, pipe and wiring repairs. Drin moves through the facility with tools and purpose. This is the part of the job he still enjoys.
|
||||
**10:00 - 10:30**: Break room. Eats alone or with other maintenance crew. Avoids Harek if Harek is on-site. Avoids prolonged conversation with Maret.
|
||||
**10:30 - 14:00**: Dock inspections — scheduled bay checks, container verification, freight condition reports. This is where the compromise lives. Certain shifts, certain bays, certain containers get shorter inspections. Drin's timing on compromised inspections is measurably faster than his legitimate ones.
|
||||
**14:00 - 14:30**: Post-shift — files reports, updates maintenance log. The inspection reports are filed here. Clean. Complete. Unremarkable.
|
||||
**14:30 - 16:00**: Home, or bar on card game nights (2x per week).
|
||||
**Night**: Home. Worrying about the debt. Not sleeping well.
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Inspection schedule gaps — which bays, which shifts, which timing windows he's been "slow" on. Harek's debt amount and the social dynamics around it. That SOMEONE benefits from his negligence — containers move through his shifts without scrutiny and nobody complains about the results. Hub maintenance infrastructure in detail — access corridors, environmental systems, loading equipment condition.
|
||||
|
||||
**Doesn't know**: Kael's role in the ring. Ring organizational structure. The contraband itself (Drin doesn't open the containers, so he doesn't know what's inside). The detective's investigation. Pell's wavering. That Pell might approach him as an institutional contact — someone with inspection authority who could receive a report. Maret's private discrepancy log.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Very low.** Trapped. Drin remembers when the job was just maintenance — fixing things, inspecting things, filing reports that reflected what he actually saw. The gambling was supposed to be social. Card nights at The Last Shift, a few drinks, something to do after work that involved other people. Now every inspection is a moral compromise he can't talk about. The contentment axis reads as a man going through the motions of a life that stopped working months ago. He hasn't adjusted; he's just enduring.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Quiet / Avoidant** — Drin doesn't volunteer information, doesn't seek attention, doesn't engage in conversations he can't control. His silence is both personality and survival strategy. Before the debt, the silence was just who he was. Now it serves a function.
|
||||
|
||||
**Secondary: Methodical** — Drin fixes things. Pipes, wiring, environmental systems, loading equipment. He follows procedures, uses checklists, documents his work. The irony: his methodical nature makes the compromised inspections more visible by contrast. When Drin is thorough, he's very thorough. When he's not, the gap is measurable.
|
||||
|
||||
**Tertiary: Anxious (suppressed)** — The anxiety doesn't manifest as nervousness or fidgeting. It manifests as silence. Shorter responses. Fewer interactions. A man shrinking his social footprint so there are fewer opportunities to say the wrong thing. The anxiety is structural, not behavioral — it shapes what Drin avoids rather than what he does.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Route changes when Harek is present** | Harek on-site at the hub or arriving at the bar — Drin adjusts his path to avoid casual contact | Bar regulars, Detective (if tracking social dynamics), Smuggler (if observant) |
|
||||
| **Shorter inspection times on specific shifts** | Compromised inspections — Drin clears certain bays faster than his baseline rate | Maret (correlates with manifest discrepancies), Detective (if tracking inspection timing data) |
|
||||
| **Increased break frequency** | Stress response — Drin takes more breaks during shifts that include compromised inspections | Voss (tracks shift productivity), Resha (notices the pattern as a new hire learning routines) |
|
||||
| **Eye contact avoidance during compromised inspections** | Filing reports he knows are incomplete — Drin doesn't look at the person receiving the paperwork | Voss (if attentive), Detective (if observing the filing process) |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Maintenance tech — environmental systems, pipe and wiring repair, loading equipment servicing, mechanical diagnostics. Dock inspection — container verification, freight condition assessment, safety compliance.
|
||||
**Combat tag**: **No**. Drin is not physical. If confronted, he retreats into silence and compliance.
|
||||
**Lattice capability**: Baseline.
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Professional (baseline)**
|
||||
- *"Coupling on the Bay 4 loader is wearing. I'll flag it for replacement on the next maintenance cycle. Should hold until then."*
|
||||
- *"I just do maintenance. Inspections are part of the schedule. I run them by the book."*
|
||||
|
||||
**Mood: Under pressure (Harek nearby, or debt-adjacent conversation)**
|
||||
- *"I'm fine. Busy shift. A lot of bays to get through before the afternoon handoff."*
|
||||
- *"Cards? I don't know. Maybe. I'll see how the week goes."*
|
||||
|
||||
**Mood: Cornered (detective asking about inspections)**
|
||||
- *"My reports are filed. They're complete. If there's a question about a specific bay, I can pull the documentation. But I don't know what you're looking for that isn't already there."*
|
||||
- *"I inspect what's on the schedule. I file what I find. That's the job."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Drin is a tool — compromised and reliable because of it. The ring doesn't interact with Drin directly; they don't need to. Harek's debt does the work. As long as Drin stays quiet and slow on the right shifts, the dock-side processing runs clean. The smuggler reads Drin as a solved problem — a cog that turns the right way without needing to be told. *"Drin's on inspection today. We're good. He doesn't ask questions and he doesn't open the wrong containers. Best kind of help — the kind that doesn't know it's helping."*
|
||||
|
||||
**Detective**: Drin is a data point — his inspection reports are too clean for the volume of freight he processes. A maintenance tech pulling double duty as dock inspector should have equipment failures, missed checks, variance in his reports. Drin's are spotless. That level of consistency in a high-throughput environment is itself an anomaly. The detective reads Drin not as corrupt but as a process that isn't performing correctly. *"The inspector — Drin. Maintenance tech pulling double duty. Reports are spotless. Nobody's reports are that spotless. Either he's the best inspector on the station or he's not inspecting."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 2: Worried Knowledge (Maret - Drin - Voss)** — The compromised inspector. Drin is the institutional process that is supposed to catch irregularities, and his compromise means the process is hollow. Maret sees the output — inspection reports that are too clean — and files it as another data point in her growing suspicion. Voss needs Drin functional and quiet because Drin's cooperation (willing or not) is what makes the schedule manipulation possible. Drin sits between two people who need different things from him: Maret needs the truth (which Drin can't give without exposing himself), and Voss needs the silence (which Drin provides because the alternative is worse). Harek, outside the triangle, holds the leverage that keeps Drin compliant.
|
||||
|
||||
**Triangle 5: The Informant Question (Pell - Renn - Drin) [Cross-Template]** — The institutional contact who is already compromised. Pell is considering cooperation with authorities and might approach Drin as someone with inspection authority — a legitimate institutional figure who could receive information about irregularities. The irony is structural: the one person Pell might turn to for institutional protection is already under the ring's indirect control. If Pell approaches Drin, several things could happen. Drin might freeze (avoidant personality meets impossible situation). Drin might inadvertently warn the ring by behaving differently after the approach. Or Drin, confronted with the scope of what his negligence enables, might finally crack — and Pell's approach becomes the catalyst that breaks both of them free. The triangle's danger is that all three unraveling paths (Pell turns, Drin breaks, Renn's suspicion creates internal conflict) converge on the same question: what happens when the compromised system meets the desperate informant?
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** SYSTEM — Drin is the dock inspector. He IS the inspection system — his reports, his sign-offs, his presence at the freight bays constitute the institutional process that is supposed to catch irregularities. When Drin is compromised, the system itself is corrupted. This is not a person failing at a job; it is an institution rotting from within.
|
||||
**Motivation (System B):** TURNCOAT — Drin's loyalty has shifted under coercion. The gambling debt to Harek created a vulnerability that the ring exploits through omission: Drin does not actively smuggle, he simply fails to inspect. His turncoat status is passive — he was turned not by ideology or ambition but by debt and avoidance.
|
||||
|
||||
**Composition read:** SYSTEM + TURNCOAT creates institutional rot: "The inspection system is broken because the inspector is broken." Drin embodies the institution (SYSTEM) and has betrayed it (TURNCOAT), meaning the legitimate oversight mechanism and the criminal exploitation of it exist in the same person. For the detective, cracking Drin means cracking the system — his compromise is the proof that the hub's operations are not what they appear. For the smuggler, keeping Drin quiet means keeping the system working in the ring's favor. The composition is the most mechanically productive in the set because the same NPC serves inverted functions for the two player characters.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Harek](harek.md), [Maret Korr](maret-korr.md), [Voss](voss.md), [Pell](pell.md), [Renn](renn.md)
|
||||
@@ -1,142 +0,0 @@
|
||||
---
|
||||
title: "Harek Valde"
|
||||
slug: harek
|
||||
canonical_id: "npc:harek"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "ANCHOR"
|
||||
motivation: "HANDLER"
|
||||
social_sites: []
|
||||
entanglement: "Mundane"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Harek Valde
|
||||
|
||||
**Tier 2 NPC** | The Last Shift (Bar) + Logistics Hub | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Harek Valde
|
||||
**Age**: 44
|
||||
**Role**: Station Security officer (off-duty at bar, on-duty at hub perimeter)
|
||||
**System Origin**: Van Maanen's Star, Station Sova
|
||||
**Lattice Tier**: Standard security (patrol monitoring, incident reporting)
|
||||
**Employer**: Sova Station Security
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Maintain his comfortable position.
|
||||
|
||||
Harek has a good thing: security officer with a predictable schedule, card games at the bar after shift, and enough social capital to be respected without being scrutinized. He doesn't want promotions (more responsibility, more visibility). He doesn't want trouble. He wants the steady, predictable life of a man who knows exactly how much effort each day requires.
|
||||
|
||||
**Secondary**: Keep Drin's debt leverageable.
|
||||
|
||||
Drin owes Harek money from card games — a significant sum that Drin can't easily repay. Harek doesn't press the debt aggressively; he keeps it active. A security officer with a dock inspector who owes him favors is useful. Harek hasn't explicitly traded the debt for inspection negligence, but the debt's existence creates a power dynamic that the ring has noticed and exploited.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: Holds Drin's gambling debt. Known to bar regulars. Nobody thinks much of it — people owe each other money on Sova.
|
||||
|
||||
**Deep secret**: Harek knows (or suspects) that Drin's inspection negligence is being leveraged by someone else. He sees the dynamic: Drin owes him, Drin looks away during inspections, the ring benefits. Harek hasn't connected all the dots, but he understands that his card game created a tool that others are using.
|
||||
|
||||
**Vulnerability**: Complicity by inaction. Harek hasn't done anything illegal. But a security officer who notices a dock inspector being leveraged and doesn't report it is, at minimum, negligent. If investigated, Harek's position crumbles.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Drin**: Card game partner, debtor. Harek likes Drin personally — they've played cards for years. The debt complicates this, but Harek doesn't see himself as a predator. He sees a friend who's bad at cards and bad at saying no.
|
||||
|
||||
**Lera Sessik**: Bar owner. Professional familiarity. Harek's card games bring customers. Lera facilitates. Mutually beneficial.
|
||||
|
||||
**Torek Lintar**: Card game regular. Harek has noticed Torek's spending but doesn't flag it — Torek's money at the card table is Harek's entertainment.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Moderate-high**. Harek is comfortable and complacent. He tolerates a lot because engagement is effort. What breaks his tolerance: direct institutional pressure (Commission or Security command asking about Drin), or violence (Harek takes safety seriously even if he's loose on contraband).
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**06:00 - 14:00**: Security patrol — hub perimeter and freight bay access points (day shift)
|
||||
**14:00 - 14:30**: Shift transition
|
||||
**14:30 - 20:00**: Bar (The Last Shift) — drinks, card games (2-3 times per week)
|
||||
**20:00+**: Home
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Security patrol routes, hub access protocols, freight bay entry logs, which areas have Meridian coverage and which don't. Drin's debt and behavioral changes. Torek's spending. Bar social dynamics.
|
||||
|
||||
**Doesn't know**: Ring structure, specific smuggling operations, manifest details, Kael's exit attempt, Sera's compliance check. Harek knows something is going on at the hub — he's a security officer, he's not blind — but he's chosen not to investigate because investigating would mean confronting what Drin's debt has become.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Moderate-high**. Harek is the quintessential "comfortable enough not to rock the boat." He has a stable job, social standing, entertainment, and just enough willful ignorance to keep his conscience manageable.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Complacent** — takes the path of least resistance.
|
||||
**Secondary: Sociable** — enjoys the card games, the bar crowd, the community.
|
||||
**Tertiary: Perceptive** — sees more than he admits. His training doesn't turn off, even when his ethics do.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Watches Drin more carefully** | When Drin is stressed or evasive — Harek monitors his investment | Detective (if tracking the Harek-Drin dynamic), bar regulars |
|
||||
| **Steers conversation away from security topics** | When someone (especially the detective) asks about hub access or patrol gaps | Detective (classic deflection tell) |
|
||||
| **Card game invitation** | Harek invites people to play cards — this is social intelligence gathering wrapped in entertainment | Detective (if they recognize the information exchange happening at the table) |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Security patrol, access control, incident response, observation training.
|
||||
**Combat tag**: **Yes** (basic). Station security training — non-lethal restraint, de-escalation, emergency response. Not tactical.
|
||||
**Lattice capability**: Standard security (patrol monitoring, incident reporting, basic surveillance access).
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Sociable (baseline)**
|
||||
- *"Cards tonight? I've got a good feeling. Drin — you in? Don't worry about the tab, I'll cover your first round."*
|
||||
|
||||
**Mood: Deflective (security questions)**
|
||||
- *"Hub security's solid. We run standard patrols, standard protocols. Nothing unusual. You want specifics, talk to my supervisor — I just walk the route."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Harek is a known quantity — off-duty security who doesn't look too hard. The smuggler reads Harek's card games as harmless social activity and his complacency as a feature, not a bug. *"Harek's at the bar. Security badge off, drink in hand. As long as he stays that way, we're fine."*
|
||||
|
||||
**Detective**: Harek is a security officer who socializes with the people he's supposed to monitor. His card games create financial relationships that could be leverage vectors. His patrol routes create knowledge of hub access patterns. Harek is either an asset (could be turned to provide patrol gap data) or a problem (if he's actively complicit). *"Station Security — Harek. Off-duty, but the training doesn't turn off. He sees the same things I'd see. The question is what he does with it."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 2: Worried Knowledge (Maret - Drin - Voss)** — Harek is not a triangle member but is the external pressure on Drin. Harek's debt creates the vulnerability that the ring exploits. He's the unseen fourth wall of Triangle 2.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** ANCHOR — Harek is physically present and complacent. He is at the bar playing cards, drinking, enjoying a stable life he has no desire to change. His contentment is genuine and unexamined — Harek has enough, wants nothing more, and has never thought to ask whether "enough" is the right question. The ANCHOR pattern means Harek represents the social floor that the investigation disturbs.
|
||||
**Motivation (System B):** HANDLER — Harek uses leverage as a structural mechanism. The gambling debt Drin owes him creates a power dynamic that the ring exploits, even though Harek did not design it as a tool. A security officer with a dock inspector who owes him favors is useful — and that usefulness has been noticed by people with operational intent. Harek holds the lever without fully understanding the machine it operates.
|
||||
|
||||
**Composition read:** ANCHOR + HANDLER creates the unconscious lever: "Harek doesn't know his card games built a weapon." Harek's complacent contentment (ANCHOR) generated a tool of coercion (HANDLER) without deliberate intent. He did not set out to compromise Drin — he won card games, extended credit, and maintained a social dynamic that happened to produce leverage. The ring noticed and exploited the result. This structural role is what makes Harek uniquely important: he bridges the bar (social presence, card games, community standing) and the hub (security authority, patrol knowledge, access awareness). His HANDLER motivation means the debt functions as a mechanism, not a personal project — Harek does not use it for personal gain beyond the social capital of being owed. But the structural consequence is that Drin's inspection negligence, which enables the entire smuggling operation's dock-side processing, traces back to Harek's card table. For the detective, connecting Harek's debt to Drin's compromised inspections is the path from social observation to operational evidence. For the smuggler, Harek's complacency is an asset — as long as Harek stays comfortable and unquestioning, the leverage on Drin remains stable and invisible.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Drin](drin.md), [Lera Sessik](lera-sessik.md), [Torek Lintar](torek-lintar.md), [Voss](voss.md)
|
||||
@@ -1,282 +0,0 @@
|
||||
---
|
||||
title: "NPC Roster — Sova Transit District"
|
||||
slug: npc-index
|
||||
category: index
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tags: [v0.1]
|
||||
---
|
||||
|
||||
# NPC Roster — Sova Transit District
|
||||
|
||||
18 NPCs across 3 social sites (Logistics Hub, The Last Shift, Smuggling Ring). Tier 1 = full production depth (THE FRIEND), Tier 2 = working profile, Tier 3 = sketch, Off-Stage = present through mediated references only.
|
||||
|
||||
## Roster Table
|
||||
|
||||
| # | Name | Role | Social Site | Tier | Pattern | Motivation | Entanglement | Triangles |
|
||||
|---|------|------|-------------|------|---------|------------|--------------|-----------|
|
||||
| 1 | **Kael Davan** | Dock Worker | Hub + Ring | **Tier 1 (FRIEND)** | FRIEND | OPERATOR | Entangled | Hub Power, Worried Partner |
|
||||
| 2 | **Sera Venn** | Commission Field Tech | Bar | **Tier 1 (FRIEND)** | FRIEND | WITNESS | Mundane | Worried Partner |
|
||||
| 3 | Arvo Voss | Shift Supervisor | Hub | Tier 2 | SYSTEM | OPERATOR | Mundane | Hub Power, Worried Knowledge |
|
||||
| 4 | Lera Sessik | Bar Owner | Bar | Tier 2 | ANCHOR | OPERATOR | Mundane | Bar Tensions |
|
||||
| 5 | Torek Lintar | Dock Worker / Bar Regular | Bar + Hub | Tier 2 | CATALYST | CIVILIAN | Mundane | Bar Tensions |
|
||||
| 6 | Devra Talsen | Ring Coordinator | Ring + Bar | Tier 2 | THRESHOLD | HANDLER | Entangled | (Referenced, not triangle member in v0.1) |
|
||||
| 7 | Maret Korr | Freight Scheduler | Hub | Tier 2 | WITNESS | SKEPTIC | Mundane | Worried Knowledge |
|
||||
| 8 | Resha Neven | New Hire Dock Worker | Hub | Tier 2 | CATALYST | CIVILIAN | Mundane | (Background tension, not formal triangle) |
|
||||
| 9 | Naia Tamm | Teacher (Kael's Partner) | Bar | Tier 2 | MIRROR | CIVILIAN | Mundane | Worried Partner |
|
||||
| 10 | Drin Rosta | Maintenance Tech | Hub | Tier 2 | SYSTEM | TURNCOAT | Mundane | Worried Knowledge, Informant Question |
|
||||
| 11 | Sess Kolvur | Bartender | Bar | Tier 3 | ANCHOR | CIVILIAN | Flat | None |
|
||||
| 12 | Olin Tavren | Drifter / New Arrival | Bar | Tier 3 | CATALYST | CIVILIAN | Flat | Bar Tensions |
|
||||
| 13 | Renn Harsk | Courier | Ring + Hub | Tier 2 | THRESHOLD | OPERATOR | Entangled | Informant Question |
|
||||
| 14 | Pell Torssen | Wavering Ring Member | Ring | Tier 2 | CATALYST | TURNCOAT | Entangled | Informant Question |
|
||||
| 15 | Harek Valde | Off-Duty Security | Bar + Hub | Tier 2 | ANCHOR | HANDLER | Mundane | None (external pressure on Triangle 2) |
|
||||
| 16 | Sabel Hersk | Off-Station Fence | Ring (off-station) | Tier 3 | GHOST | OPERATOR | Flat | None (off-station) |
|
||||
| 17 | Tav Merik | Lookout | Ring + Hub | Tier 3 | SYSTEM | CIVILIAN | Flat | None |
|
||||
| 18 | Nils Davan | Ring Coordinator (Off-Stage) | Ring (off-station) | Off-Stage | GHOST | HANDLER | Entangled | Hub Power |
|
||||
|
||||
**Entanglement breakdown**:
|
||||
- **Tier 1 (THE FRIEND)**: 2 NPCs (Kael, Sera) — 1 entangled, 1 mundane
|
||||
- **Tier 2**: 11 NPCs — 3 entangled (Devra, Renn, Pell), 8 mundane
|
||||
- **Tier 3**: 4 NPCs (Sess, Olin, Sabel, Tav) — all flat
|
||||
- **Off-Stage**: 1 NPC (Nils) — entangled
|
||||
|
||||
**Total**: 5 entangled (28%), 9 mundane (50%), 4 flat (22%). Off-stage NPC (Nils) adds entanglement without on-screen presence.
|
||||
|
||||
---
|
||||
|
||||
## Triangle Diagrams
|
||||
|
||||
### Triangle 1: Hub Power (Voss - Kael - Nils)
|
||||
|
||||
```
|
||||
Voss (Shift Supervisor)
|
||||
/ \
|
||||
resents being takes cut,
|
||||
managed by smooths inspections
|
||||
subordinate |
|
||||
/ |
|
||||
/ |
|
||||
Kael (Dock Worker) <--blood loyalty--> Nils (Ring Coordinator, off-stage)
|
||||
handles cargo,
|
||||
uncomfortable with
|
||||
escalation
|
||||
```
|
||||
|
||||
**Tension**: Voss has positional authority but takes orders from Nils (via intermediaries). Kael is caught between shift supervisor (Voss) and ring coordinator (Nils, Kael's older sibling). Nils pushes for higher volume; Voss wants stability; Kael wants everyone to calm down.
|
||||
|
||||
**Volume Escalation Fork**: See [Triangle 1: Hub Power — Volume Escalation Fork](../triangles/triangle-1-hub-power.md) for the full smuggler decision fork (3 paths: escalate, stabilize, mediate), NPC state changes, detective observation consequences, and authored dialogue.
|
||||
|
||||
**Player relevance**:
|
||||
- **Smuggler**: Navigates this daily. Knows the resentments, smooths tensions.
|
||||
- **Detective**: Sees Voss's anxiety, doesn't know why. Kael is efficient, unremarkable. Doesn't know Nils exists initially.
|
||||
|
||||
---
|
||||
|
||||
### Triangle 2: Worried Knowledge (Maret - Drin - Voss)
|
||||
|
||||
```
|
||||
Maret (Freight Scheduler)
|
||||
/ \
|
||||
notices processes manifests,
|
||||
manifest sees discrepancies,
|
||||
discrepancies hasn't reported
|
||||
| |
|
||||
| |
|
||||
Voss (Shift Supervisor) <--needs both quiet--> Drin (Dock Inspector)
|
||||
maintains schedule gambling debt,
|
||||
that creates windows compromised by Harek
|
||||
```
|
||||
|
||||
**Tension**: Maret is smart and worried. She's not in the ring — she just sees the numbers don't add up. Drin has been compromised (debt to Harek) into looking away during inspections. Voss needs both of them functional and silent. Maret suspects but doesn't know whom to tell. Drin might crack under pressure.
|
||||
|
||||
**Player relevance**:
|
||||
- **Smuggler**: Knows Maret is a risk (observant). Knows Drin is a tool (compromised). Must manage both.
|
||||
- **Detective**: Maret is a potential cooperative witness. Drin is a potential turned asset. Both paths lead toward the operation.
|
||||
|
||||
---
|
||||
|
||||
### Triangle 3: Bar Tensions (Lera - Torek - Olin)
|
||||
|
||||
```
|
||||
Lera (Bar Owner)
|
||||
/ \
|
||||
protective of tolerates because
|
||||
regulars, worried spending = business
|
||||
about attention |
|
||||
| |
|
||||
| |
|
||||
Torek (Regular) <--asks questions--> Olin (Drifter)
|
||||
spending beyond new in district,
|
||||
means, visible ambiguous intent
|
||||
```
|
||||
|
||||
**Tension**: Torek has been spending visibly beyond a standard dock worker's income (new jacket, buying rounds, lattice accessories). Lera is protective but profit-driven — Torek's spending keeps the bar viable. Olin (new arrival) asks questions that could be innocent job-seeking or something else. Is Olin competition? An informant? Just looking for work?
|
||||
|
||||
**Player relevance**:
|
||||
- **Smuggler**: Torek's spending is a liability (exposure risk). Olin is an unknown variable (threat assessment). Lera is an ally who needs managing.
|
||||
- **Detective**: Torek's spending is a financial tell. Olin is a potential fresh source. Lera is the social hub who sees everything.
|
||||
|
||||
**Note**: Mundane triangle with *potential* entanglement. Torek's money could be from the ring, or a side hustle, or an inheritance. The ambiguity is load-bearing.
|
||||
|
||||
---
|
||||
|
||||
### Triangle 4: The Worried Partner (Naia - Kael - Sera)
|
||||
|
||||
```
|
||||
Naia (Teacher, Kael's Partner)
|
||||
/ \
|
||||
worried about confides in friend
|
||||
Kael's late nights, |
|
||||
evasive answers |
|
||||
| |
|
||||
Kael (Dock Worker) <--friendship--> Sera (Commission Field Tech)
|
||||
oblivious to anxiety hears Naia's worries,
|
||||
he's causing at home connects to investigation?,
|
||||
loyalty vs. duty
|
||||
```
|
||||
|
||||
**Tension**: Naia's loyalty to Kael vs. growing suspicion. Sera's friendship with Naia vs. institutional duty (Sera is Commission, sitting on unreported evidence). Kael is oblivious to the anxiety he's causing. If Naia asks the smuggler (if smuggler is Kael's friend) about Kael's behavior, there's no good answer. If the detective asks Sera about Naia, Sera faces a loyalty test.
|
||||
|
||||
**Player relevance**:
|
||||
- **Smuggler**: Most emotionally loaded triangle. Kael is THE FRIEND. Naia is Kael's partner. The smuggler knows why Kael is busy and can't say. Protecting Kael means lying to Naia.
|
||||
- **Detective**: Sera is THE FRIEND. Naia is a potential source (partner who suspects something). If the detective asks Sera about Naia, Sera must choose: friend or duty.
|
||||
|
||||
**THE FRIEND integration**: Both FRIEND NPCs (Kael, Sera) are nodes in this triangle. The triangle *is* the contradiction structure.
|
||||
|
||||
---
|
||||
|
||||
### Triangle 5: The Informant Question (Pell - Renn - Drin) [CROSS-TEMPLATE]
|
||||
|
||||
```
|
||||
Pell (Wavering Ring Member)
|
||||
/ \
|
||||
considering suspects Pell
|
||||
cooperation with is unreliable,
|
||||
authorities told Nils/Devra
|
||||
| |
|
||||
| |
|
||||
Drin (Dock Inspector) <--three unraveling paths--> Renn (Courier)
|
||||
compromised (debt), moves product,
|
||||
could receive Pell's physical risk,
|
||||
information if Pell turns loyal to ring
|
||||
|
||||
```
|
||||
|
||||
**Tension**: Three ways the ring unravels:
|
||||
1. **Pell turns informant** (from inside)
|
||||
2. **Drin breaks under pressure** and cooperates (institutional corruption cracks)
|
||||
3. **Renn's suspicion of Pell** creates internal ring conflict that becomes observable
|
||||
|
||||
**Player relevance**:
|
||||
- **Smuggler**: Pell is the biggest threat. Must decide: support Pell (reduce pressure), report to Nils/Devra (eliminate threat), or try to calm them down (risky). Each choice has cascading consequences.
|
||||
- **Detective**: Doesn't know any of this yet. But the consequences — nervous behavior, hushed arguments, people avoiding each other — are the observable signals the investigation follows.
|
||||
|
||||
**Cross-template**: Spans all three social sites. Pell (ring), Renn (ring + hub), Drin (hub + bar). Information and tension propagate across the entire district.
|
||||
|
||||
---
|
||||
|
||||
## NPC Coverage by Social Site
|
||||
|
||||
### Logistics Hub (The Terminal)
|
||||
|
||||
- Voss (Shift Supervisor) — authority figure
|
||||
- Kael Davan (Dock Worker, THE FRIEND) — ring member, smuggler's anchor
|
||||
- Maret Korr (Freight Scheduler) — worried, processes manifests
|
||||
- Resha (New Hire) — asks too many questions
|
||||
- Drin (Maintenance Tech / Dock Inspector) — compromised, inspection negligence, says nothing
|
||||
- Torek Lintar (bridge to bar) — off-shift presence
|
||||
- Renn (bridge to ring) — courier, moves cargo
|
||||
- Harek (bridge to bar) — off-duty security, debt leverage on Drin
|
||||
|
||||
**Total**: 8 NPCs (5 primary, 3 bridge)
|
||||
|
||||
---
|
||||
|
||||
### The Last Shift (Bar)
|
||||
|
||||
- Lera Sessik (Bar Owner) — knows everyone, willful ignorance
|
||||
- Sera Venn (Commission Field Tech, THE FRIEND) — detective's anchor
|
||||
- Naia (Teacher) — Kael's partner, worried
|
||||
- Torek Lintar (Regular) — spending beyond means
|
||||
- Harek (Off-duty Security) — card games, debt holder
|
||||
- Sess (Bartender) — flat, observant, discreet
|
||||
- Olin (Drifter) — flat, ambiguous, new arrival
|
||||
|
||||
**Total**: 7 NPCs (5 primary, 2 bridge via Torek/Harek overlap with hub)
|
||||
|
||||
---
|
||||
|
||||
### Smuggling Ring (The Arrangement)
|
||||
|
||||
- Devra (Ring Coordinator) — legitimate business front at bar, criminal operations
|
||||
- [Nils Davan](nils-davan.md) (Kael's older sibling, off-stage in v0.1) — gives orders via lattice messages and intermediaries, never physically present
|
||||
- Kael Davan (bridge to hub) — handles cargo
|
||||
- Renn (Courier, bridge to hub) — moves product
|
||||
- Pell (Wavering Member) — considering cooperation, cracking under tolerance threshold
|
||||
- Sabel (Off-station fence) — external supplier, mostly off-stage, 1-2 brief visits in v0.1
|
||||
- Tav (Lookout) — watches entry points during corridor operations
|
||||
|
||||
**Total**: 7 NPCs (1 primary ring-only, 1 off-stage, 3 bridge, 2 peripheral)
|
||||
|
||||
---
|
||||
|
||||
## Bridge NPCs (Cross-Template Connections)
|
||||
|
||||
| NPC | Home Template | Connected To | Bridge Function |
|
||||
|-----|---------------|-------------|-----------------|
|
||||
| **Kael Davan** | Hub | Ring | Day job at hub, ring member after hours. THE FRIEND for smuggler. |
|
||||
| **Sera Venn** | Bar | (Institutional bridge to Commission) | Social at bar, institutional access. THE FRIEND for detective. |
|
||||
| **Torek Lintar** | Bar | Hub | Off-shift bar regular, works at hub. Spending tells. |
|
||||
| **Harek** | Bar | Hub | Social at bar, authority at hub (security). Sees things in both contexts. |
|
||||
| **Renn** | Ring | Hub | Criminal at ring, logistics at hub. Physical movement connects sites. |
|
||||
| **Devra** | Ring | Bar | Criminal at ring, legitimate at bar. Public face conceals operation. |
|
||||
|
||||
**6 bridge connections** across 3 templates. Information, tension, and consequences propagate in multiple directions.
|
||||
|
||||
---
|
||||
|
||||
## Content Deliverables per Tier
|
||||
|
||||
### Tier 1 (THE FRIEND — Kael, Sera)
|
||||
|
||||
**Per NPC**:
|
||||
- Full 10-axis profile (Want, Secret, Relationships 1-3, Tolerance, Routine, Information, Contentment, Personality, Tell, Skills)
|
||||
- Backstory paragraph (3-5 sentences)
|
||||
- Voice sample (3-5 lines covering different moods)
|
||||
- Dual-lens notes (how smuggler sees them vs. how detective sees them)
|
||||
- Triangle role notes (function in each triangle, pressures faced)
|
||||
- Secret (what they're hiding, from whom, consequences if exposed)
|
||||
- Contradiction arc (3+ phases, observable tells, dialogue shifts pre/post discovery)
|
||||
- ~70-100 authored lines (25-35 dialogue, 15-20 trust-gated, 5-8 unprompted, 10-15 monologue per character, 5-8 tell observations, 3-5 contradiction discovery lines)
|
||||
|
||||
**Total**: ~2 pages per NPC. **No generation expansion** — all hand-authored.
|
||||
|
||||
---
|
||||
|
||||
### Tier 2 (Working Profile — Voss, Lera, Torek, Devra, Maret, Resha, Naia Tamm, Drin, Renn, Pell, Harek)
|
||||
|
||||
**Per NPC**:
|
||||
- 10-axis data (all axes populated)
|
||||
- Voice sample (2-3 lines)
|
||||
- Dual-lens notes (brief, 1-2 sentences per lens)
|
||||
- Triangle role notes (function in triangles)
|
||||
- ~40-60 authored lines (15-20 dialogue, 8-12 trust-gated, 5-8 unprompted, 5-8 monologue per character if relevant)
|
||||
|
||||
**Total**: ~0.5-1 page per NPC. Generation expansion 4x (write 15, generate to 60).
|
||||
|
||||
---
|
||||
|
||||
### Tier 3 (Sketch — Sess, Olin, Sabel, Tav)
|
||||
|
||||
**Per NPC**:
|
||||
- Essential axes only (Want, Routine, Personality)
|
||||
- Voice hint (1 line)
|
||||
- Function note (why they exist, atmospheric role)
|
||||
- ~10-15 authored lines (greetings, stock responses, atmospheric presence)
|
||||
|
||||
**Total**: ~0.25 page per NPC. Generation expansion 4x (write 3-4, generate to 12-15).
|
||||
|
||||
---
|
||||
|
||||
**Next files**: Individual NPC profiles starting with THE FRIEND NPCs at full Tier 1 depth.
|
||||
@@ -1,146 +0,0 @@
|
||||
---
|
||||
title: "Lera Sessik"
|
||||
slug: lera-sessik
|
||||
canonical_id: "npc:lera-sessik"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "ANCHOR"
|
||||
motivation: "OPERATOR"
|
||||
social_sites: []
|
||||
entanglement: "Mundane"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Lera Sessik
|
||||
|
||||
**Tier 2 NPC** | The Last Shift (Bar) | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Lera Sessik
|
||||
**Age**: 52
|
||||
**Role**: Owner and primary bartender, The Last Shift
|
||||
**System Origin**: Van Maanen's Star, Van Maanen's Star Prime (surface), relocated to Sova 20 years ago
|
||||
**Lattice Tier**: Baseline
|
||||
**Employer**: Self-employed (The Last Shift is her business, her livelihood, her identity)
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Keep the bar viable.
|
||||
|
||||
The Last Shift operates on thin margins. The after-shift crowd is what keeps the lights on. Lera knows that some of her regulars have grey-market income — she doesn't ask where the money comes from because the spending keeps her solvent. Willful ignorance isn't moral failure for Lera; it's business survival.
|
||||
|
||||
**Secondary**: Protect her regulars.
|
||||
|
||||
Lera has been behind this bar for 18 years. She's watched people come and go, relationships form and break, careers rise and stall. Her regulars are her community. She protects them reflexively — warns them when unfamiliar faces show up, signals when conversations are being overheard, remembers who doesn't want to see whom. This protective instinct extends to the ring: not because she's complicit, but because the ring members are also regulars.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: Knows the back room of the bar is used for ring coordination meetings. Hasn't asked what happens there. The arrangement is simple: they pay for the space, they buy drinks, they don't cause trouble.
|
||||
|
||||
**Deep secret**: None. Lera doesn't have conspiracy-level secrets. What she has is accumulated knowledge from 18 years of bartending — fragments of conversations, behavioral patterns, relationship dynamics. She knows more about the district's social fabric than anyone, and what makes her valuable is that she doesn't talk about it.
|
||||
|
||||
**Vulnerability**: The bar itself. Threaten to shut down The Last Shift (health inspection, license review, institutional pressure) and Lera cooperates with whoever is doing the threatening. She has no fallback.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Harek**: Off-duty security officer, bar regular. They have professional familiarity — Harek drinks, plays cards, tips well. Lera tolerates Harek's card games because they bring in customers. She's aware Harek holds debt over Drin but views that as none of her business.
|
||||
|
||||
**Sera Venn**: Bar regular. Lera likes Sera — quiet, polite, tips consistently, doesn't cause trouble. Commission employee who doesn't act like Commission. Lera treats her like any regular.
|
||||
|
||||
**Torek Lintar**: Bar regular. Lera is protective of Torek but worried about his spending. New jacket, buying rounds, lattice accessories — visible generosity that's drawing attention. Lera hasn't said anything directly but is thinking about it.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**High**. Lera has been bartending for nearly two decades. She tolerates drunks, arguments, gossip, and grey-market activity with professional detachment. What breaks her tolerance: violence in the bar (zero tolerance, immediate ejection), institutional pressure on her business, or a direct threat to a regular she cares about.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**10:00 - 12:00**: Bar prep (inventory, cleaning, restocking)
|
||||
**12:00 - 14:00**: Quiet hours (a few early regulars, food prep)
|
||||
**14:00 - 22:00**: Peak hours (shift transition crowd, evening regulars, card games)
|
||||
**22:00 - 02:00**: Late crowd (smaller, quieter, ring coordination sometimes uses back room)
|
||||
**02:00 - 03:00**: Close, clean, home
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Who drinks with whom, who avoids whom, who's spending more than they should, who's been fighting, who's worried. Social intelligence that no one else in the district possesses. The back room is used for meetings she doesn't attend. Torek's spending pattern. Sera's avoidance of Torek. Naia's worry about Kael.
|
||||
|
||||
**Doesn't know**: Ring structure, cargo details, manifest discrepancies, the detective's specific mandate. Lera knows something is going on. She doesn't know what, and she's been careful not to learn.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Moderate**. The bar is viable. Her regulars are loyal. The work is hard but familiar. Lera's contentment is functional — she's not thriving, but she's not miserable. The smuggling economy keeps her bar profitable. If that economy is disrupted, her contentment drops sharply.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Observant** — sees everything, processes quietly, acts selectively.
|
||||
**Secondary: Protective** — of her bar, her regulars, her community.
|
||||
**Tertiary: Pragmatic** — makes the moral compromises necessary to keep the lights on.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Cleans glasses when nervous** | Unfamiliar authority enters the bar, or a conversation at a table gets too loud | Detective, regular patrons |
|
||||
| **Redirects conversations** | A regular is about to say something incriminating near an outsider | Smuggler (recognizes the signal), Detective (if paying attention to Lera's social management) |
|
||||
| **Watches the door** | Someone she considers a risk is due to arrive, or the back room is in use | Detective (if tracking Lera's attention patterns) |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Bar management, customer service, social intelligence, conflict de-escalation.
|
||||
**Combat tag**: **No**. Lera has a security alarm and knows when to use it.
|
||||
**Lattice capability**: Baseline.
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Welcoming (baseline)**
|
||||
- *"Shift's over? You look like you need this. Sit. The ale's fresh."*
|
||||
|
||||
**Mood: Protective (warning a regular)**
|
||||
- *"New face at the corner table. Asking about work schedules. Probably nothing, but — you know. Thought you should know."*
|
||||
|
||||
**Mood: Guarded (detective asking questions)**
|
||||
- *"I serve drinks. People talk. I don't take notes. You want information, try the Commission kiosk on Level 3. It's usually empty."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Lera is infrastructure — the bar is a social hub, a meeting point, a place to read the district's mood. The smuggler trusts Lera to protect the community (including them) without being told to. *"Lera's watching the door. Something's up. I'll ask later."*
|
||||
|
||||
**Detective**: Lera is the gatekeeper. She knows everyone and shares nothing voluntarily. The detective can build rapport (become a regular, tip well, ask small questions) or apply pressure (institutional leverage on the bar license). Either approach takes time. *"The bartender — Sessik. Runs this place. She sees everything. Getting her to talk will take patience or leverage."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 3: Bar Tensions (Lera - Torek - Olin)** — The business owner caught between profit and exposure. Torek's spending keeps the bar viable. Olin's questions make everyone nervous. Lera wants the money and the quiet but can't have both if Torek keeps being visible.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** ANCHOR — Lera embodies contentment through her bar. Eighteen years behind the same counter, the same regulars, the same rhythms. She represents the stable social infrastructure that the investigation threatens to disrupt. Her version of "Is this enough?" is answered by the bar itself — yes, if nobody asks hard questions.
|
||||
**Motivation (System B):** OPERATOR — Lera runs The Last Shift. She manages inventory, serves customers, facilitates the social space, and maintains the delicate balance between profit and discretion. Her function is operational: keeping the bar viable, which means keeping the grey-market spending flowing without attracting institutional attention.
|
||||
|
||||
**Composition read:** ANCHOR + OPERATOR creates profitable blindness: "Is this enough? Yes — if I don't look." Lera's contentment (ANCHOR) is sustained by her operational competence (OPERATOR) — she runs the bar well enough that the moral compromises stay manageable. The willful ignorance is not laziness; it is active maintenance of a life she built. When the investigation arrives, it threatens both the emotional equilibrium and the business model simultaneously. Lera must choose between the comfort she's anchored to and the truth she's been operating around.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Torek Lintar](torek-lintar.md), [Harek](harek.md), [Sera Venn](sera-venn.md), [Naia Tamm](naia-tamm.md), [Olin](olin.md)
|
||||
@@ -1,146 +0,0 @@
|
||||
---
|
||||
title: "Maret Korr"
|
||||
slug: maret-korr
|
||||
canonical_id: "npc:maret-korr"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "WITNESS"
|
||||
motivation: "SKEPTIC"
|
||||
social_sites: []
|
||||
entanglement: "Mundane"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Maret Korr
|
||||
|
||||
**Tier 2 NPC** | Logistics Hub (The Terminal) | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Maret Korr
|
||||
**Age**: 41
|
||||
**Role**: Freight scheduler, Sova Transit District Logistics Hub
|
||||
**System Origin**: Van Maanen's Star, Station Sova
|
||||
**Lattice Tier**: Baseline
|
||||
**Employer**: Sova Logistics Consortium
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Understand what's happening with the manifests.
|
||||
|
||||
Maret processes freight schedules. She reconciles incoming manifests with cargo bay allocations, shift assignments, and gate transit logs. She's meticulous — numbers are her language. And the numbers aren't adding up. Container counts don't match gate logs. Certain bays have manifests revised after the fact. Shifts supervised by Voss have more discrepancies than others. Maret doesn't know what this means, but she knows it means something.
|
||||
|
||||
**Secondary**: Protect herself. Not get involved.
|
||||
|
||||
Maret didn't ask to see the discrepancies. She sees them because that's her job. She hasn't reported because she doesn't know whom to report to (the Commission kiosk is unmanned, station security handles accidents not contraband, and going to Voss feels dangerous). She's paralyzed between duty and self-preservation.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: Maret has noticed manifest discrepancies. She's mentioned it to no one, but her increased attention to certain records is potentially observable.
|
||||
|
||||
**Deep secret**: Maret has started keeping a personal log of discrepancies on her private lattice storage. If discovered, this log is either evidence (for the detective) or a threat (for the ring).
|
||||
|
||||
**Vulnerability**: Knowledge without protection. Maret knows enough to be useful to the detective and dangerous to the ring, but has no institutional backing, no allies in the conflict, and no exit strategy.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Voss**: Shift supervisor. Professional relationship. Maret respects Voss's competence but has noticed the correlation between his schedule adjustments and manifest discrepancies. She hasn't confronted him. She's afraid of what the answer would be.
|
||||
|
||||
**Drin**: Maintenance tech who handles dock inspections. Maret knows Drin gambles at the bar. She's observed that inspection reports from Drin's shifts are consistently clean — too clean for the volume of freight processed. Another data point she's filed and not acted on.
|
||||
|
||||
**Resha**: New hire. Maret is protective of Resha in a distant, professional way — making sure the new worker gets proper training, isn't overloaded. Resha's questions about locked bays and irregular schedules echo Maret's own unspoken concerns.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Low-moderate**. Maret is not built for confrontation. She handles data, not people. The discrepancies are eating at her, but she's tolerated them for weeks because action feels more dangerous than silence. What breaks her: the detective asking the right question, or the ring discovering her private log.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**06:00 - 14:00**: Day shift — freight scheduling, manifest reconciliation, bay allocation
|
||||
**10:30 - 11:00**: Break room. Maret eats alone or with Resha. Avoids Voss during breaks.
|
||||
**14:00 - 15:00**: Post-shift, reviews next day's gate schedule
|
||||
**15:00 - 17:00**: Home or occasional bar visit (not a regular — Maret goes for Naia's company sometimes)
|
||||
**After hours**: Reviews her private discrepancy log. Adds entries. Worries.
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Manifest processing (entire legitimate system), scheduling patterns, bay allocations, gate transit correlations. The specific discrepancies: container counts that don't reconcile, manifests revised after Voss's schedule adjustments, Drin's suspiciously clean inspection reports. Knows Resha is asking questions.
|
||||
|
||||
**Doesn't know**: Ring structure, who's involved (suspects Voss, suspects something about Kael's shifts, doesn't have names for the operation), the contraband itself, Kael's exit attempt, Sera's compliance check, the detective's presence or mandate.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Low**. Maret was content before the discrepancies became impossible to ignore. She's a person who finds peace in orderly systems, and the manifest irregularities have disrupted that peace. She sleeps poorly. She double-checks everything. The contentment axis reads as anxiety held in check by routine.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Meticulous** — detail-oriented, systematic, can't ignore inconsistencies.
|
||||
**Secondary: Anxious** — worries about consequences, overthinks, avoids confrontation.
|
||||
**Tertiary: Honest** — fundamentally wants to do the right thing but is trapped by circumstance.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Increased manifest checking** | Reviewing the same records multiple times, cross-referencing gate logs she doesn't normally access | Voss (if monitoring staff activity), Detective (if tracking system access patterns) |
|
||||
| **Avoids Voss during breaks** | Doesn't want casual conversation that might lead to questions about manifests | Resha (notices the social distance), Smuggler (if observant at the hub) |
|
||||
| **Eats alone more often** | Stress withdrawal — reduces social interactions to minimize the chance of revealing what she knows | Hub workers generally |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Freight scheduling, manifest reconciliation, data analysis, logistics coordination.
|
||||
**Combat tag**: **No**. Maret is entirely non-physical.
|
||||
**Lattice capability**: Baseline with scheduling system access (standard for her role).
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Professional (baseline)**
|
||||
- *"Bay 3 allocation looks clean for the morning cycle. I've reconciled the gate logs. Should be a smooth shift."*
|
||||
|
||||
**Mood: Anxious (when pressed)**
|
||||
- *"I just process the schedules. If there's a question about manifest revisions, that's Voss's authorization. I don't — I just run the numbers."*
|
||||
|
||||
**Mood: Tentative (if detective earns trust)**
|
||||
- *"There are... patterns. In the data. I'm not saying it's anything. But if someone wanted to look at Bay 7 allocations during Voss's shift adjustments, the numbers would be worth comparing."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Maret is a risk. She processes the paperwork that the ring's operations depend on, and she's too smart not to notice. The smuggler reads Maret's anxiety as a threat — someone who knows too much and might talk. *"Maret's been quiet. She's usually all numbers and schedules. When she gets quiet, she's thinking. That's not good."*
|
||||
|
||||
**Detective**: Maret is a potential cooperative witness. She has the data, the context, and the anxiety that suggests she's seen something she shouldn't have. The detective's task is building enough trust that Maret shares what she knows. *"The freight scheduler — Korr. Meticulous. Anxious. She processes the manifests. If there are irregularities in the paperwork, she's seen them."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 2: Worried Knowledge (Maret - Drin - Voss)** — The one who sees the data. Maret processes manifests and has noticed discrepancies she can't explain and can't ignore. Caught between Voss (who authorizes the schedule changes) and Drin (whose inspections are suspiciously clean). Maret has the information to break the ring open — if someone asks the right question.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** WITNESS — Maret's v0.1 function is defined by what she has seen, not her institutional role. The player approaches Maret because she carries information — manifest discrepancies, bay allocation anomalies, the correlation between Voss's schedule adjustments and cargo irregularities. WITNESS describes her story function: she observed something she was not meant to observe.
|
||||
**Motivation (System B):** SKEPTIC — Maret doubts the numbers. Not passively — she is actively re-checking manifests, cross-referencing gate logs, building a private discrepancy log. Her skepticism is data-driven and escalating. She has not yet acted on her doubt, but the doubt itself makes her dangerous because it means she might.
|
||||
|
||||
**Composition read:** WITNESS + SKEPTIC creates dangerous knowledge: "She saw something and she can't stop questioning it." Maret did not choose to witness the discrepancies (WITNESS) — her job put the data in front of her. But her response is not passive acceptance; it is systematic doubt (SKEPTIC). The combination means Maret is a time bomb with her own fuse: she is gathering evidence not because anyone asked her to, but because her meticulous nature will not let her stop. For the detective, Maret is the cooperative witness who has already done half the work. For the smuggler, Maret is the threat you cannot neutralize without revealing why the numbers matter.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Voss](voss.md), [Drin](drin.md), [Resha](resha.md), [Naia Tamm](naia-tamm.md)
|
||||
@@ -1,146 +0,0 @@
|
||||
---
|
||||
title: "Naia Tamm"
|
||||
slug: naia-tamm
|
||||
canonical_id: "npc:naia-tamm"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "MIRROR"
|
||||
motivation: "CIVILIAN"
|
||||
social_sites: []
|
||||
entanglement: "Mundane"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Naia Tamm
|
||||
|
||||
**Tier 2 NPC** | The Last Shift (Bar) | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Naia Tamm
|
||||
**Age**: 33
|
||||
**Role**: Teacher, Station Sova community school (Residential Radial A)
|
||||
**System Origin**: Van Maanen's Star, Van Maanen's Star Prime (surface), relocated to Station Sova 8 years ago
|
||||
**Lattice Tier**: Baseline
|
||||
**Employer**: Sova Station Education Services
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Understand what's happening with Kael.
|
||||
|
||||
Naia and Kael have been together 6 years. It was good — stable, warm, predictable. Then Kael started coming home late. Evasive answers. Money that didn't match the hours. Stress that Kael won't explain. Naia doesn't know about the ring. Naia knows that the person they share a life with is hiding something, and the not-knowing is worse than almost any truth.
|
||||
|
||||
**Secondary**: Protect the life they've built.
|
||||
|
||||
Naia teaches station kids. Has a community, a reputation, a daily rhythm. Whatever Kael is hiding, Naia wants it resolved without destroying everything — the home, the relationship, the stability that took years to build. This is why Naia confides in Sera instead of confronting Kael directly: Naia wants advice, not a fight.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: Worried about Kael. Visible to anyone who sees Naia's stress — Sera, bar regulars, anyone paying attention.
|
||||
|
||||
**Deep secret**: Naia confided in Sera about Kael's behavior. This is the action that set Sera's compliance check in motion, though Naia doesn't know that. Naia shared a personal worry with a trusted friend. That trusted friend had institutional access.
|
||||
|
||||
**Vulnerability**: Emotional exposure. Naia's worry is genuine, visible, and exploitable. The detective can cultivate Naia as a source by being sympathetic. The smuggler (if Kael's friend) feels guilt seeing Naia's distress. Naia is the emotional center of Triangle 4 — the person everyone wants to protect and nobody can protect without making it worse.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Kael Davan**: Partner, 6 years. Deep love, growing anxiety. Naia doesn't question Kael's character — just Kael's honesty. The relationship is the strongest bond in Naia's life and the source of the greatest stress.
|
||||
|
||||
**Sera Venn**: Close friend, 10 months. Met at the bar after Sera transferred. Genuine friendship — Sera is smart, calm, from outside the district's close-knit social web. Naia trusts Sera as someone who can give perspective without gossip.
|
||||
|
||||
**Lera Sessik**: Bar acquaintance. Naia isn't a heavy drinker but comes to The Last Shift for the social environment. Lera is warm to Naia — the kind of protective attention a good bartender gives to someone who's visibly struggling.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Moderate**. Naia is patient — teaching station kids requires it. But the patience is fraying. Every evasive answer from Kael, every late night, every "it's just work" chips at Naia's tolerance. If pushed to a breaking point, Naia confronts Kael directly — which could trigger Kael's crisis, force Sera's hand, or give the detective an opening.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**07:00 - 15:00**: Teaching (community school, Residential Radial A — tram to Transit District)
|
||||
**15:00 - 15:30**: Commute back to Transit District
|
||||
**15:30 - 17:30**: Bar (The Last Shift) — meets Sera, social time, decompresses
|
||||
**17:30 - 22:00**: Home. Waits for Kael. Sometimes Kael is there, sometimes not.
|
||||
**Late evenings**: Alone in the apartment, wondering where Kael is.
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Kael's normal routine (6 years of partnership). Kael's recent deviations (late nights, evasive answers, unexplained stress). Sera's Commission role (knows Sera is a tech, not an investigator). Bar social dynamics from Sera's descriptions. The school community, kids' families, education bureaucracy.
|
||||
|
||||
**Doesn't know**: Ring, smuggling, Kael's membership, manifest discrepancies, Sera's compliance check, the detective's investigation. Naia lives in the civilian layer of the district where none of this is visible — until it becomes personal.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Low** — and declining. Naia was content: stable job, loving partner, community. Now the relationship anxiety is coloring everything. Teaching is harder when you're distracted. The bar visits are tinged with worry. Home is where the absence lives. Naia's contentment trajectory mirrors Kael's — both declining, for connected but different reasons.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Caring** — genuinely invested in other people's wellbeing (students, Kael, Sera).
|
||||
**Secondary: Patient** — tolerates uncertainty longer than most, but not indefinitely.
|
||||
**Tertiary: Perceptive** — reads emotional states well. Knows when Kael is lying even if Naia can't prove it.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Visible stress** | Tired eyes, distracted conversation, checking lattice for messages from Kael | Sera, Lera, Detective (if visiting the bar), bar regulars |
|
||||
| **Mentions Kael unprompted** | Worry overflowing into conversation — "Kael was late again" or "I don't know what's going on at the hub" | Sera (primary recipient), Detective (if sitting nearby or in conversation) |
|
||||
| **Increased bar presence** | Coming to the bar more often and staying longer — avoiding the empty apartment | Lera (notices the pattern), Sera (recognizes the coping mechanism) |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Teaching, community engagement, youth education, curriculum management.
|
||||
**Combat tag**: **No**. Naia is entirely civilian.
|
||||
**Lattice capability**: Baseline.
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Worried (to Sera)**
|
||||
- *"Kael was home at midnight again. Said it was overtime. There's no overtime posted for this week — I checked. Sera, what do I do?"*
|
||||
|
||||
**Mood: Warm (baseline social)**
|
||||
- *"The kids are doing better with the new math curriculum. Kael helped me set up the practice modules last month — back when Kael had time for things like that."*
|
||||
|
||||
**Mood: Brittle (close to breaking point)**
|
||||
- *"I'm not asking for much. Just — tell me the truth. Whatever it is. I can handle it. I can't handle not knowing."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Naia is emotional collateral. The smuggler knows why Kael is busy and can't say. Seeing Naia's worry creates guilt — especially if the smuggler is Kael's friend. If Naia asks the smuggler about Kael, there's no good answer. *"Naia's at the bar again. Alone. Looking at the door every time it opens. I know where Kael is. I can't say."*
|
||||
|
||||
**Detective**: Naia is a potential source. A partner who suspects their loved one is hiding something is a classic entry point for investigation. The detective can cultivate Naia's trust by being sympathetic — listen, validate, gently probe. Naia might not know specifics, but Naia knows Kael's routine, habits, and recent changes better than anyone. *"The partner — Naia Tamm. Teacher. Visibly stressed. Keeps looking at the door. If Davan is involved, this partner knows something changed, even if they don't know what."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 4: Worried Partner (Naia - Kael - Sera)** — The emotional center. Naia's worry about Kael triggered Sera's investigation. Naia's trust in Sera makes Sera's concealment more painful. Naia connects the detective's investigation to Kael's personal life — through Sera, through Naia's own observations, through the simple fact that a worried partner is the best witness to behavioral change.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** MIRROR — Naia has no contradiction arc, no secret, no hidden agenda. She is exactly what she appears to be: a teacher worried about her partner. The MIRROR pattern means Naia reflects the truth of the district back at the player without distortion. In a world where everyone is hiding something, Naia's honesty is both a relief and a weapon — her transparency makes the concealment around her more painful.
|
||||
**Motivation (System B):** CIVILIAN — Naia is uninvolved in any conspiracy or operation. She teaches station kids, worries about Kael, confides in Sera, and goes to the bar. Her civilian status is not a simplification — it is the source of her narrative power. The damage done to Naia is devastating precisely because she did nothing to invite it.
|
||||
|
||||
**Composition read:** MIRROR + CIVILIAN creates honest transparency surrounded by liars: "The one person not lying — surrounded by liars." Naia's reflective honesty (MIRROR) combined with her complete uninvolvement (CIVILIAN) means she is the emotional baseline against which all deception is measured. When events drag Naia into the conspiracy through Kael's ring involvement and Sera's concealment, the damage is devastating because Naia was genuine. For the smuggler, Naia is the face of guilt — the person whose life is being destroyed by what the smuggler helps maintain. For the detective, Naia is a source whose value comes from her innocence, and cultivating that innocence as an investigative asset carries its own moral cost.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Kael Davan](kael-davan.md), [Sera Venn](sera-venn.md), [Lera Sessik](lera-sessik.md)
|
||||
@@ -1,128 +0,0 @@
|
||||
---
|
||||
title: "Nils Davan"
|
||||
slug: nils-davan
|
||||
canonical_id: "npc:nils-davan"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 0
|
||||
pattern: "GHOST"
|
||||
motivation: "HANDLER"
|
||||
social_sites: []
|
||||
entanglement: "Entangled"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Nils Davan
|
||||
|
||||
**Off-Stage NPC** | Smuggling Ring | Entangled
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Nils Davan
|
||||
**Age**: ~38
|
||||
**Role**: Ring Coordinator (upstream authority) — strategic direction, personnel decisions, volume targets
|
||||
**System Origin**: Van Maanen's Star (same as Kael — siblings)
|
||||
**Current Location**: Off-station (exact location unknown to most ring members)
|
||||
**Lattice Tier**: Unknown (operates through lattice messages; communication protocols managed by Devra)
|
||||
**Employer**: The Arrangement (ring leadership, operational)
|
||||
|
||||
---
|
||||
|
||||
## Essential Function
|
||||
|
||||
Nils is the **off-stage authority figure** in the smuggling ring. He does not appear physically in any v0.1 scene. His presence is felt entirely through:
|
||||
|
||||
- **Lattice messages to Kael** (~5-8 authored lines): operational instructions, volume pressure, occasional personal/familial notes
|
||||
- **References in NPC dialogue**: ring members mention Nils by name or by implication ("the coordinator", "your brother", "someone above Devra")
|
||||
- **Reputation and operational pressure**: the escalation that drives Triangle 1 originates with Nils
|
||||
|
||||
Nils is the **escalation pressure source**. He pushes for higher volume, tighter schedules, more throughput. This pressure cascades down through Devra (who executes), Kael (who handles dock-side operations), and Voss (who adjusts shift schedules to create coverage windows). Every character in the ring feels Nils's influence without seeing him.
|
||||
|
||||
---
|
||||
|
||||
## Relationships
|
||||
|
||||
### Kael Davan (younger sibling, ring member)
|
||||
|
||||
- **Type**: Blood loyalty, complicated by power dynamic
|
||||
- **History**: Nils recruited Kael into the ring. "It's just moving containers. You're good at logistics. We take care of our own."
|
||||
- **Current dynamic**: Genuine familial bond, but Nils puts the operation first. Pushes Kael for higher volume. Doesn't know Kael is trying to exit the ring.
|
||||
- **Mechanical relevance**: If Kael's exit attempt is discovered, Nils is the primary threat. Nils's reaction — family loyalty vs. operational security — is undefined in v0.1 but implied to be dangerous.
|
||||
|
||||
### Devra Talsen (on-station coordinator)
|
||||
|
||||
- **Type**: Professional respect, operational partnership
|
||||
- **Dynamic**: Nils gives strategic direction; Devra handles execution. They respect each other's competence but disagree on risk tolerance — Devra favors steady volume, Nils pushes for escalation.
|
||||
- **Communication**: Lattice messages, operational protocols. Devra is Nils's primary on-station voice.
|
||||
|
||||
### Arvo Voss (shift supervisor)
|
||||
|
||||
- **Type**: Resource exploitation, no personal relationship
|
||||
- **Dynamic**: Nils exploits Voss's schedule authority to create coverage windows for ring operations. Voss resents the invisible hand above him — has positional authority on the floor, but the ring's needs override his scheduling decisions. Voss complies because the money is good and because refusing Nils has consequences he doesn't want to test.
|
||||
- **Nils's view**: Voss is a resource, not a person. Functional, replaceable.
|
||||
|
||||
### The Smuggler (PC, if ring-member path)
|
||||
|
||||
- **Type**: Unseen boss
|
||||
- **Dynamic**: If the smuggler is a ring member, Nils is the authority known by reputation and felt through operational pressure. The smuggler has never met Nils but follows orders relayed through Devra and Kael.
|
||||
|
||||
---
|
||||
|
||||
## Known Attributes by Other NPCs
|
||||
|
||||
| NPC | What They Know About Nils |
|
||||
|-----|---------------------------|
|
||||
| **Kael** | Sibling, ring leader, pushing for higher volume, cares about family but puts operation first. Recruited Kael personally. |
|
||||
| **Devra** | Full operational picture. Communication protocols. Nils's identity, strategic priorities, risk tolerance. Primary on-station contact. |
|
||||
| **Voss** | "Someone above Devra" giving orders. Never met Nils. Resents the pressure. Knows consequences of refusal exist. |
|
||||
| **Renn** | Ring coordinator exists. Follows orders relayed through Devra. Minimal direct knowledge. |
|
||||
| **Pell** | Knows the ring has leadership above local operations. No personal details. |
|
||||
| **Smuggler (if ring)** | Nils exists, gives orders, is Kael's older sibling. Known by reputation. |
|
||||
| **Nobody in Sova** | Nils's exact location, the full supply chain above Nils, Nils's broader network. |
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** GHOST — Nils is physically absent from Sova Transit District. His power is felt exclusively through intermediaries — lattice messages to Kael, relayed orders through Devra, operational pressure that cascades through the entire ring. No one outside the inner circle (Kael, Devra) has met Nils in person. The GHOST pattern means Nils shapes events without being present to confront, cultivate, or observe.
|
||||
**Motivation (System B):** HANDLER — Nils manages ring operations from above. He sets volume targets, applies escalation pressure, makes personnel decisions, and drives the strategic direction that everyone on-station must execute. The ring's growth imperative comes from Nils; the consequences of that imperative fall on others.
|
||||
|
||||
**Composition read:** GHOST + HANDLER creates absent authority applying pressure through intermediaries. Nils's physical absence (GHOST) combined with his top-down management style (HANDLER) means the ring's most dangerous decisions are made by someone who never sees their consequences. He pushes for higher volume without experiencing the anxiety it creates in Voss, the risk it imposes on Kael, or the instability it breeds in Pell. For the smuggler, Nils is the unseen boss whose demands shape every operational day. For the detective, Nils is the name that surfaces late in the investigation — the coordinator behind the coordinator, the authority that explains why everyone on-station is afraid.
|
||||
|
||||
---
|
||||
|
||||
## v0.1 Presence
|
||||
|
||||
Nils is **never physically present** in any v0.1 game scene. His entire existence in the vertical slice is mediated:
|
||||
|
||||
### Lattice Messages (~5-8 authored lines)
|
||||
|
||||
Operational instructions to Kael. Pressure to increase volume. Occasional personal/familial note that humanizes the authority figure. These messages are a plot device — the player (as smuggler) may see or hear about them through Kael.
|
||||
|
||||
### Dialogue References
|
||||
|
||||
NPCs mention Nils by name or by implication:
|
||||
- Kael: references "my brother" or "Nils" in ring contexts
|
||||
- Voss: "another adjustment" from above, resentment toward unseen authority
|
||||
- Devra: operational coordination, professional references
|
||||
- Generic ring dialogue: "Nils says to push through more this cycle"
|
||||
|
||||
### Triangle 1 Volume Escalation Fork (Ticket #377)
|
||||
|
||||
Nils's transmitted message serves as a **plot device** — the escalation order that forces Triangle 1 (Voss - Kael - Nils) into active tension. The fork is triggered by Nils's demand for higher volume, which Kael must relay to Voss, who must adjust schedules, creating observable disruption.
|
||||
|
||||
---
|
||||
|
||||
## Cross-References
|
||||
|
||||
- [Kael Davan](kael-davan.md) — younger sibling, ring member, dock-side operator
|
||||
- [Devra Talsen](devra.md) — on-station coordinator, executes Nils's strategic direction
|
||||
- [Arvo Voss](voss.md) — shift supervisor, resents Nils's influence over his scheduling authority
|
||||
@@ -1,76 +0,0 @@
|
||||
---
|
||||
title: "Olin Tavren"
|
||||
slug: olin
|
||||
canonical_id: "npc:olin"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 3
|
||||
pattern: "CATALYST"
|
||||
motivation: "CIVILIAN"
|
||||
social_sites: []
|
||||
entanglement: "Flat"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Olin Tavren
|
||||
|
||||
**Tier 3 NPC** | The Last Shift (Bar) | Flat
|
||||
|
||||
---
|
||||
|
||||
## Essential Axes
|
||||
|
||||
### Want
|
||||
|
||||
Find work. Settle in. Start over.
|
||||
|
||||
Olin arrived in Sova Transit District recently — a drifter from another district (or another station, stories vary). Looking for freight work, asking around, buying the occasional drink. Olin's story is plausible: contract work dried up elsewhere, heard Sova had openings, showed up. The story is also convenient — and in a district where new faces attract attention, convenience is suspicious.
|
||||
|
||||
### Routine
|
||||
|
||||
**Variable**: No fixed schedule. Olin appears at the bar in the afternoon, sometimes the hub entrance asking about openings, sometimes just walking the district. New arrivals without fixed employment have irregular patterns by nature.
|
||||
|
||||
### Personality
|
||||
|
||||
**Friendly, curious, slightly too interested.** Olin asks questions — about work schedules, shift structures, who runs what, where the good spots are. These are reasonable questions for a job-seeker. They're also the kind of questions a scout, informant, or rival operation would ask. The ambiguity is the point: Olin might be exactly what they claim, or might be something else entirely. The game deliberately does not resolve this for the player.
|
||||
|
||||
---
|
||||
|
||||
## Voice Hint
|
||||
|
||||
*"I'm just looking for steady work. Know anyone hiring at the hub? I'm good with freight — done it for years."* [Open, direct, a little too eager]
|
||||
|
||||
---
|
||||
|
||||
## Function Note
|
||||
|
||||
Olin is the **ambiguity NPC** — the new arrival who could be innocent or threatening, depending on how the player reads them. For the smuggler, Olin is a threat assessment: rival operation? Informant? Just a drifter? For the detective, Olin is a potential fresh source: unconnected to local loyalties, might share observations without social filtering. Olin's function is to create productive uncertainty — a new variable in a stable system that forces both characters to evaluate and respond.
|
||||
|
||||
In Triangle 3 (Bar Tensions), Olin's questions and Torek's spending create a combined pressure on Lera: is Olin drawn by Torek's visible wealth? Is Olin asking about the hub because they've heard something? The triangle's tension rises from ambiguity, not certainty.
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Threat. Unknown variable. *"New face. Asking about hub work. Could be nothing. Could be everything. Watching."*
|
||||
|
||||
**Detective**: Potential source. Unattached. *"New arrival — Olin. No local ties. Fresh eyes, no loyalty obligations. Could be useful if they've seen something the regulars have learned to ignore."*
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** CATALYST — Olin's arrival forces the district to evaluate a new variable. His questions about work schedules, shift structures, and hub operations create productive uncertainty. Every established character must assess Olin — friend or threat, innocent or planted — and that assessment itself disrupts the stable social equilibrium.
|
||||
**Motivation (System B):** CIVILIAN — Olin is tagged CIVILIAN for v0.1, meaning no confirmed hidden agenda. At Tier 3 with 10-15 lines of content, there is not enough depth to resolve Olin's ambiguity. The CIVILIAN tag is the safe designation — if Olin is promoted to Tier 2 in v0.2, the hidden motivation can be revealed through dynamic tier promotion.
|
||||
|
||||
**Composition read:** CATALYST + CIVILIAN creates ambiguous disruption: "Friend or threat? The question IS the disruption." Olin forces evaluation (CATALYST) without providing resolution (CIVILIAN). The game deliberately does not confirm whether Olin is a scout, an informant, a rival operator, or genuinely just looking for work. This unresolvable ambiguity is the point — both player characters must spend attention and resources assessing a variable that may never pay off. The disruption is in the assessment itself, not in any action Olin takes.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Lera Sessik](lera-sessik.md), [Torek Lintar](torek-lintar.md)
|
||||
@@ -1,147 +0,0 @@
|
||||
---
|
||||
title: "Pell Torssen"
|
||||
slug: pell
|
||||
canonical_id: "npc:pell"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "CATALYST"
|
||||
motivation: "TURNCOAT"
|
||||
social_sites: []
|
||||
entanglement: "Entangled"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Pell Torssen
|
||||
|
||||
**Tier 2 NPC** | Smuggling Ring | Entangled
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Pell Torssen
|
||||
**Age**: 35
|
||||
**Role**: Ring member (handles inventory tracking and distribution scheduling for smuggled goods)
|
||||
**System Origin**: Van Maanen's Star, Orbital Manufacturing Platform 3 (relocated to Sova 4 years ago)
|
||||
**Lattice Tier**: Baseline
|
||||
**Employer**: Self-employed (freelance logistics consulting — thin cover); The Arrangement (ring operations)
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Get out without getting killed.
|
||||
|
||||
Pell is cracking. The ring seemed manageable when it was small-scale — a few containers per month, modest supplements to a modest income. Now the volume is escalating (Nils pushing for growth), the Commission liaison rotation gap is closing (the detective's arrival signals institutional attention), and Pell is realizing that the risk-to-reward ratio has inverted. Pell is considering cooperation with authorities, but doesn't know how, doesn't know whom to trust, and is terrified of what happens if the ring finds out.
|
||||
|
||||
**Secondary**: Find someone — anyone — who can offer protection in exchange for information.
|
||||
|
||||
Pell is an informant looking for a handler. The detective is the obvious candidate, but Pell doesn't know the detective exists yet (or doesn't know the detective is an investigator). Drin is an institutional contact (dock inspector with authority to receive reports), but Drin is compromised. The irony is thick: the one person Pell might approach is already under the ring's thumb.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: Ring member. Known to the ring; not known to the detective or most civilians.
|
||||
|
||||
**Deep secret**: Pell is considering turning informant. This is the most dangerous secret in the district. If Nils or Devra confirm Renn's suspicion, Pell is dead or disappeared. If Pell successfully cooperates with the detective, the ring collapses.
|
||||
|
||||
**Vulnerability**: Isolation. Pell has no allies in this decision. The ring would kill him. The authorities don't know he exists. He's making the biggest decision of his life completely alone.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Renn**: Fellow ring member. Renn suspects Pell is unreliable and has reported this. Pell doesn't know about Renn's report, but senses the increased scrutiny. The relationship has chilled.
|
||||
|
||||
**Devra**: Ring coordinator. Pell receives scheduling instructions from Devra. Devra is watching Pell more closely since Renn's report. Pell feels the pressure without understanding its specific source.
|
||||
|
||||
**Drin**: Dock inspector. Pell knows Drin processes freight inspections and has institutional authority. Pell has considered approaching Drin — unaware that Drin is compromised through Harek's gambling debt. This potential contact is a trap Pell doesn't see.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Exceeded**. Pell is past his tolerance. The escalating volume, the increasing risk, the paranoia — all of it has pushed Pell beyond functional tolerance. He's operating on anxiety and habit, not commitment. Any external pressure (the detective asking the right question, Renn confronting him, Nils summoning him) could trigger the break.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**Irregular**. Pell's freelance cover doesn't require fixed hours. His ring duties (inventory tracking, distribution scheduling) are done via lattice communication, often from home or from public locations where he blends in.
|
||||
|
||||
**09:00 - 12:00**: Freelance work (legitimate small logistics contracts, sporadic)
|
||||
**12:00 - 15:00**: Variable — bar (occasionally), residential pod, wandering
|
||||
**15:00 - 19:00**: Ring communication (lattice-based, encrypted, scheduled by Devra)
|
||||
**Night**: Ring coordination meetings (bar back room, 1-2x per week)
|
||||
|
||||
**Routine deviations**: Pell's routine is becoming MORE irregular as his anxiety increases — skipping meetings, failing to respond to lattice messages promptly, avoiding locations where ring members congregate.
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Ring operational details (inventory levels, distribution schedules, client lists), Kael's dock-side handling, Renn's courier routes, Devra's coordination patterns. The contraband mix (lattice components, medical-grade replacements). Knows the ring's vulnerabilities from inside — which operations are sloppiest, which timing windows are tightest, which members are essential.
|
||||
|
||||
**Doesn't know**: Kael's exit attempt (Kael concealed from everyone), Sera's compliance check, the detective's identity or investigation scope, Drin's compromise, the supply chain above Sabel.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Very low**. Pell was moderate-low when the ring was manageable. Now he's in crisis. Every interaction with ring members feels dangerous. Every stranger could be an investigator. Every lattice message could be a summons. Pell's contentment is a measure of how far someone can fall when the thing that was supposed to help them (supplementary income from the ring) becomes the thing that threatens to destroy them.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Anxious** — overthinking, paranoid, struggling to maintain composure.
|
||||
**Secondary: Intelligent** — understands systems, recognizes patterns, can articulate what the ring does and how to dismantle it.
|
||||
**Tertiary: Desperate** — willing to take risks he wouldn't have considered a year ago.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Missed meetings** | Failing to show for ring coordination — anxiety and avoidance | Devra (tracks attendance), Renn (confirms suspicion), Smuggler (if ring member) |
|
||||
| **Nervous behavior in public** | Checking over shoulder, scanning entrances, avoiding eye contact | Bar regulars, Detective (if observing), Lera (if Pell is at the bar) |
|
||||
| **Irregular schedule** | No consistent pattern — unpredictable location, unreliable availability | Ring members (destabilizing), Detective (anomalous behavior if cross-referenced with other NPC routines) |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Logistics consulting (legitimate — scheduling, supply chain analysis, inventory management).
|
||||
**Ring-relevant**: Inventory tracking, distribution scheduling, client relationship management, encrypted communication.
|
||||
**Combat tag**: **No**. Pell is entirely non-physical. If confronted, he freezes or capitulates.
|
||||
**Lattice capability**: Baseline with commercial communication tools.
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Anxious (baseline, current state)**
|
||||
- *"I'm fine. Just — a lot on my mind. Freelance work's been slow. You know how it is."*
|
||||
|
||||
**Mood: Desperate (if found by the detective)**
|
||||
- *"If I talk — if I tell you what I know — can you protect me? Not just a promise. Actual protection. Because the people I'd be talking about don't forgive."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Pell is the biggest internal threat. The smuggler reads Pell's anxiety as instability — a wavering member who might bring the whole operation down. The decision: support Pell (reduce the pressure), report to Nils (eliminate the threat), or try to calm Pell down (risky, might not work). *"Pell missed another meeting. Renn's right — something's off. If Pell talks, we're all exposed."*
|
||||
|
||||
**Detective**: Pell is initially invisible — a freelance logistics consultant who occasionally drinks at the bar. But the behavioral signals (nervousness, irregular schedule, isolation) read as someone under pressure. If the detective can identify and approach Pell before the ring acts, Pell becomes the case's keystone witness. *"The consultant — Pell. No fixed schedule. Nervous. Avoids eye contact. Either antisocial or scared. If they're scared, I need to know of whom."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 5: The Informant Question (Pell - Renn - Drin) [Cross-Template]** — The wavering member. Pell's potential to turn informant is the ring's existential threat. Renn has flagged the risk. Drin is the compromised institutional contact Pell might approach without knowing the trap. Three ways the ring unravels — and Pell is the trigger for all of them.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** CATALYST — Pell's wavering forces the entire ring into crisis response. His anxiety, missed meetings, and irregular schedule compel other ring members to react — Renn reports suspicion, Devra increases surveillance, Nils considers action. Pell is a disruption vector whose instability threatens the operation's equilibrium.
|
||||
**Motivation (System B):** TURNCOAT — Pell is actively considering cooperation with authorities. His loyalty is shifting under pressure — the escalating volume, the tightening risk, the paranoia that the ring's growth has invited institutional attention. Unlike Drin's passive turncoat status (omission), Pell's is deliberate: he is looking for a handler.
|
||||
|
||||
**Composition read:** CATALYST + TURNCOAT creates maximum instability: "When Pell breaks, everything moves." Pell's disruption (CATALYST) is driven by a deliberate shift in loyalty (TURNCOAT), making him the ring's existential threat. The other catalysts (Torek, Resha, Olin) disrupt accidentally; Pell's disruption is the consequence of a conscious decision to betray. For the smuggler, Pell is the biggest internal threat — the decision to support, report, or manage Pell defines the operation's future. For the detective, finding Pell before the ring acts on Renn's suspicion means gaining the case's keystone witness. The timing is everything, and Pell's anxiety is the countdown.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Renn](renn.md), [Drin](drin.md), [Devra](devra.md), [Harek](harek.md)
|
||||
@@ -1,144 +0,0 @@
|
||||
---
|
||||
title: "Renn Harsk"
|
||||
slug: renn
|
||||
canonical_id: "npc:renn"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "THRESHOLD"
|
||||
motivation: "OPERATOR"
|
||||
social_sites: []
|
||||
entanglement: "Entangled"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Renn Harsk
|
||||
|
||||
**Tier 2 NPC** | Smuggling Ring + Logistics Hub | Entangled
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Renn Harsk
|
||||
**Age**: 26
|
||||
**Role**: Courier, Sova Transit District (moves contraband between freight bay, storage, and handoff points)
|
||||
**System Origin**: Van Maanen's Star, Station Sova
|
||||
**Lattice Tier**: Baseline
|
||||
**Employer**: Sova Logistics Consortium (legitimate — cargo runner); The Arrangement (ring courier)
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Stay useful to the ring without getting caught.
|
||||
|
||||
Renn is the physical movement in the operation. When Kael routes a flagged container, Renn transfers the contraband to Corridor B-7 or the bar's back room. It's physical work — lifting, carrying, timing runs through maintenance corridors during Meridian dead spots. Renn is young, fit, and takes pride in the execution. The job feels important.
|
||||
|
||||
**Secondary**: Prove loyalty to Nils and Devra.
|
||||
|
||||
Renn came into the ring through Nils — a friend-of-a-friend introduction. He's still earning trust. Running the courier routes is his proving ground. If he performs well, he moves up. If he's caught, he's expendable.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: Ring member. Moves contraband through the district's maintenance corridors. Known to the ring; unknown to the detective initially.
|
||||
|
||||
**Deep secret**: Renn suspects Pell is unreliable. He's reported this to Nils (through Devra). This creates an internal ring tension — Renn has effectively marked Pell as a threat, which may trigger Nils to act against Pell.
|
||||
|
||||
**Vulnerability**: Physical exposure. Renn is the person most likely to be caught in the act — carrying contraband through corridors during off-hours. If security or the detective encounters Renn in a dead spot with cargo, the entire operation is blown.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Kael Davan**: Colleague (ring operations). Kael routes; Renn moves. Functional respect. Not close personally — different shifts, different social circles. Renn admires Kael's competence.
|
||||
|
||||
**Pell**: Fellow ring member. Renn distrusts Pell's reliability. Has reported concerns. This creates a dangerous dynamic — Renn may be right (Pell is wavering) or may be paranoid (Pell is just stressed).
|
||||
|
||||
**Devra**: Ring coordinator. Renn receives timing instructions from Devra. Professional relationship — Devra values Renn's reliability but doesn't invest personally.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Moderate**. Renn can handle the physical risk and the pressure. What he can't handle: being abandoned. If the ring distances itself from Renn (because he's exposed or expendable), his loyalty inverts. A courier who feels discarded is a courier who talks.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**Legitimate**: Day shift at logistics hub as cargo runner (06:00-14:00). Handles legitimate freight movement between bays. This provides cover for knowing the facility's layout and timing.
|
||||
|
||||
**Ring operations**: Night shift transitions (22:00-01:00, 1-2x per week). Moves flagged cargo from temporary storage to Corridor B-7 or bar back room. Uses maintenance corridors and Meridian dead spots.
|
||||
|
||||
**Off-duty**: Bar occasionally, but Renn isn't a regular. Prefers to stay home and keep a low profile between operations.
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Corridor routes (which maintenance corridors have Meridian coverage, which are dead spots), timing windows (when security patrols create gaps), handoff procedures, Kael's routing patterns, Devra's coordination timing. Pell's behavior changes.
|
||||
|
||||
**Doesn't know**: Full ring structure (knows Nils gives orders, Devra coordinates, doesn't know the supply chain above Sabel), manifest details, the contraband's origins or ultimate destination, Kael's exit attempt, the detective's investigation.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Moderate**. Renn is young and feels like he's going somewhere. The ring money supplements his cargo runner salary. The work is exciting in a way the legitimate job isn't. This contentment is precarious — it depends entirely on the ring's stability.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Loyal** — to the people who gave him a chance (Nils, Devra). Loyalty is performance-based, not unconditional.
|
||||
**Secondary: Alert** — hyperaware of spatial surroundings, patrol timing, corridor traffic.
|
||||
**Tertiary: Suspicious** — watches people, trusts slowly. The suspicion about Pell comes from this trait.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Presence in maintenance corridors during off-hours** | Courier run in progress | Detective (if surveillance is active), security patrol (if timing is wrong) |
|
||||
| **Watches Pell** | Monitoring Pell's behavior for signs of wavering | Smuggler (if ring member, recognizes the surveillance), Pell (if perceptive) |
|
||||
| **Avoids the bar on operation nights** | Doesn't want to be placed at a social venue when he should be unaccounted for | Lera (might notice the absence pattern), Detective (if tracking NPC schedules) |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Cargo handling, freight movement, facility navigation.
|
||||
**Ring-relevant**: Corridor navigation in low/no-Meridian conditions, timing coordination, physical cargo movement, spatial awareness.
|
||||
**Combat tag**: **No**. Renn runs, doesn't fight. If cornered, he surrenders or flees.
|
||||
**Lattice capability**: Baseline.
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Operational (ring coordination)**
|
||||
- *"Route's clear through south maintenance. I'll have it in position by the 22:30 window. Tell Devra I'm on schedule."*
|
||||
|
||||
**Mood: Suspicious (about Pell)**
|
||||
- *"Pell didn't show for the prep meeting. Third time. I'm not saying anything, but — someone should be asking where Pell goes when they're not where they're supposed to be."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Renn is a known quantity — the runner, the courier, the physical movement. If the smuggler is in the ring, Renn is a colleague to coordinate with. Renn's suspicion about Pell is useful intelligence. *"Renn's reliable. Runs clean, stays quiet. If he says Pell's a problem, Pell's a problem."*
|
||||
|
||||
**Detective**: Renn is initially invisible — just another cargo runner at the hub. But if the detective tracks movement patterns in maintenance corridors during off-hours, Renn is the NPC who appears where he shouldn't be. *"Cargo runner. Night shift movement in restricted corridors doesn't match his posted schedule. Following up."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 5: The Informant Question (Pell - Renn - Drin) [Cross-Template]** — The enforcer of trust. Renn is the one who noticed Pell's wavering and reported it. If Pell does turn informant, Renn's early warning was the system's first immune response. If Renn's suspicion is wrong, he's created paranoia that fractures the ring from inside.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** THRESHOLD — Renn controls the physical movement of contraband through the district's corridors. He is the gatekeeper of cargo flow — the person who moves product between freight bay, storage, and handoff points. Tracing Renn means tracing the route. Blocking Renn means blocking the operation's physical pipeline.
|
||||
**Motivation (System B):** OPERATOR — Renn runs courier routes. He times runs through maintenance corridors, coordinates with Devra's schedule, and executes the physical logistics of moving contraband. His function is execution — hands-on, spatial, operational.
|
||||
|
||||
**Composition read:** THRESHOLD + OPERATOR creates the physical gatekeeper: "Renn moves the product. Trace Renn, find the route." Renn controls access to the smuggling route (THRESHOLD) and personally executes the movement (OPERATOR). Unlike Devra's organizational gatekeeping, Renn's threshold is physical — he is the body in the corridor with the contraband. For the detective, catching Renn in a dead spot with cargo is the most direct path to blowing the operation. For the smuggler, Renn's reliability on courier runs is what keeps the pipeline flowing. His vulnerability is his visibility: a person moving cargo through restricted corridors during off-hours is the most catchable link in the chain.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Pell](pell.md), [Devra](devra.md), [Kael Davan](kael-davan.md), [Drin](drin.md)
|
||||
@@ -1,142 +0,0 @@
|
||||
---
|
||||
title: "Resha Neven"
|
||||
slug: resha
|
||||
canonical_id: "npc:resha"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "CATALYST"
|
||||
motivation: "CIVILIAN"
|
||||
social_sites: []
|
||||
entanglement: "Mundane"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Resha Neven
|
||||
|
||||
**Tier 2 NPC** | Logistics Hub (The Terminal) | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Resha Neven
|
||||
**Age**: 23
|
||||
**Role**: Dock worker (new hire, 3 months), Sova Transit District Logistics Hub
|
||||
**System Origin**: Van Maanen's Star, Residential Radial B (Station Sova — short-term housing district)
|
||||
**Lattice Tier**: Baseline
|
||||
**Employer**: Sova Logistics Consortium
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Do the job well and prove herself.
|
||||
|
||||
Resha is 3 months into her first permanent position at the hub. She came from short-term contract work in other districts — unstable, underpaid, no community. This job matters. She wants to be competent, reliable, valued. She studies the shift protocols, asks questions about procedures, and takes notes.
|
||||
|
||||
**Secondary**: Understand why things don't make sense.
|
||||
|
||||
Resha asks questions because she's learning. Some of those questions — about locked bays, irregular schedule changes, containers that appear on manifests but aren't in the bay — are innocently dangerous. She doesn't know she's asking about the ring's operations. She's asking because the procedures she was taught don't match what she observes.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: None. Resha is transparent — she's new, eager, and has nothing to hide.
|
||||
|
||||
**Deep secret**: None. Resha's significance isn't what she's hiding — it's what she's noticing.
|
||||
|
||||
**Vulnerability**: Naivety. Resha doesn't understand the social dynamics well enough to know which questions are dangerous. Her curiosity makes her a risk to the ring and a potential asset to the detective — neither of which she's aware of.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Voss**: Shift supervisor. Resha respects authority and tries to please Voss. Voss is professionally competent with Resha but wants her to stop asking about irregularities.
|
||||
|
||||
**Kael Davan**: Senior colleague. Kael is patient with Resha — shows her the ropes, answers procedural questions, covers for her mistakes. Resha looks up to Kael. This makes Kael protective, which complicates Kael's position.
|
||||
|
||||
**Maret Korr**: Freight scheduler. Maret gives Resha scheduling data and is protective in a quiet, professional way. Resha's questions about manifest discrepancies echo Maret's own concerns.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Low**. Resha hasn't been tested yet. She's never been in a situation where loyalty conflicts with safety. If directly threatened or warned to stop asking questions, Resha would be scared and confused. She doesn't have the experience to navigate institutional pressure.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**06:00 - 14:00**: Day shift — cargo handling, bay allocation assistance, learning procedures
|
||||
**10:30 - 11:00**: Break room, often with Kael or other dock workers
|
||||
**14:00 - 15:00**: Post-shift, sometimes stays late studying shift protocols
|
||||
**15:00+**: Home (Residential Radial B) or occasionally bar (not a regular — Resha is still establishing social connections)
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Basic hub operations (3 months of learning), shift procedures, which bays handle what cargo, Voss's authority, Kael's reliability. Observations: locked bays that don't appear on her manifest, schedule changes posted after the fact, containers with routing codes she wasn't trained on.
|
||||
|
||||
**Doesn't know**: Ring, smuggling, the significance of her observations, Kael's secret life, Voss's compromise, anything about the bar social dynamics.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Moderate-high**. Resha is happy to have a stable job. The community is welcoming enough. The work is hard but meaningful. Her contentment is that of someone at the beginning of something — optimistic, not yet disillusioned.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Curious** — asks questions, observes, wants to understand systems.
|
||||
**Secondary: Earnest** — genuine effort, no cynicism, takes the work seriously.
|
||||
**Tertiary: Observant** — notices details because she's learning, not because she's suspicious.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Asks questions about locked bays** | Encounters a procedure she wasn't trained for | Voss (nervous), Kael (protective), Smuggler (if at hub) |
|
||||
| **Takes notes on her lattice** | Recording procedures, schedules, observations — standard for a new hire, but the data she's capturing includes anomalies | Maret (recognizes the pattern), Detective (if accessing Resha's notes) |
|
||||
| **Looks to Kael for guidance** | Uncertain about a procedure or social situation | Everyone at the hub |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Cargo handling (learning), bay allocation (basic), manifest reading (training level).
|
||||
**Combat tag**: **No**.
|
||||
**Lattice capability**: Baseline.
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Eager (baseline)**
|
||||
- *"The Bay 7 manifest doesn't list that container. Should I flag it, or is that a late addition? I just want to make sure I'm processing it right."*
|
||||
|
||||
**Mood: Confused (observing irregularity)**
|
||||
- *"Voss changed the afternoon rotation again. Is that normal? I thought the schedule was set at shift start."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Resha is a variable. Her questions are innocent but dangerous. The smuggler reads Resha as someone who needs to be managed — either brought into confidence (risky) or steered away from sensitive areas (ongoing effort). *"Resha's asking about Bay 7 again. Someone needs to teach her that not every question needs an answer."*
|
||||
|
||||
**Detective**: Resha is a fresh pair of eyes. Uncompromised, observant, and unaware of the social pressures that keep everyone else silent. If the detective talks to Resha early, her observations become data. If the detective talks to Resha late, Resha may have been warned to stop asking questions — and THAT is also data. *"New hire. Three months. Still asking questions the veterans stopped asking years ago. Either naive or useful. Possibly both."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Not a formal triangle member.** Resha's function is atmospheric and catalytic — her questions create pressure on Voss and Kael, her observations could feed into the detective's investigation, and her presence reminds the hub workers that the operation is only invisible to people who've learned not to look.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** CATALYST — Resha's innocent questions about locked bays, irregular schedules, and unmanifested containers force the ring's infrastructure into defensive reactions. Every question she asks creates pressure on Voss and Kael. She is a disruption vector — not by intent, but by the simple act of trying to learn her job.
|
||||
**Motivation (System B):** CIVILIAN — Resha is not investigating, not scheming, not cooperating with anyone. She is a new hire trying to understand procedures. Her questions are genuine, not strategic. The CIVILIAN motivation means the disruption is accidental — born of earnestness, not suspicion.
|
||||
|
||||
**Composition read:** CATALYST + CIVILIAN creates innocent disruption: "She just asked. Everyone flinched." Resha disrupts (CATALYST) through pure curiosity (CIVILIAN), which makes her impossible to manage through normal channels. You cannot tell a new hire to stop asking procedural questions without explaining why — and the explanation is the thing that must stay hidden. The system is so compromised that learning it honestly is itself a threat. For the smuggler, Resha is a variable that requires constant steering. For the detective, Resha is a fresh pair of eyes whose observations carry no political filtering — whatever Resha noticed, she noticed because it was genuinely anomalous.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Voss](voss.md), [Kael Davan](kael-davan.md), [Maret Korr](maret-korr.md)
|
||||
@@ -1,74 +0,0 @@
|
||||
---
|
||||
title: "Sabel Hersk"
|
||||
slug: sabel
|
||||
canonical_id: "npc:sabel"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 3
|
||||
pattern: "GHOST"
|
||||
motivation: "OPERATOR"
|
||||
social_sites: []
|
||||
entanglement: "Flat"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Sabel Hersk
|
||||
|
||||
**Tier 3 NPC** | Smuggling Ring (Off-Station) | Flat
|
||||
|
||||
---
|
||||
|
||||
## Essential Axes
|
||||
|
||||
### Want
|
||||
|
||||
Deliver. Get paid. Maintain the supply chain.
|
||||
|
||||
Sabel is the ring's off-station contact — the external supplier who sends contraband (unlicensed lattice components, medical-grade neural replacements) through legitimate freight shipments to Sova. Sabel operates from elsewhere in Van Maanen's Star (exact location unspecified in v0.1). The relationship with Devra is purely transactional: Sabel confirms transit timing, Devra coordinates local pickup.
|
||||
|
||||
### Routine
|
||||
|
||||
**Not directly observable.** Sabel is referenced, not instantiated in the v0.1 play area. Sabel appears in lattice communications (Devra's coordination), in cargo manifests (origin codes), and in ring members' dialogue ("Sabel says the next shipment is on the 22:00 cycle"). Sabel's physical presence in the district is limited to at most 1-2 brief visits during the vertical slice — enough to be observed, not enough to be interrogated.
|
||||
|
||||
### Personality
|
||||
|
||||
**Professional, efficient, impersonal.** Sabel treats the ring as a business relationship. No personal investment, no loyalty to the local team, no interest in their problems. If the operation on Sova is compromised, Sabel cuts the connection and finds another distribution point. This coldness is itself a narrative signal: Sabel represents the layer above the local ring, the bigger operation that views Sova as replaceable infrastructure.
|
||||
|
||||
---
|
||||
|
||||
## Voice Hint
|
||||
|
||||
*"Transit confirmed for 22:00. Standard package. Don't be late."* [Flat, operational, no warmth]
|
||||
|
||||
---
|
||||
|
||||
## Function Note
|
||||
|
||||
Sabel is the **upstream connection** — the thread that leads from the local smuggling operation to the wider criminal supply chain. For the smuggler, Sabel is the voice on the other end of the lattice, the person who keeps the goods flowing. For the detective, Sabel is a ghost — a name in communications, an origin code on freight manifests, a person who exists in the district's data but not in its social fabric. Tracing Sabel is the detective's path to understanding that the ring is not a local phenomenon but part of a larger network.
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Supply source. Professional respect. *"Sabel's reliable. The timing is always clean. Whatever happens on this end, the supply keeps coming."*
|
||||
|
||||
**Detective**: Data point. Ghost. *"Origin codes on flagged manifests trace to off-station. Someone's sending this cargo. Finding who could crack the upstream network."*
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** GHOST — Sabel is off-station, physically absent from the play area. The player does not interact with Sabel directly in any meaningful way. Sabel's power is felt through supply chain influence — origin codes on manifests, timing confirmations via lattice, references in ring members' dialogue. The GHOST pattern means Sabel shapes events from elsewhere without being present to confront or cultivate.
|
||||
**Motivation (System B):** OPERATOR — Sabel runs the supply chain. Transit confirmations, shipment scheduling, cargo preparation — all operational execution from a remote position. Sabel's function is logistics, not strategy or pressure. The supply keeps coming regardless of what happens on Sova.
|
||||
|
||||
**Composition read:** GHOST + OPERATOR creates distant machinery: "Sabel shapes events from elsewhere." Sabel's absent power (GHOST) is exercised through operational execution (OPERATOR) — a supply chain that functions without requiring Sabel's physical presence on-station. For the detective, Sabel is a data phantom: origin codes, transit records, freight patterns that point to an upstream source the detective cannot reach within the vertical slice. For the smuggler, Sabel is the reliable engine that keeps the product flowing — professional, impersonal, and indifferent to the human consequences on the ground. Sabel's coldness is narrative content: the ring is disposable to its supplier.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Devra](devra.md), [Renn](renn.md)
|
||||
@@ -1,426 +0,0 @@
|
||||
---
|
||||
title: "Sera Venn"
|
||||
slug: sera-venn
|
||||
canonical_id: "npc:sera-venn"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 1
|
||||
pattern: "FRIEND"
|
||||
motivation: "WITNESS"
|
||||
social_sites: []
|
||||
entanglement: "Mundane"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Sera Venn — THE FRIEND (Detective)
|
||||
|
||||
**Tier 1 Production-Level NPC** | The Last Shift (Bar) + Commission | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Sera Venn
|
||||
**Age**: 31
|
||||
**Role**: Lattice Commission field technician, Sova Transit District
|
||||
**System Origin**: Van Maanen's Star, born on Van Maanen's Star Prime (surface), transferred to Station Sova 14 months ago
|
||||
**Cultural Group**: Van Maanen's Star culture (compact names, first-name-primary, pragmatic)
|
||||
**Lattice Tier**: Standard professional (Commission-grade diagnostic tools, not investigative)
|
||||
**Employer**: Lattice Commission, Van Maanen's Star field office (posted to Sova for routine compliance maintenance)
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Keep her life stable and her friendships intact.
|
||||
|
||||
Sera transferred to Sova after a stressful posting on a border-system relay station — too many compliance violations, too many confrontations with people running unlicensed lattice modifications. Sova was supposed to be quiet. Routine calibration checks, scheduled inspections, paperwork. A posting where nobody yells at you and you go home at a reasonable hour. For 12 months, it was exactly that.
|
||||
|
||||
**Secondary**: Protect Naia from the consequences of what Sera has discovered.
|
||||
|
||||
Naia is Sera's closest friend on the station. When Naia started confiding worry about Kael's late nights and evasive behavior, Sera did what a Commission tech can do that a civilian can't — she ran an unofficial diagnostic on Kael's work patterns through the compliance system. What she found (manifest discrepancies tied to Kael's shifts) pointed to something she didn't want to see. Reporting it would mean Kael gets investigated, possibly arrested, and Naia's life falls apart. Not reporting it means Sera is sitting on evidence. The quiet life she wanted is gone.
|
||||
|
||||
---
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret** (detective eventually suspects, smuggler may notice): Sera is a Commission employee who socializes at the bar but avoids certain people — specifically Torek Lintar. Her avoidance pattern is visible to anyone paying attention.
|
||||
|
||||
**Deep secret** (nobody knows except Sera): Sera ran an unauthorized compliance check on Kael Davan's freight handling records after Naia confided worry about Kael's behavior. She found manifest discrepancies — containers logged by Kael's shifts that don't reconcile with incoming freight manifests. This is reportable evidence. Sera has not reported it. She has been sitting on this information for approximately 6 weeks, protecting Naia from the consequences of her partner being investigated.
|
||||
|
||||
**Vulnerability**: The unreported evidence. If the detective discovers Sera's concealment, Sera faces institutional consequences (dereliction of duty, obstruction). If the ring discovers that a Commission employee has their manifests flagged, Sera becomes a target. If Naia discovers Sera investigated Kael behind their back, the friendship is damaged regardless of Sera's motivation.
|
||||
|
||||
---
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Relationship 1: The Detective** (pre-existing institutional contact, friend)
|
||||
- **Type**: Professional-turned-personal. They trained at adjacent postings, overlapped on a compliance sweep two years ago. Genuine mutual respect.
|
||||
- **History**: The detective is one of few people who understands institutional culture — the protocols, the frustrations, the isolation of being Commission on a station that views you as the compliance police. When the detective arrives in the district, Sera is genuinely glad. A familiar face. Someone who speaks her language.
|
||||
- **Current tension**: Sera is now keeping evidence from the detective. Every helpful tip, every piece of background she shares, is contaminated by the thing she's NOT sharing. The detective trusts Sera completely, which makes the concealment worse.
|
||||
- **Mechanical relevance**: THE FRIEND. The relationship phase arc (trust > pattern observation > confrontation > contaminated trust) plays out here.
|
||||
|
||||
**Relationship 2: Naia** (close friend, civilian)
|
||||
- **Type**: Personal friendship, 10 months. Met at the bar shortly after Sera's transfer.
|
||||
- **History**: Naia teaches station kids, represents the community Sera embedded herself in. They drink together after Naia's school day and Sera's shift, swap complaints about work, talk about Naia's relationship with Kael. Naia is the reason Sova feels like home instead of just another posting.
|
||||
- **Current tension**: Naia confided in Sera about Kael's behavior (late nights, evasion, unexplained stress). This is what triggered Sera's unofficial compliance check. Sera now knows more about Kael's situation than Naia does — and can't share it without destroying everything.
|
||||
- **Mechanical relevance**: Naia is the emotional anchor that makes Sera's concealment sympathetic. Sera isn't hiding evidence to protect a criminal. She's hiding evidence to protect her friend's partner.
|
||||
|
||||
**Relationship 3: Torek Lintar** (avoidance target, unintentional connection)
|
||||
- **Type**: Avoidance. Sera doesn't have a relationship with Torek — she has an anti-relationship.
|
||||
- **History**: When Sera ran her unofficial compliance check, she didn't just find Kael's discrepancies. She found that the manifest irregularities correlate with shifts where Torek Lintar handles dock inspections. Torek is a thread she doesn't want to pull. Being seen near Torek while sitting on unreported evidence about his inspection patterns feels like compounding the risk.
|
||||
- **Current tension**: Sera leaves the bar when Torek arrives. Every time. Different excuses. She doesn't realize how visible this pattern is becoming.
|
||||
- **Mechanical relevance**: The avoidance pattern IS the contradiction the detective discovers. Sera's attempt to minimize risk is itself creating observable risk.
|
||||
|
||||
---
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**High** — Sera is disciplined and emotionally controlled. But she's managing an impossible situation.
|
||||
|
||||
**What Sera tolerates**:
|
||||
- Institutional isolation (being the Commission person on a station that views Commission as an imposition)
|
||||
- Minor ethical compromises (running the unofficial check was already outside protocol)
|
||||
- The cognitive dissonance of helping the detective while hiding evidence from them
|
||||
|
||||
**What pushes Sera toward breaking**:
|
||||
- The detective asking specifically about manifest discrepancies (too close to what Sera already knows)
|
||||
- Naia's worry escalating into direct action (if Naia confronts Kael, or asks the detective for help)
|
||||
- Torek behaving in ways that make Sera's concealment feel more dangerous (if Torek's spending becomes even more visible, the investigation will reach him, and Sera's connection becomes harder to deny)
|
||||
|
||||
**What breaks Sera**:
|
||||
- Direct confrontation from the detective with evidence of the concealment (Sera can't lie to the detective's face — she'll deflect, but she won't fabricate)
|
||||
- Naia being hurt by the consequences Sera was trying to prevent (if Kael is arrested and Naia blames Sera for not warning them)
|
||||
- Institutional pressure from Commission (if a superior notices the compliance check was run but never filed)
|
||||
|
||||
---
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**07:30 - 08:00**: Morning lattice diagnostics at Commission kiosk (Level 3, unmanned — Sera runs calibration checks remotely)
|
||||
**08:00 - 12:00**: Field rounds — compliance verification at assigned locations (logistics hub equipment, bar terminal, residential nodes)
|
||||
**12:00 - 13:00**: Lunch, usually at a vendor near the logistics hub
|
||||
**13:00 - 15:00**: Afternoon rounds or report filing at Commission kiosk
|
||||
**15:00 - 15:30**: Off-shift. Returns to residential pod briefly.
|
||||
**15:30 - 18:00**: Bar (The Last Shift). Sera is an early-evening regular. Meets Naia here most days. Occupies the same corner booth.
|
||||
**18:00 - 22:00**: Home or occasional return to bar for quieter late-evening drink.
|
||||
|
||||
**Routine deviations** (tells):
|
||||
- Leaving the bar abruptly when Torek Lintar arrives (the contradiction pattern — three occurrences in the vertical slice)
|
||||
- Increased helpfulness to the detective (overcompensation — Sera shares MORE district background after the concealment begins, as if making up for what she's withholding)
|
||||
- Avoiding the logistics hub during certain shifts (the shifts where Kael's discrepancies are concentrated — Sera doesn't want to observe anything else she'd have to not-report)
|
||||
- Extended time at Commission kiosk (re-checking the compliance data she ran, compulsive verification that she hasn't been caught)
|
||||
|
||||
---
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows** (KnowsDetails or Direct):
|
||||
- Manifest discrepancies tied to Kael Davan's shifts (unauthorized compliance check, 6 weeks ago)
|
||||
- Torek Lintar's inspection shifts correlate with manifest irregularities (pattern analysis from same check)
|
||||
- Naia is worried about Kael's behavior (direct confidence from Naia, multiple conversations)
|
||||
- The Commission kiosk on Level 3 has diagnostic access to freight manifest systems (institutional knowledge — standard for her role)
|
||||
- The district's Commission presence is minimal (she's the only Commission employee in the district most days)
|
||||
- Detective's background (professional history, approach, institutional reputation — pre-existing relationship)
|
||||
- Bar regulars' names, habits, social patterns (10 months of observation as a regular)
|
||||
|
||||
**Doesn't know**:
|
||||
- Kael is a ring member (Sera found manifest discrepancies, not ring membership — she suspects smuggling but doesn't know the organizational structure)
|
||||
- Kael is attempting to exit the ring (Sera doesn't know the ring exists, let alone that Kael wants out)
|
||||
- The smuggler's identity or role (if the smuggler is a ring member, Sera has no reason to flag them)
|
||||
- Devra, Renn, Pell, or any ring operational details (Sera's compliance check caught freight data anomalies, not personnel)
|
||||
- Drin's gambling debt and compromise (Sera's check was focused on Kael's shifts, not Drin's inspections — though Drin's data is in the system if she looked harder)
|
||||
|
||||
---
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Moderate** (D-024 thematic axis) — declining.
|
||||
|
||||
Sera was content. Sova was the calm posting she needed after the stressful border station. She had a routine, a friend (Naia), a social life at the bar, competent work that didn't demand too much. For her first 10 months, contentment was high.
|
||||
|
||||
Now it's eroding. The compliance check changed everything. Sera can't un-know what she found. Every evening at the bar is shadowed by the evidence she's concealing. Every conversation with Naia is a reminder of why she's concealing it. Every interaction with the detective is a test of how much longer she can sustain the concealment without being caught.
|
||||
|
||||
**Contentment trajectory**: Declining. Before the compliance check: high. After the check: moderate. After the detective arrives and starts asking questions: moderate-low and falling. Sera is experiencing the slow erosion of a life she built specifically to be calm — and she did it to herself.
|
||||
|
||||
---
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Competent** — Sera is good at her job. She runs clean diagnostics, files thorough reports (when she files them), and understands Commission systems at a technical level most field techs don't bother with. This competence is what enabled the unofficial check — and what makes the concealment so damaging. She found the discrepancies because she's good. She's hiding them because she's human.
|
||||
|
||||
**Secondary: Loyal** — to people, not institutions. Sera joined the Commission because it was stable work with good benefits, not because she believes in regulatory perfection. Her loyalty to Naia outweighs her institutional obligation. This surprises even Sera — she thought she was a by-the-book person until she had to choose between the book and a friend.
|
||||
|
||||
**Tertiary: Controlled** — Sera manages her presentation carefully. She doesn't panic, doesn't raise her voice, doesn't show stress visibly. This control is professional training (Commission field techs deal with hostile communities regularly) and personal temperament. It makes her excellent at deflection — and makes the avoidance pattern (leaving when Torek arrives) more striking precisely because it breaks her usual composure.
|
||||
|
||||
---
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
**Observable behavioral changes that signal Sera's internal state:**
|
||||
|
||||
| Tell | Trigger | Observable To | Mechanical Flag |
|
||||
|------|---------|---------------|-----------------|
|
||||
| **Avoidance of Torek Lintar** | Torek enters the bar. Sera makes an excuse and leaves within 2-3 minutes. | Detective (pattern recognition across 3 occurrences), Naia (if paying attention), bar regulars | `behavior_flags: avoidance_pattern` |
|
||||
| **Increased helpfulness** | Detective asks about the district. Sera volunteers extra information, background context, names and routines of regulars. | Detective (might read as genuine helpfulness OR overcompensation) | `behavior_flags: overcompensating` |
|
||||
| **Topic deflection on manifests** | Anyone mentions freight, manifests, compliance, or cargo irregularities. Sera changes the subject smoothly. | Detective (if tracking topic avoidances), Naia (might notice Sera steering away from Kael-adjacent topics) | `behavior_flags: topic_avoidance` |
|
||||
| **Extended kiosk time** | Sera spends longer at the Commission kiosk than her duties require. Visible to hub workers. | Detective (if tracking Sera's routine), Voss or Maret (if observant about who's at the kiosk) | `tell_observed: extended_kiosk_access` |
|
||||
|
||||
**Tell progression** (detective's perspective):
|
||||
1. **Visit 1-2** (baseline): Sera is warm, informative, comfortable. A welcome familiar face. Detective monologue: "Good to see Sera. She always was the reliable one."
|
||||
2. **Visit 2-3** (background data): Sera mentions Naia as "a friend from the district." Naia joins them once. Sera and Naia have obvious genuine rapport. Detective notes Sera is socially connected — useful.
|
||||
3. **Visit 3** (first avoidance): Torek enters. Sera says "Early shift tomorrow." Leaves. Detective barely notices. Monologue: "Sera headed out. Long day, probably."
|
||||
4. **Visit 4** (second avoidance): Torek enters. Sera says "Headache. Going to lie down." Detective notes it but doesn't flag it. Monologue: "Sera left again. She's been tired lately."
|
||||
5. **Visit 5** (third avoidance — the pattern): Torek enters. Sera says "Need to check on something at the kiosk." Detective's training fires. Monologue: "That's the third time. Sera leaves when Torek arrives. Three different excuses. That's not coincidence."
|
||||
|
||||
---
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Lattice diagnostic and calibration, compliance documentation, field equipment maintenance, Commission data systems access (read-only for most functions, diagnostic-level write for calibration records).
|
||||
|
||||
**Investigation-relevant**: Sera can look things up in Commission systems that civilians can't access. Manifest cross-referencing, lattice registration queries, compliance history searches. She's not an investigator — she can't issue warrants or access sealed records — but she has diagnostic access that is functionally useful for someone who knows what to look for.
|
||||
|
||||
**Combat tag**: **No**. Sera has standard Commission self-defense training (all field personnel) but has never used it operationally. If threatened, Sera's first instinct is to leave, not fight.
|
||||
|
||||
**Lattice capability**: Standard professional tier. Commission diagnostic overlays, system access tools, compliance reporting interface. No investigative or analytical upgrades — those are reserved for Commission investigators, not field techs.
|
||||
|
||||
---
|
||||
|
||||
## Backstory
|
||||
|
||||
Born on Van Maanen's Star Prime surface. Grew up in a mid-sized settlement where the Commission maintained a regional office — lattice infrastructure was part of daily life, and the people who maintained it were respected, ordinary workers. Sera joined the Commission at 21 as a field technician trainee, graduated to full field tech at 23. Spent 6 years on various postings — mostly routine, one stressful border-system relay where unlicensed lattice modifications were endemic and the local population viewed Commission as an occupying force. That posting burned Sera out. She requested a transfer to a quiet logistics hub. Station Sova, Van Maanen's Star. Home territory. Routine calibration checks, minimal confrontation. For 10 months, it was exactly what she needed. Then Naia started talking about Kael, and Sera's competence made her curious, and her curiosity made her compromised.
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Casual (baseline, detective interaction at bar)**
|
||||
- *"There you are. Grab a seat — Naia was here earlier, you just missed them. Lera's doing that thing with the grain spirit again. Don't ask, just trust me and order the ale."*
|
||||
|
||||
**Mood: Informative (sharing district knowledge)**
|
||||
- *"Voss runs the day shift at the hub. Tight schedule, doesn't like surprises. Maret does the freight scheduling — she's sharp, notices things. If you need a way into the hub's operations, Maret's the one who understands the paperwork."*
|
||||
|
||||
**Mood: Deflective (asked about Torek)**
|
||||
- *"Torek? He's just loud. Gets a couple drinks in him and decides everyone needs to hear his opinions. I don't like loud drunks. That's it."* [Controlled delivery, slight smile, topic change to follow]
|
||||
|
||||
**Mood: Stressed (post-contradiction, detective pressing)**
|
||||
- *"I don't know what you're looking for. I told you everything I know about the district. If you're asking whether I'm hiding something — I'm a field tech, not an analyst. I maintain calibration equipment. That's my job."* [Defensive but not aggressive — Sera retreats into institutional role]
|
||||
|
||||
**Mood: Warm (to Naia, early game)**
|
||||
- *"You look tired. How are the kids doing with the new curriculum? No — sit. Let me get us something. You've been running all day."* [Genuine care, attentive, protective]
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
### How the Detective Sees Sera
|
||||
|
||||
**Access tier**: Peer (pre-existing institutional relationship) → PersonOfInterest (post-contradiction discovery)
|
||||
|
||||
**Relationship**: Friendly (baseline) → PersonOfInterest (post-contradiction)
|
||||
|
||||
**Monologue tone (baseline)**: Professional warmth, relief. *"Good to see a familiar face. Sera always was the reliable one."*
|
||||
|
||||
**Monologue tone (post-contradiction)**: Analytical doubt layered over personal conflict. *"She's not lying. But she's not telling me everything. Sera, what do you know?"*
|
||||
|
||||
**What the detective knows that the smuggler doesn't**: Sera is Commission (institutional affiliation visible through lattice query). Sera has access to compliance systems. Sera's avoidance of Torek is a behavioral pattern, not just social preference. The detective reads Sera through an investigative lens even when trying to be personal — training doesn't turn off.
|
||||
|
||||
**Emotional weight**: Maximum. Sera is THE FRIEND. The detective's only ally in a district that doesn't want them here. The color shift from green to amber is the moment the detective realizes their safe harbor has been contaminated. It's not just professional betrayal — it's the loss of the one relationship in the district that felt genuine.
|
||||
|
||||
---
|
||||
|
||||
### How the Smuggler Sees Sera
|
||||
|
||||
**Access tier**: Public (baseline — the smuggler doesn't know Sera well) → Known (if observant over multiple bar visits)
|
||||
|
||||
**Relationship**: Known (the Commission woman at the bar) → PersonOfInterest (only if the smuggler independently notices the avoidance pattern)
|
||||
|
||||
**Monologue tone (baseline)**: Cautious categorization. *"Commission woman. Sera, I think. Field tech, not an investigator — but still Commission. Keep an eye on her."*
|
||||
|
||||
**Monologue tone (if avoidance noticed)**: Mild curiosity. *"Sera left again. That's twice when Torek showed up. Probably hates his singing. Everyone does."*
|
||||
|
||||
**What the smuggler knows that the detective doesn't**: Torek is ring-adjacent (if the smuggler is in the ring, they know Torek's spending is connected to the operation). Sera's avoidance of Torek could be institutional wariness of someone connected to the ring — or it could be nothing. The smuggler's framework interprets Sera through threat assessment: is a Commission tech avoiding ring-adjacent people because she knows something, or because she's just antisocial?
|
||||
|
||||
**Emotional weight**: Low to moderate. Sera is not the smuggler's FRIEND — she's institutional background noise. But a Commission tech who behaves strangely is worth watching. On replay (after playing the detective's path), the smuggler player understands that Sera's avoidance wasn't about Torek's personality — it was about what Sera had found and was hiding.
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
### Triangle 4: The Worried Partner (Naia - Kael - Sera)
|
||||
|
||||
**Sera's function**: The confidante who knows too much. Sera is the person Naia confides in. She's also the person who, because of her institutional access, turned that confidence into concrete knowledge she can't safely act on.
|
||||
|
||||
**Pressure**: Naia's worry is escalating. Every bar conversation where Naia mentions Kael's late nights or evasion tightens the vice on Sera. Sera can't tell Naia what she found (that would reveal the unofficial check and potentially endanger Naia further). She can't report it (that destroys Naia's life). She can't un-know it (competence doesn't have an undo function). Every interaction with Naia is Sera managing a conversation while hiding a time bomb.
|
||||
|
||||
**Player relevance**:
|
||||
- **Detective** (if Sera's friend): Hears about Naia through Sera. May eventually meet Naia directly. The detective who follows the Naia thread back to Kael's behavior follows it directly through Sera's concealment.
|
||||
- **Smuggler** (if Kael's friend): Knows why Kael is busy, knows Naia is worried, may see Sera and Naia together at the bar and think nothing of it. On replay, the smuggler player understands that Sera was the connective tissue between the detective's investigation and Kael's vulnerability.
|
||||
|
||||
---
|
||||
|
||||
### Cross-Template Connections
|
||||
|
||||
**Sera has no formal triangle membership beyond Triangle 4.** Her significance is structural: she's the bridge between the detective's institutional world and the district's social fabric. She connects the investigation to the personal — Naia's worry to Kael's behavior to the manifest discrepancies to the ring's operations. Every thread passes through Sera, even though Sera herself isn't part of the conspiracy.
|
||||
|
||||
**Institutional bridge**: Sera is the only Commission employee who regularly socializes in the district. This makes her the detective's guide to a world the detective doesn't understand — and simultaneously makes her the person most positioned to conceal evidence from the detective.
|
||||
|
||||
---
|
||||
|
||||
## Secret
|
||||
|
||||
**What Sera is hiding**: Unreported evidence. Manifest discrepancies tied to Kael Davan's shifts, discovered through an unauthorized compliance check, concealed for approximately 6 weeks to protect Naia.
|
||||
|
||||
**From whom**: Everyone. The detective (the person with the most right to know), Naia (who doesn't know Sera investigated Kael), Kael (who doesn't know he's been flagged in Commission systems), her own institution (which would view the unauthorized check and non-reporting as disciplinary offenses).
|
||||
|
||||
**Consequences if exposed**:
|
||||
- **Detective finds out**: Trust is shattered. Sera's help has been contaminated from the start. The detective can: use the evidence and report Sera (institutional response — Sera is reprimanded, possibly reassigned, the friendship is destroyed), use the evidence without reporting Sera (pragmatic — maintains the ally but the relationship is forever changed), or protect Sera and accept the information gap (loyal — but the detective's investigation is compromised). No clean option.
|
||||
- **Naia finds out**: Complicated devastation. Sera investigated Kael without asking Naia. Even though Sera's motive was protective, the unauthorized check feels like betrayal — Sera went behind Naia's back, used institutional access against Naia's partner, and then hid it. Naia learns (1) Kael is involved in something illegal, (2) Sera knew and didn't say, (3) Sera used Commission systems to investigate Naia's partner. The friendship survives only if Naia believes Sera's silence was protection, not self-interest.
|
||||
- **Ring finds out**: Sera becomes a target. A Commission employee sitting on evidence is either an asset to recruit or a threat to eliminate. If Devra or Nils learn that a Commission tech has flagged their manifests, Sera is in physical danger.
|
||||
- **Commission finds out**: Disciplinary action. The unauthorized compliance check is a protocol violation. The non-reporting is dereliction. At minimum, Sera is reprimanded and transferred. At maximum, she's suspended and investigated herself.
|
||||
|
||||
---
|
||||
|
||||
## Contradiction Arc
|
||||
|
||||
### Phase 1: Trust (Friendly, baseline)
|
||||
|
||||
**Timing**: 0-10 minutes (detective's first bar visits)
|
||||
|
||||
**Observable behavior**: Sera is warm, competent, available. Waves the detective over to her corner booth. Shares district background freely — who the regulars are, what shifts run when, which maintenance corridors are shortcuts. Introduces Naia on the second visit. Orders the detective a drink. Feels like the one genuine relationship in an unfamiliar place.
|
||||
|
||||
**Monologue (detective)**: *"Good to see Sera. She always was the reliable one. At least someone in this district speaks my language."*
|
||||
|
||||
**Color**: Soft green (Friendly)
|
||||
|
||||
**Dialogue tone**: Peer-tier, cooperative. Trust-gated content available — Sera shares institutional background (Commission presence, liaison rotation, compliance schedules) that civilians wouldn't know.
|
||||
|
||||
**Tell**: None — Sera is baseline comfortable.
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: Background Data (still Friendly, social context accumulating)
|
||||
|
||||
**Timing**: 10-15 minutes
|
||||
|
||||
**Observable behavior**: Sera mentions Naia. "A friend from the district — you'd like them. They teach the station kids." Naia joins them at the bar once. Sera and Naia have easy, genuine rapport — inside jokes, comfortable silences, the shorthand of actual friendship. Sera also mentions running compliance checks as part of her routine. "It's mostly calibration. Boring stuff. But it keeps the systems honest."
|
||||
|
||||
**Monologue (detective)**: *"Sera's connected here. Good. She knows the locals. And she's got diagnostic access — useful if I need to cross-reference anything."*
|
||||
|
||||
**Color**: Still green (Friendly). No flags.
|
||||
|
||||
**Dialogue tone**: Still warm, sharing. Sera is building the detective's picture of the district as a functioning community.
|
||||
|
||||
**Tell**: **Social embeddedness** — Sera has personal relationships in the district, not just institutional ones. The detective notes this as an asset without realizing it's also the source of the conflict.
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: The Pattern (Friendly → PersonOfInterest)
|
||||
|
||||
**Timing**: 15-20 minutes (across visits 3-5 to the bar)
|
||||
|
||||
**Trigger**: The detective observes Sera leaving the bar when Torek Lintar arrives. Three times. Three different excuses: "Early shift tomorrow," "Headache — going to lie down," "Need to check something at the kiosk."
|
||||
|
||||
**Observable behavior**: Sera is at the bar. Torek enters. Within 2-3 minutes, Sera makes an excuse and leaves. The excuses vary. The timing doesn't. The detective, trained to notice behavioral patterns, connects the dots on the third occurrence.
|
||||
|
||||
**Monologue (detective)**: *"That's the third time. Sera leaves when Torek arrives. Early shift, headache, kiosk check. Three different excuses, same result. Sera, what are you avoiding?"*
|
||||
|
||||
**Knowledge system**:
|
||||
- `EntityKnowledge.state` → `KnowledgeState::Contradicted` (prior belief: "Sera is comfortable in the district and has no reason to avoid anyone" conflicts with observation: "Sera systematically avoids Torek Lintar")
|
||||
- `EntityKnowledge.known_attributes["behavior_flags"]` = `"avoidance_pattern,evasive"`
|
||||
- `EntityKnowledge.known_attributes["contradiction_flagged"]` = `"avoidance_inconsistency"`
|
||||
- `RelationshipState` transitions: `Friendly` → `PersonOfInterest`
|
||||
|
||||
**Color shift**: Soft green → amber. **This is the emotional moment.** Different from Kael's — slower, cumulative. Not a single shocking observation but a dawning pattern. The player trusted Sera. Now the trust has hairline fractures.
|
||||
|
||||
**Dialogue options unlock**: Direct questioning path ("Sera, you leave every time Torek shows up. What's going on?"), observation path (don't ask yet, track the pattern, gather more context).
|
||||
|
||||
**Tell**: **Avoidance pattern** — departure from bar correlates with specific NPC arrival. Excuse variety masks behavioral consistency.
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: The Question (PersonOfInterest, dialogue shift)
|
||||
|
||||
**Timing**: 20-25 minutes
|
||||
|
||||
**Trigger**: Detective asks Sera about Torek directly. Dialogue option: *"Sera, I've noticed something. You leave every time Torek Lintar arrives. Three times now. Different reasons each time. What's going on?"*
|
||||
|
||||
**Sera's response** (deflection): *"Torek? He's just loud. Gets a couple drinks in him and decides everyone needs to hear his opinions about gate scheduling. I don't like loud drunks. That's all it is."*
|
||||
|
||||
**Monologue (detective)**: *"She's not lying — Torek IS loud. But she's not telling me everything. Her shoulders shifted when I said his name. Sera, what do you know about Torek that you're not saying?"*
|
||||
|
||||
**Knowledge system**:
|
||||
- `EntityKnowledge.known_attributes["tell_observed"]` = `"controlled_deflection,topic_change"`
|
||||
- `EntityKnowledge.known_attributes["secret_held"]` = `"unreported evidence, connection to investigation?"`
|
||||
- `EntityKnowledge.known_attributes["secret_confidence"]` = `"suspected"` (the deflection pattern suggests concealment but doesn't confirm what's being concealed)
|
||||
|
||||
**Dialogue tone**: Sera becomes more controlled. Warmth is still present but calibrated — she steers conversations away from freight, manifests, Kael's work schedule. She is compensating with extra helpfulness on other topics ("Let me tell you about the night shift regulars — there's a group that...").
|
||||
|
||||
**Color**: Remains amber (PersonOfInterest).
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: Contaminated Trust (PersonOfInterest, new equilibrium)
|
||||
|
||||
**Timing**: 25-30 minutes (remainder of vertical slice)
|
||||
|
||||
**Observable behavior**: Sera continues being helpful. Shows up at the bar at the same time. Saves the detective's seat. Offers background on NPCs the detective is tracking. She is, by every surface measure, the same Sera. But the detective is now **watching**.
|
||||
|
||||
**Monologue (detective)**: *"Still the same Sera. Still reliable. Shares everything I ask about — names, routines, connections. ...Everything except whatever she's not telling me about Torek. What are you protecting, Sera?"*
|
||||
|
||||
**Dialogue options**:
|
||||
- **Path A (trust test)**: Detective confronts Sera directly, not about Torek but about the concealment itself: *"Sera, I've known you long enough to know when you're holding something back. What did you find?"* Sera may confess: the unauthorized compliance check, the manifest discrepancies, Naia, all of it. `RelationshipState` remains `PersonOfInterest` (still a problem), but tone shifts to conflicted understanding. Player gains critical evidence. Must decide what to do with Sera.
|
||||
- **Path B (institutional)**: Detective reports Sera's suspicious behavior through Commission channels: *"I need to flag a potential conflict of interest with a local Commission employee."* Sera is formally investigated. `RelationshipState` → `Hostile`. Sera is reprimanded, possibly reassigned. The detective loses their only local ally. The evidence is obtained through institutional channels — slower, but clean.
|
||||
- **Path C (observation)**: Detective doesn't confront, just watches. Tracks Sera's movements, cross-references her kiosk access times, builds a parallel case. `RelationshipState` remains `PersonOfInterest`. Eventually, the evidence chain leads to the same place — but the detective has more leverage when they finally ask.
|
||||
|
||||
**Color**: Amber (paths A/C) or Red (path B).
|
||||
|
||||
**Emotional payload**: Every piece of helpful information Sera shared in Phase 1 is now recontextualized. Was she being genuinely helpful, or was she steering the detective away from the manifests? Was introducing Naia friendship, or preemptive framing? The trust from the first 10 minutes is **retroactively contaminated**. That's the FRIEND arc — it doesn't just change the present, it changes the past.
|
||||
|
||||
---
|
||||
|
||||
## Content Requirements (Tier 1)
|
||||
|
||||
**~70-100 authored lines total** (no generation expansion):
|
||||
|
||||
- **25-35 dialogue lines**: Bar greetings (5), district orientation/background sharing (8-10), Naia-related conversation (4-5), institutional/Commission discussion (3-4), deflection/evasion about Torek (5-6), confrontation responses (3-5)
|
||||
- **15-20 trust-gated lines**: Peer-tier (institutional background, compliance schedules, Commission access details), secret-tier (if detective earns deep trust pre-contradiction — Sera's genuine feelings about the concealment, hints about what she found)
|
||||
- **5-8 unprompted lines**: Sera volunteers district background (early), introduces topics or people (mid), steers conversations away from sensitive areas (late)
|
||||
- **10-15 monologue lines per character**:
|
||||
- Detective monologue about Sera: trust/relief (3), pattern observation (3-4), contradiction discovery (3-4), post-confrontation (3-5)
|
||||
- Smuggler monologue about Sera: institutional categorization (2), avoidance notation (2-3 if observant), cautious assessment (2-3)
|
||||
- **5-8 tell observation lines**: Avoidance pattern (3 — one per departure), topic deflection (2), overcompensation helpfulness (2), extended kiosk time (1)
|
||||
- **3-5 contradiction discovery lines**: The third departure from multiple angles (detective noticing the pattern, monologue reaction, follow-up dialogue about Torek)
|
||||
|
||||
---
|
||||
|
||||
## Authoring Notes
|
||||
|
||||
- **Sera's voice**: Competent, slightly wry, conversational but precise. Uses complete sentences. Doesn't waste words but isn't as terse as Kael — Sera explains things, provides context, frames information. Professional warmth, not casual warmth. When deflecting, Sera doesn't go silent — she redirects. The redirect itself is the tell.
|
||||
- **The avoidance pattern** must be established through THREE observed departures, not one. The detective's training recognizes patterns, not anomalies. One departure is nothing. Two is coincidence. Three is data. The pacing must allow all three departures within the vertical slice timeframe.
|
||||
- **Naia references**: Sera mentions Naia naturally, warmly, frequently. "Naia says the kids are doing better with the new curriculum." "Naia's worried about something at home — didn't want to pry." This establishes the friendship's depth before it becomes load-bearing.
|
||||
- **Commission background**: Sera shares institutional details casually — compliance schedules, liaison rotation, kiosk access patterns. This is helpful (gives the detective real information) AND establishes Sera's access level (the detective later realizes Sera COULD have found what she found).
|
||||
- **Deflection dialogue** (post-contradiction): Sera doesn't lie outright. She deflects: "He's just loud." "I don't like that crowd." "It's nothing." The deflections are plausible. The detective's training is what elevates them from excuses to tells.
|
||||
- **Dual-lens discipline**: Every Sera line must work for BOTH the detective (who sees a trusted friend and institutional ally) AND the smuggler (who sees a Commission employee in the social landscape). The same sentence lands differently per character. When Sera says "I ran the usual calibration checks today," the detective hears routine work. The smuggler hears "Commission is still active in the district."
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** FRIEND — Sera is a trust anchor whose relationship with the detective is the emotional core of the detective's experience. The FRIEND pattern means Sera's concealment carries maximum emotional weight because the detective relied on her as both a personal ally and an institutional peer.
|
||||
**Motivation (System B):** WITNESS — Sera carries unreported evidence. She ran an unauthorized compliance check and found manifest discrepancies tied to Kael's shifts. Her motivation in the system is defined by what she has seen and is concealing, not by any operational role in the ring.
|
||||
|
||||
**Composition read:** FRIEND + WITNESS creates the concealment betrayal: "I was your friend AND I was hiding evidence." The detective trusted Sera as a safe harbor in an unfamiliar district (FRIEND) while Sera was sitting on the exact data the detective needed (WITNESS). The contamination is retrospective — every helpful tip Sera shared is recontextualized once the concealment surfaces. Was her helpfulness genuine, or was it compensation? The answer is both, and that ambiguity is the emotional payload.
|
||||
|
||||
---
|
||||
|
||||
**End Sera Venn Profile**. This is the full Tier 1 production depth. Parallels Kael Davan (smuggler's FRIEND) with different contradiction mechanics: cumulative pattern recognition vs. single spatial observation, institutional concealment vs. operational security breach, slow doubt vs. sudden alarm.
|
||||
@@ -1,76 +0,0 @@
|
||||
---
|
||||
title: "Sess Kolvur"
|
||||
slug: sess
|
||||
canonical_id: "npc:sess"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 3
|
||||
pattern: "ANCHOR"
|
||||
motivation: "CIVILIAN"
|
||||
social_sites: []
|
||||
entanglement: "Flat"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Sess Kolvur
|
||||
|
||||
**Tier 3 NPC** | The Last Shift (Bar) | Flat
|
||||
|
||||
---
|
||||
|
||||
## Essential Axes
|
||||
|
||||
### Want
|
||||
|
||||
Do the job. Go home. Don't get involved.
|
||||
|
||||
Sess bartends evening shifts at The Last Shift under Lera Sessik. The work is steady, the tips are adequate, and the regulars are predictable. Sess has no ambitions beyond maintaining this equilibrium. In a district full of people with secrets, Sess's lack of hidden agenda is itself a kind of camouflage.
|
||||
|
||||
### Routine
|
||||
|
||||
**14:00 - 02:00**: Bar shift (arrives before opening, stays through close)
|
||||
**Breaks**: Brief, in the back — Sess doesn't leave the bar during shift
|
||||
**Off-days**: Home, personal time, no bar social life (Sess separates work from everything else)
|
||||
|
||||
### Personality
|
||||
|
||||
**Observant, discreet, laconic.** Sess sees everything from behind the bar — who drinks with whom, who avoids whom, who's spending too much, who's stressed, who's new. Sess processes this information but doesn't share it unprompted. Getting Sess to talk requires building trust over multiple visits, and even then, Sess offers fragments, not narratives. A good bartender hears everything. A great bartender remembers everything and says nothing.
|
||||
|
||||
---
|
||||
|
||||
## Voice Hint
|
||||
|
||||
*"What'll it be?"* [Minimal. Efficient. A question that doesn't invite conversation unless you offer it.]
|
||||
|
||||
---
|
||||
|
||||
## Function Note
|
||||
|
||||
Sess is the **ambient observer** — the social wallpaper who notices everything and says almost nothing. For the detective, Sess is a potential long-game source: repeated visits, consistent tipping, demonstrated trustworthiness might eventually unlock Sess's observations. For the smuggler, Sess is safe — a known quantity who doesn't gossip. Sess's function is atmospheric: proving that Sova Transit District has ordinary people living ordinary lives, and that the bar is a real place where real service workers show up and pour drinks.
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Background. Safe. *"Sess is behind the bar. Good. Reliable, doesn't talk."*
|
||||
|
||||
**Detective**: Potential source — eventual. *"The bartender. Sess. Sees the whole room every night. Getting them to share will take time."*
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** ANCHOR — Sess embodies quiet contentment behind the bar. His version of "Is this enough?" is answered by routine: pour drinks, observe, go home. Sess represents the stable social atmosphere that the district's conflicts play out against. His contentment is not ignorance — it is a deliberate choice to keep his life simple.
|
||||
**Motivation (System B):** CIVILIAN — Sess is uninvolved. He has no agenda, no conspiracy, no operational role. He bartends. He sees things. He does not act on what he sees. The CIVILIAN motivation means Sess is social wallpaper with observational depth — present everywhere, invested in nothing.
|
||||
|
||||
**Composition read:** ANCHOR + CIVILIAN creates atmospheric texture: "Sees everything, says nothing — because nothing's wrong with HIS life." Sess's contentment (ANCHOR) is sustained by his disengagement (CIVILIAN). He observes the district's tensions from behind the bar without being pulled into them. This makes him a unique resource for patient players: Sess has seen patterns that no one else has assembled, but unlocking that information requires repeated investment in a character who has no reason to share. The v0.2 potential is significant — NOBODY tier promotion could reveal that Sess's quiet contentment conceals an observation post no one suspected.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Lera Sessik](lera-sessik.md)
|
||||
@@ -1,78 +0,0 @@
|
||||
---
|
||||
title: "Tav Merik"
|
||||
slug: tav
|
||||
canonical_id: "npc:tav"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 3
|
||||
pattern: "SYSTEM"
|
||||
motivation: "CIVILIAN"
|
||||
social_sites: []
|
||||
entanglement: "Flat"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Tav Merik
|
||||
|
||||
**Tier 3 NPC** | Smuggling Ring + Logistics Hub | Flat
|
||||
|
||||
---
|
||||
|
||||
## Essential Axes
|
||||
|
||||
### Want
|
||||
|
||||
Do the watch. Don't get noticed. Prove useful.
|
||||
|
||||
Tav is the ring's lookout — stationed at strategic positions during operations to watch for security patrols, unexpected personnel, or anything that shouldn't be where it is. The job is simple: watch, signal, move. Tav takes it seriously because it's the first responsibility anyone has trusted him with, and because the consequences of failure are immediate and severe.
|
||||
|
||||
### Routine
|
||||
|
||||
**Legitimate**: Irregular shift work at the logistics hub (cargo staging, equipment prep). Not a fixed roster — Tav picks up shifts as available, which gives him flexible hours that align conveniently with ring operations.
|
||||
|
||||
**Ring operations**: Positioned at corridor intersections or freight bay entries during night-shift courier runs (1-2x per week). Watches for 30-60 minute windows. Signals Renn via lattice if a patrol approaches.
|
||||
|
||||
**Off-duty**: Home or wandering the district. Tav doesn't drink at the bar — he's young, broke, and socially peripheral.
|
||||
|
||||
### Personality
|
||||
|
||||
**Quiet, watchful, nervous.** Tav is the youngest ring member (early 20s). He's hypervigilant during operations — every footstep sounds like a patrol, every shadow could be someone approaching. This nervous energy is his strength (nothing gets past him on watch) and his weakness (the anxiety is visible to anyone who knows what to look for).
|
||||
|
||||
---
|
||||
|
||||
## Voice Hint
|
||||
|
||||
*"Clear. South corridor, no movement for the last twenty minutes. You're good."* [Short, precise, slightly breathless]
|
||||
|
||||
---
|
||||
|
||||
## Function Note
|
||||
|
||||
Tav is the **peripheral ring member** — the person at the lowest level of the organization who sees the physical movement of operations without understanding the structure above him. For the smuggler, Tav is a reliable set of eyes. For the detective, Tav is a loitering youth in the wrong place at the wrong time — easily explained away as a lost worker, but suspicious if the detective is already tracking corridor movement patterns. Tav is also the ring member most likely to be caught and least likely to have useful information — he knows routes, not names. Catching Tav reveals a thread but not the tapestry.
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Trusted lookout. Known quantity. *"Tav's on watch. Good — he doesn't miss anything."*
|
||||
|
||||
**Detective**: Loitering youth. Anomaly if context is right. *"Young worker. Irregular shift. Seen near freight corridors outside his posted hours. Probably nothing. Filing it."*
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** SYSTEM — Tav follows ring procedure. He is the lookout — positioned at corridor intersections during operations, watching for patrols, signaling the courier. His function is institutional: he is a cog in the ring's operational machinery, executing a defined role within a defined process. SYSTEM describes his mechanical participation, not his personal investment.
|
||||
**Motivation (System B):** CIVILIAN — Tav is the lowest rung. He watches the door. That is the whole job. He does not understand the operation above him, does not participate in planning, and has minimal connection to the ring's strategy. The CIVILIAN motivation reflects his peripheral engagement — he was told it mattered, and he believed it.
|
||||
|
||||
**Composition read:** SYSTEM + CIVILIAN creates the lowest operational rung: "Tav watches the door. That's the whole job." Tav participates in the system (SYSTEM) without understanding it (CIVILIAN). He is the ring member most likely to be caught and least likely to have useful information — he knows routes and timing, not names or structure. For the detective, catching Tav reveals a thread but not the tapestry. For the smuggler, Tav is a reliable set of eyes whose nervous energy makes him effective on watch but vulnerable to pressure. The v0.2 potential is in what Tav represents: a young person trapped in a role he barely understands, doing dangerous work because someone told him it was important.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Renn](renn.md), [Devra](devra.md)
|
||||
@@ -1,142 +0,0 @@
|
||||
---
|
||||
title: "Torek Lintar"
|
||||
slug: torek-lintar
|
||||
canonical_id: "npc:torek-lintar"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "CATALYST"
|
||||
motivation: "CIVILIAN"
|
||||
social_sites: []
|
||||
entanglement: "Mundane"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Torek Lintar
|
||||
|
||||
**Tier 2 NPC** | The Last Shift (Bar) + Logistics Hub | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Torek Lintar
|
||||
**Age**: 29
|
||||
**Role**: Dock worker (day shift) and bar regular
|
||||
**System Origin**: Van Maanen's Star, Station Sova
|
||||
**Lattice Tier**: Baseline (recently upgraded accessories — visible and notable)
|
||||
**Employer**: Sova Logistics Consortium
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Enjoy the good life while it lasts.
|
||||
|
||||
Torek is young, single, and for the first time in his life has money beyond rent and food. The source of that money is ambiguous — even to the player. It could be ring income (Torek handles dock inspections and could be receiving payments for looking away), a side hustle (freelance freight brokering), or an inheritance (an aunt on Van Maanen's Star Prime who passed recently). The ambiguity is load-bearing: Torek's spending is a tell, but what it tells depends on the truth the player never fully confirms.
|
||||
|
||||
**Secondary**: Be seen. Be liked. Be the generous one.
|
||||
|
||||
Torek buys rounds. Tips well. Has a new jacket. Latest lattice accessories. He's performing generosity — and the performance is the problem. In a district where everyone knows everyone's salary, visible wealth is a signal that demands explanation.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: Spending beyond a standard dock worker's means. Visible to everyone at the bar.
|
||||
|
||||
**Deep secret**: The source of Torek's money. The game deliberately doesn't confirm this for the player. Torek might be ring-compensated (paid for inspection negligence), might have legitimate supplementary income, or might be spending an inheritance unwisely. The investigation can reach any of these conclusions depending on the evidence path.
|
||||
|
||||
**Vulnerability**: Visibility. Torek can't help being noticed. His spending makes him a target for the detective (financial tell), a liability for the smuggler (exposure risk), and a subject of gossip for everyone else.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Lera Sessik**: Bar owner. Torek is one of her best customers. She appreciates the spending, worries about the attention it draws.
|
||||
|
||||
**Olin**: New arrival. Torek has been friendly to Olin (buys them drinks, offers bar introductions). Could be genuine hospitality or could be cultivating someone new.
|
||||
|
||||
**Harek**: Card game partner. They play regularly at the bar. Torek usually wins — which is itself notable, given Harek's longer experience.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Low**. Torek isn't built for pressure. He's enjoying a good time and hasn't thought much about consequences. If confronted about his spending by the detective, Torek gets defensive, then nervous. If pressured by the ring (if he's ring-connected) to be less visible, he complies resentfully but can't actually change his habits.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**06:00 - 14:00**: Day shift at logistics hub (dock inspection and cargo handling)
|
||||
**14:00 - 14:30**: Shift transition — walks to bar district
|
||||
**14:30 - 20:00**: The Last Shift (primary social hours — drinks, card games, socializing)
|
||||
**20:00+**: Home or extended bar session on end-of-cycle days
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Hub operations (dock procedures, inspection protocols, shift patterns), bar social dynamics, who's a regular, who's new. If ring-connected: which containers don't get inspected carefully.
|
||||
|
||||
**Doesn't know**: Ring structure (even if compensated, Torek would know only his handler, not the organization), manifest details, Kael's exit attempt, Sera's compliance check, the detective's investigation scope.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**High** — for now. Torek is living his best version of life on Sova. Money, friends, status at the bar. This contentment is fragile because it depends on income that may not be sustainable and visibility that's attracting the wrong attention.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Generous** — buys rounds, tips well, shares freely. Whether this is genuine warmth or performance is part of his ambiguity.
|
||||
**Secondary: Careless** — doesn't think about consequences. Lives for the immediate.
|
||||
**Tertiary: Social** — needs to be around people. The bar is his second home.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Visible spending** | Buying rounds, new accessories, generous tips | Everyone at the bar. Detective (financial tell). Smuggler (exposure risk). |
|
||||
| **Gets loud after drinks** | 3+ drinks — volume increases, stories get bigger, discretion decreases | Lera (worried), Sera (leaves), Detective (observing behavioral patterns) |
|
||||
| **Defensive when questioned about money** | Anyone asks directly about his income or spending | Detective (confrontation opportunity), bar regulars |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Dock inspection, cargo handling, freight procedures.
|
||||
**Combat tag**: **No**. Torek avoids trouble.
|
||||
**Lattice capability**: Baseline with aftermarket accessories (social/entertainment upgrades, not professional).
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Generous (baseline)**
|
||||
- *"Next round's on me. No — don't argue. What's the point of working the docks if you can't buy your friends a drink?"*
|
||||
|
||||
**Mood: Defensive (pressed about money)**
|
||||
- *"What, I can't treat myself? I work hard. Overtime pays. You want to see my pay stubs, or can I finish my drink?"*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Torek is a liability. His spending draws attention the operation can't afford. The smuggler reads Torek's generosity as a security risk. *"Torek's buying rounds again. He needs to calm down before someone starts asking questions."*
|
||||
|
||||
**Detective**: Torek is a financial tell. A dock worker buying rounds and wearing new accessories flags immediately. The question is whether the money comes from something illegal or something mundane. *"Lintar, T. — dock worker. Spending pattern inconsistent with standard logistics salary. Worth a closer look."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 3: Bar Tensions (Lera - Torek - Olin)** — The visible spender. Torek's generosity keeps the bar profitable but his visibility creates risk. Olin's arrival adds a variable — is Olin drawn by Torek's spending, or is that coincidental? Lera is caught between welcoming the money and worrying about the attention.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** CATALYST — Torek's visible spending disrupts the district's equilibrium. His generosity at the bar, his new accessories, his round-buying — all of it forces other characters to react, evaluate, and adapt. Torek doesn't intend to cause disruption; his lifestyle IS the disruption.
|
||||
**Motivation (System B):** CIVILIAN — Torek is uninvolved in any conspiracy. Whether his money comes from the ring, a side hustle, or an inheritance, Torek himself is simply living. He is not scheming, not investigating, not operating. He is spending money and enjoying himself. The CIVILIAN motivation means the disruption is accidental — a signal without intent.
|
||||
|
||||
**Composition read:** CATALYST + CIVILIAN creates the accidental signal: "He doesn't know he's a liability." Torek's disruption (CATALYST) comes from innocence (CIVILIAN), not from deliberate action. This makes him harder to manage — you cannot negotiate with someone who does not know they are a problem. For the smuggler, Torek is a financial tell that cannot be silenced without revealing why it matters. For the detective, Torek is a spending pattern that could mean anything. The ambiguity is load-bearing precisely because Torek himself does not have the answer.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Lera Sessik](lera-sessik.md), [Olin](olin.md), [Harek](harek.md), [Sera Venn](sera-venn.md)
|
||||
@@ -1,149 +0,0 @@
|
||||
---
|
||||
title: "Arvo Voss"
|
||||
slug: voss
|
||||
canonical_id: "npc:voss"
|
||||
category: character
|
||||
status: canonical
|
||||
created: 2026-02-12
|
||||
updated: 2026-02-13
|
||||
tier: 2
|
||||
pattern: "SYSTEM"
|
||||
motivation: "OPERATOR"
|
||||
social_sites: []
|
||||
entanglement: "Mundane"
|
||||
triangles: []
|
||||
home_district: transit
|
||||
tags: [v0.1]
|
||||
decision_refs: [D-024]
|
||||
cross_refs: []
|
||||
---
|
||||
|
||||
# Arvo Voss
|
||||
|
||||
**Tier 2 NPC** | Logistics Hub (The Terminal) | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Core Identity
|
||||
|
||||
**Name**: Arvo Voss
|
||||
**Age**: 46
|
||||
**Role**: Shift supervisor, Sova Transit District Logistics Hub
|
||||
**System Origin**: Van Maanen's Star, Station Sova (born and raised)
|
||||
**Lattice Tier**: Baseline
|
||||
**Employer**: Sova Logistics Consortium
|
||||
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Keep his shift running without incident.
|
||||
|
||||
Voss has supervised the day shift for 11 years. He's good at logistics — schedules, manifests, personnel management. He takes pride in clean handoffs and zero incident reports. The smuggling operation complicates this because it introduces variables he can't control, but the cut he receives smooths the rough edges of a supervisor's salary.
|
||||
|
||||
**Secondary**: Maintain authority despite being undermined by Nils.
|
||||
|
||||
Voss is the shift supervisor. Nils Davan (Kael's older sibling, ring coordinator, off-stage in v0.1) gives orders through intermediaries that Voss is expected to follow. Voss resents this — he has positional authority on the floor, but the ring's needs override his scheduling decisions. He complies because the money is good and because refusing Nils has consequences he doesn't want to test.
|
||||
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Surface secret**: Takes a cut from the ring to smooth inspections and schedule coverage windows. Most hub workers suspect this; nobody says it.
|
||||
|
||||
**Deep secret**: Voss is terrified that the escalating volume will get him caught. He's been shift supervisor long enough that any investigation into the hub's operations will start with him. He has no exit strategy.
|
||||
|
||||
**Vulnerability**: Institutional exposure. Voss is the most visible member of the ring's logistics chain. If the detective follows the manifest trail, it leads to the shift supervisor's schedule first.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Kael Davan**: Subordinate, ring colleague. Voss respects Kael's competence but resents taking orders (via Nils) from someone who technically works under him. Functional, tense.
|
||||
|
||||
**Nils Davan** (off-stage): Ring coordinator. Voss's real boss for ring operations. Voss resents Nils but fears the consequences of refusal. The relationship is compliance, not loyalty.
|
||||
|
||||
**Maret Korr**: Freight scheduler. Voss needs Maret functioning and quiet. Maret is smart enough to notice discrepancies, and Voss is aware she's noticed. He manages her through professional attention — making sure she feels valued, heard, but never asked to look deeper.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Moderate-high**. Voss has been doing this for years and can handle routine pressure. What he can't handle is escalation — higher volume, tighter windows, more risk. Nils pushing for bigger shipments is what keeps Voss awake at night. If an investigation reaches his desk, Voss will cooperate with whoever offers the best deal. He's pragmatic, not loyal.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**05:45**: Arrives at hub, reviews shift manifest
|
||||
**06:00 - 14:00**: Day shift supervision
|
||||
**10:30**: Break room, coffee, reviews afternoon handoff notes
|
||||
**14:00 - 14:30**: Shift transition, handoff to swing supervisor
|
||||
**14:30 - 16:00**: Occasional bar visit (not a regular — Voss drinks at home)
|
||||
**Ring operations**: Adjusts schedules as needed to create coverage windows. Does this during normal scheduling — invisible unless you know what to look for.
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Ring structure (not leadership details, but operational flow), schedule manipulation patterns, which inspectors are compromised, Maret's growing suspicion, Kael's reliability, Drin's gambling debt.
|
||||
|
||||
**Doesn't know**: Kael's exit attempt, Sera's compliance check, the detective's investigation focus, Pell's wavering.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Moderate-low**. Voss had a functional life before the ring escalated. The extra money was welcome. The extra risk is not. He's a man who wanted a quiet career and ended up as the load-bearing wall in a smuggling operation.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Cautious** — overthinks, plans for contingencies, hates surprises.
|
||||
**Secondary: Resentful** — feels trapped between institutional responsibility and criminal obligation.
|
||||
**Tertiary: Professional** — despite everything, runs a clean shift on the legitimate side.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Nervous schedule adjustments** | Ring requests schedule change; Voss reprocesses manifests multiple times | Maret (sees the rework), Detective (if tracking manifest revision patterns) |
|
||||
| **Clipped responses to Kael** | Nils has given orders Voss disagrees with | Smuggler, Resha, other hub workers |
|
||||
| **Avoids break room during ring operations** | Doesn't want to be seen idle when containers are being rerouted | Detective (if tracking Voss's routine deviations) |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Shift management, freight logistics, manifest processing, personnel scheduling.
|
||||
**Combat tag**: **No**. Voss avoids confrontation physically and socially.
|
||||
**Lattice capability**: Baseline.
|
||||
|
||||
---
|
||||
|
||||
## Voice Sample
|
||||
|
||||
**Mood: Professional (baseline)**
|
||||
- *"Manifest's clean for the morning run. Let's keep it that way. Resha, you're on Bay 3. Kael, take the overflow from yesterday."*
|
||||
|
||||
**Mood: Stressed (post-schedule manipulation)**
|
||||
- *"Just — follow the schedule I posted. I don't need questions about why Bay 7 is offline during transition. It's maintenance. That's all."*
|
||||
|
||||
**Mood: Resentful (to himself, about Nils)**
|
||||
- *"Another 'adjustment.' Like I don't have enough to manage without reworking the whole rotation at the last minute."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Knows Voss is compromised and stressed. Reads Voss's schedule changes as operational signals. Voss is management to navigate, not a friend. *"Voss is tense today. Nils must have changed the window again."*
|
||||
|
||||
**Detective**: Sees an experienced shift supervisor who's anxious about something. Schedule irregularities are the first data point. Voss is the institutional face of the hub — any investigation starts here. *"The shift supervisor — Voss. Runs a tight operation on paper. But he reworks manifests more than the workload justifies."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 1: Hub Power (Voss - Kael - Nils)** — The authority figure who isn't really in charge. Voss has the title; Nils has the power. Kael is caught between. Voss's resentment toward the Davan siblings is professional and personal.
|
||||
|
||||
**Triangle 2: Worried Knowledge (Maret - Drin - Voss)** — The manager who needs everyone quiet. Maret notices too much. Drin is compromised and might crack. Voss has to keep both functional and silent without revealing why.
|
||||
|
||||
---
|
||||
|
||||
## Pattern / Motivation
|
||||
|
||||
**Pattern (System A):** SYSTEM — Voss is the institutional authority at the logistics hub. His shift schedule is the operational machinery that enables the smuggling operation. He represents the legitimate system that has been co-opted: the schedule runs, the manifests process, the handoffs happen — all through the shift supervisor's authority.
|
||||
**Motivation (System B):** OPERATOR — Voss runs the schedule. He processes manifests, manages personnel, creates coverage windows. His function is operational execution of the machinery he controls, not top-down pressure or strategic direction. He is middle management: competent, procedural, operating the system.
|
||||
|
||||
**Composition read:** SYSTEM + OPERATOR creates corrupted machinery: "The system works — for the wrong people." Voss IS the institutional process (SYSTEM) and he actively runs it (OPERATOR), meaning the legitimate logistics infrastructure and the criminal operation share the same human engine. For the detective, following the manifest trail leads to the shift supervisor's schedule — the system itself is the evidence. For the smuggler, Voss is the mechanism that keeps the operation running, and his resentment toward Nils is the gear most likely to grind.
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Kael Davan](kael-davan.md), [Maret Korr](maret-korr.md), [Drin](drin.md), [Resha](resha.md)
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Entity Knowledge Attributes"
|
||||
description: "Canonical keys for EntityKnowledge.known_attributes — 16 keys covering identity, social, behavioral, leverage, investigation, and role-perspective data"
|
||||
slug: entity-attributes
|
||||
category: concept
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Knowledge Fact Catalog"
|
||||
description: "All 27 canonical FactIds for v0.1 with confidence progressions, smuggler/detective starting levels, and mechanical purposes"
|
||||
slug: fact-catalog
|
||||
category: concept
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Relationship States and Transitions"
|
||||
description: "Five RelationshipState values, THE FRIEND contradiction arcs, KnowledgeState integration, and dialogue access tier filtering"
|
||||
slug: relationship-states
|
||||
category: concept
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Lattice Components"
|
||||
description: "Primary contraband — aftermarket neural lattice mods bypassing Commission certification, smuggling access rather than weapons"
|
||||
slug: lattice-components
|
||||
category: contraband
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Medical-Grade Replacements"
|
||||
description: "Secondary contraband — diverted Syndic lattice replacement components providing healthcare the legitimate system gates behind cost and bureaucracy"
|
||||
slug: medical-grade-replacements
|
||||
category: contraband
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Severance Equipment"
|
||||
description: "Tertiary contraband — Guardian-sourced counter-surveillance hardware that transforms a local smuggling ring into something politically connected"
|
||||
slug: severance-equipment
|
||||
category: contraband
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "The Concord Assembly"
|
||||
description: "The Settled Reach's representative governing body — legislative authority, institutional funding, and the fragile consensus holding the Reach together"
|
||||
slug: concord-assembly
|
||||
category: faction
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Guardians of Autonomy"
|
||||
description: "Decentralised counter-institutional movement opposing lattice-mediated surveillance — source of Severance counter-surveillance technology"
|
||||
slug: guardians-of-autonomy
|
||||
category: faction
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "The Lattice Commission"
|
||||
description: "Regulatory body governing neural lattice technology, imprint protocols, and re-embodiment standards — the detective's employer, the smuggler's adversary"
|
||||
slug: lattice-commission
|
||||
category: faction
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "The Syndics"
|
||||
description: "Network of commercial interests controlling re-embodiment infrastructure, shipping, and the economic layer of the Reach"
|
||||
slug: syndics
|
||||
category: faction
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "The Ring (Sova Smuggling Operation)"
|
||||
description: "Informal smuggling network in Sova Transit District — structure, members, cargo, operations, and community role in v0.1"
|
||||
slug: the-ring
|
||||
category: faction
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "The Unbound"
|
||||
description: "Citizens who live without a neural lattice — invisible to institutional systems, accepting permanent death, and challenging the Reach's technological assumptions"
|
||||
slug: the-unbound
|
||||
category: faction
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "The Veil Institute"
|
||||
description: "Semi-autonomous research institution studying Founder Gates, the Interstitium, and Builder phenomena — knows the most, shares the least"
|
||||
slug: veil-institute
|
||||
category: faction
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "The Settled Reach — Game Wiki"
|
||||
description: "Top-level wiki index — navigation hub for all star systems, characters, factions, technology, contraband, concepts, and authoring guides"
|
||||
slug: wiki-index
|
||||
category: index
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Station Sova"
|
||||
description: "Freight logistics hub in the Krenn System — 12k population, layered construction hiding architectural secrets, and the v0.1 setting"
|
||||
slug: sova
|
||||
category: station
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Sova Transit District"
|
||||
description: "The v0.1 vertical slice setting — 800-person freight district with three social sites, 17 NPCs, and a smuggling ring hiding in plain sight"
|
||||
slug: transit
|
||||
category: district
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Maintenance Corridors"
|
||||
description: "Forgotten interstitial spaces between construction eras — Corridor B-7 as the primary smuggling route, off-Meridian and off-map"
|
||||
slug: maintenance-corridors
|
||||
category: location
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "The Last Shift"
|
||||
description: "District bar and social hub — the smuggler's refuge, the detective's intelligence goldmine, and the place where information flows faster than the Meridian"
|
||||
slug: the-last-shift
|
||||
category: location
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "The Terminal"
|
||||
description: "Freight logistics hub workplace — where cargo arrives, manifests get doctored, and the smuggling operation hides in the routine of legitimate work"
|
||||
slug: the-terminal
|
||||
category: location
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Clone Transfer"
|
||||
description: "Death-as-information-loss mechanic — backup systems, body economics, and the mortality gradient between rich and poor"
|
||||
slug: clone-transfer
|
||||
category: technology
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Founder Gates"
|
||||
description: "Pre-human interstellar transit network — alien-built, poorly understood, and the infrastructure that defines the shape of the Settled Reach"
|
||||
slug: founder-gates
|
||||
category: technology
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Meridian"
|
||||
description: "Ubiquitous information network — communications, location tracking, institutional systems, and the surveillance infrastructure the ring operates around"
|
||||
slug: meridian
|
||||
category: technology
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Neural Lattice"
|
||||
description: "Universal biotech brain implant with tiered perception modes — foundational technology, Commission-regulated, and the reason lattice smuggling exists"
|
||||
slug: neural-lattice
|
||||
category: technology
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Severance Technology"
|
||||
description: "Counter-surveillance devices that block lattice functions and Meridian connectivity — illegal, politically charged, and the ring's most dangerous cargo"
|
||||
slug: severance-tech
|
||||
category: technology
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Span Gates"
|
||||
description: "Human-built intra-system transit gates — the freight chokepoints through which smuggling operates, and the source of Sova's omnipresent hum"
|
||||
slug: span-gates
|
||||
category: technology
|
||||
status: canonical
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
title: "Hub Power"
|
||||
description: "Triangle 1 (Voss/Kael/Nils) — volume escalation fork with three smuggler paths that change investigation timing and observability"
|
||||
slug: hub-power
|
||||
category: triangle
|
||||
status: canonical
|
||||
|
||||
Reference in New Issue
Block a user