Wave 2 of Sprint 3 "Know": - #261: Dual Lens Authoring Guide (7 chapters, smuggler/detective voice registers) - #380: THE MIRROR pattern spec with Naia Tamm reference implementation - #396: Pattern/Motivation sections added to all 18 NPC wiki pages + index - #400: v0.1 wow moments checklist mapping 6 D-039 moments to deliverables - #402: Interaction verb spec (7 verbs, priority resolution, architecture) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
47 KiB
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:
- Does this line make sense if the smuggler experiences it?
- Does this line make sense if the detective experiences it?
- Does this line reveal something different to each character?
- Is the access tier correct for both characters?
- 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:
- 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:
- 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:
- id: bar_d_033
role: bartender
text: "Sera left early. Headache, she said."
access: [public]
trust: surface
Smuggler monologue reaction:
- 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:
- 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:
- 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:
- 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:
- Write the line. Concrete, in the speaker's voice.
- Check both readings. Document the dual-lens split in the
dual_lensfield:dual_lens: smuggler: "How the smuggler interprets this." detective: "How the detective interprets this." - Verify neither reading breaks. If the line only works for one character, use a different
accesstier or rely on character-specific monologue to recontextualize. - Tag correctly. The
access,trust,situation,mood, andtopictags 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:
- Starting state dialogue — the baseline access tier per character
- Shifted state dialogue — the most likely tier transition per character
- Monologue that tracks the shift — the character's internal reaction to changed access
Example from Kael content pack:
Starting state (Friendly, insider access):
- 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):
- 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:
- 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
insiderdialogue from Kael, Voss, Lera. Ring operational talk. Close colleague warmth. - The detective hears
authoritydialogue from Maret, Drin, Voss. Institutional leverage questions. Evasive answers. - The smuggler's
peeraccess to bar regulars unlocks gossip, complaints, social texture. The detective is stillpublicat 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
insidercontent 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
authoritycontent 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
accesstag (defaults topublic) — 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:
- Baseline warm: "Kael's already at the dock. Good. The day's better when he's on shift."
- Operational: "Shift transition in thirty minutes. If Voss kept the schedule thin, the route's clear."
- Concerned: "Kael keeps checking his lattice. Waiting for a message? Not like him to be jumpy."
- 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."
- 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)
- Clinical baseline: "Logistics hub. Standard prefab, heavy foot traffic. Let's see what the shift change tells me."
- Pattern recognition: "That's the third time. Sera leaves when Torek arrives. Three different excuses, same result. That's not coincidence."
- Personal leak: "Good to see Sera. She always was the reliable one. At least someone in this district speaks my language."
- Conflicted: "Same booth. Same warm smile. Same offer to buy me a drink. ...Everything except whatever she's not saying."
- 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