Delete 64 hand-authored Krenn dialogue/monologue/NPC files superseded by generated NPCs (D-122) and voice pipeline (D-138). Remove detective investigation system dropped in v0.2 pivot (D-117): knowledge catalog, faction, design docs, workshop archives, wireframe detective sections. Clean investigation.* fact_id references from environmental and triangle files. Strip investigation cross-references from overheard.yaml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
-184
@@ -1,184 +0,0 @@
|
||||
# Kael Davan — THE FRIEND (Smuggler)
|
||||
# Dialogue at Maintenance Corridors (Restricted Access)
|
||||
# Ticket: #297 | Sprint: 5 | Tier 1 FRIEND NPC
|
||||
# Voice: direct, practical, short sentences, first names, warm to trusted people
|
||||
# Context: restricted maintenance corridors. High-stakes, operational, no warmth.
|
||||
# This is where the contradiction surfaces (Phase 3-4 of the FRIEND arc).
|
||||
|
||||
location: maintenance-corridors
|
||||
role: dock-worker
|
||||
lines:
|
||||
|
||||
# ========================================
|
||||
# RING OPERATIONS — corridor handoffs
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_001
|
||||
text: "Package is in the junction locker. Renn picks it up in ten."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
mood: [focused]
|
||||
topic: [cargo]
|
||||
tags: [kael, ring-ops, renn, operational]
|
||||
|
||||
- id: kael-davan_d_002
|
||||
text: "B-7 is clear. Camera cycles in forty seconds — move fast."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
topic: [cargo, danger]
|
||||
tags: [kael, ring-ops, operational]
|
||||
knowledge_grant:
|
||||
fact_id: investigation.surveillance_gaps
|
||||
confidence: knows_details
|
||||
|
||||
- id: kael-davan_d_003
|
||||
text: "Chalk marks are fresh. Renn came through already. We're on schedule."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine]
|
||||
mood: [content]
|
||||
topic: [cargo]
|
||||
tags: [kael, ring-ops, renn, operational]
|
||||
|
||||
- id: kael-davan_d_004
|
||||
text: "Don't use the C-section hatch tonight. Maintenance crew's working late."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine]
|
||||
mood: [frustrated]
|
||||
topic: [danger, cargo]
|
||||
tags: [kael, ring-ops, operational, caution]
|
||||
|
||||
# ========================================
|
||||
# CAUGHT — contradiction scene (Phase 3-4)
|
||||
# When the smuggler finds Kael with the unknown contact
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_005
|
||||
text: "What are you — wait. How long have you been standing there?"
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: surface
|
||||
situation: [confrontation]
|
||||
mood: [frustrated]
|
||||
topic: [danger]
|
||||
tags: [kael, contradiction, phase-3]
|
||||
|
||||
- id: kael-davan_d_006
|
||||
text: "That was nobody. Maintenance contact. It's handled."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: surface
|
||||
situation: [confrontation]
|
||||
mood: [frustrated]
|
||||
topic: [routine]
|
||||
tags: [kael, deflection, lying, phase-4]
|
||||
|
||||
- id: kael-davan_d_007
|
||||
text: "I don't have to explain every conversation I have. Drop it."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: surface
|
||||
situation: [confrontation]
|
||||
mood: [frustrated]
|
||||
topic: [trust]
|
||||
tags: [kael, deflection, hostile-path, phase-4]
|
||||
|
||||
# ========================================
|
||||
# SECRET — corridor confessions
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_008
|
||||
text: "I'm trying to get out. That's all. I just want out."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: secret
|
||||
situation: [confrontation, alone]
|
||||
mood: [anxious]
|
||||
topic: [personal, trust]
|
||||
tags: [kael, confession, phase-5]
|
||||
|
||||
- id: kael-davan_d_009
|
||||
text: "Nils will kill me if he finds out. You know that. You know him."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: secret
|
||||
situation: [confrontation, alone]
|
||||
mood: [anxious]
|
||||
topic: [danger, trust]
|
||||
tags: [kael, confession, nils, phase-5]
|
||||
|
||||
- id: kael-davan_d_010
|
||||
text: "I found someone who can get me new papers. Off-station. Clean break."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: secret
|
||||
situation: [alone]
|
||||
mood: [anxious]
|
||||
topic: [personal]
|
||||
tags: [kael, confession, phase-5]
|
||||
knowledge_grant:
|
||||
fact_id: knowledge.kael_exit_plan
|
||||
confidence: knows_details
|
||||
|
||||
# ========================================
|
||||
# LAYER 2 GREETING VARIANTS — D-028 Layer 2
|
||||
# Ticket #170 (Sprint 15). situation: [greeting] fires on initial contact.
|
||||
# Access tier + mood encode relationship history state.
|
||||
# Context: restricted maintenance corridors. Any stranger here is immediately
|
||||
# suspicious. Even trusted contacts get terse, operational greetings.
|
||||
# ========================================
|
||||
|
||||
# first_meeting: InteractionMemory.count == 0. Any stranger in restricted corridors is a problem.
|
||||
- id: kael-davan_d_011
|
||||
text: "This is a restricted section. Who authorized you back here?"
|
||||
role: dock-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [focused]
|
||||
topic: [danger, routine]
|
||||
tags: [kael, greeting, first-meeting, layer2]
|
||||
notes: "Layer 2 greeting — first meeting in restricted corridors. Immediate challenge. Any stranger back here is suspicious regardless of intent."
|
||||
|
||||
# established — peer/smuggler context: count >= 3, RelationshipState: Known/Friendly → Peer/Insider access.
|
||||
- id: kael-davan_d_012
|
||||
text: "You're on time. Clear all the way to the junction."
|
||||
role: dock-worker
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [content]
|
||||
topic: [cargo, colleague]
|
||||
tags: [kael, greeting, repeat-visit, peer-tone, layer2]
|
||||
notes: "Layer 2 greeting — established, operational. All business. Kael treats a trusted repeat visitor as crew — no pleasantries, just the essential handoff information."
|
||||
|
||||
# established — authority/detective context: count >= 3, RelationshipState: PersonOfInterest → Authority access.
|
||||
- id: kael-davan_d_013
|
||||
text: "You keep showing up back here. You have clearance for this section?"
|
||||
role: dock-worker
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [suspicious]
|
||||
topic: [danger, routine]
|
||||
tags: [kael, greeting, repeat-visit, authority-tone, layer2]
|
||||
notes: "Layer 2 greeting — repeat with authority figure in restricted section. Professionally defensive. Kael challenges them but can't bar entry if they have clearance."
|
||||
|
||||
# post-confrontation: confrontation logged. Kael is cornered on his own operational ground.
|
||||
- id: kael-davan_d_014
|
||||
text: "You followed me here."
|
||||
role: dock-worker
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [hostile, suspicious]
|
||||
topic: [danger, trust]
|
||||
tags: [kael, greeting, post-confrontation, layer2]
|
||||
notes: "Layer 2 greeting — post-confrontation, restricted corridors. Accusatory, not a question. Kael feels cornered. This is where the contradiction lives."
|
||||
-379
@@ -1,379 +0,0 @@
|
||||
# Dialogue: ring-operative at Maintenance Corridors
|
||||
# NPC: Generic ring operative (Tier 3 template — members without individual profiles)
|
||||
# Voice: two registers. Surface: maintenance worker, brief, task-focused. Real: coded, precise, never explicit.
|
||||
# The crucial thing: both registers sound identical to a casual listener.
|
||||
# Ring-aware: full ring membership. Knows the route, the window, the players.
|
||||
# Ring code vocabulary (from Sova texture appendix):
|
||||
# "running maintenance" = cover for ring operation
|
||||
# "the usual pickup" = ring cargo handoff
|
||||
# "cans are ready" = containers cleared for movement
|
||||
# "manifest is clean" = paperwork cover confirmed
|
||||
# "Drin was asking" = warning, inspection proximity
|
||||
# "dead air" = Meridian surveillance gaps
|
||||
# "the gap" = maintenance corridors, the route itself
|
||||
# Ticket: #192 | Sprint: 12
|
||||
|
||||
location: maintenance-corridors
|
||||
role: ring-operative
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# SURFACE COVER — sounds like maintenance work
|
||||
# ==========================================
|
||||
|
||||
- id: ring-operative_d_001
|
||||
text: "Running maintenance on the B-7 conduit. Could be a while."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, b7]
|
||||
dual_lens:
|
||||
smuggler: "Cover phrase. He's not doing maintenance."
|
||||
detective: "Maintenance worker. Conduit repair. Routine."
|
||||
notes: "'Running maintenance' is the canonical ring cover phrase."
|
||||
|
||||
- id: ring-operative_d_002
|
||||
text: "Bay four access from here is faster than going around. If you're in a hurry."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, bay-four, spatial]
|
||||
dual_lens:
|
||||
smuggler: "He's telling me the route is faster. This is spatial information, not just courtesy."
|
||||
detective: "Ring operative casually establishes corridor-to-bay-four spatial relationship. Note it."
|
||||
|
||||
- id: ring-operative_d_003
|
||||
text: "Quiet in here tonight. Good working conditions."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, ambient]
|
||||
dual_lens:
|
||||
smuggler: "Dead air confirmed. Meridian's not picking this up."
|
||||
detective: "Routine corridor comment."
|
||||
|
||||
- id: ring-operative_d_004
|
||||
text: "Pael was through here earlier. Seal replacement on the ventilation unit."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, colleague]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, pael, corridor-traffic]
|
||||
dual_lens:
|
||||
smuggler: "Pael was through. Legitimate. Corridor's been active — that means traffic covers us."
|
||||
detective: "References Pael's B-7 presence without suspicion. Maintenance workers know each other's routes."
|
||||
|
||||
- id: ring-operative_d_005
|
||||
text: "C-4 access is at the far end. About three minutes from here."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, c4, spatial]
|
||||
dual_lens:
|
||||
smuggler: "He's giving me the timing. Three minutes to C-4 from this point."
|
||||
detective: "Operative establishes C-4 proximity to maintenance corridor. That's the link."
|
||||
knowledge_grant:
|
||||
fact_id: location.smuggling_route
|
||||
confidence: suspects
|
||||
|
||||
# ==========================================
|
||||
# OPERATIONAL COORDINATION — insider/real only
|
||||
# ==========================================
|
||||
|
||||
- id: ring-operative_d_006
|
||||
text: "Cans are ready. Bay four, per the schedule."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine, shift_transition]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [ring-operative, ring-ops, coded, cans-ready]
|
||||
dual_lens:
|
||||
smuggler: "Containers cleared. Bay four. We're on."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: ring-operative_d_007
|
||||
text: "Manifest is clean. Window opens in eighteen minutes."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [ring-operative, ring-ops, coded, manifest-clean, window]
|
||||
dual_lens:
|
||||
smuggler: "Paperwork's set. Eighteen minutes. That's earlier than planned — adjust."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: ring-operative_d_008
|
||||
text: "Usual pickup. Route's the same."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition, routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [ring-operative, ring-ops, coded, usual-pickup]
|
||||
dual_lens:
|
||||
smuggler: "Same route, same handoff. No variations."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: ring-operative_d_009
|
||||
text: "The gap's clear. Scan's done at 14:20. Next window's yours."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [ring-operative, ring-ops, coded, scan-gap, surveillance]
|
||||
dual_lens:
|
||||
smuggler: "14:20 scan, then the window opens. Twenty-five minutes clear."
|
||||
detective: "Never hears this line."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.surveillance_gaps
|
||||
confidence: knows_details
|
||||
|
||||
- id: ring-operative_d_010
|
||||
text: "Drin was asking about B-7. Twice today."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine, confrontation]
|
||||
topic: [danger, colleague]
|
||||
mood: [frustrated]
|
||||
tags: [ring-operative, ring-ops, coded, drin-asking, warning]
|
||||
dual_lens:
|
||||
smuggler: "Drin's circling B-7. That's a warning. Push the pickup or hold it."
|
||||
detective: "Never hears this line."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.drin_inspection_pattern
|
||||
confidence: suspects
|
||||
|
||||
- id: ring-operative_d_011
|
||||
text: "Dead air through here to the C-4 junction. No coverage."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [focused]
|
||||
tags: [ring-operative, ring-ops, coded, dead-air, surveillance]
|
||||
dual_lens:
|
||||
smuggler: "Full confirmation. Meridian doesn't reach this section."
|
||||
detective: "Never hears this line."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.surveillance_gaps
|
||||
confidence: knows_details
|
||||
|
||||
- id: ring-operative_d_012
|
||||
text: "Voss confirmed the hold clears at 1400. He'll run the bay himself."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [ring-operative, ring-ops, voss, bay-four, clearance]
|
||||
dual_lens:
|
||||
smuggler: "Voss is personally running bay four at 1400. That's the signal the window is clear."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: ring-operative_d_013
|
||||
text: "Kael's on dock. He knows."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine, shift_transition]
|
||||
topic: [colleague, routine]
|
||||
mood: [focused]
|
||||
tags: [ring-operative, ring-ops, kael, coordination]
|
||||
dual_lens:
|
||||
smuggler: "Kael's in position. Ring is coordinated."
|
||||
detective: "Never hears this line."
|
||||
|
||||
# ==========================================
|
||||
# PRESSURE / WARNING SIGNALS
|
||||
# ==========================================
|
||||
|
||||
- id: ring-operative_d_014
|
||||
text: "Commission eyes on the terminal floor. Not here yet."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [confrontation, investigation]
|
||||
topic: [danger, institution]
|
||||
mood: [frustrated]
|
||||
tags: [ring-operative, ring-ops, commission, warning]
|
||||
dual_lens:
|
||||
smuggler: "Detective is visible on the main floor. Corridors are still clear."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: ring-operative_d_015
|
||||
text: "Hold the run. Drin's in the corridor section."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [confrontation]
|
||||
topic: [danger]
|
||||
mood: [frustrated]
|
||||
tags: [ring-operative, ring-ops, drin, abort-signal]
|
||||
dual_lens:
|
||||
smuggler: "Stop. Drin's in position. The window's closed."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: ring-operative_d_016
|
||||
text: "Maret filed again. Voss has it. Don't move anything tonight."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [confrontation, routine]
|
||||
topic: [danger, institution]
|
||||
mood: [frustrated]
|
||||
tags: [ring-operative, ring-ops, maret, voss, caution]
|
||||
dual_lens:
|
||||
smuggler: "Maret flagged something. Voss is managing it. Stand down tonight."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: ring-operative_d_017
|
||||
text: "We're clean. Same time tomorrow."
|
||||
role: ring-operative
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_end, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, ring-ops, run-complete, closing]
|
||||
dual_lens:
|
||||
smuggler: "Run's done. No issues. Tomorrow."
|
||||
detective: "Never hears this line."
|
||||
|
||||
# ==========================================
|
||||
# IF DETECTIVE SOMEHOW ENTERS — surface only
|
||||
# ==========================================
|
||||
|
||||
- id: ring-operative_d_018
|
||||
text: "Restricted access back here. Service personnel only."
|
||||
role: ring-operative
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [investigation, confrontation]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [ring-operative, detective-path, access-denial]
|
||||
|
||||
- id: ring-operative_d_019
|
||||
text: "I'm running maintenance. If there's a Commission access request, file it through Voss."
|
||||
role: ring-operative
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [ring-operative, detective-path, voss-redirect]
|
||||
dual_lens:
|
||||
smuggler: "Never encounters this."
|
||||
detective: "Operative redirects to Voss. Everyone redirects to Voss. That's structural, not coincidence."
|
||||
|
||||
- id: ring-operative_d_020
|
||||
text: "Nothing unusual back here. Conduit work. Same every cycle."
|
||||
role: ring-operative
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [routine]
|
||||
mood: [suspicious]
|
||||
tags: [ring-operative, detective-path, deflection]
|
||||
|
||||
# ==========================================
|
||||
# GENERATION PASS — surface cover variants
|
||||
# Surface-only: covers routine corridor presence without operational tells.
|
||||
# ==========================================
|
||||
|
||||
- id: ring-operative_d_021
|
||||
text: "Power relay's been cycling weird. I'm watching it."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, generation-pass]
|
||||
|
||||
- id: ring-operative_d_022
|
||||
text: "Pael was supposed to handle B-7. He didn't show."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, colleague]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, pael, generation-pass]
|
||||
|
||||
- id: ring-operative_d_023
|
||||
text: "Watch the floor here. Drain panel's been loose three cycles."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, generation-pass]
|
||||
|
||||
- id: ring-operative_d_024
|
||||
text: "Airflow's better down the B-section. C-section's got the recycler issue."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, spatial, generation-pass]
|
||||
|
||||
- id: ring-operative_d_025
|
||||
text: "You want the service bay, it's left at the junction. Don't go right — that's the restricted access."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, navigation, generation-pass]
|
||||
dual_lens:
|
||||
smuggler: "He's directing people away from the route. Social traffic management."
|
||||
detective: "Operative redirects me away from C-4 access junction instinctively."
|
||||
|
||||
- id: ring-operative_d_026
|
||||
text: "Long shift. These corridors look the same after a while."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_end]
|
||||
topic: [routine]
|
||||
mood: [frustrated]
|
||||
tags: [ring-operative, surface-cover, generation-pass]
|
||||
|
||||
- id: ring-operative_d_027
|
||||
text: "Scan's clear. I checked it an hour ago."
|
||||
role: ring-operative
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ring-operative, surface-cover, generation-pass]
|
||||
-77
@@ -1,77 +0,0 @@
|
||||
# Dialogue: transit-worker at Maintenance Corridors
|
||||
# NPC: Tev Osel (Tier 3, NOBODY/CIVILIAN)
|
||||
# Voice: patient, mildly distracted, confused why anyone is asking him anything.
|
||||
# KEY LINE: transit-worker_d_001 — sounds like surveillance positioning inquiry
|
||||
# Actually: Tev missed Kosse at the corridor junction and is looking for them
|
||||
# Ticket: #307 | Sprint: 12
|
||||
|
||||
location: maintenance-corridors
|
||||
role: transit-worker
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# "SEEMS IMPORTANT BUT ISN'T" LINE
|
||||
# Sounds like Tev is checking who came through a surveillance point.
|
||||
# Actually: Tev missed his partner at the regular meeting spot.
|
||||
# ==========================================
|
||||
|
||||
- id: transit-worker_d_001
|
||||
text: "You see which way Kosse went? Should've been through here twenty minutes ago."
|
||||
role: transit-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine, observation]
|
||||
topic: [colleague, personal]
|
||||
mood: [content]
|
||||
tags: [tev, seems-important-but-isnt, waiting, kosse]
|
||||
dual_lens:
|
||||
smuggler: "Someone asking who came through the corridor. Tev. Harmless — checking for a partner."
|
||||
detective: "NPC at corridor junction, tracking who passed through. Possible lookout. Follow up: who is Kosse?"
|
||||
notes: >
|
||||
THE key flat NPC line for Tev. Sounds like Tev monitors corridor traffic
|
||||
for operational reasons. Is someone who missed a meeting time with their
|
||||
partner. The detective's suspicion is reasonable; it resolves to nothing.
|
||||
|
||||
# ==========================================
|
||||
# ROUTINE LINES
|
||||
# ==========================================
|
||||
|
||||
- id: transit-worker_d_002
|
||||
text: "They shifted the freight route again. Always forget which junction."
|
||||
role: transit-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [tev, atmospheric]
|
||||
|
||||
- id: transit-worker_d_003
|
||||
text: "Just on break. Out of your way in a minute."
|
||||
role: transit-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [tev, incidental]
|
||||
|
||||
- id: transit-worker_d_004
|
||||
text: "Late freight route runs long. Can't do anything about it."
|
||||
role: transit-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine, night_shift]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [tev, atmospheric]
|
||||
|
||||
- id: transit-worker_d_005
|
||||
text: "Waiting for someone. Shouldn't be long."
|
||||
role: transit-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine, observation]
|
||||
topic: [personal]
|
||||
mood: [content]
|
||||
tags: [tev, waiting]
|
||||
-382
@@ -1,382 +0,0 @@
|
||||
# Dialogue: bar-owner at The Last Shift
|
||||
# NPC: Lera Sessik (Tier 2, ANCHOR/OPERATOR)
|
||||
# Voice: direct, dry. Runs her bar like a territory. Not political — protective.
|
||||
# Ring-aware: knows it exists in her bar. Doesn't ask. Doesn't interfere. Not complicit.
|
||||
# Torek arrangement: she gives him a tab specifically — Commission visibility is useful.
|
||||
# Ticket: #191 | Sprint: 12
|
||||
|
||||
location: the-last-shift
|
||||
role: bar-owner
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# GREETINGS — territorial welcome
|
||||
# ==========================================
|
||||
|
||||
- id: bar-owner_d_001
|
||||
text: "Usual?"
|
||||
role: bar-owner
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, greeting, economy-of-words]
|
||||
|
||||
- id: bar-owner_d_002
|
||||
text: "Long shift?"
|
||||
role: bar-owner
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, greeting]
|
||||
|
||||
- id: bar-owner_d_003
|
||||
text: "Bar's clean, drink's cold. That's the deal."
|
||||
role: bar-owner
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, greeting, house-rules]
|
||||
|
||||
- id: bar-owner_d_004
|
||||
text: "Sess'll get you. I've got something in the back."
|
||||
role: bar-owner
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, greeting, redirection]
|
||||
|
||||
# ==========================================
|
||||
# BAR MANAGEMENT — house rules, operations
|
||||
# ==========================================
|
||||
|
||||
- id: bar-owner_d_005
|
||||
text: "Fights go outside. First and last warning."
|
||||
role: bar-owner
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [confrontation, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, house-rules, authority]
|
||||
|
||||
- id: bar-owner_d_006
|
||||
text: "Tab closes at end of cycle. Not at end of your memory."
|
||||
role: bar-owner
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, tab, house-rules]
|
||||
|
||||
- id: bar-owner_d_007
|
||||
text: "Torek's running a tab. That's fine. Don't ask me why."
|
||||
role: bar-owner
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [lera, torek, tab-arrangement]
|
||||
dual_lens:
|
||||
smuggler: "Lera chose to give Torek credit. Commission man. She's keeping him visible and comfortable. Smart."
|
||||
detective: "Bar owner specifically maintains a tab for a Commission officer. Useful relationship or leverage?"
|
||||
notes: "Lera's Torek arrangement: she keeps him comfortable because knowing where the Commission officer is drinking is better than not knowing."
|
||||
|
||||
- id: bar-owner_d_008
|
||||
text: "Lattice stays off at the bar. Sign's on the wall."
|
||||
role: bar-owner
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [lera, lattice-free, house-rules]
|
||||
notes: "Not legally enforceable — Lera knows this. It's about atmosphere, not compliance."
|
||||
|
||||
- id: bar-owner_d_009
|
||||
text: "Grain spirit's back. Limited run. Don't make it last two nights."
|
||||
role: bar-owner
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, drinks, community]
|
||||
|
||||
# ==========================================
|
||||
# PEOPLE — Lera knows everyone
|
||||
# ==========================================
|
||||
|
||||
- id: bar-owner_d_010
|
||||
text: "Kael's in the back. If you're looking."
|
||||
role: bar-owner
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [colleague, routine]
|
||||
mood: [content]
|
||||
tags: [lera, kael, spatial-information]
|
||||
dual_lens:
|
||||
smuggler: "Good. She keeps track. That's what she does."
|
||||
detective: "Lera knows where Kael Davan is without being asked. She tracks her regulars."
|
||||
|
||||
- id: bar-owner_d_011
|
||||
text: "Naia's been in early the last few nights. Doesn't say much."
|
||||
role: bar-owner
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [lera, naia, observation]
|
||||
dual_lens:
|
||||
smuggler: "Lera noticed Naia's off. She notices everything. She's saying it because she wants someone to do something."
|
||||
detective: "Bar owner volunteers behavioral change in Naia Tamm. Lera observes her regulars carefully."
|
||||
|
||||
- id: bar-owner_d_012
|
||||
text: "Ren? Been here two months. Quiet, pays their tab. That's all I can tell you."
|
||||
role: bar-owner
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [lera, ren, drifter]
|
||||
dual_lens:
|
||||
smuggler: "That's Lera's version of a clean assessment. She'd say more if she suspected something."
|
||||
detective: "Lera's read on Ren: quiet, no trouble. If Lera's not worried, the baseline is probably accurate."
|
||||
|
||||
- id: bar-owner_d_013
|
||||
text: "Tev? Good worker. Three years. Minds their own."
|
||||
role: bar-owner
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [lera, tev, endorsement]
|
||||
dual_lens:
|
||||
smuggler: "Lera vouching for Tev. She doesn't do that for people she doesn't trust."
|
||||
detective: "Lera's read on Tev is straightforward. 'Minds their own' from Lera means she's tested it."
|
||||
|
||||
# ==========================================
|
||||
# RING-ADJACENT — Lera's knowledge edge
|
||||
# ==========================================
|
||||
|
||||
- id: bar-owner_d_014
|
||||
text: "Whatever's happening in the back corner isn't my business. Don't make it my business."
|
||||
role: bar-owner
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [confrontation, alone]
|
||||
topic: [danger, routine]
|
||||
mood: [focused]
|
||||
tags: [lera, ring-ops, willful-ignorance]
|
||||
dual_lens:
|
||||
smuggler: "She knows. She's drawing her line. That's the deal."
|
||||
detective: "Never hears this line."
|
||||
notes: "Lera's arrangement: she doesn't ask, she doesn't see, and she keeps things stable. Pragmatic, not complicit."
|
||||
|
||||
- id: bar-owner_d_015
|
||||
text: "Kael's got my number. He's been a regular long enough that that means something."
|
||||
role: bar-owner
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [lera, kael, loyalty]
|
||||
dual_lens:
|
||||
smuggler: "Lera's loyal to Kael. Not to the ring. There's a difference and it matters."
|
||||
detective: "Lera's personal loyalty to Kael Davan is explicit. She'll protect him over process."
|
||||
|
||||
# ==========================================
|
||||
# DETECTIVE ENCOUNTER — neutral, unwelcoming
|
||||
# ==========================================
|
||||
|
||||
- id: bar-owner_d_016
|
||||
text: "Commission's welcome. Like everyone else. Bar rules apply."
|
||||
role: bar-owner
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [lera, detective-path, neutral-welcome]
|
||||
|
||||
- id: bar-owner_d_017
|
||||
text: "If someone in my bar has something to say to Commission, they'll say it. I don't push that."
|
||||
role: bar-owner
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [lera, detective-path, institutional-independence]
|
||||
|
||||
- id: bar-owner_d_018
|
||||
text: "I've run this bar eighteen years without a Commission complaint. I'd like to keep it that way."
|
||||
role: bar-owner
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation, confrontation]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [lera, detective-path, authority-assertion]
|
||||
|
||||
- id: bar-owner_d_019
|
||||
text: "I see a lot. I don't always remember all of it."
|
||||
role: bar-owner
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [lera, detective-path, careful-language]
|
||||
dual_lens:
|
||||
smuggler: "Never encounters this line."
|
||||
detective: "Lera is very deliberately declining to volunteer what she knows. That's not ignorance — that's a position."
|
||||
|
||||
# ==========================================
|
||||
# ELEVATED TRUST — what Lera actually says
|
||||
# ==========================================
|
||||
|
||||
- id: bar-owner_d_020
|
||||
text: "Naia's been asking questions I can't answer. Someone should."
|
||||
role: bar-owner
|
||||
access: [peer, insider]
|
||||
trust: real
|
||||
situation: [routine, alone]
|
||||
topic: [colleague, danger]
|
||||
mood: [frustrated]
|
||||
tags: [lera, naia, threshold-line]
|
||||
dual_lens:
|
||||
smuggler: "Lera's telling me to do something about Naia. She's right."
|
||||
detective: "Lera is flagging Naia Tamm as someone who's looking for answers. That's a conversation I need to have."
|
||||
|
||||
# ==========================================
|
||||
# SIGN-OFF / CLOSING TIME
|
||||
# ==========================================
|
||||
|
||||
- id: bar-owner_d_021
|
||||
text: "Last call. Finish up."
|
||||
role: bar-owner
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, closing]
|
||||
|
||||
- id: bar-owner_d_022
|
||||
text: "Bar's closed. Come back next cycle."
|
||||
role: bar-owner
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, closing]
|
||||
|
||||
- id: bar-owner_d_023
|
||||
text: "Good night. Stay out of trouble."
|
||||
role: bar-owner
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, closing]
|
||||
|
||||
# ==========================================
|
||||
# GENERATION PASS — ambient variants
|
||||
# ==========================================
|
||||
|
||||
- id: bar-owner_d_024
|
||||
text: "You look tired. Sit."
|
||||
role: bar-owner
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, greeting, generation-pass]
|
||||
|
||||
- id: bar-owner_d_025
|
||||
text: "Same as yesterday?"
|
||||
role: bar-owner
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, greeting, generation-pass]
|
||||
|
||||
- id: bar-owner_d_026
|
||||
text: "New face. Bar rules are on the wall."
|
||||
role: bar-owner
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, greeting, newcomer, generation-pass]
|
||||
|
||||
- id: bar-owner_d_027
|
||||
text: "No trouble tonight. I mean it."
|
||||
role: bar-owner
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, house-rules, generation-pass]
|
||||
|
||||
- id: bar-owner_d_028
|
||||
text: "Sess'll get you settled. I'm in the back."
|
||||
role: bar-owner
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, redirect, generation-pass]
|
||||
|
||||
- id: bar-owner_d_029
|
||||
text: "We close at 2300. Don't make me say it twice."
|
||||
role: bar-owner
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, house-rules, generation-pass]
|
||||
|
||||
- id: bar-owner_d_030
|
||||
text: "Good crowd tonight. Quiet enough."
|
||||
role: bar-owner
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, ambient, generation-pass]
|
||||
|
||||
- id: bar-owner_d_031
|
||||
text: "Bar's yours. I've got accounts."
|
||||
role: bar-owner
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [lera, ambient, generation-pass]
|
||||
-360
@@ -1,360 +0,0 @@
|
||||
# Dialogue: bar-regular at The Last Shift
|
||||
# NPC: Generic regular (Tier 3 template role — transit district workers, post-shift)
|
||||
# Voice: off-duty, community-minded. Complains, gossips, opinionates. Belongs here.
|
||||
# Ring-aware: varies. Most know something's off at the terminal. None know specifics.
|
||||
# Ticket: #191 | Sprint: 12
|
||||
|
||||
location: the-last-shift
|
||||
role: bar-regular
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# GREETINGS — familiar, community register
|
||||
# ==========================================
|
||||
|
||||
- id: bar-regular_d_001
|
||||
text: "Long one today?"
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, greeting]
|
||||
|
||||
- id: bar-regular_d_002
|
||||
text: "You're in early. Good shift or bad shift?"
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, greeting]
|
||||
|
||||
- id: bar-regular_d_003
|
||||
text: "Grain spirit's back. I already had two. Don't judge."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, greeting, drinks]
|
||||
|
||||
# ==========================================
|
||||
# TERMINAL FLOOR — off-duty opinions
|
||||
# ==========================================
|
||||
|
||||
- id: bar-regular_d_004
|
||||
text: "Push today. Bay six was backed up until 2000. Voss wasn't happy."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [bar-regular, terminal, voss]
|
||||
|
||||
- id: bar-regular_d_005
|
||||
text: "Maret flagged another one. Nobody knows what Voss does with them."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague, cargo]
|
||||
mood: [suspicious]
|
||||
tags: [bar-regular, maret, voss, discrepancy]
|
||||
dual_lens:
|
||||
smuggler: "They're talking about Maret's flags as general knowledge. That's a wider problem than I thought."
|
||||
detective: "Maret's pattern is common knowledge on the floor. Multiple witnesses, informal. That can be confirmed."
|
||||
|
||||
- id: bar-regular_d_006
|
||||
text: "Bay four's been held all week. Three cycles. Nobody's said what's in it."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [suspicious]
|
||||
tags: [bar-regular, bay-four, observation]
|
||||
dual_lens:
|
||||
smuggler: "They've noticed bay four. It's becoming visible. Not good."
|
||||
detective: "Bay four hold is common knowledge at worker level. That means it predates any routine explanation."
|
||||
|
||||
- id: bar-regular_d_007
|
||||
text: "Transition window's the worst part of the job. Twenty minutes to hand off and nothing ever lines up."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, transition-window, complaint]
|
||||
dual_lens:
|
||||
smuggler: "The window is their biggest frustration. And their biggest frustration is the ring's biggest asset."
|
||||
detective: "Workers discuss the transition window as a systematic failure. The gap is known."
|
||||
|
||||
- id: bar-regular_d_008
|
||||
text: "Commission audit's coming cycle fifteen. Everyone's running around double-checking everything."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [bar-regular, commission, audit]
|
||||
dual_lens:
|
||||
smuggler: "Cycle fifteen. That's the deadline. Get clean before then."
|
||||
detective: "Workers are responding to the audit announcement. Behavioral change in the workforce. Note who isn't anxious."
|
||||
|
||||
- id: bar-regular_d_009
|
||||
text: "Voss has been on the floor more than usual this cycle. Watching everything."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, colleague]
|
||||
mood: [suspicious]
|
||||
tags: [bar-regular, voss, observation]
|
||||
dual_lens:
|
||||
smuggler: "Voss is visible more. Is that heat from above, or is he managing something on the floor?"
|
||||
detective: "Voss behavioral change: increased floor presence. Defensive positioning or active oversight?"
|
||||
|
||||
# ==========================================
|
||||
# COMMUNITY — the full life of this district
|
||||
# ==========================================
|
||||
|
||||
- id: bar-regular_d_010
|
||||
text: "Drifters lost again. Four-nil this time. I'm done watching until they rebuild."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, sports, drifters]
|
||||
|
||||
- id: bar-regular_d_011
|
||||
text: "Ventilation's still the same in Sector 3. Seven years of 'under discussion.' I've stopped expecting anything."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, infrastructure, grievance]
|
||||
|
||||
- id: bar-regular_d_012
|
||||
text: "You see the missing person notice on the board? Vessels Tamm. I don't know a Vessels Tamm."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [personal, routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, vessels-tamm, notice]
|
||||
dual_lens:
|
||||
smuggler: "Vessels Tamm. Naia's surname is Tamm. Don't chase it — but don't ignore it either."
|
||||
detective: "Vessels Tamm notice is circulating casually. People haven't connected it to Naia Tamm yet."
|
||||
|
||||
- id: bar-regular_d_013
|
||||
text: "Re-em clinic's backed up four cycles for non-urgent. Main station if it's serious, apparently."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [personal, routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, clinic, community]
|
||||
|
||||
- id: bar-regular_d_014
|
||||
text: "Lattice upgrades are up eighteen percent this cycle. That's more than my raise."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, personal]
|
||||
mood: [content]
|
||||
tags: [bar-regular, lattice, economy]
|
||||
dual_lens:
|
||||
smuggler: "That's why the waiting list keeps growing. They're providing a service."
|
||||
detective: "Economic grievance expressed casually. Price pressure is general knowledge. Confirms motive context."
|
||||
|
||||
- id: bar-regular_d_015
|
||||
text: "Workers' Association is pushing the handoff protocol again. Voss won't budge."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, personal]
|
||||
mood: [suspicious]
|
||||
tags: [bar-regular, workers-association, voss, transition-window]
|
||||
dual_lens:
|
||||
smuggler: "Voss is defending the twenty-minute window against Association pressure. He's protecting the gap."
|
||||
detective: "Voss is actively resisting worker-led protocol improvement. Institutional reason for the gap isn't mechanical."
|
||||
|
||||
# ==========================================
|
||||
# DETECTIVE ENCOUNTER — community wariness
|
||||
# ==========================================
|
||||
|
||||
- id: bar-regular_d_016
|
||||
text: "You new? Haven't seen you before."
|
||||
role: bar-regular
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
topic: [routine]
|
||||
mood: [suspicious]
|
||||
tags: [bar-regular, detective-path, recognition]
|
||||
|
||||
- id: bar-regular_d_017
|
||||
text: "Commission? I just drink here. Whatever you're after, I probably can't help."
|
||||
role: bar-regular
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [bar-regular, detective-path, deflection]
|
||||
|
||||
- id: bar-regular_d_018
|
||||
text: "Ask Lera. She knows what happens in this bar better than anyone."
|
||||
role: bar-regular
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [routine]
|
||||
mood: [suspicious]
|
||||
tags: [bar-regular, detective-path, lera-redirect]
|
||||
|
||||
# ==========================================
|
||||
# SIGN-OFF
|
||||
# ==========================================
|
||||
|
||||
- id: bar-regular_d_019
|
||||
text: "Another cycle done. Same tomorrow."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, closing]
|
||||
|
||||
- id: bar-regular_d_020
|
||||
text: "Safe home. Watch the corridors after 2200."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, closing, community]
|
||||
|
||||
# ==========================================
|
||||
# GENERATION PASS — ambient variants
|
||||
# ==========================================
|
||||
|
||||
- id: bar-regular_d_021
|
||||
text: "Pull up a chair. Floor's full otherwise."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, greeting, generation-pass]
|
||||
|
||||
- id: bar-regular_d_022
|
||||
text: "You're in late. Voss kept you?"
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [bar-regular, greeting, voss, generation-pass]
|
||||
|
||||
- id: bar-regular_d_023
|
||||
text: "Just got off. Bay six all night. My back knows it."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [frustrated]
|
||||
tags: [bar-regular, greeting, generation-pass]
|
||||
|
||||
- id: bar-regular_d_024
|
||||
text: "Drifters are playing Mirren next cycle. Home game. Might actually go."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, sports, community, generation-pass]
|
||||
|
||||
- id: bar-regular_d_025
|
||||
text: "Sector 3 meeting went nowhere. Same as last time. Same as the time before that."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, personal]
|
||||
mood: [content]
|
||||
tags: [bar-regular, infrastructure, grievance, generation-pass]
|
||||
|
||||
- id: bar-regular_d_026
|
||||
text: "New hire's asking questions on the floor again. Good. Someone should."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague, routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, new-hire, community, generation-pass]
|
||||
|
||||
- id: bar-regular_d_027
|
||||
text: "Span gate was loud today. Three cycles now. That's not normal."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [bar-regular, infrastructure, generation-pass]
|
||||
|
||||
- id: bar-regular_d_028
|
||||
text: "Kael's not in tonight. Unusual."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [bar-regular, kael, observation, generation-pass]
|
||||
dual_lens:
|
||||
smuggler: "Kael's absence is visible. Other people notice too."
|
||||
detective: "Kael Davan's routine absence is noted socially. Behavioral change is general knowledge."
|
||||
|
||||
- id: bar-regular_d_029
|
||||
text: "Lera keeps the grain spirit back until she's sure you're a regular. You must've made the grade."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [bar-regular, lera, humor, generation-pass]
|
||||
|
||||
- id: bar-regular_d_030
|
||||
text: "Good night. Don't let the Commission ruin your morning."
|
||||
role: bar-regular
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [bar-regular, closing, generation-pass]
|
||||
-311
@@ -1,311 +0,0 @@
|
||||
# Dialogue: bartender at The Last Shift
|
||||
# NPC: Sess (Tier 3 template role — Lera's staff)
|
||||
# Voice: practical, pleasant, socially adept. Passes information by reflex, not design.
|
||||
# Ring-aware: none. Knows regulars, patterns, who drinks with whom.
|
||||
# Ticket: #191 | Sprint: 12
|
||||
|
||||
location: the-last-shift
|
||||
role: bartender
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# GREETINGS — service register
|
||||
# ==========================================
|
||||
|
||||
- id: bartender_d_001
|
||||
text: "What'll it be?"
|
||||
role: bartender
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, greeting]
|
||||
|
||||
- id: bartender_d_002
|
||||
text: "Back early tonight. Long shift?"
|
||||
role: bartender
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, greeting, social]
|
||||
|
||||
- id: bartender_d_003
|
||||
text: "Grain spirit's back. Lera's running it at cycle price for two more days."
|
||||
role: bartender
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, greeting, drinks]
|
||||
|
||||
# ==========================================
|
||||
# BAR OBSERVATIONS — social intelligence
|
||||
# ==========================================
|
||||
|
||||
- id: bartender_d_004
|
||||
text: "Kael's been in most nights this week. Quiet though. Not his usual."
|
||||
role: bartender
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [sess, kael, observation]
|
||||
dual_lens:
|
||||
smuggler: "Sess noticed Kael's off. She's reading it as personal. She doesn't know what's underneath."
|
||||
detective: "Bartender flagging behavioral change in Kael Davan. Consistent with other observations."
|
||||
|
||||
- id: bartender_d_005
|
||||
text: "Torek tipped well again tonight. Always does. Nicer than you'd expect for Commission."
|
||||
role: bartender
|
||||
access: [peer, public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [sess, torek, observation]
|
||||
dual_lens:
|
||||
smuggler: "Torek's making friends with the staff. Not good."
|
||||
detective: "Bartender views Torek favorably. Torek is cultivating the service staff deliberately."
|
||||
|
||||
- id: bartender_d_006
|
||||
text: "Naia was in earlier. Didn't stay. Left something on the table — looked like a note. Lera has it."
|
||||
role: bartender
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [sess, naia, note, observation]
|
||||
dual_lens:
|
||||
smuggler: "Naia left something. Lera has it. Go to Lera."
|
||||
detective: "Naia Tamm left written material at the bar. Lera is holding it. That's a material lead."
|
||||
|
||||
- id: bartender_d_007
|
||||
text: "Ren? Yeah, they're always in the morning crowd. Don't say much. Good for the morning."
|
||||
role: bartender
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [sess, ren, drifter]
|
||||
|
||||
- id: bartender_d_008
|
||||
text: "Tev watches the door. Every shift. Lera likes it that way."
|
||||
role: bartender
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague, routine]
|
||||
mood: [content]
|
||||
tags: [sess, tev, door, observation]
|
||||
dual_lens:
|
||||
smuggler: "Tev watches the door for Lera. Not for anyone else. That's the setup."
|
||||
detective: "Tev's entrance-monitoring is confirmed as Lera's request. Not operational surveillance."
|
||||
|
||||
- id: bartender_d_009
|
||||
text: "Sera was in earlier. She usually stays later. She left when Torek came in."
|
||||
role: bartender
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague, institution]
|
||||
mood: [content]
|
||||
tags: [sess, sera, torek, observation]
|
||||
dual_lens:
|
||||
smuggler: "Commission in, Commission contact out. Makes sense."
|
||||
detective: "Third data point. Sera leaves when Torek arrives. Bartender confirms the pattern."
|
||||
|
||||
# ==========================================
|
||||
# SOCIAL / COMMUNITY
|
||||
# ==========================================
|
||||
|
||||
- id: bartender_d_010
|
||||
text: "Drifters lost again. Tev took it hard. Drank two too many."
|
||||
role: bartender
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, tev, sports, community]
|
||||
|
||||
- id: bartender_d_011
|
||||
text: "Workers' Association meeting's Thursday. Half the regulars will be here Friday in a mood either way."
|
||||
role: bartender
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [sess, workers-association, community]
|
||||
|
||||
- id: bartender_d_012
|
||||
text: "Quiet night. Good for everyone."
|
||||
role: bartender
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, ambient]
|
||||
|
||||
# ==========================================
|
||||
# DETECTIVE ENCOUNTER — helpful, unfocused
|
||||
# ==========================================
|
||||
|
||||
- id: bartender_d_013
|
||||
text: "Commission comes in sometimes. Not usually this early in the cycle."
|
||||
role: bartender
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [sess, detective-path, observation]
|
||||
|
||||
- id: bartender_d_014
|
||||
text: "I know most of the regulars. Ask me anything. I probably know something."
|
||||
role: bartender
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, detective-path, open]
|
||||
dual_lens:
|
||||
smuggler: "Never encounters this line."
|
||||
detective: "Bartender is cooperative. Useful — but she'll answer questions she doesn't know are questions."
|
||||
|
||||
- id: bartender_d_015
|
||||
text: "Lera's the one who knows the real history of this place. I've only been here four cycles."
|
||||
role: bartender
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [sess, detective-path, lera-redirect]
|
||||
|
||||
# ==========================================
|
||||
# SIGN-OFF
|
||||
# ==========================================
|
||||
|
||||
- id: bartender_d_016
|
||||
text: "Last round's on the board. After that, Lera calls it."
|
||||
role: bartender
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, closing]
|
||||
|
||||
- id: bartender_d_017
|
||||
text: "Good night. Safe walk."
|
||||
role: bartender
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, closing]
|
||||
|
||||
# ==========================================
|
||||
# GENERATION PASS — ambient variants
|
||||
# ==========================================
|
||||
|
||||
- id: bartender_d_018
|
||||
text: "The usual? Or trying something different tonight?"
|
||||
role: bartender
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, greeting, generation-pass]
|
||||
|
||||
- id: bartender_d_019
|
||||
text: "Busy one tonight. Give me a second."
|
||||
role: bartender
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, greeting, generation-pass]
|
||||
|
||||
- id: bartender_d_020
|
||||
text: "Good shift or bad shift? Your face says one thing, your order'll confirm it."
|
||||
role: bartender
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, greeting, social, generation-pass]
|
||||
|
||||
- id: bartender_d_021
|
||||
text: "Lera says the specials board is final. Don't ask me to substitute."
|
||||
role: bartender
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, lera, house-rules, generation-pass]
|
||||
|
||||
- id: bartender_d_022
|
||||
text: "Torek's in his usual spot. Corner table. Second drink already."
|
||||
role: bartender
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, colleague]
|
||||
mood: [content]
|
||||
tags: [sess, torek, observation, generation-pass]
|
||||
|
||||
- id: bartender_d_023
|
||||
text: "Ren's been here since this morning. Still on the same drink."
|
||||
role: bartender
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [sess, ren, observation, generation-pass]
|
||||
|
||||
- id: bartender_d_024
|
||||
text: "Drifters game is on the Meridian relay tonight. If anyone's got a feed, that'll be the crowd."
|
||||
role: bartender
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, sports, community, generation-pass]
|
||||
|
||||
- id: bartender_d_025
|
||||
text: "Slow night for a change. Enjoy it."
|
||||
role: bartender
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, ambient, generation-pass]
|
||||
|
||||
- id: bartender_d_026
|
||||
text: "Tab's cleared. Lera'll be pleased."
|
||||
role: bartender
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [shift_end, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [sess, closing, generation-pass]
|
||||
-90
@@ -1,90 +0,0 @@
|
||||
# Dialogue: day-worker at The Last Shift
|
||||
# NPC: Ren Tosse (Tier 3, NOBODY/CIVILIAN)
|
||||
# Voice: casual-observant, asks questions without social friction. Just drifting.
|
||||
# KEY LINE: day-worker_d_001 — sounds like intel gathering on night operations
|
||||
# Actually: asking about after-hours freight work availability
|
||||
# Ticket: #307 | Sprint: 12
|
||||
|
||||
location: the-last-shift
|
||||
role: day-worker
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# "SEEMS IMPORTANT BUT ISN'T" LINE
|
||||
# Sounds like Ren is casing night shift operations.
|
||||
# Actually: asking if there's paid after-hours freight work available.
|
||||
# ==========================================
|
||||
|
||||
- id: day-worker_d_001
|
||||
text: "Night rotation still short-handed? Heard the after-hours freight pays decent."
|
||||
role: day-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [money, cargo]
|
||||
mood: [content]
|
||||
tags: [ren, seems-important-but-isnt, job-seeking, night-shift]
|
||||
dual_lens:
|
||||
smuggler: "Someone asking about the night rotation. Probably nothing. Watch them anyway."
|
||||
detective: "Interest in night shift freight operations. Drifter, irregular schedule. Logging."
|
||||
notes: >
|
||||
THE key flat NPC line for Ren. Sounds like Ren is interested in the
|
||||
night operation window for operational reasons. Is standard day-worker
|
||||
job-seeking: which shift has openings, which shift pays best.
|
||||
|
||||
# ==========================================
|
||||
# ROUTINE LINES
|
||||
# ==========================================
|
||||
|
||||
- id: day-worker_d_002
|
||||
text: "Bay seven any better this cycle? The super was a problem last time."
|
||||
role: day-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social, bar_evening]
|
||||
topic: [routine, colleague]
|
||||
mood: [content]
|
||||
tags: [ren, job-seeking]
|
||||
|
||||
- id: day-worker_d_003
|
||||
text: "Sova's decent. Station layout makes sense once you learn it."
|
||||
role: day-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social, bar_evening]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [ren, atmospheric]
|
||||
|
||||
- id: day-worker_d_004
|
||||
text: "Just passing through. Maybe not. Depends on the work."
|
||||
role: day-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [personal, routine]
|
||||
mood: [content]
|
||||
tags: [ren, drifter]
|
||||
|
||||
- id: day-worker_d_005
|
||||
text: "Cheap drink here's better than most stations I've stopped at."
|
||||
role: day-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [personal]
|
||||
mood: [content]
|
||||
tags: [ren, atmospheric]
|
||||
|
||||
- id: day-worker_d_006
|
||||
text: "Any idea when the manifest deadline runs? Trying to time when the work window opens."
|
||||
role: day-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social, bar_evening]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [ren, seems-important-but-isnt, job-seeking]
|
||||
notes: >
|
||||
Second "seems important" line. Asking about manifest deadlines sounds
|
||||
like operational intelligence. Is logistics scheduling for day work.
|
||||
-235
@@ -1,235 +0,0 @@
|
||||
# Kael Davan — THE FRIEND (Smuggler)
|
||||
# Dialogue at The Last Shift (District Bar)
|
||||
# Ticket: #297 | Sprint: 5 | Tier 1 FRIEND NPC
|
||||
# Voice: direct, practical, short sentences, first names, warm to trusted people
|
||||
# Context: off-shift social space. Kael is looser here — still guarded, but warmer.
|
||||
|
||||
location: the-last-shift
|
||||
role: dock-worker
|
||||
lines:
|
||||
|
||||
# ========================================
|
||||
# SOCIAL — off-shift casual
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_015
|
||||
text: "Saved you a seat. Lera's got the spiced rice tonight."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social, arrival]
|
||||
mood: [warm]
|
||||
topic: [personal, colleague]
|
||||
tags: [kael, greeting, phase-1]
|
||||
|
||||
- id: kael-davan_d_016
|
||||
text: "First round's mine. Don't argue — you covered me last week."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [warm]
|
||||
topic: [personal]
|
||||
tags: [kael, social, phase-1]
|
||||
|
||||
- id: kael-davan_d_017
|
||||
text: "Voss tried to dock my overtime again. Lera told him off. Wish I'd seen it."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [content]
|
||||
topic: [colleague, routine]
|
||||
tags: [kael, humor, voss, lera]
|
||||
|
||||
- id: kael-davan_d_018
|
||||
text: "Torek's holding court at the bar again. How does he afford to drink like that?"
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [content]
|
||||
topic: [colleague]
|
||||
tags: [kael, observational, torek]
|
||||
knowledge_grant:
|
||||
fact_id: investigation.torek_spending_pattern
|
||||
confidence: suspects
|
||||
|
||||
- id: kael-davan_d_019
|
||||
text: "Quiet night. I like these ones. No drama, just people winding down."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [content]
|
||||
topic: [personal]
|
||||
tags: [kael, atmospheric]
|
||||
|
||||
- id: kael-davan_d_020
|
||||
text: "Lera asked about my overtime schedule. Told her I'm trying to cut back."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [content]
|
||||
topic: [personal, routine]
|
||||
tags: [kael, casual, lera]
|
||||
|
||||
# ========================================
|
||||
# NAIA REFERENCES — personal, unprompted
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_021
|
||||
text: "Naia's meeting me here after her shift. Try not to embarrass me."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [warm]
|
||||
topic: [personal]
|
||||
tags: [kael, unprompted, naia-reference]
|
||||
|
||||
- id: kael-davan_d_022
|
||||
text: "Naia wants to plan a trip. Off-station. Somewhere with actual sky. Sounds expensive."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [warm]
|
||||
topic: [personal]
|
||||
tags: [kael, unprompted, naia-reference]
|
||||
|
||||
- id: kael-davan_d_023
|
||||
text: "She worries. I tell her it's just dock work. She doesn't buy it anymore."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [bar_evening, social, alone]
|
||||
mood: [anxious]
|
||||
topic: [personal, trust]
|
||||
tags: [kael, naia-reference, vulnerability]
|
||||
|
||||
# ========================================
|
||||
# RING OPS — bar context, trust-gated
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_024
|
||||
text: "Nils wants to talk. Tomorrow, bay side. Said it's about volume."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [bar_evening, social]
|
||||
mood: [frustrated]
|
||||
topic: [danger]
|
||||
tags: [kael, ring-ops, nils]
|
||||
|
||||
- id: kael-davan_d_025
|
||||
text: "Keep it light tonight. Torek's listening and he doesn't know when to stop."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [bar_evening, social]
|
||||
mood: [frustrated]
|
||||
topic: [danger, colleague]
|
||||
tags: [kael, ring-ops, torek, caution]
|
||||
|
||||
- id: kael-davan_d_026
|
||||
text: "Lera knows more than she lets on. She won't say anything — but don't test it."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [bar_evening, social, alone]
|
||||
mood: [frustrated]
|
||||
topic: [colleague, danger]
|
||||
tags: [kael, ring-ops, lera, caution]
|
||||
knowledge_grant:
|
||||
fact_id: knowledge.bar_ring_awareness
|
||||
confidence: suspects
|
||||
|
||||
# ========================================
|
||||
# POST-CONTRADICTION — at the bar, damaged trust
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_027
|
||||
text: "I saved your seat. ...Force of habit."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [anxious]
|
||||
topic: [personal]
|
||||
tags: [kael, contaminated-trust, phase-5]
|
||||
|
||||
- id: kael-davan_d_028
|
||||
text: "Naia keeps asking why I'm quiet. I told her work stress. Not wrong."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [bar_evening, social]
|
||||
mood: [anxious]
|
||||
topic: [personal]
|
||||
tags: [kael, contaminated-trust, naia-reference, phase-5]
|
||||
|
||||
- id: kael-davan_d_029
|
||||
text: "We're good, right? You and me. We're still good."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [anxious]
|
||||
topic: [trust, personal]
|
||||
tags: [kael, vulnerability, phase-5]
|
||||
|
||||
# ========================================
|
||||
# LAYER 2 GREETING VARIANTS — D-028 Layer 2
|
||||
# Ticket #170 (Sprint 15). situation: [greeting] fires on initial contact.
|
||||
# Access tier + mood encode relationship history state.
|
||||
# ========================================
|
||||
|
||||
# first_meeting: InteractionMemory.count == 0. RelationshipState: Unknown → Public access only.
|
||||
- id: kael-davan_d_030
|
||||
text: "Evening. Friend of someone's, or first time at Lera's?"
|
||||
role: dock-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [content]
|
||||
topic: [personal]
|
||||
tags: [kael, greeting, first-meeting, layer2]
|
||||
notes: "Layer 2 greeting — first meeting at the bar. Kael is curious about a stranger but not suspicious. Off-shift, looser than at the terminal."
|
||||
|
||||
# established — peer/smuggler context: count >= 3, RelationshipState: Known/Friendly → Peer/Insider access.
|
||||
- id: kael-davan_d_031
|
||||
text: "You made it. I was starting to think something came up."
|
||||
role: dock-worker
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [warm]
|
||||
topic: [personal, colleague]
|
||||
tags: [kael, greeting, repeat-visit, peer-tone, layer2]
|
||||
notes: "Layer 2 greeting — established, bar context. Warm, they were expected. Kael was watching for them."
|
||||
|
||||
# established — authority/detective context: count >= 3, RelationshipState: PersonOfInterest → Authority access.
|
||||
- id: kael-davan_d_032
|
||||
text: "Still in the district. Thought you'd be done by now."
|
||||
role: dock-worker
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [suspicious]
|
||||
topic: [routine]
|
||||
tags: [kael, greeting, repeat-visit, authority-tone, layer2]
|
||||
notes: "Layer 2 greeting — repeat with authority figure, bar context. Politely questioning their continued presence. The bar is supposed to be off-limits from work."
|
||||
|
||||
# post-confrontation: confrontation in InteractionMemory.notable_events. NPC mood shifted to suspicious/frustrated.
|
||||
- id: kael-davan_d_033
|
||||
text: "You came back."
|
||||
role: dock-worker
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [suspicious, frustrated]
|
||||
topic: [personal, trust]
|
||||
tags: [kael, greeting, post-confrontation, layer2]
|
||||
notes: "Layer 2 greeting — post-confrontation, bar context. Flat, loaded. Not a welcome. Three words that replace a whole conversation they both don't want to have."
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
# PC-as-NPC: The Detective (NPC mode, seen by smuggler player)
|
||||
# Dialogue at The Last Shift (District Bar)
|
||||
# Ticket: #401 | Sprint: 5 | PC-as-NPC content
|
||||
# Voice: professional, measured, slightly less formal in social setting
|
||||
# Context: public-tier only. The detective-NPC is off-duty, sitting with Sera.
|
||||
# Slightly more human than at the hub, but still institutional.
|
||||
|
||||
location: the-last-shift
|
||||
role: commission-liaison
|
||||
lines:
|
||||
|
||||
- id: pc-detective_d_001
|
||||
text: "Good evening. Off the clock, more or less. Enjoying the local hospitality."
|
||||
role: commission-liaison
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [bar_evening, greeting]
|
||||
mood: [content]
|
||||
topic: [personal]
|
||||
tags: [pc-detective, greeting, public-tier]
|
||||
|
||||
- id: pc-detective_d_002
|
||||
text: "Ms. Venn recommended the ale. She was right. This district has its charms."
|
||||
role: commission-liaison
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [routine, colleague]
|
||||
tags: [pc-detective, social, public-tier, sera]
|
||||
|
||||
- id: pc-detective_d_003
|
||||
text: "Just unwinding. The review can wait until morning. Have a good evening."
|
||||
role: commission-liaison
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [bar_evening, confrontation]
|
||||
topic: [routine]
|
||||
tags: [pc-detective, deflection, public-tier]
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
# PC-as-NPC: The Smuggler (NPC mode, seen by detective player)
|
||||
# Dialogue at The Last Shift (District Bar)
|
||||
# Ticket: #401 | Sprint: 5 | PC-as-NPC content
|
||||
# Voice: casual, guarded, short sentences, contractions always
|
||||
# Context: public-tier only. The smuggler-NPC is off-shift, drinking with Kael.
|
||||
# More relaxed than at the hub, but still guarded around Commission.
|
||||
|
||||
location: the-last-shift
|
||||
role: dock-worker
|
||||
lines:
|
||||
|
||||
- id: pc-smuggler_d_001
|
||||
text: "Evening. Just having a drink with friends. Can I help you?"
|
||||
role: dock-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [bar_evening, greeting]
|
||||
mood: [content]
|
||||
topic: [personal]
|
||||
tags: [pc-smuggler, greeting, public-tier]
|
||||
|
||||
- id: pc-smuggler_d_002
|
||||
text: "Lera's ale is the one good thing about a ten-hour shift. Don't let anyone tell you different."
|
||||
role: dock-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
mood: [content]
|
||||
topic: [routine]
|
||||
tags: [pc-smuggler, social, public-tier]
|
||||
|
||||
- id: pc-smuggler_d_003
|
||||
text: "Off the clock, thanks. Whatever it is, it can wait until morning."
|
||||
role: dock-worker
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [bar_evening, confrontation]
|
||||
topic: [routine]
|
||||
tags: [pc-smuggler, deflection, public-tier]
|
||||
-701
@@ -1,701 +0,0 @@
|
||||
# FRIEND Content Pack: Sera Venn — Detective's FRIEND
|
||||
# Ticket: #298 | Sprint: 5
|
||||
# Author: Paula (profile + relationship arc), Mellanie (voice validation)
|
||||
# Pattern: FRIEND + WITNESS | Bonded: detective
|
||||
# Location: The Last Shift (bar)
|
||||
# Arc: trust > background data > pattern > question > contaminated trust
|
||||
#
|
||||
# Content breakdown (dialogue — this file):
|
||||
# Greeting pool: 8 lines
|
||||
# Routine/social dialogue: 10 lines
|
||||
# Trust-gated dialogue: 18 lines (6 surface, 7 real, 5 secret)
|
||||
# Unprompted disclosure: 6 lines
|
||||
# Contradiction/deflection: 8 lines
|
||||
# Post-discovery dialogue: 5 lines
|
||||
# Subtotal: 55 dialogue lines
|
||||
#
|
||||
# Monologue (in monologue/detective/the-last-shift.yaml, _m_d_031-042):
|
||||
# Detective tell observations: 4 lines
|
||||
# Detective post-conversation reflections: 3 lines
|
||||
# Detective arc phase transitions: 3 lines
|
||||
# Detective contaminated trust reactions: 2 lines
|
||||
# Subtotal: 12 detective monologue lines
|
||||
#
|
||||
# Monologue (in monologue/smuggler/the-last-shift.yaml, _m_s_031-038):
|
||||
# Smuggler dual-lens observations: 8 lines
|
||||
# Subtotal: 8 smuggler monologue lines
|
||||
#
|
||||
# FRIEND pack total: 75 authored lines
|
||||
|
||||
location: the-last-shift
|
||||
role: bar-regular
|
||||
|
||||
lines:
|
||||
|
||||
# ============================================================
|
||||
# GREETING POOL (8 lines)
|
||||
# Phase 1-2: warm, welcoming, peer-level
|
||||
# Phase 3-5: same warmth, but the detective is now watching
|
||||
# ============================================================
|
||||
|
||||
- id: sera-venn_d_001
|
||||
text: "There you are. Grab a seat — Lera's doing that thing with the grain spirit again. Don't ask, just trust me and order the ale."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [personal]
|
||||
mood: [warm, content]
|
||||
tags: [greeting, phase-1, establishes-warmth]
|
||||
|
||||
- id: sera-venn_d_002
|
||||
text: "Corner booth's free. I saved it — force of habit."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, arrival]
|
||||
topic: [personal]
|
||||
mood: [warm]
|
||||
tags: [greeting, phase-1, spatial-anchor]
|
||||
|
||||
- id: sera-venn_d_003
|
||||
text: "You look like you've been reading manifests all day. Sit. I'll get you something that isn't recycled air."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [personal, routine]
|
||||
mood: [warm, content]
|
||||
tags: [greeting, phase-1-2]
|
||||
|
||||
- id: sera-venn_d_004
|
||||
text: "Evening. Same booth, same drink?"
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [greeting, phase-2-5, repeatable]
|
||||
|
||||
- id: sera-venn_d_005
|
||||
text: "Good timing. Naia was here earlier — you just missed her."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [colleague, personal]
|
||||
mood: [content]
|
||||
tags: [greeting, phase-2, naia-reference]
|
||||
|
||||
- id: sera-venn_d_006
|
||||
text: "Grab a seat. Quiet night so far — Lera's in a good mood, which means the ale's fresh."
|
||||
role: bar-regular
|
||||
access: [peer, public]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [greeting, phase-1-3]
|
||||
|
||||
- id: sera-venn_d_007
|
||||
text: "Hey. Long day?"
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, arrival]
|
||||
topic: [personal]
|
||||
mood: [frustrated]
|
||||
tags: [greeting, phase-3-5, post-pattern, shorter]
|
||||
|
||||
- id: sera-venn_d_008
|
||||
text: "Same time, same place. You're becoming a regular."
|
||||
role: bar-regular
|
||||
access: [peer, public]
|
||||
trust: surface
|
||||
situation: [bar_evening, arrival]
|
||||
topic: [routine, personal]
|
||||
mood: [content]
|
||||
tags: [greeting, phase-2-3]
|
||||
|
||||
# ============================================================
|
||||
# ROUTINE / SOCIAL DIALOGUE (10 lines)
|
||||
# What Sera says during normal bar evenings
|
||||
# ============================================================
|
||||
|
||||
- id: sera-venn_d_009
|
||||
text: "The Last Shift. Official name. Everyone calls it Lera's, though. Eighteen years behind that counter."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [routine, colleague]
|
||||
mood: [content]
|
||||
tags: [orientation, district-background]
|
||||
|
||||
- id: sera-venn_d_010
|
||||
text: "See the card game in the corner? That's Harek's table. Security officer, off-duty. Harmless — just loud."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [orientation, npc-introduction]
|
||||
|
||||
- id: sera-venn_d_011
|
||||
text: "Most of the after-shift crowd comes from the Terminal. Dock workers, scheduler types. They drink hard and leave early."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [routine, colleague]
|
||||
mood: [content]
|
||||
tags: [orientation, district-background]
|
||||
|
||||
- id: sera-venn_d_012
|
||||
text: "Sova's not bad, once you know the rhythms. Shift change is when things move. Between shifts is when you can breathe."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [setting-atmosphere]
|
||||
|
||||
- id: sera-venn_d_013
|
||||
text: "I do lattice calibration, mostly. Commission-standard equipment checks. Relay nodes, terminal diagnostics. Exciting stuff."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [self-introduction, institutional-background]
|
||||
|
||||
- id: sera-venn_d_014
|
||||
text: "I transferred here fourteen months ago. Border-system relay posting before this. Sova was supposed to be the quiet one."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [personal, institution]
|
||||
mood: [content]
|
||||
tags: [backstory, phase-1]
|
||||
|
||||
- id: sera-venn_d_015
|
||||
text: "Lera remembers every regular's order. Eighteen years of that. Don't ask how she does it — she'll just pour you one and prove it."
|
||||
role: bar-regular
|
||||
access: [peer, public]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [colleague]
|
||||
mood: [warm]
|
||||
tags: [community-texture]
|
||||
|
||||
- id: sera-venn_d_016
|
||||
text: "The shift crowd clears out by 19:00. After that it's just us — regulars, a few stragglers. The good hours."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [setting-atmosphere, routine]
|
||||
|
||||
- id: sera-venn_d_017
|
||||
text: "You adapting to station gravity yet? Point-nine-three standard takes a week to stop noticing."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [personal]
|
||||
mood: [content]
|
||||
tags: [setting-detail, phase-1]
|
||||
|
||||
- id: sera-venn_d_018
|
||||
text: "I like this booth. Corner. You can see the door and the bar. Force of institutional habit, I suppose."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [social, bar_evening]
|
||||
topic: [personal]
|
||||
mood: [content]
|
||||
tags: [spatial-anchor, character-detail]
|
||||
|
||||
# ============================================================
|
||||
# TRUST-GATED DIALOGUE (18 lines)
|
||||
# Surface (6): what Sera tells acquaintances
|
||||
# Real (7): what Sera shares with trusted friends
|
||||
# Secret (5): the concealment, the evidence, the desperation
|
||||
# ============================================================
|
||||
|
||||
# --- Surface trust ---
|
||||
|
||||
- id: sera-venn_d_019
|
||||
text: "The Commission runs maintenance checks quarterly. I handle the field side — equipment calibration, relay diagnostics. Standard."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [institutional-background]
|
||||
|
||||
- id: sera-venn_d_020
|
||||
text: "Naia teaches the station kids. Primary education, mostly. She's good at it — patient. The kids adore her."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [social, bar_evening]
|
||||
topic: [colleague, personal]
|
||||
mood: [warm]
|
||||
tags: [naia-reference, phase-2]
|
||||
|
||||
- id: sera-venn_d_021
|
||||
text: "The district runs on freight. Terminal handles most of it — container processing, manifest filing. Bread and butter."
|
||||
role: bar-regular
|
||||
access: [peer, public]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [district-context]
|
||||
|
||||
- id: sera-venn_d_022
|
||||
text: "I don't know the dock workers well. I'm Commission, they're logistics. Different worlds, same station."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: surface
|
||||
situation: [social, investigation]
|
||||
topic: [colleague, institution]
|
||||
mood: [content]
|
||||
tags: [deflection-surface, distance-from-hub]
|
||||
|
||||
- id: sera-venn_d_023
|
||||
text: "Most people here are decent. Working shifts, paying bills, coming to Lera's. It's a community."
|
||||
role: bar-regular
|
||||
access: [peer, public]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [colleague, personal]
|
||||
mood: [content]
|
||||
tags: [community-framing]
|
||||
|
||||
- id: sera-venn_d_024
|
||||
text: "I can look things up if you need. Commission terminals access compliance records, shift logs, equipment histories. Part of the job."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [institution]
|
||||
mood: [content]
|
||||
tags: [information-offer, phase-2, overcompensation-seed]
|
||||
|
||||
# --- Real trust ---
|
||||
|
||||
- id: sera-venn_d_025
|
||||
text: "Naia's been worried lately. About Kael — her partner. He's a dock worker at the Terminal. Late nights, evasive answers. She confided in me."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social, bar_evening]
|
||||
topic: [colleague, personal, trust]
|
||||
mood: [frustrated]
|
||||
tags: [naia-kael-link, phase-2, critical-information]
|
||||
knowledge_grant:
|
||||
fact_id: "relationship.kael_naia_connection"
|
||||
confidence: "knows_of"
|
||||
|
||||
- id: sera-venn_d_026
|
||||
text: "The Commission kiosk on Level 3 logs every compliance check. If someone ran an unauthorized scan, it would show up there. Hypothetically."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: real
|
||||
situation: [social]
|
||||
topic: [institution, investigation]
|
||||
mood: [focused]
|
||||
tags: [institutional-access, phase-2-3, self-incriminating-hint]
|
||||
|
||||
- id: sera-venn_d_027
|
||||
text: "I worry about Naia. She doesn't deserve whatever's happening. She just wants Kael to come home at a reasonable hour."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social, bar_evening]
|
||||
topic: [personal, trust]
|
||||
mood: [frustrated, anxious]
|
||||
tags: [motivation-reveal, phase-2-3]
|
||||
|
||||
- id: sera-venn_d_028
|
||||
text: "Compliance data goes back eighteen months on the Commission systems. Anyone with field-tech access could cross-reference shift records with manifest filings."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: real
|
||||
situation: [social]
|
||||
topic: [institution, investigation]
|
||||
mood: [focused]
|
||||
tags: [institutional-capability, overcompensation, phase-3-4]
|
||||
knowledge_grant:
|
||||
fact_id: "investigation.manifest_discrepancy"
|
||||
confidence: "suspects"
|
||||
|
||||
- id: sera-venn_d_029
|
||||
text: "I'm not an investigator. I calibrate equipment and file reports. But I notice things. Patterns in the data, mostly."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social]
|
||||
topic: [institution, personal]
|
||||
mood: [focused]
|
||||
tags: [self-awareness, capability-reveal]
|
||||
|
||||
- id: sera-venn_d_030
|
||||
text: "You know me. I wouldn't sit on something if I thought it mattered. But not everything that looks irregular IS irregular."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social, investigation]
|
||||
topic: [trust]
|
||||
mood: [anxious]
|
||||
tags: [deflection-real-tier, phase-4, the-lie]
|
||||
|
||||
- id: sera-venn_d_031
|
||||
text: "Some of the regulars here have hard lives. Grey economy, tight margins. I'm not judging. I'm just a field tech who likes the ale."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [bar_evening, social]
|
||||
topic: [money, personal]
|
||||
mood: [anxious]
|
||||
tags: [moral-position, community-loyalty]
|
||||
|
||||
# --- Secret trust ---
|
||||
|
||||
- id: sera-venn_d_032
|
||||
text: "I ran a compliance check. Unauthorized. Six weeks ago. Naia was so worried about Kael — I thought I could help. I found manifest discrepancies tied to his shifts."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: secret
|
||||
situation: [alone, social]
|
||||
topic: [investigation, trust, personal]
|
||||
mood: [anxious]
|
||||
tags: [confession, phase-5, critical-reveal]
|
||||
knowledge_grant:
|
||||
fact_id: "investigation.manifest_discrepancy"
|
||||
confidence: "knows_details"
|
||||
|
||||
- id: sera-venn_d_033
|
||||
text: "If I report it, Naia's life falls apart. Kael gets investigated. Maybe arrested. She didn't ask me to find this. I did it on my own."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: secret
|
||||
situation: [alone, social]
|
||||
topic: [personal, trust, institution]
|
||||
mood: [anxious]
|
||||
tags: [motivation-confession, phase-5]
|
||||
|
||||
- id: sera-venn_d_034
|
||||
text: "The irregularities correlate with Torek Lintar's inspection shifts. That's why I can't — I can't be near him. He doesn't know I know."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: secret
|
||||
situation: [alone]
|
||||
topic: [investigation, danger]
|
||||
mood: [anxious]
|
||||
tags: [torek-link, avoidance-explanation, phase-5]
|
||||
knowledge_grant:
|
||||
fact_id: "investigation.shift_mismatch"
|
||||
confidence: "knows_details"
|
||||
|
||||
- id: sera-venn_d_035
|
||||
text: "I don't know what you're looking for. I told you everything I know. If you're asking whether I'm hiding something — I'm a field tech, not an analyst."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: secret
|
||||
situation: [investigation, confrontation]
|
||||
topic: [trust, investigation]
|
||||
mood: [suspicious, anxious]
|
||||
tags: [denial-under-pressure, phase-4-5, the-wall]
|
||||
|
||||
- id: sera-venn_d_036
|
||||
text: "Every tip I gave you was real. The district background, the shift patterns, the regulars. I didn't steer you wrong. I just... didn't give you everything."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: secret
|
||||
situation: [alone, social]
|
||||
topic: [trust, personal]
|
||||
mood: [anxious]
|
||||
tags: [retrospective-confession, phase-5, emotional-payload]
|
||||
|
||||
# ============================================================
|
||||
# UNPROMPTED DISCLOSURE (6 lines)
|
||||
# Trust + mood weighted — Sera volunteers information
|
||||
# Phase 1-2: genuinely helpful. Phase 3-5: overcompensation.
|
||||
# ============================================================
|
||||
|
||||
- id: sera-venn_d_037
|
||||
text: "Oh — before I forget. The dock scheduler, Maret? She's sharp. If you need freight records context, she's the one to ask."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [social, bar_evening]
|
||||
topic: [colleague, investigation]
|
||||
mood: [content]
|
||||
tags: [unprompted, genuine-help, phase-1-2]
|
||||
knowledge_grant:
|
||||
fact_id: "relationship.trust_network"
|
||||
confidence: "suspects"
|
||||
|
||||
- id: sera-venn_d_038
|
||||
text: "I checked the relay calibration logs for the Terminal this morning. Nothing flagged. But the data throughput was higher than standard — more manifests processed than usual."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: real
|
||||
situation: [social]
|
||||
topic: [institution, cargo]
|
||||
mood: [focused]
|
||||
tags: [unprompted, overcompensation, phase-3-4]
|
||||
|
||||
- id: sera-venn_d_039
|
||||
text: "I asked around — quietly — about the shift rotation schedule. Voss has been adjusting it more than usual this cycle. Might mean nothing."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social, bar_evening]
|
||||
topic: [routine, investigation]
|
||||
mood: [focused, frustrated]
|
||||
tags: [unprompted, overcompensation, phase-3-4]
|
||||
|
||||
- id: sera-venn_d_040
|
||||
text: "The maintenance corridor access logs are Commission-maintained. I can pull them if you need. Just say the word."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: real
|
||||
situation: [social]
|
||||
topic: [institution, investigation]
|
||||
mood: [content]
|
||||
tags: [unprompted, information-offer, overcompensation, phase-3-5]
|
||||
|
||||
- id: sera-venn_d_041
|
||||
text: "Naia mentioned Kael came home late again last night. Third time this week. She's trying not to make it a thing."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social, bar_evening]
|
||||
topic: [personal, colleague]
|
||||
mood: [frustrated]
|
||||
tags: [unprompted, naia-worry, phase-2-3]
|
||||
knowledge_grant:
|
||||
fact_id: "relationship.kael_naia_connection"
|
||||
confidence: "knows_details"
|
||||
|
||||
- id: sera-venn_d_042
|
||||
text: "You should know — Lera watches out for her regulars. If people have been asking about you, she'd know. She just won't volunteer it."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social, bar_evening]
|
||||
topic: [colleague, trust, danger]
|
||||
mood: [frustrated]
|
||||
tags: [unprompted, genuine-help, phase-2-3]
|
||||
|
||||
# ============================================================
|
||||
# CONTRADICTION / DEFLECTION DIALOGUE (8 lines)
|
||||
# Phase 3-4: avoidance excuses, topic deflection, controlled evasion
|
||||
# ============================================================
|
||||
|
||||
- id: sera-venn_d_043
|
||||
text: "Actually, I should head out. Early shift tomorrow — calibration rounds start at 07:30."
|
||||
role: bar-regular
|
||||
access: [peer, public]
|
||||
trust: surface
|
||||
situation: [bar_evening]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [avoidance-excuse-1, torek-trigger, phase-3]
|
||||
|
||||
- id: sera-venn_d_044
|
||||
text: "Sorry — headache coming on. Station air does that sometimes. I'll catch you tomorrow."
|
||||
role: bar-regular
|
||||
access: [peer, public]
|
||||
trust: surface
|
||||
situation: [bar_evening]
|
||||
topic: [personal]
|
||||
mood: [content]
|
||||
tags: [avoidance-excuse-2, torek-trigger, phase-3]
|
||||
|
||||
- id: sera-venn_d_045
|
||||
text: "I need to check something at the Commission kiosk. Forgot to file a diagnostic report. I'll be quick — or not. You know how the system is."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [avoidance-excuse-3, torek-trigger, phase-3]
|
||||
|
||||
- id: sera-venn_d_046
|
||||
text: "Torek? He's just loud. I don't love loud drunks. Nothing personal — I just like a quieter evening."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [social, investigation]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [torek-deflection, phase-4, the-deflection]
|
||||
|
||||
- id: sera-venn_d_047
|
||||
text: "Manifests? I wouldn't know — I'm on the equipment side, not the freight side. Different department entirely."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
topic: [cargo, institution]
|
||||
mood: [content]
|
||||
tags: [topic-deflection, cargo-avoidance, phase-3-5]
|
||||
|
||||
- id: sera-venn_d_048
|
||||
text: "Anyway — did you try the ale? Lera got a new supply run in. Much better than last week's batch."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [social, bar_evening]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [redirect, warmth-recovery, phase-4]
|
||||
|
||||
- id: sera-venn_d_049
|
||||
text: "I'm just a field tech. I maintain equipment. I don't track people or shipments — that's your department."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [institution]
|
||||
mood: [suspicious]
|
||||
tags: [deflection-firm, phase-4-5, the-wall]
|
||||
|
||||
- id: sera-venn_d_050
|
||||
text: "Let's talk about something else. How's the investigation going — generally? Making progress?"
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social, investigation]
|
||||
topic: [investigation, trust]
|
||||
mood: [anxious]
|
||||
tags: [redirect-to-detective, controlled-recovery, phase-4]
|
||||
|
||||
# ============================================================
|
||||
# POST-DISCOVERY DIALOGUE (5 lines)
|
||||
# Phase 5: after the detective knows something is off
|
||||
# Same surface warmth, but calibrated. Trust is contaminated.
|
||||
# ============================================================
|
||||
|
||||
- id: sera-venn_d_051
|
||||
text: "Same booth. Drink's on me tonight."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, arrival]
|
||||
topic: [personal]
|
||||
mood: [warm]
|
||||
tags: [post-discovery, surface-warmth, phase-5]
|
||||
|
||||
- id: sera-venn_d_052
|
||||
text: "I pulled the relay diagnostic data you asked about. Clean. No anomalies in the terminal equipment this quarter."
|
||||
role: bar-regular
|
||||
access: [peer, authority]
|
||||
trust: real
|
||||
situation: [social]
|
||||
topic: [institution]
|
||||
mood: [content]
|
||||
tags: [post-discovery, overcompensation, phase-5]
|
||||
|
||||
- id: sera-venn_d_053
|
||||
text: "You've been quiet tonight. Everything all right with the case?"
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [bar_evening, social]
|
||||
topic: [personal, investigation]
|
||||
mood: [frustrated]
|
||||
tags: [post-discovery, awareness, phase-5]
|
||||
|
||||
- id: sera-venn_d_054
|
||||
text: "I know you're good at what you do. That's why I'm glad you're here. This district needed someone thorough."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social]
|
||||
topic: [trust, personal]
|
||||
mood: [warm, anxious]
|
||||
tags: [post-discovery, genuine-but-contaminated, phase-5]
|
||||
|
||||
- id: sera-venn_d_055
|
||||
text: "If there's anything I can help with — anything at all — you just ask. You know that."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [social, bar_evening]
|
||||
topic: [trust, personal]
|
||||
mood: [warm, frustrated]
|
||||
tags: [post-discovery, overcompensation, phase-5, closing-line]
|
||||
|
||||
# ============================================================
|
||||
# LAYER 2 GREETING VARIANTS — D-028 Layer 2
|
||||
# Ticket #170 (Sprint 15). situation: [greeting] fires on initial contact.
|
||||
# Access tier + mood encode relationship history state.
|
||||
# Sera is THE FRIEND for the detective. Warm, observant, bar anchor.
|
||||
# ============================================================
|
||||
|
||||
# first_meeting (detective path): RelationshipState Unknown → Public/Authority access.
|
||||
# Sera clocks them as Commission immediately. Makes them welcome anyway.
|
||||
- id: sera-venn_d_056
|
||||
text: "Commission? Don't worry, I don't bite. I'm Sera. Corner booth's better — you can see the whole room."
|
||||
role: bar-regular
|
||||
access: [public, authority]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [warm]
|
||||
topic: [personal, institution]
|
||||
tags: [sera, greeting, first-meeting, detective-path, layer2]
|
||||
notes: "Layer 2 greeting — first meeting, detective path. Sera reads the institutional marking immediately and disarms it. Corner booth tip is genuine — Sera always notices the useful details."
|
||||
|
||||
# established (detective path): count >= 3, RelationshipState: Known/Friendly → Peer access.
|
||||
# Warmer, more personal. Sera has been waiting for them.
|
||||
- id: sera-venn_d_057
|
||||
text: "I was hoping you'd come in. Saved the corner booth. How'd today go?"
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [warm]
|
||||
topic: [personal, investigation]
|
||||
tags: [sera, greeting, repeat-visit, detective-path, layer2]
|
||||
notes: "Layer 2 greeting — established, detective path. Personal, invested. Sera asks about their day the way a friend does — not just small talk."
|
||||
|
||||
# first_meeting (smuggler path): smuggler is dock crew, Sera knows the district crowd.
|
||||
# Peer/insider access from the start — Sera has social network, not institutional distance.
|
||||
- id: sera-venn_d_058
|
||||
text: "Terminal crew? Grab a seat. Kael usually sits in the back if you're looking for him."
|
||||
role: bar-regular
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [content]
|
||||
topic: [colleague, personal]
|
||||
tags: [sera, greeting, first-meeting, smuggler-path, layer2]
|
||||
notes: "Layer 2 greeting — first meeting, smuggler path. Sera recognizes dock crew on sight and extends the social network. Mentioning Kael is casual intel — she knows everyone's connections."
|
||||
|
||||
# post-confrontation: confrontation logged. Sera's surface warmth is present but qualified.
|
||||
# She doesn't know where they stand. The welcome is real but uncertain.
|
||||
- id: sera-venn_d_059
|
||||
text: "You're back. I wasn't sure you would be."
|
||||
role: bar-regular
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [anxious, suspicious]
|
||||
topic: [personal, trust]
|
||||
tags: [sera, greeting, post-confrontation, layer2]
|
||||
notes: "Layer 2 greeting — post-confrontation. Sera's warmth is genuine but the relief is complicated. She genuinely didn't know if they'd come back. The relationship is still there but it's been stressed."
|
||||
-269
@@ -1,269 +0,0 @@
|
||||
# Dialogue: courier at The Terminal
|
||||
# NPC: Renn Harsk (Tier 2, THRESHOLD/GATEKEEPER)
|
||||
# Voice: operational minimalism. Brief. Route-focused. Never volunteers more than needed.
|
||||
# Ring-aware: works adjacent — carries documentation, not cargo. Knows what he carries.
|
||||
# Cover: licensed freight courier. The documentation is the cover.
|
||||
# Ticket: #190 | Sprint: 12
|
||||
|
||||
location: the-terminal
|
||||
role: courier
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# ARRIVALS — checking in
|
||||
# ==========================================
|
||||
|
||||
- id: courier_d_001
|
||||
text: "Route's clear. Moving on schedule."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [renn, greeting, operational]
|
||||
|
||||
- id: courier_d_002
|
||||
text: "Manifest for bay three. Needs a scheduler stamp."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [renn, greeting, procedural]
|
||||
|
||||
- id: courier_d_003
|
||||
text: "Inbound from Havara. Three cans, all matched."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [renn, greeting, cargo]
|
||||
|
||||
# ==========================================
|
||||
# SURFACE ROUTINE — low-information, on-script
|
||||
# ==========================================
|
||||
|
||||
- id: courier_d_004
|
||||
text: "Not staying. Just the drop."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [renn, operational, brief]
|
||||
|
||||
- id: courier_d_005
|
||||
text: "Paperwork's clean. You can check."
|
||||
role: courier
|
||||
access: [public, peer, authority]
|
||||
trust: surface
|
||||
situation: [routine, investigation]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [renn, procedural, documentation]
|
||||
|
||||
- id: courier_d_006
|
||||
text: "Pickup's scheduled at 1600. I'll be back."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [renn, operational]
|
||||
|
||||
- id: courier_d_007
|
||||
text: "Corridor's clear from my end. No delays."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [renn, operational]
|
||||
dual_lens:
|
||||
smuggler: "Clean phrase. Public-safe. He'd say it either way."
|
||||
detective: "Courier references corridor access unprompted. Note it."
|
||||
|
||||
# ==========================================
|
||||
# RING-ADJACENT — insider/real trust only
|
||||
# ==========================================
|
||||
|
||||
- id: courier_d_008
|
||||
text: "Documentation's handled. Bay four, per the note."
|
||||
role: courier
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine, shift_transition]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [renn, ring-ops, documentation]
|
||||
dual_lens:
|
||||
smuggler: "Renn's confirming the paperwork trail. Bay four, as arranged."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: courier_d_009
|
||||
text: "Transit stamp's current. Nothing flagged at the gate."
|
||||
role: courier
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine, shift_transition]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [renn, ring-ops, documentation]
|
||||
|
||||
- id: courier_d_010
|
||||
text: "Pickup window is the same as last cycle. Twenty minutes."
|
||||
role: courier
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [renn, ring-ops, transition-window]
|
||||
dual_lens:
|
||||
smuggler: "Twenty minutes. Transition window confirmation."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: courier_d_011
|
||||
text: "Tell Voss the hold note clears at 1400."
|
||||
role: courier
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine, shift_transition]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [renn, ring-ops, voss, bay-four]
|
||||
dual_lens:
|
||||
smuggler: "1400. The hold clears on schedule. Pass it up."
|
||||
detective: "Never hears this line."
|
||||
|
||||
# ==========================================
|
||||
# DETECTIVE ENCOUNTER — surface cooperation
|
||||
# ==========================================
|
||||
|
||||
- id: courier_d_012
|
||||
text: "Licensed freight courier. Manifest's available on request."
|
||||
role: courier
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
topic: [institution, cargo]
|
||||
mood: [content]
|
||||
tags: [renn, detective-path, procedural]
|
||||
|
||||
- id: courier_d_013
|
||||
text: "I drop documentation. What's inside the containers isn't my business."
|
||||
role: courier
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [cargo, institution]
|
||||
mood: [content]
|
||||
tags: [renn, detective-path, deflection]
|
||||
dual_lens:
|
||||
smuggler: "That's the answer. Clean and correct."
|
||||
detective: "Classic courier deflection. Legally accurate. Operationally suspicious."
|
||||
|
||||
- id: courier_d_014
|
||||
text: "I've been running this route for two years. Nothing unusual."
|
||||
role: courier
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [investigation, confrontation]
|
||||
topic: [cargo, institution]
|
||||
mood: [content]
|
||||
tags: [renn, detective-path, authority-assertion]
|
||||
|
||||
# ==========================================
|
||||
# DEPARTURES
|
||||
# ==========================================
|
||||
|
||||
- id: courier_d_015
|
||||
text: "That's the drop. I'm out."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [renn, closing]
|
||||
|
||||
- id: courier_d_016
|
||||
text: "Next run's tomorrow. Early."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [renn, closing]
|
||||
|
||||
# ==========================================
|
||||
# GENERATION PASS — ambient variants
|
||||
# ==========================================
|
||||
|
||||
- id: courier_d_017
|
||||
text: "Two stops today. First one's done."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [renn, greeting, generation-pass]
|
||||
|
||||
- id: courier_d_018
|
||||
text: "Outbound for Havara. Needs a bay assignment."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [renn, greeting, procedural, generation-pass]
|
||||
|
||||
- id: courier_d_019
|
||||
text: "Gate's backed up. Running twenty minutes late."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [renn, delay, generation-pass]
|
||||
|
||||
- id: courier_d_020
|
||||
text: "Paperwork's in order. Same as always."
|
||||
role: courier
|
||||
access: [public, peer, authority]
|
||||
trust: surface
|
||||
situation: [routine, investigation]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [renn, procedural, generation-pass]
|
||||
|
||||
- id: courier_d_021
|
||||
text: "Quick turnaround today. Back out by 1300."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [renn, operational, generation-pass]
|
||||
|
||||
- id: courier_d_022
|
||||
text: "Signed off on bay three. That's me done here."
|
||||
role: courier
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [renn, closing, generation-pass]
|
||||
-397
@@ -1,397 +0,0 @@
|
||||
# Dialogue: dock-worker at The Terminal
|
||||
# NPC: Generic dock worker (Tier 3 template role — multiple workers share this pool)
|
||||
# Voice: short, practical, trade jargon. Community over institution. Not a lead.
|
||||
# Ring-aware: none. Floor is their whole world.
|
||||
# Ticket: #190 | Sprint: 12
|
||||
|
||||
location: the-terminal
|
||||
role: dock-worker
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# GREETINGS — shift arrival
|
||||
# ==========================================
|
||||
|
||||
- id: dock-worker_d_001
|
||||
text: "Push today. Bay six's backed up."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, arrival]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [dock-worker, greeting]
|
||||
|
||||
- id: dock-worker_d_002
|
||||
text: "Late night last cycle. Bay eight ran until 2300."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
topic: [routine]
|
||||
mood: [frustrated]
|
||||
tags: [dock-worker, greeting]
|
||||
|
||||
- id: dock-worker_d_003
|
||||
text: "Voss is on already. Floor's locked down tight."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, voss, caution]
|
||||
dual_lens:
|
||||
smuggler: "Voss is in early. If the schedule's tight, the window shifts. Check it."
|
||||
detective: "Workers treat the supervisor as a weather system — something to navigate around, not toward."
|
||||
|
||||
# ==========================================
|
||||
# FLOOR TALK — routine, cargo, observation
|
||||
# ==========================================
|
||||
|
||||
- id: dock-worker_d_004
|
||||
text: "Bay four's been on hold three days. Nobody says why."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, bay-four, procedural]
|
||||
dual_lens:
|
||||
smuggler: "He doesn't know what's in it. Just annoyed at the backup."
|
||||
detective: "Worker notices Bay 4 hold as unusual. Not suspicious — just a worker tracking the floor."
|
||||
|
||||
- id: dock-worker_d_005
|
||||
text: "Manifest looks clean. Three inbounds, two outbounds. Light day."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, manifest]
|
||||
|
||||
- id: dock-worker_d_006
|
||||
text: "Maret's been at that terminal all morning. Never good."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague, routine]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, maret, observation]
|
||||
dual_lens:
|
||||
smuggler: "Maret reviewing something. If she flags a discrepancy, Voss'll sit on it. He always does."
|
||||
detective: "Workers have noticed Maret's behavior. Whatever she found, it's not small."
|
||||
|
||||
- id: dock-worker_d_007
|
||||
text: "Drin ran bay six again last cycle. Third inspection this week."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, colleague]
|
||||
mood: [content]
|
||||
tags: [dock-worker, drin, inspection]
|
||||
dual_lens:
|
||||
smuggler: "Drin on six while bay four stays held. Scheduled or arranged?"
|
||||
detective: "Workers notice inspection distribution. Drin on six, bay four untouched."
|
||||
|
||||
- id: dock-worker_d_008
|
||||
text: "Transition window's twice as long with Commission eyes on the floor."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [shift_transition, routine]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, commission, transition-window]
|
||||
dual_lens:
|
||||
smuggler: "Commission presence during transition. Window's compromised."
|
||||
detective: "Workers slow down when Commission is visible. Normal — or trained."
|
||||
|
||||
- id: dock-worker_d_009
|
||||
text: "Good crew this cycle. Linn and Pael are both on."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [colleague, routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, pael, community]
|
||||
|
||||
- id: dock-worker_d_010
|
||||
text: "Cargo mark's off by forty, according to Maret. Voss logged it and moved on."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, colleague]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, maret, voss, discrepancy]
|
||||
dual_lens:
|
||||
smuggler: "Forty kilos. Maret flagged it. Voss buried it. Same as last time."
|
||||
detective: "Worker knows about a flagged discrepancy that was suppressed. That's a witness."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.oversight_gap_pattern
|
||||
confidence: suspects
|
||||
|
||||
- id: dock-worker_d_011
|
||||
text: "C-4 containers haven't been checked in three days. Not our problem, apparently."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, c4-storage, observation]
|
||||
dual_lens:
|
||||
smuggler: "C-4's getting casual attention. Note it."
|
||||
detective: "C-4 storage. Three days, no verification. That's the anomaly window."
|
||||
|
||||
# ==========================================
|
||||
# COMMUNITY / CASUAL
|
||||
# ==========================================
|
||||
|
||||
- id: dock-worker_d_012
|
||||
text: "You heading to the Last Shift after? Lera's got the grain spirit back."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, social, the-last-shift]
|
||||
|
||||
- id: dock-worker_d_013
|
||||
text: "Workers' Association meeting's cycle twenty-two. Handoff protocol's back on the agenda."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, workers-association, community]
|
||||
|
||||
- id: dock-worker_d_014
|
||||
text: "Drifters lost again. Four-three. Pael seemed to take it personally."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, social, pael]
|
||||
|
||||
# ==========================================
|
||||
# DETECTIVE ENCOUNTER — deflection, redirect
|
||||
# ==========================================
|
||||
|
||||
- id: dock-worker_d_015
|
||||
text: "Manifest questions go to the scheduler. I'm floor-side."
|
||||
role: dock-worker
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, detective-path, redirect]
|
||||
|
||||
- id: dock-worker_d_016
|
||||
text: "Commission's asked before. Same answers. We run a clean floor."
|
||||
role: dock-worker
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation, confrontation]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, detective-path, deflection]
|
||||
|
||||
- id: dock-worker_d_017
|
||||
text: "Voss handles discrepancies. That's above my level."
|
||||
role: dock-worker
|
||||
access: [authority, peer]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, detective-path, voss, redirect]
|
||||
|
||||
# ==========================================
|
||||
# PEER CANDOR — elevated trust
|
||||
# ==========================================
|
||||
|
||||
- id: dock-worker_d_018
|
||||
text: "Maret's going to push it. She doesn't leave a number sitting."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, maret, peer-candor]
|
||||
dual_lens:
|
||||
smuggler: "Maret's not going to drop it. That's the problem."
|
||||
detective: "Workers think Maret will force the issue. She may be the break."
|
||||
|
||||
- id: dock-worker_d_019
|
||||
text: "Voss runs a tight floor. Maybe too tight, if you take my meaning."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [routine]
|
||||
topic: [institution, colleague]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, voss, peer-candor]
|
||||
dual_lens:
|
||||
smuggler: "He suspects Voss is shaving something. Doesn't know what. Doesn't want to."
|
||||
detective: "Workers sense something off about Voss's management without naming it."
|
||||
|
||||
# ==========================================
|
||||
# SIGN-OFF
|
||||
# ==========================================
|
||||
|
||||
- id: dock-worker_d_020
|
||||
text: "Bay's clear. Good shift."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, closing]
|
||||
|
||||
- id: dock-worker_d_021
|
||||
text: "Night crew's here. We're done."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end, shift_transition]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, closing]
|
||||
|
||||
# ==========================================
|
||||
# GENERATION PASS — ambient variants
|
||||
# ==========================================
|
||||
|
||||
- id: dock-worker_d_022
|
||||
text: "Early start. Bay two's already loaded."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [dock-worker, greeting, generation-pass]
|
||||
|
||||
- id: dock-worker_d_023
|
||||
text: "Air recyclers are loud this morning. Must be the outer ring issue again."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, station, generation-pass]
|
||||
|
||||
- id: dock-worker_d_024
|
||||
text: "Pael's in early. Something must be broken in B-7 again."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [colleague, routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, pael, generation-pass]
|
||||
|
||||
- id: dock-worker_d_025
|
||||
text: "Running light today. Maybe I'll actually make it to the Last Shift before close."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, social, generation-pass]
|
||||
|
||||
- id: dock-worker_d_026
|
||||
text: "Bay three's got a scan hold. Not my problem. Not my bay."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, scan-hold, generation-pass]
|
||||
|
||||
- id: dock-worker_d_027
|
||||
text: "New hire's back. Asking questions again. Good kid."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague, routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, new-hire, generation-pass]
|
||||
|
||||
- id: dock-worker_d_028
|
||||
text: "Handoff's in ten. Don't disappear on me."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [shift_transition]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, handoff, generation-pass]
|
||||
|
||||
- id: dock-worker_d_029
|
||||
text: "Span gate cycled early. All inbounds are going to be late. Plan around it."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [routine, cargo]
|
||||
mood: [suspicious]
|
||||
tags: [dock-worker, span-gate, generation-pass]
|
||||
|
||||
- id: dock-worker_d_030
|
||||
text: "Linn's not in today. We're running two short on bay six."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, routine]
|
||||
topic: [colleague, routine]
|
||||
mood: [frustrated]
|
||||
tags: [dock-worker, staffing, generation-pass]
|
||||
|
||||
- id: dock-worker_d_031
|
||||
text: "Lunch is in the break room. Don't touch the one with Pael's name on it. He will notice."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, colleague]
|
||||
mood: [content]
|
||||
tags: [dock-worker, pael, humor, generation-pass]
|
||||
|
||||
- id: dock-worker_d_032
|
||||
text: "Overtime's posted if you want it. Bay eight, 1800 to 2200."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, overtime, generation-pass]
|
||||
|
||||
- id: dock-worker_d_033
|
||||
text: "Off on time today. First time this cycle."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [dock-worker, closing, generation-pass]
|
||||
-480
@@ -1,480 +0,0 @@
|
||||
# Kael Davan — THE FRIEND (Smuggler)
|
||||
# Dialogue at The Terminal (Logistics Hub)
|
||||
# Ticket: #297 | Sprint: 5 | Tier 1 FRIEND NPC
|
||||
# Voice: direct, practical, short sentences, first names, warm to trusted people
|
||||
# Tell: looks left before answering when lying
|
||||
|
||||
location: the-terminal
|
||||
role: dock-worker
|
||||
lines:
|
||||
|
||||
# ========================================
|
||||
# GREETINGS — Phase 1: Comfort (0-10 min)
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_034
|
||||
text: "There you are. Good — I was starting to wonder."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
mood: [warm]
|
||||
topic: [colleague]
|
||||
tags: [kael, greeting, phase-1]
|
||||
|
||||
- id: kael-davan_d_035
|
||||
text: "Morning. Freight's stacked clean today. Should be a smooth one."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [shift_start]
|
||||
mood: [content]
|
||||
topic: [routine]
|
||||
tags: [kael, greeting, phase-1]
|
||||
|
||||
- id: kael-davan_d_036
|
||||
text: "Voss has the schedule posted already. Keen today. That's suspicious."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [shift_start]
|
||||
mood: [content]
|
||||
topic: [colleague, routine]
|
||||
tags: [kael, greeting, humor]
|
||||
|
||||
- id: kael-davan_d_037
|
||||
text: "Hey. Grab a coffee before Voss finds something to complain about."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, social]
|
||||
mood: [warm]
|
||||
topic: [colleague]
|
||||
tags: [kael, greeting, phase-1]
|
||||
|
||||
- id: kael-davan_d_038
|
||||
text: "You look like you slept about as well as I did."
|
||||
role: dock-worker
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [arrival, social]
|
||||
mood: [content]
|
||||
topic: [personal]
|
||||
tags: [kael, greeting, casual]
|
||||
|
||||
# Public greeting for detective / outsiders
|
||||
- id: kael-davan_d_039
|
||||
text: "Can I help you? If you're looking for the supervisor, Voss is by the schedule board."
|
||||
role: dock-worker
|
||||
access: [public, authority]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
mood: [content]
|
||||
topic: [routine]
|
||||
tags: [kael, greeting, outsider]
|
||||
|
||||
# ========================================
|
||||
# SHIFT TALK — routine dialogue
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_040
|
||||
text: "Bay three's running behind. If we don't clear it by shift end, Voss is going to lose it."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
mood: [content]
|
||||
topic: [routine, cargo]
|
||||
tags: [kael, operational]
|
||||
|
||||
- id: kael-davan_d_041
|
||||
text: "Manifest says this one's forty kilos over. Logging error, probably."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
mood: [content]
|
||||
topic: [cargo, routine]
|
||||
tags: [kael, operational]
|
||||
knowledge_grant:
|
||||
fact_id: investigation.manifest_discrepancy
|
||||
confidence: suspects
|
||||
|
||||
- id: kael-davan_d_042
|
||||
text: "Night shift left the dock in decent shape for once. Miracles happen."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [shift_start]
|
||||
mood: [content]
|
||||
topic: [routine]
|
||||
tags: [kael, humor]
|
||||
|
||||
- id: kael-davan_d_043
|
||||
text: "Loading arm three's been grinding all week. Someone should file a maintenance ticket."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
mood: [content]
|
||||
topic: [routine]
|
||||
tags: [kael, environmental]
|
||||
|
||||
- id: kael-davan_d_044
|
||||
text: "Maret rerouted the bay four queue. Tight schedule today."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
mood: [content]
|
||||
topic: [cargo, colleague]
|
||||
tags: [kael, operational, maret]
|
||||
|
||||
- id: kael-davan_d_045
|
||||
text: "Shift transition in twenty. After that it's Drin's problem."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [shift_end, shift_transition]
|
||||
mood: [content]
|
||||
topic: [routine]
|
||||
tags: [kael, operational]
|
||||
|
||||
- id: kael-davan_d_046
|
||||
text: "Naia's got a school event tonight. I'm heading home straight after shift."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [social, routine]
|
||||
mood: [warm]
|
||||
topic: [personal]
|
||||
tags: [kael, naia-reference, casual]
|
||||
|
||||
- id: kael-davan_d_047
|
||||
text: "New hire started on bay seven. Keen. Reminds me of my first week."
|
||||
role: dock-worker
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, social]
|
||||
mood: [content]
|
||||
topic: [colleague]
|
||||
tags: [kael, observational]
|
||||
|
||||
# ========================================
|
||||
# RING COORDINATION — insider, real trust
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_048
|
||||
text: "Container 4471 is flagged. I'll reroute it during shift transition."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
mood: [focused]
|
||||
topic: [cargo]
|
||||
tags: [kael, ring-ops, operational, phase-2]
|
||||
|
||||
- id: kael-davan_d_049
|
||||
text: "Voss kept the window clear. Twenty minutes, maybe twenty-five."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
mood: [focused]
|
||||
topic: [cargo, routine]
|
||||
tags: [kael, ring-ops, operational, phase-2]
|
||||
|
||||
- id: kael-davan_d_050
|
||||
text: "Renn's on the corridor side. Package moves when I give the signal."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
mood: [focused]
|
||||
topic: [cargo]
|
||||
tags: [kael, ring-ops, renn, phase-2]
|
||||
|
||||
- id: kael-davan_d_051
|
||||
text: "Manifest's clean on my end. Maret processed it without questions."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine]
|
||||
mood: [content]
|
||||
topic: [cargo]
|
||||
tags: [kael, ring-ops, maret, phase-2]
|
||||
|
||||
- id: kael-davan_d_052
|
||||
text: "Nils wants higher volume next cycle. I told him we're already tight."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [social]
|
||||
mood: [frustrated]
|
||||
topic: [danger, trust]
|
||||
tags: [kael, ring-ops, nils, tension, phase-2]
|
||||
|
||||
- id: kael-davan_d_053
|
||||
text: "Drin waved through bay four without checking. At least he's reliable."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine]
|
||||
mood: [content]
|
||||
topic: [colleague]
|
||||
tags: [kael, ring-ops, drin, phase-2]
|
||||
knowledge_grant:
|
||||
fact_id: investigation.drin_inspection_pattern
|
||||
confidence: knows_details
|
||||
|
||||
- id: kael-davan_d_054
|
||||
text: "Keep an eye on Maret. She's been looking at the manifests longer than usual."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [routine, social]
|
||||
mood: [anxious]
|
||||
topic: [colleague, danger]
|
||||
tags: [kael, ring-ops, maret, caution, phase-2]
|
||||
|
||||
- id: kael-davan_d_055
|
||||
text: "There's a sealed one in the batch tonight. Nils says components. Don't open it."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
mood: [frustrated]
|
||||
topic: [cargo, danger]
|
||||
tags: [kael, ring-ops, contraband, phase-2]
|
||||
|
||||
# ========================================
|
||||
# TRUST-GATED — deep trust, secret tier
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_056
|
||||
text: "Some days I wonder how long we can keep this up."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: secret
|
||||
situation: [social, alone]
|
||||
mood: [anxious]
|
||||
topic: [trust, personal]
|
||||
tags: [kael, vulnerability, friend-arc]
|
||||
|
||||
- id: kael-davan_d_057
|
||||
text: "Naia asked me again last night. Where I go. Why I'm late. I hate lying to her."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: secret
|
||||
situation: [social, alone]
|
||||
mood: [anxious]
|
||||
topic: [personal, trust]
|
||||
tags: [kael, naia-reference, vulnerability]
|
||||
|
||||
- id: kael-davan_d_058
|
||||
text: "If something happens to me — look out for Naia. Promise me that."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: secret
|
||||
situation: [alone]
|
||||
mood: [anxious]
|
||||
topic: [personal, trust]
|
||||
tags: [kael, naia-reference, vulnerability, friend-arc]
|
||||
|
||||
# ========================================
|
||||
# UNPROMPTED — Kael volunteers or warns
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_059
|
||||
text: "Heads up — Voss is in a mood. Keep your head down this shift."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [shift_start]
|
||||
mood: [frustrated]
|
||||
topic: [colleague, danger]
|
||||
tags: [kael, unprompted, warning]
|
||||
|
||||
- id: kael-davan_d_060
|
||||
text: "I'm buying at Lera's after shift. You're coming. No arguments."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [shift_end, social]
|
||||
mood: [warm]
|
||||
topic: [personal, colleague]
|
||||
tags: [kael, unprompted, social]
|
||||
|
||||
- id: kael-davan_d_061
|
||||
text: "Torek's been running his mouth at the bar. You might want to have a word."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [social]
|
||||
mood: [anxious]
|
||||
topic: [danger, colleague]
|
||||
tags: [kael, unprompted, torek, caution]
|
||||
|
||||
# ========================================
|
||||
# DEFLECTION — Phase 2-4: Post-contradiction
|
||||
# ========================================
|
||||
|
||||
- id: kael-davan_d_062
|
||||
text: "It's nothing. Just work stuff."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [confrontation, social]
|
||||
mood: [frustrated]
|
||||
topic: [personal]
|
||||
tags: [kael, deflection, phase-4]
|
||||
|
||||
- id: kael-davan_d_063
|
||||
text: "Don't worry about it. I've got it handled."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [confrontation]
|
||||
mood: [frustrated]
|
||||
topic: [personal, trust]
|
||||
tags: [kael, deflection, phase-4]
|
||||
|
||||
- id: kael-davan_d_064
|
||||
text: "I was checking on a maintenance issue. That's all."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [confrontation]
|
||||
mood: [frustrated]
|
||||
topic: [routine]
|
||||
tags: [kael, deflection, lying, phase-4]
|
||||
|
||||
- id: kael-davan_d_065
|
||||
text: "You're reading too much into it. Come on — shift's starting."
|
||||
role: dock-worker
|
||||
access: [insider, peer]
|
||||
trust: surface
|
||||
situation: [confrontation, shift_start]
|
||||
mood: [frustrated]
|
||||
topic: [routine, trust]
|
||||
tags: [kael, deflection, subject-change, phase-4]
|
||||
|
||||
- id: kael-davan_d_066
|
||||
text: "Can we not do this here? Voss is watching."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: surface
|
||||
situation: [confrontation]
|
||||
mood: [frustrated]
|
||||
topic: [danger]
|
||||
tags: [kael, deflection, phase-4]
|
||||
|
||||
# ========================================
|
||||
# CONFRONTATION RESPONSES — Phase 4-5
|
||||
# ========================================
|
||||
|
||||
# Path A: Gentle confrontation
|
||||
- id: kael-davan_d_067
|
||||
text: "I... yeah. I need to tell you something. But not here."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [confrontation, alone]
|
||||
mood: [anxious]
|
||||
topic: [trust, personal]
|
||||
tags: [kael, confession-path, phase-5]
|
||||
|
||||
# Path B: Harsh pressure
|
||||
- id: kael-davan_d_068
|
||||
text: "You want to report me? Go ahead. See what Nils does to both of us."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: surface
|
||||
situation: [confrontation]
|
||||
mood: [frustrated]
|
||||
topic: [danger, trust]
|
||||
tags: [kael, hostile-path, phase-5]
|
||||
|
||||
# If smuggler pushes further (gentle)
|
||||
- id: kael-davan_d_069
|
||||
text: "Naia can't keep living like this. Neither can I. I'm looking for a way out."
|
||||
role: dock-worker
|
||||
access: [insider]
|
||||
trust: secret
|
||||
situation: [confrontation, alone]
|
||||
mood: [anxious]
|
||||
topic: [personal, trust]
|
||||
tags: [kael, confession, naia-reference, phase-5]
|
||||
|
||||
# If detective confronts (authority path)
|
||||
- id: kael-davan_d_070
|
||||
text: "I don't know what you're talking about. I load containers. That's my job."
|
||||
role: dock-worker
|
||||
access: [public, authority]
|
||||
trust: surface
|
||||
situation: [confrontation, investigation]
|
||||
topic: [routine]
|
||||
tags: [kael, deflection, detective-path]
|
||||
|
||||
- id: kael-davan_d_071
|
||||
text: "You want to ask questions, talk to Voss. He runs the schedule."
|
||||
role: dock-worker
|
||||
access: [public, authority]
|
||||
trust: surface
|
||||
situation: [confrontation, investigation]
|
||||
topic: [colleague, routine]
|
||||
tags: [kael, deflection, detective-path, voss]
|
||||
|
||||
# ========================================
|
||||
# LAYER 2 GREETING VARIANTS — D-028 Layer 2
|
||||
# Ticket #170 (Sprint 15). situation: [greeting] fires on initial contact.
|
||||
# Access tier + mood encode relationship history state.
|
||||
# ========================================
|
||||
|
||||
# first_meeting: InteractionMemory.count == 0. RelationshipState: Unknown → Public access only.
|
||||
- id: kael-davan_d_072
|
||||
text: "This section is dock crew and logistics. If you're Commission or admin, check-in's back that way."
|
||||
role: dock-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [content]
|
||||
topic: [routine]
|
||||
tags: [kael, greeting, first-meeting, layer2]
|
||||
notes: "Layer 2 greeting — first meeting. Kael is helpful but orienting the stranger away from his work."
|
||||
|
||||
# established — peer/smuggler context: count >= 3, RelationshipState: Known/Friendly → Peer/Insider access.
|
||||
- id: kael-davan_d_073
|
||||
text: "You're back. Good — bay three's been quiet. I'll fill you in."
|
||||
role: dock-worker
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [warm]
|
||||
topic: [colleague, routine]
|
||||
tags: [kael, greeting, repeat-visit, peer-tone, layer2]
|
||||
notes: "Layer 2 greeting — established. Warm, practical, skips pleasantries. Treats them as crew."
|
||||
|
||||
# established — authority/detective context: count >= 3, RelationshipState: PersonOfInterest → Authority access.
|
||||
- id: kael-davan_d_074
|
||||
text: "Back again. I'm on shift — if you have questions, make them quick."
|
||||
role: dock-worker
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [focused]
|
||||
topic: [routine]
|
||||
tags: [kael, greeting, repeat-visit, authority-tone, layer2]
|
||||
notes: "Layer 2 greeting — repeat with authority figure. Professional, clipped, not hostile. Kael can't refuse but won't volunteer."
|
||||
|
||||
# post-confrontation: confrontation in InteractionMemory.notable_events. NPC mood shifted to suspicious/frustrated.
|
||||
- id: kael-davan_d_075
|
||||
text: "Didn't expect you today."
|
||||
role: dock-worker
|
||||
access: [peer, insider]
|
||||
trust: surface
|
||||
situation: [greeting]
|
||||
mood: [suspicious, frustrated]
|
||||
topic: [personal]
|
||||
tags: [kael, greeting, post-confrontation, layer2]
|
||||
notes: "Layer 2 greeting — post-confrontation. Strained. Four words doing the work of a paragraph. Not hostile but the warmth is gone."
|
||||
-86
@@ -1,86 +0,0 @@
|
||||
# Dialogue: maintenance-tech at The Terminal
|
||||
# NPC: Pael Varren (Tier 3, NOBODY/CIVILIAN)
|
||||
# Voice: tired-competent, minimal, dry. Knows the infrastructure. Knows nothing else.
|
||||
# KEY LINE: maintenance-tech_d_001 — sounds like surveillance knowledge, is a maintenance complaint
|
||||
# Ticket: #307 | Sprint: 12
|
||||
|
||||
location: the-terminal
|
||||
role: maintenance-tech
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# "SEEMS IMPORTANT BUT ISN'T" LINE
|
||||
# Sounds like Pael monitors corridor traffic for a reason.
|
||||
# Actually: the B-7 seal fails when people use the corridor too much. Pael notices load.
|
||||
# ==========================================
|
||||
|
||||
- id: maintenance-tech_d_001
|
||||
text: "B-7's had three seal failures this cycle. Someone's been through there more than they should."
|
||||
role: maintenance-tech
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [pael, seems-important-but-isnt, maintenance, b7]
|
||||
dual_lens:
|
||||
smuggler: "Pael knows the corridor's been used. But Pael knows nothing — this is an HVAC complaint."
|
||||
detective: "Corridor B-7 traffic. A maintenance tech noticing irregular use. Unreliable but worth noting."
|
||||
notes: >
|
||||
THE key flat NPC line for Pael. Sounds like environmental intelligence.
|
||||
Is a complaint about a recurring seal failure caused by foot traffic.
|
||||
Pael doesn't know what the traffic is from. Never will.
|
||||
|
||||
# ==========================================
|
||||
# ROUTINE LINES
|
||||
# ==========================================
|
||||
|
||||
- id: maintenance-tech_d_002
|
||||
text: "Air recycler's running hot again. Third deferred ticket this week."
|
||||
role: maintenance-tech
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [pael, atmospheric]
|
||||
|
||||
- id: maintenance-tech_d_003
|
||||
text: "Loading arm three's been on my list for a month. Management keeps deferring it."
|
||||
role: maintenance-tech
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [pael, atmospheric]
|
||||
|
||||
- id: maintenance-tech_d_004
|
||||
text: "If the gate tone shifts, stay clear of bay six. She needs recalibration."
|
||||
role: maintenance-tech
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [pael, warning, helpful]
|
||||
|
||||
- id: maintenance-tech_d_005
|
||||
text: "Not me. I just fix them."
|
||||
role: maintenance-tech
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine, social]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [pael, response]
|
||||
|
||||
- id: maintenance-tech_d_006
|
||||
text: "Gate hum's been three cycles off-spec. Nobody cares until it stops completely."
|
||||
role: maintenance-tech
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [pael, atmospheric]
|
||||
-264
@@ -1,264 +0,0 @@
|
||||
# Dialogue: new-hire at The Terminal
|
||||
# NPC: Generic new hire (Tier 3 template role — recently arrived worker)
|
||||
# Voice: enthusiastic, still reading the room. Asks what veterans stopped asking.
|
||||
# Ring-aware: none. Fresh eyes are the danger — they notice what regulars stopped seeing.
|
||||
# Ticket: #190 | Sprint: 12
|
||||
|
||||
location: the-terminal
|
||||
role: new-hire
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# GREETINGS — early days
|
||||
# ==========================================
|
||||
|
||||
- id: new-hire_d_001
|
||||
text: "Still figuring out the bay numbering. Six and eight are in the wrong order."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, greeting, orientation]
|
||||
|
||||
- id: new-hire_d_002
|
||||
text: "Voss told me to check in with you. Is that the standard thing?"
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [new-hire, greeting, voss]
|
||||
|
||||
- id: new-hire_d_003
|
||||
text: "First full cycle on the floor. Trying to stay out of the way."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, greeting]
|
||||
|
||||
# ==========================================
|
||||
# FRESH OBSERVATIONS — the dangerous innocence
|
||||
# ==========================================
|
||||
|
||||
- id: new-hire_d_004
|
||||
text: "Does bay four usually get held that long? The other bays turned over twice already."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, bay-four, observation]
|
||||
dual_lens:
|
||||
smuggler: "New eyes on bay four. He doesn't know what he's looking at. But he noticed."
|
||||
detective: "New hire asking exactly the right question without knowing it."
|
||||
|
||||
- id: new-hire_d_005
|
||||
text: "I saw someone go into C-4 last night without a scan log. Is that normal?"
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, c4-storage, observation, inadvertent-witness]
|
||||
dual_lens:
|
||||
smuggler: "He saw someone in C-4 without a log. Does he know who? This is a problem."
|
||||
detective: "Unlogged C-4 access. New hire, noticed it, mentioned it casually. He doesn't know what he saw."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.cargo_anomaly
|
||||
confidence: suspects
|
||||
notes: "High-value inadvertent witness line. Operationally dangerous for the ring."
|
||||
|
||||
- id: new-hire_d_006
|
||||
text: "Why does the transition window only get twenty minutes? The stations I trained at ran thirty."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_transition]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, transition-window, comparison]
|
||||
dual_lens:
|
||||
smuggler: "He's asking about the window. Doesn't know why it matters. Answer carefully."
|
||||
detective: "New hire confirms the window length is unusually short. File that."
|
||||
|
||||
- id: new-hire_d_007
|
||||
text: "Do containers usually get rerouted mid-hold? One went out through bay four while I thought it was still held."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, bay-four, inadvertent-witness]
|
||||
dual_lens:
|
||||
smuggler: "He saw movement through bay four during the hold. This is a liability."
|
||||
detective: "Container movement through bay four during official hold. Inadvertent eyewitness. Confirm timing."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.manifest_discrepancy
|
||||
confidence: suspects
|
||||
|
||||
- id: new-hire_d_008
|
||||
text: "Maintenance corridor access is just off C-4, right? I took the wrong turn twice."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, maintenance-corridors, orientation]
|
||||
dual_lens:
|
||||
smuggler: "He found the corridor entrance by accident. Normal for new workers. Noted."
|
||||
detective: "New hire maps spatial relationship between C-4 storage and maintenance corridor access. That's the route."
|
||||
|
||||
# ==========================================
|
||||
# LEARNING / QUESTIONS
|
||||
# ==========================================
|
||||
|
||||
- id: new-hire_d_009
|
||||
text: "What's the Commission kiosk actually for? Nobody seems to use it."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, commission, curiosity]
|
||||
|
||||
- id: new-hire_d_010
|
||||
text: "Maret seems stressed. Is that always the case or is something going on?"
|
||||
role: new-hire
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [new-hire, maret, observation]
|
||||
dual_lens:
|
||||
smuggler: "He noticed Maret. Good that he's asking, not reporting. Manage this."
|
||||
detective: "New hire reads Maret's stress without context. Confirms it's visible."
|
||||
|
||||
- id: new-hire_d_011
|
||||
text: "Voss seems really serious. Is he always like that?"
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [new-hire, voss, curiosity]
|
||||
|
||||
- id: new-hire_d_012
|
||||
text: "How long before Voss trusts you to run a bay on your own?"
|
||||
role: new-hire
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, voss, career]
|
||||
|
||||
# ==========================================
|
||||
# SIGN-OFF
|
||||
# ==========================================
|
||||
|
||||
- id: new-hire_d_013
|
||||
text: "That was a full shift. I'll have the bay numbers down by next cycle."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, closing]
|
||||
|
||||
- id: new-hire_d_014
|
||||
text: "Good day. Lot to learn. But good."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, closing]
|
||||
|
||||
# ==========================================
|
||||
# GENERATION PASS — ambient variants
|
||||
# ==========================================
|
||||
|
||||
- id: new-hire_d_015
|
||||
text: "Is there a trick to the manifest terminal or does it always lag like this?"
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, orientation, generation-pass]
|
||||
|
||||
- id: new-hire_d_016
|
||||
text: "How long has Maret been here? She seems like she knows everything."
|
||||
role: new-hire
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [new-hire, maret, curiosity, generation-pass]
|
||||
|
||||
- id: new-hire_d_017
|
||||
text: "Nobody told me about the span gate frequency. I kept thinking something was wrong."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, arrival]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, orientation, generation-pass]
|
||||
|
||||
- id: new-hire_d_018
|
||||
text: "The Last Shift — is that actually a bar? I haven't been yet."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, social, generation-pass]
|
||||
|
||||
- id: new-hire_d_019
|
||||
text: "I thought the scanner on bay three was broken. Turns out you have to hold the badge longer."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [new-hire, orientation, humor, generation-pass]
|
||||
|
||||
- id: new-hire_d_020
|
||||
text: "Who's Drin? I keep hearing the name but haven't met them."
|
||||
role: new-hire
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [new-hire, drin, curiosity, generation-pass]
|
||||
|
||||
- id: new-hire_d_021
|
||||
text: "Three cycles in and I still can't tell when Voss is satisfied. Is there a tell?"
|
||||
role: new-hire
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [colleague]
|
||||
mood: [content]
|
||||
tags: [new-hire, voss, humor, generation-pass]
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
# PC-as-NPC: The Detective (NPC mode, seen by smuggler player)
|
||||
# Dialogue at The Terminal (Logistics Hub)
|
||||
# Ticket: #401 | Sprint: 5 | PC-as-NPC content
|
||||
# Voice: professional, measured, complete sentences, formal. Surnames for strangers.
|
||||
# Context: public-tier only. The detective-NPC responds to the smuggler with
|
||||
# institutional blandness — standard compliance officer, nothing to see here.
|
||||
# Agency: NEUTRAL PATH. No confrontations, no evidence reveals.
|
||||
|
||||
location: the-terminal
|
||||
role: commission-liaison
|
||||
lines:
|
||||
|
||||
# ========================================
|
||||
# PUBLIC-TIER — smuggler approaches detective-NPC
|
||||
# These are the only lines the smuggler can trigger.
|
||||
# First playthrough: institutional threat.
|
||||
# Second playthrough: "That's me."
|
||||
# ========================================
|
||||
|
||||
- id: pc-detective_d_004
|
||||
text: "Good morning. Commission Liaison Office. I'm conducting a routine compliance review."
|
||||
role: commission-liaison
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, greeting]
|
||||
mood: [content]
|
||||
topic: [routine]
|
||||
tags: [pc-detective, greeting, public-tier]
|
||||
|
||||
- id: pc-detective_d_005
|
||||
text: "Standard review. Manifest reconciliation, scheduling compliance. Nothing unusual."
|
||||
role: commission-liaison
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [routine]
|
||||
tags: [pc-detective, purpose-question, public-tier]
|
||||
|
||||
- id: pc-detective_d_006
|
||||
text: "Only been here a few days. Seems like a well-run operation."
|
||||
role: commission-liaison
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [routine]
|
||||
tags: [pc-detective, district-question, public-tier]
|
||||
|
||||
- id: pc-detective_d_007
|
||||
text: "Ms. Venn? Colleague. We've worked in the same division."
|
||||
role: commission-liaison
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [colleague]
|
||||
tags: [pc-detective, sera-question, public-tier]
|
||||
|
||||
- id: pc-detective_d_008
|
||||
text: "I appreciate the interest, but I'm sure you have cargo to route. I won't keep you."
|
||||
role: commission-liaison
|
||||
access: [public, authority]
|
||||
trust: surface
|
||||
situation: [confrontation]
|
||||
topic: [routine]
|
||||
tags: [pc-detective, deflection, public-tier]
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
# PC-as-NPC: The Smuggler (NPC mode, seen by detective player)
|
||||
# Dialogue at The Terminal (Logistics Hub)
|
||||
# Ticket: #401 | Sprint: 5 | PC-as-NPC content
|
||||
# Voice: casual, guarded, short sentences, contractions always
|
||||
# Context: public-tier only. The smuggler-NPC responds to the detective with
|
||||
# polite minimum — standard dock worker who doesn't want Commission attention.
|
||||
# Agency: NEUTRAL PATH. No dramatic choices, no revelations.
|
||||
|
||||
location: the-terminal
|
||||
role: dock-worker
|
||||
lines:
|
||||
|
||||
# ========================================
|
||||
# PUBLIC-TIER — detective approaches smuggler-NPC
|
||||
# These are the only lines the detective can trigger.
|
||||
# First playthrough: unremarkable dock worker.
|
||||
# Second playthrough: "That's me."
|
||||
# ========================================
|
||||
|
||||
- id: pc-smuggler_d_004
|
||||
text: "Morning. Can I help you with something?"
|
||||
role: dock-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, greeting]
|
||||
mood: [content]
|
||||
topic: [routine]
|
||||
tags: [pc-smuggler, greeting, public-tier]
|
||||
|
||||
- id: pc-smuggler_d_005
|
||||
text: "Cargo routing. Containers come in, I process them out. Standard stuff."
|
||||
role: dock-worker
|
||||
access: [public, authority]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
topic: [routine, cargo]
|
||||
tags: [pc-smuggler, work-question, public-tier]
|
||||
|
||||
- id: pc-smuggler_d_006
|
||||
text: "It's a freight hub. Busy during shifts, quiet after. Same as anywhere."
|
||||
role: dock-worker
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
topic: [routine]
|
||||
tags: [pc-smuggler, hub-question, public-tier]
|
||||
|
||||
- id: pc-smuggler_d_007
|
||||
text: "Good crew. We do our shifts, go home. Nothing exciting."
|
||||
role: dock-worker
|
||||
access: [public, authority]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
topic: [colleague, routine]
|
||||
tags: [pc-smuggler, colleagues-question, public-tier]
|
||||
|
||||
- id: pc-smuggler_d_008
|
||||
text: "Look, I just move containers. You'd want to talk to Voss about scheduling."
|
||||
role: dock-worker
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [confrontation, investigation]
|
||||
topic: [routine, colleague]
|
||||
tags: [pc-smuggler, deflection, public-tier, voss]
|
||||
-371
@@ -1,371 +0,0 @@
|
||||
# Dialogue: scheduler at The Terminal
|
||||
# NPC: Maret (Tier 2, WITNESS/SKEPTIC)
|
||||
# Voice: precise, institutional. Numbers and containers, not people. Unease she keeps professional.
|
||||
# Arc: flags discrepancies → gets suppressed by Voss → suspicion hardens → potential detective source
|
||||
# Ring-aware: not involved. Seeing the pattern. Hasn't named it yet.
|
||||
# Ticket: #190 | Sprint: 12
|
||||
|
||||
location: the-terminal
|
||||
role: scheduler
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# GREETINGS — scheduler's opening read
|
||||
# ==========================================
|
||||
|
||||
- id: scheduler_d_001
|
||||
text: "Manifest's current. Bay assignments are posted."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, arrival]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [maret, procedural, greeting]
|
||||
|
||||
- id: scheduler_d_002
|
||||
text: "Container 4471 is still in C-4. Scheduled for bay six by 1400. Check with Voss if the hold's lifted."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [maret, container-4471, procedural]
|
||||
dual_lens:
|
||||
smuggler: "She's tracking 4471 as a scheduling issue. Not flagging it as a discrepancy yet."
|
||||
detective: "Maret references container 4471 as an unresolved routing issue. She knows the number."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.manifest_discrepancy
|
||||
confidence: suspects
|
||||
|
||||
- id: scheduler_d_003
|
||||
text: "Three inbounds today. All verified against the manifest. No gaps so far."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [maret, procedural, manifest]
|
||||
|
||||
# ==========================================
|
||||
# DISCREPANCY PATTERN — the core arc
|
||||
# ==========================================
|
||||
|
||||
- id: scheduler_d_004
|
||||
text: "Container 4474 shows a forty-seven kilo discrepancy. I've flagged it twice."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, investigation]
|
||||
topic: [cargo, routine]
|
||||
mood: [frustrated]
|
||||
tags: [maret, discrepancy, flagging]
|
||||
dual_lens:
|
||||
smuggler: "Which container? Not 4471. She's flagging a different one. Two flags, no escalation."
|
||||
detective: "Maret has flagged container 4474 twice. If Voss suppressed it both times, there's a paper trail."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.oversight_gap_pattern
|
||||
confidence: suspects
|
||||
|
||||
- id: scheduler_d_005
|
||||
text: "It was logged as administrative. I don't know what that means for a weight discrepancy."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [frustrated]
|
||||
tags: [maret, discrepancy, institutional-response]
|
||||
dual_lens:
|
||||
smuggler: "She doesn't know what 'administrative' means either. Voss's answer covered nothing."
|
||||
detective: "Maret knows the answer she got wasn't a real answer. She's still sitting with that."
|
||||
|
||||
- id: scheduler_d_006
|
||||
text: "The transition window anomalies cluster at shift change. I've run the numbers four times. It's not random."
|
||||
role: scheduler
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine, investigation]
|
||||
topic: [cargo, routine]
|
||||
mood: [frustrated]
|
||||
tags: [maret, pattern, transition-window]
|
||||
dual_lens:
|
||||
smuggler: "She's found the pattern. Not the cause. Not yet."
|
||||
detective: "Maret has independently confirmed the transition window cluster. She's already halfway to the conclusion."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.manifest_discrepancy
|
||||
confidence: knows_details
|
||||
|
||||
- id: scheduler_d_007
|
||||
text: "Three separate manifest entries show weight variations under ten kilos. Within rounding, technically."
|
||||
role: scheduler
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [frustrated]
|
||||
tags: [maret, pattern, manifest]
|
||||
dual_lens:
|
||||
smuggler: "She's tracking the small ones too. But 'within rounding' is what Voss told her. She's not satisfied."
|
||||
detective: "Sub-threshold variations. Small enough to dismiss individually. Maret's running aggregate analysis."
|
||||
|
||||
- id: scheduler_d_008
|
||||
text: "I filed a formal notice with Voss. He reviewed it and told me it was resolved. It's not resolved."
|
||||
role: scheduler
|
||||
access: [peer]
|
||||
trust: surface
|
||||
situation: [routine, confrontation]
|
||||
topic: [cargo, institution]
|
||||
mood: [frustrated]
|
||||
tags: [maret, voss, suppression, frustration]
|
||||
dual_lens:
|
||||
smuggler: "She filed a formal notice. Voss sat on it. She knows. This is the pressure point."
|
||||
detective: "Formal notice filed, suppressed by supervisor. If that notice exists in the system, it's evidence."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.oversight_gap_pattern
|
||||
confidence: knows_details
|
||||
|
||||
# ==========================================
|
||||
# ROUTINE SCHEDULING — grounded work
|
||||
# ==========================================
|
||||
|
||||
- id: scheduler_d_009
|
||||
text: "Bay eight's running on reduced capacity until 1700. Route inbounds through six."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [maret, operational]
|
||||
|
||||
- id: scheduler_d_010
|
||||
text: "Drin's running the inspection on bay six this cycle. Bay four's on hold per Voss's directive."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [maret, drin, bay-four, scheduling]
|
||||
dual_lens:
|
||||
smuggler: "Maret confirmed it: bay four is Voss's directive. Not a system hold."
|
||||
detective: "The bay four hold comes directly from Voss, not from the system. Discretionary hold."
|
||||
|
||||
- id: scheduler_d_011
|
||||
text: "Overtime requests go through Meridian. I can't process them on paper anymore."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [maret, administrative]
|
||||
|
||||
- id: scheduler_d_012
|
||||
text: "Manifest update at 1300. If your containers aren't posted by then, they don't make the cycle."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [maret, procedural, manifest]
|
||||
|
||||
# ==========================================
|
||||
# DETECTIVE ENCOUNTER — access and resistance
|
||||
# ==========================================
|
||||
|
||||
- id: scheduler_d_013
|
||||
text: "Commission manifest access requires a formal request through Voss. I can tell you what's on the public record."
|
||||
role: scheduler
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
topic: [institution, cargo]
|
||||
mood: [content]
|
||||
tags: [maret, detective-path, procedural]
|
||||
|
||||
- id: scheduler_d_014
|
||||
text: "The flagged entries are in the system. They were logged as reviewed and closed. That's what I can confirm."
|
||||
role: scheduler
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [cargo, institution]
|
||||
mood: [frustrated]
|
||||
tags: [maret, detective-path, discrepancy-disclosure]
|
||||
dual_lens:
|
||||
smuggler: "Never encounters this line."
|
||||
detective: "Maret confirms the flags exist in the system. And she's using careful language: 'what I can confirm.' There's more."
|
||||
|
||||
- id: scheduler_d_015
|
||||
text: "I'm not in a position to speak to why certain reviews were closed the way they were."
|
||||
role: scheduler
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation, confrontation]
|
||||
topic: [institution, cargo]
|
||||
mood: [frustrated]
|
||||
tags: [maret, detective-path, careful-language]
|
||||
dual_lens:
|
||||
smuggler: "Never encounters this line."
|
||||
detective: "She's being very precise about what she will and won't say. 'Not in a position' means she has a position. Come back when she trusts me more."
|
||||
|
||||
# ==========================================
|
||||
# ELEVATED TRUST — Maret breaks professional distance
|
||||
# ==========================================
|
||||
|
||||
- id: scheduler_d_016
|
||||
text: "The pattern I'm seeing doesn't make sense for equipment failure. It's too consistent."
|
||||
role: scheduler
|
||||
access: [peer, insider]
|
||||
trust: real
|
||||
situation: [routine, investigation]
|
||||
topic: [cargo, investigation]
|
||||
mood: [frustrated]
|
||||
tags: [maret, peer-candor, pattern]
|
||||
dual_lens:
|
||||
smuggler: "She's figured it out. She hasn't said what 'it' is. But she knows the numbers aren't random."
|
||||
detective: "Maret has crossed from anomaly-logging into active pattern recognition. She's running an informal parallel investigation."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.manifest_discrepancy
|
||||
confidence: knows_details
|
||||
|
||||
- id: scheduler_d_017
|
||||
text: "I filed a second formal notice two cycles ago. It's been under review since then. By Voss."
|
||||
role: scheduler
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [routine, confrontation]
|
||||
topic: [cargo, institution]
|
||||
mood: [frustrated]
|
||||
tags: [maret, voss, suppression, peer-candor]
|
||||
dual_lens:
|
||||
smuggler: "Two formal notices. Both sitting with Voss. He's managing her output directly."
|
||||
detective: "Second formal notice. Both under Voss's review. That's documented suppression with a timestamp."
|
||||
knowledge_grant:
|
||||
fact_id: behavioral.voss_awareness
|
||||
confidence: knows_details
|
||||
|
||||
- id: scheduler_d_018
|
||||
text: "I don't think I should be the one telling you this."
|
||||
role: scheduler
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [confrontation, alone]
|
||||
topic: [investigation]
|
||||
mood: [frustrated]
|
||||
tags: [maret, detective-path, threshold-line]
|
||||
notes: "Gate line. Opens when detective has built enough trust. What follows depends on the conversation state."
|
||||
|
||||
# ==========================================
|
||||
# SIGN-OFF
|
||||
# ==========================================
|
||||
|
||||
- id: scheduler_d_019
|
||||
text: "Manifest posted for the evening shift. I'm off at 1500."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [maret, closing]
|
||||
|
||||
- id: scheduler_d_020
|
||||
text: "Numbers don't lie. People lie about numbers."
|
||||
role: scheduler
|
||||
access: [peer]
|
||||
trust: real
|
||||
situation: [shift_end, routine]
|
||||
topic: [routine]
|
||||
mood: [frustrated]
|
||||
tags: [maret, closing, character-line]
|
||||
notes: "Low-access line. Maret's professional philosophy. Can fire as ambient or as a closing beat."
|
||||
|
||||
# ==========================================
|
||||
# GENERATION PASS — ambient variants
|
||||
# ==========================================
|
||||
|
||||
- id: scheduler_d_021
|
||||
text: "Bay assignments updated as of 0900. Check before you touch anything."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [maret, procedural, generation-pass]
|
||||
|
||||
- id: scheduler_d_022
|
||||
text: "Inbound from the Havara corridor is delayed six hours. Adjust your bay queue."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [maret, operational, generation-pass]
|
||||
|
||||
- id: scheduler_d_023
|
||||
text: "Scan log for bay six is still open from last cycle. Close it before end of shift."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [maret, procedural, generation-pass]
|
||||
|
||||
- id: scheduler_d_024
|
||||
text: "Overtime requests need scheduler approval now. Voss changed the process."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [maret, voss, administrative, generation-pass]
|
||||
|
||||
- id: scheduler_d_025
|
||||
text: "If a container's not logged by 1300, it doesn't make the cycle. That's the rule."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [maret, procedural, generation-pass]
|
||||
|
||||
- id: scheduler_d_026
|
||||
text: "End-of-cycle reconciliation is at 1430. Be available."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [maret, procedural, generation-pass]
|
||||
|
||||
- id: scheduler_d_027
|
||||
text: "Weight tolerance is plus or minus five kilos. Anything outside that gets a flag."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [maret, procedural, manifest, generation-pass]
|
||||
|
||||
- id: scheduler_d_028
|
||||
text: "Commission audit prep starts next cycle. Get your documentation current."
|
||||
role: scheduler
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [institution, routine]
|
||||
mood: [suspicious]
|
||||
tags: [maret, commission, audit, generation-pass]
|
||||
-356
@@ -1,356 +0,0 @@
|
||||
# Dialogue: shift-supervisor at The Terminal
|
||||
# NPC: Voss (Tier 2, SYSTEM/OPERATOR)
|
||||
# Voice: terse, procedural, institutional. Uses authority as armor.
|
||||
# Ring-complicit: provides scheduling cover. Never shows it on surface.
|
||||
# Ticket: #190 | Sprint: 12
|
||||
|
||||
location: the-terminal
|
||||
role: shift-supervisor
|
||||
lines:
|
||||
|
||||
# ==========================================
|
||||
# GREETINGS — shift arrival
|
||||
# ==========================================
|
||||
|
||||
- id: shift-supervisor_d_001
|
||||
text: "You're late. Don't be late."
|
||||
role: shift-supervisor
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, greeting, authority]
|
||||
|
||||
- id: shift-supervisor_d_002
|
||||
text: "Manifest's posted. Bay assignments are final — don't renegotiate them with me."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [voss, procedural]
|
||||
|
||||
- id: shift-supervisor_d_003
|
||||
text: "Bay 4's running a review hold. Nobody touches that freight until I say."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [voss, authority]
|
||||
dual_lens:
|
||||
smuggler: "Review hold on Bay 4. Voss knows the container's in the queue. Is he covering it or flagging it?"
|
||||
detective: "Supervisor flagging Bay 4 himself. Either due diligence or containment."
|
||||
|
||||
- id: shift-supervisor_d_004
|
||||
text: "Commission liaison's in the district this cycle. Keep the floor clean."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, routine]
|
||||
topic: [institution, routine]
|
||||
mood: [frustrated]
|
||||
tags: [voss, warning, commission]
|
||||
dual_lens:
|
||||
smuggler: "Voss knows the detective's here. That warning's not just about tidiness."
|
||||
detective: "Supervisor aware of my presence. Either routine caution or he's got something to protect."
|
||||
|
||||
# ==========================================
|
||||
# SHIFT AUTHORITY — routine management
|
||||
# ==========================================
|
||||
|
||||
- id: shift-supervisor_d_005
|
||||
text: "Drin was supposed to run the bay six inspection. Tell him I'm asking."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, colleague]
|
||||
mood: [content]
|
||||
tags: [voss, drin, authority]
|
||||
|
||||
- id: shift-supervisor_d_006
|
||||
text: "Transition window's twenty minutes. Not twenty-five, not thirty. Twenty."
|
||||
role: shift-supervisor
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [shift_transition]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, procedural, transition-window]
|
||||
|
||||
- id: shift-supervisor_d_007
|
||||
text: "Overtime requests go through the Meridian form. Don't bring them to me."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, procedural]
|
||||
|
||||
- id: shift-supervisor_d_008
|
||||
text: "Bay eight's going to downtime at 1300. Plan around it."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, operational]
|
||||
|
||||
- id: shift-supervisor_d_009
|
||||
text: "Maret flagged a discrepancy. I've reviewed it. It's logged. Move on."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, investigation]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [voss, maret, discrepancy, cover]
|
||||
dual_lens:
|
||||
smuggler: "Voss reviewed it and logged it. Not escalating. He's managing it."
|
||||
detective: "Supervisor reviewed a manifest discrepancy and chose not to escalate. That's not nothing."
|
||||
knowledge_grant:
|
||||
fact_id: investigation.oversight_gap_pattern
|
||||
confidence: suspects
|
||||
|
||||
- id: shift-supervisor_d_010
|
||||
text: "Freight's moving. That's what matters. Questions slow things down."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [cargo, routine]
|
||||
mood: [content]
|
||||
tags: [voss, deflection, philosophy]
|
||||
|
||||
# ==========================================
|
||||
# SCHEDULING COVER — insider, real trust
|
||||
# ==========================================
|
||||
|
||||
- id: shift-supervisor_d_011
|
||||
text: "Bay four is clear for transition. I've adjusted the inspection schedule."
|
||||
role: shift-supervisor
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
topic: [cargo, routine]
|
||||
mood: [focused]
|
||||
tags: [voss, ring-ops, scheduling-cover]
|
||||
dual_lens:
|
||||
smuggler: "He adjusted the schedule. The window is actually clear. Voss is part of this."
|
||||
detective: "Never hears this line."
|
||||
|
||||
- id: shift-supervisor_d_012
|
||||
text: "Drin's on bay six. Bay four's mine tonight."
|
||||
role: shift-supervisor
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition, night_shift]
|
||||
topic: [routine, cargo]
|
||||
mood: [focused]
|
||||
tags: [voss, ring-ops, scheduling-cover, drin]
|
||||
|
||||
- id: shift-supervisor_d_013
|
||||
text: "The hold note is administrative. Don't treat it as anything else."
|
||||
role: shift-supervisor
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [shift_transition]
|
||||
topic: [cargo]
|
||||
mood: [focused]
|
||||
tags: [voss, ring-ops, coded]
|
||||
notes: "Signals to ring members that the 'hold' on Bay 4 is cover, not genuine review."
|
||||
|
||||
# ==========================================
|
||||
# DETECTIVE ENCOUNTER — authority tier
|
||||
# ==========================================
|
||||
|
||||
- id: shift-supervisor_d_014
|
||||
text: "You'll need to submit a formal access request through Commission channels for any restricted data."
|
||||
role: shift-supervisor
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
topic: [institution, routine]
|
||||
mood: [content]
|
||||
tags: [voss, detective-path, institutional-resistance]
|
||||
|
||||
- id: shift-supervisor_d_015
|
||||
text: "The manifest's available to any Commission officer. Ask the scheduler."
|
||||
role: shift-supervisor
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
topic: [cargo, institution]
|
||||
mood: [content]
|
||||
tags: [voss, detective-path, redirect]
|
||||
|
||||
- id: shift-supervisor_d_016
|
||||
text: "My workers perform their duties. If there's an irregularity, it'll show in the log."
|
||||
role: shift-supervisor
|
||||
access: [authority]
|
||||
trust: surface
|
||||
situation: [investigation, confrontation]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [voss, detective-path, deflection]
|
||||
|
||||
- id: shift-supervisor_d_017
|
||||
text: "I've been running this floor for six years. The numbers work out."
|
||||
role: shift-supervisor
|
||||
access: [authority, public]
|
||||
trust: surface
|
||||
situation: [investigation, confrontation]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [voss, detective-path, authority-assertion]
|
||||
|
||||
# ==========================================
|
||||
# PRESSURE / CONFRONTATION
|
||||
# ==========================================
|
||||
|
||||
- id: shift-supervisor_d_018
|
||||
text: "Close the door."
|
||||
role: shift-supervisor
|
||||
access: [insider, peer]
|
||||
trust: real
|
||||
situation: [confrontation, alone]
|
||||
topic: [danger]
|
||||
mood: [frustrated]
|
||||
tags: [voss, confrontation, private]
|
||||
|
||||
- id: shift-supervisor_d_019
|
||||
text: "Maret keeps flagging the discrepancies. That needs to stop being her problem."
|
||||
role: shift-supervisor
|
||||
access: [insider]
|
||||
trust: real
|
||||
situation: [confrontation, alone]
|
||||
topic: [colleague, danger]
|
||||
mood: [frustrated]
|
||||
tags: [voss, ring-ops, maret, caution]
|
||||
knowledge_grant:
|
||||
fact_id: behavioral.voss_awareness
|
||||
confidence: knows_of
|
||||
|
||||
- id: shift-supervisor_d_020
|
||||
text: "If you've got a problem with how I run this floor, that's a conversation for another time."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [confrontation]
|
||||
topic: [routine]
|
||||
mood: [frustrated]
|
||||
tags: [voss, deflection, shutdown]
|
||||
|
||||
# ==========================================
|
||||
# SIGN-OFF / END OF SHIFT
|
||||
# ==========================================
|
||||
|
||||
- id: shift-supervisor_d_021
|
||||
text: "Sign-off is at 1400. Be done."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, procedural]
|
||||
|
||||
- id: shift-supervisor_d_022
|
||||
text: "Night shift takes over at 2200. I don't want to hear about the handoff tomorrow."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_transition, shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, procedural]
|
||||
|
||||
- id: shift-supervisor_d_023
|
||||
text: "Good shift. Tomorrow at 0600."
|
||||
role: shift-supervisor
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [shift_end]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, closing]
|
||||
|
||||
# ==========================================
|
||||
# GENERATION PASS — ambient variants
|
||||
# ==========================================
|
||||
|
||||
- id: shift-supervisor_d_024
|
||||
text: "Assignments don't change once they're posted. Read the board."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_start, routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, procedural, generation-pass]
|
||||
|
||||
- id: shift-supervisor_d_025
|
||||
text: "If there's a discrepancy, it goes to the scheduler. Not to me directly."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [voss, procedural, maret, generation-pass]
|
||||
|
||||
- id: shift-supervisor_d_026
|
||||
text: "Span gate's cycling at 1100. Clear the bay six access before then."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [voss, operational, generation-pass]
|
||||
|
||||
- id: shift-supervisor_d_027
|
||||
text: "I don't repeat myself on safety calls. If you missed it, ask someone who was listening."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, authority, generation-pass]
|
||||
|
||||
- id: shift-supervisor_d_028
|
||||
text: "End-of-day log goes to Meridian before you leave. No exceptions."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [shift_end, routine]
|
||||
topic: [routine, institution]
|
||||
mood: [content]
|
||||
tags: [voss, procedural, generation-pass]
|
||||
|
||||
- id: shift-supervisor_d_029
|
||||
text: "Inbounds from Havara are on the revised schedule. Check the update."
|
||||
role: shift-supervisor
|
||||
access: [public, peer]
|
||||
trust: surface
|
||||
situation: [routine, shift_start]
|
||||
topic: [routine, cargo]
|
||||
mood: [content]
|
||||
tags: [voss, operational, generation-pass]
|
||||
|
||||
- id: shift-supervisor_d_030
|
||||
text: "Clean floor, clean manifest. That's the job."
|
||||
role: shift-supervisor
|
||||
access: [public, peer, insider]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
topic: [routine]
|
||||
mood: [content]
|
||||
tags: [voss, philosophy, generation-pass]
|
||||
+1
-4
@@ -189,7 +189,4 @@ items:
|
||||
Container 4471 in the C-4 hold log, entered Month 11, no removal
|
||||
logged. Same container flagged in the terminal manifest. And 4469
|
||||
is a gap with no explanation. This is the thread.
|
||||
tags: [investigation-relevant, container-4471, critical]
|
||||
knowledge_grant:
|
||||
fact_id: "investigation.cargo_anomaly"
|
||||
confidence: knows_of
|
||||
tags: [container-4471, critical]
|
||||
|
||||
+2
-8
@@ -53,10 +53,7 @@ items:
|
||||
detective: >
|
||||
4471 pending review with a 4474 weight discrepancy in the same bay.
|
||||
Two anomalies, same location. Not random.
|
||||
tags: [investigation-relevant, manifest-discrepancy]
|
||||
knowledge_grant:
|
||||
fact_id: "investigation.manifest_discrepancy"
|
||||
confidence: suspects
|
||||
tags: [manifest-discrepancy]
|
||||
|
||||
# ==========================================
|
||||
# MAINTENANCE REQUEST CLIPBOARD
|
||||
@@ -147,10 +144,7 @@ items:
|
||||
detective: >
|
||||
Unsigned note, initial D. Maret not flagging a weight discrepancy
|
||||
officially. Voss complicit or uninformed. Follow up with Maret.
|
||||
tags: [investigation-relevant, maret, drin, voss]
|
||||
knowledge_grant:
|
||||
fact_id: "investigation.drin_inspection_pattern"
|
||||
confidence: suspects
|
||||
tags: [maret, drin, voss]
|
||||
|
||||
# ==========================================
|
||||
# SAFETY PROCEDURES PLACARD — standard, faded
|
||||
|
||||
-225
@@ -1,225 +0,0 @@
|
||||
# Diegetic Insert Flavor Text — Detective Character
|
||||
# Neural lattice interface strings: POI labels, notifications, system status.
|
||||
# Ticket: #331 | Sprint: 12 | Owner: Mellanie + Araminta
|
||||
#
|
||||
# Voice principle: the detective's insert is issued Commission equipment.
|
||||
# Institutional, precise, surname-first. The vocabulary is the job.
|
||||
# When personal breaks through, it's notable — the first name appears
|
||||
# only for allies. Shift to first name IS a relationship marker.
|
||||
|
||||
character: detective
|
||||
|
||||
# ==========================================
|
||||
# POI LABELS — displayed in perception mode overlay
|
||||
# Appears on NPCs when viewed through insert interface.
|
||||
# State-dependent: shifts as relationship changes.
|
||||
# ==========================================
|
||||
|
||||
poi_labels:
|
||||
defaults:
|
||||
unknown: "Unknown subject"
|
||||
known: "{surname}, {initial}."
|
||||
friendly: "{first_name}"
|
||||
person_of_interest: "{surname} — POI"
|
||||
hostile: "{surname} — AVOID"
|
||||
|
||||
npc_overrides:
|
||||
kael_davan:
|
||||
phase_1_unknown: "Unknown subject"
|
||||
phase_1_known: "Davan, K."
|
||||
person_of_interest: "Davan, K. — POI"
|
||||
flagged: "Davan, K. — FLAGGED"
|
||||
sera_venn:
|
||||
friendly: "Sera"
|
||||
phase_3_poi: "Sera — ?"
|
||||
phase_4_poi: "Venn — REVIEW"
|
||||
voss:
|
||||
default: "Voss, K. — Supervisor"
|
||||
cooperative: "Voss — cooperative"
|
||||
torek_lintar:
|
||||
default: "Lintar, T."
|
||||
flagged: "Lintar, T. — FLAG"
|
||||
commission_personnel:
|
||||
default: "{surname} — Commission"
|
||||
ring_member_suspected:
|
||||
default: "{surname} — suspect"
|
||||
|
||||
# ==========================================
|
||||
# NOTIFICATIONS — status strings, message previews
|
||||
# Displayed as brief overlay text. 40 char max per line.
|
||||
# ==========================================
|
||||
|
||||
notifications:
|
||||
case_file:
|
||||
- id: insert_d_001
|
||||
trigger: case_file_update
|
||||
template: "Case update: {subject_name}"
|
||||
example: "Case update: Davan, K."
|
||||
tags: [investigation]
|
||||
|
||||
- id: insert_d_002
|
||||
trigger: evidence_logged
|
||||
text: "Evidence logged"
|
||||
tags: [investigation]
|
||||
|
||||
- id: insert_d_003
|
||||
trigger: manifest_discrepancy_filed
|
||||
text: "Discrepancy filed"
|
||||
tags: [investigation, manifest]
|
||||
|
||||
- id: insert_d_004
|
||||
trigger: knowledge_updated
|
||||
template: "KG updated: {fact_category}"
|
||||
example: "KG updated: relationship"
|
||||
tags: [investigation]
|
||||
|
||||
- id: insert_d_005
|
||||
trigger: poi_status_change
|
||||
template: "{surname} — status updated"
|
||||
example: "Davan — status updated"
|
||||
tags: [investigation]
|
||||
|
||||
- id: insert_d_006
|
||||
trigger: tell_logged
|
||||
template: "{surname} — behavior logged"
|
||||
example: "Davan — behavior logged"
|
||||
tags: [investigation, tell]
|
||||
|
||||
- id: insert_d_007
|
||||
trigger: pattern_confirmed
|
||||
template: "{surname} — pattern confirmed"
|
||||
example: "Venn — pattern confirmed"
|
||||
tags: [investigation, pattern]
|
||||
|
||||
commission:
|
||||
- id: insert_d_008
|
||||
trigger: commission_advisory
|
||||
text: "Commission advisory"
|
||||
tags: [institutional]
|
||||
|
||||
- id: insert_d_009
|
||||
trigger: commission_advisory_urgent
|
||||
text: "Commission advisory — urgent"
|
||||
tags: [institutional, priority]
|
||||
|
||||
- id: insert_d_010
|
||||
trigger: clearance_required
|
||||
template: "{zone} — clearance required"
|
||||
example: "Sector B — clearance required"
|
||||
tags: [institutional]
|
||||
|
||||
- id: insert_d_011
|
||||
trigger: clearance_confirmed
|
||||
template: "{zone} — clearance confirmed"
|
||||
example: "B-7 — clearance confirmed"
|
||||
tags: [institutional]
|
||||
|
||||
- id: insert_d_012
|
||||
trigger: case_status_active
|
||||
template: "Case #{case_id}: active"
|
||||
example: "Case #4471: active"
|
||||
tags: [institutional, investigation]
|
||||
|
||||
field:
|
||||
- id: insert_d_013
|
||||
trigger: observation_mode_active
|
||||
text: "Observation: logging"
|
||||
tags: [field]
|
||||
|
||||
- id: insert_d_014
|
||||
trigger: restricted_area_entered
|
||||
text: "Restricted zone — logged"
|
||||
tags: [field, institutional]
|
||||
|
||||
- id: insert_d_015
|
||||
trigger: anomaly_detected
|
||||
template: "Anomaly: {location}"
|
||||
example: "Anomaly: B-7 corridor"
|
||||
tags: [field, investigation]
|
||||
|
||||
- id: insert_d_016
|
||||
trigger: no_anomaly
|
||||
text: "Sector: nominal"
|
||||
tags: [field]
|
||||
|
||||
# ==========================================
|
||||
# SYSTEM STATUS — persistent interface text
|
||||
# Small-print labels in perception mode corners.
|
||||
# ==========================================
|
||||
|
||||
system_status:
|
||||
- id: insert_d_100
|
||||
context: default
|
||||
text: "Analytical lattice: active"
|
||||
|
||||
- id: insert_d_101
|
||||
context: perception_mode_active
|
||||
text: "Perception mode: on"
|
||||
|
||||
- id: insert_d_102
|
||||
context: fog_layer_present
|
||||
text: "Reduced visibility"
|
||||
|
||||
- id: insert_d_103
|
||||
context: meridian_active
|
||||
text: "Meridian: nominal"
|
||||
|
||||
- id: insert_d_104
|
||||
context: meridian_inactive
|
||||
text: "Meridian: offline"
|
||||
|
||||
- id: insert_d_105
|
||||
context: investigation_active
|
||||
text: "Case: active"
|
||||
|
||||
- id: insert_d_106
|
||||
context: case_status_flagged
|
||||
text: "Case: flagged subjects present"
|
||||
|
||||
- id: insert_d_107
|
||||
context: case_status_critical
|
||||
text: "Case: escalation threshold"
|
||||
|
||||
- id: insert_d_108
|
||||
context: lattice_scan_complete
|
||||
text: "Scan: complete"
|
||||
|
||||
# ==========================================
|
||||
# EXAMINATION LABELS — text shown when examining environmental objects
|
||||
# ==========================================
|
||||
|
||||
examination_labels:
|
||||
- id: insert_d_200
|
||||
object_type: document
|
||||
text: "Examine"
|
||||
|
||||
- id: insert_d_201
|
||||
object_type: terminal
|
||||
text: "Query manifest"
|
||||
|
||||
- id: insert_d_202
|
||||
object_type: container_flagged
|
||||
text: "Container 4471 — discrepancy logged"
|
||||
|
||||
- id: insert_d_203
|
||||
object_type: restricted_area
|
||||
text: "Restricted — B-7 sector"
|
||||
|
||||
- id: insert_d_204
|
||||
object_type: surveillance_gap
|
||||
text: "Coverage gap — logged"
|
||||
|
||||
- id: insert_d_205
|
||||
object_type: evidence_item
|
||||
text: "Log as evidence"
|
||||
|
||||
- id: insert_d_206
|
||||
object_type: known_meeting_point
|
||||
text: "Meeting point — flagged"
|
||||
|
||||
notes: >
|
||||
Voice: institutional, precise, Commission equipment. Surname-first for
|
||||
targets and unknowns. First name appears only for allies (Sera).
|
||||
That shift IS the relationship marker — the player notices when
|
||||
"Venn" becomes "Sera" and knows it means something.
|
||||
Araminta coordinates on visual presentation constraints (#331 co-owner).
|
||||
-193
@@ -1,193 +0,0 @@
|
||||
# Diegetic Insert Flavor Text — Smuggler Character
|
||||
# Neural lattice interface strings: POI labels, notifications, system status.
|
||||
# Ticket: #331 | Sprint: 12 | Owner: Mellanie + Araminta
|
||||
#
|
||||
# Voice principle: the smuggler's insert is slightly informal, modified hardware.
|
||||
# It's a tool that's been lived with, not issued equipment. Short labels.
|
||||
# Uses first names and operational shorthand, not institutional vocabulary.
|
||||
|
||||
character: smuggler
|
||||
|
||||
# ==========================================
|
||||
# POI LABELS — displayed in perception mode overlay
|
||||
# Appears on NPCs when viewed through insert interface.
|
||||
# State-dependent: shifts as relationship changes.
|
||||
# ==========================================
|
||||
|
||||
poi_labels:
|
||||
defaults:
|
||||
unknown: "Unknown"
|
||||
known: "{first_name}"
|
||||
friendly: "{first_name} — OK"
|
||||
person_of_interest: "{first_name} — WATCH"
|
||||
hostile: "{first_name} — AVOID"
|
||||
|
||||
npc_overrides:
|
||||
kael_davan:
|
||||
phase_1: "Kael"
|
||||
phase_2: "Kael — ?"
|
||||
phase_3: "Kael — WATCH"
|
||||
phase_4: "Kael — LYING"
|
||||
phase_5: "Kael — COMPROMISED"
|
||||
voss:
|
||||
default: "Voss"
|
||||
hostile: "Voss — PROBLEM"
|
||||
commission_personnel:
|
||||
default: "Commission"
|
||||
investigation_active: "Commission — ACTIVE"
|
||||
ring_member:
|
||||
default: "{first_name}"
|
||||
operational: "{first_name} — RING"
|
||||
|
||||
# ==========================================
|
||||
# NOTIFICATIONS — status strings, message previews
|
||||
# Displayed as brief overlay text. 40 char max per line.
|
||||
# ==========================================
|
||||
|
||||
notifications:
|
||||
messages:
|
||||
- id: insert_s_001
|
||||
trigger: message_from_contact
|
||||
template: "Msg: {contact_name}"
|
||||
example: "Msg: Kael"
|
||||
tags: [ring-operational]
|
||||
|
||||
- id: insert_s_002
|
||||
trigger: message_from_contact_urgent
|
||||
template: "Msg: {contact_name} — urgent"
|
||||
example: "Msg: Nils — urgent"
|
||||
tags: [ring-operational, priority]
|
||||
|
||||
- id: insert_s_003
|
||||
trigger: drop_point_update
|
||||
text: "Drop point updated"
|
||||
tags: [ring-operational]
|
||||
|
||||
- id: insert_s_004
|
||||
trigger: drop_point_confirmed
|
||||
text: "Drop point confirmed — proceed"
|
||||
tags: [ring-operational]
|
||||
|
||||
- id: insert_s_005
|
||||
trigger: meridian_window_opening
|
||||
template: "Window: {duration}m"
|
||||
example: "Window: 25m"
|
||||
tags: [operational, timing]
|
||||
|
||||
- id: insert_s_006
|
||||
trigger: meridian_window_closing
|
||||
template: "Window closing — {time_remaining}m"
|
||||
example: "Window closing — 3m"
|
||||
tags: [operational, timing, priority]
|
||||
|
||||
- id: insert_s_007
|
||||
trigger: ring_checkin_overdue
|
||||
text: "Check-in overdue"
|
||||
tags: [ring-operational, concern]
|
||||
|
||||
- id: insert_s_008
|
||||
trigger: contact_unavailable
|
||||
template: "{contact_name} — no response"
|
||||
example: "Kael — no response"
|
||||
tags: [ring-operational, concern]
|
||||
|
||||
- id: insert_s_009
|
||||
trigger: commission_patrol_detected
|
||||
text: "Commission in sector"
|
||||
tags: [caution, operational]
|
||||
|
||||
- id: insert_s_010
|
||||
trigger: commission_patrol_cleared
|
||||
text: "Sector clear"
|
||||
tags: [operational]
|
||||
|
||||
evidence:
|
||||
- id: insert_s_011
|
||||
trigger: observation_logged
|
||||
text: "Logged"
|
||||
tags: [observation]
|
||||
|
||||
- id: insert_s_012
|
||||
trigger: tell_observed
|
||||
template: "{npc_name} — tell logged"
|
||||
example: "Kael — tell logged"
|
||||
tags: [observation, tell]
|
||||
|
||||
- id: insert_s_013
|
||||
trigger: contradiction_observed
|
||||
template: "{npc_name} — anomaly"
|
||||
example: "Kael — anomaly"
|
||||
tags: [observation, contradiction]
|
||||
|
||||
# ==========================================
|
||||
# SYSTEM STATUS — persistent interface text
|
||||
# Small-print labels in perception mode corners.
|
||||
# ==========================================
|
||||
|
||||
system_status:
|
||||
- id: insert_s_100
|
||||
context: default
|
||||
text: "Lattice: Sova Transit"
|
||||
|
||||
- id: insert_s_101
|
||||
context: perception_mode_active
|
||||
text: "Perception: active"
|
||||
|
||||
- id: insert_s_102
|
||||
context: fog_layer_present
|
||||
text: "Fog layer"
|
||||
|
||||
- id: insert_s_103
|
||||
context: meridian_dead_zone
|
||||
text: "Meridian: inactive"
|
||||
|
||||
- id: insert_s_104
|
||||
context: meridian_active
|
||||
text: "Meridian: active — caution"
|
||||
|
||||
- id: insert_s_105
|
||||
context: ring_status_stable
|
||||
text: "Status: stable"
|
||||
|
||||
- id: insert_s_106
|
||||
context: ring_status_elevated
|
||||
text: "Status: elevated"
|
||||
|
||||
- id: insert_s_107
|
||||
context: ring_status_compromised
|
||||
text: "Status: compromised"
|
||||
|
||||
# ==========================================
|
||||
# EXAMINATION LABELS — text shown when examining environmental objects
|
||||
# ==========================================
|
||||
|
||||
examination_labels:
|
||||
- id: insert_s_200
|
||||
object_type: document
|
||||
text: "Read"
|
||||
|
||||
- id: insert_s_201
|
||||
object_type: terminal
|
||||
text: "Check manifest"
|
||||
|
||||
- id: insert_s_202
|
||||
object_type: container_flagged
|
||||
text: "4471 — flagged"
|
||||
|
||||
- id: insert_s_203
|
||||
object_type: restricted_area
|
||||
text: "B-7 — restricted"
|
||||
|
||||
- id: insert_s_204
|
||||
object_type: dead_drop
|
||||
text: "Drop point"
|
||||
|
||||
- id: insert_s_205
|
||||
object_type: safe_location
|
||||
text: "Safe"
|
||||
|
||||
notes: >
|
||||
Voice: informal, operational shorthand. This is a modified civilian
|
||||
lattice, not issued equipment. First names, not titles. Short.
|
||||
Labels should feel like something you'd put on your own interface.
|
||||
Araminta coordinates on visual presentation constraints (#331 co-owner).
|
||||
-281
@@ -1,281 +0,0 @@
|
||||
# Smuggler Physical Inventory — v0.1 Item Specs
|
||||
# Ticket: #441 | Sprint: 6 | Decision: D-065
|
||||
# Author: Mellanie (copy), covering Paula (narrative systems) + Gestalt (content architecture)
|
||||
#
|
||||
# D-065: Knowledge is the primary "inventory" for all characters. The smuggler
|
||||
# additionally gets 3 physical items because the smuggler's word doesn't carry
|
||||
# institutional weight — they need tangible proof for leverage.
|
||||
#
|
||||
# All items are contraband. All items are private (information boundary, D-010).
|
||||
# Not visible to other entities unless revealed via search, scan, or confrontation.
|
||||
#
|
||||
# Server reads these specs via CarriedBy component + Take/Place verbs (#424).
|
||||
# Client renders via inventory UI (#438) — 3x3 grid UI, bottom-right, mapped to 1-9 hotkeys.
|
||||
#
|
||||
# Voice: smuggler internal perspective. Descriptions are diegetic — the character
|
||||
# is looking at an item in their pocket. Not neutral game text.
|
||||
#
|
||||
# Cross-references:
|
||||
# Sprint 5: #297 Kael FRIEND pack, #298 Sera FRIEND pack
|
||||
# NPC profiles: npcs/kael-davan.yaml, npcs/sera-venn.yaml
|
||||
# Knowledge graph: global/knowledge/investigation.yaml, contraband.yaml
|
||||
# Smuggler voice: docs/design/smuggler-voice-card.md, docs/design/voice-patterns.md
|
||||
|
||||
archetype: smuggler
|
||||
capacity: 9
|
||||
items:
|
||||
|
||||
# ================================================================
|
||||
# ITEM 1: Manifest Copy
|
||||
# Proves cargo discrepancy. The paper trail the ring can't deny.
|
||||
# ================================================================
|
||||
|
||||
- item_id: "item:manifest-copy"
|
||||
display_name: "Manifest Copy"
|
||||
description: >
|
||||
Cargo manifest from last cycle. Three containers that don't match
|
||||
the dock log. Kael's handwriting on the margins — weight corrections
|
||||
that never got filed.
|
||||
flavor_text: "Should've burned this weeks ago."
|
||||
contraband: true
|
||||
portable: true
|
||||
|
||||
knowledge_links:
|
||||
- fact_id: "investigation.manifest_discrepancy"
|
||||
relationship: "proves"
|
||||
confidence_granted: "knows_details"
|
||||
notes: >
|
||||
Physical proof of cargo routing irregularities. The manifest shows
|
||||
three containers rerouted during shift transition with weights that
|
||||
don't reconcile. Cross-ref: Kael dialogue kael-davan_d_041
|
||||
("Manifest says this one's forty kilos over") and kael-davan_d_051
|
||||
("Manifest's clean on my end").
|
||||
- fact_id: "investigation.cargo_anomaly"
|
||||
relationship: "corroborates"
|
||||
confidence_granted: "knows_of"
|
||||
notes: >
|
||||
The weight discrepancies on this manifest are consistent with
|
||||
unlicensed lattice components hidden in standard freight containers.
|
||||
|
||||
confrontation:
|
||||
usable_against:
|
||||
- target: "npc:kael-davan"
|
||||
leverage_type: "evidence"
|
||||
notes: >
|
||||
Kael's handwriting is on the manifest. Presenting this forces
|
||||
acknowledgment of ring involvement. Gentle confrontation: "I've
|
||||
got the manifest, Kael. Your handwriting." Harsh: "Want to explain
|
||||
the weight corrections, or should I show Nils?"
|
||||
- target: "npc:voss"
|
||||
leverage_type: "pressure"
|
||||
notes: >
|
||||
Voss cleared the schedule windows that made the rerouting possible.
|
||||
The manifest doesn't name Voss directly, but the timing proves
|
||||
complicity. Leverage for information, not confession.
|
||||
- target: "npc:nils-davan"
|
||||
leverage_type: "insurance"
|
||||
notes: >
|
||||
If Nils pushes for higher volume or threatens the smuggler,
|
||||
the manifest is proof that the operation exists. Mutually
|
||||
assured destruction — Nils can't deny it without denying Kael.
|
||||
risk_if_found: >
|
||||
A copied manifest with annotated discrepancies is direct evidence
|
||||
of smuggling awareness. If security or the detective finds this,
|
||||
it links the smuggler to cargo irregularities immediately.
|
||||
|
||||
gameplay:
|
||||
acquisition: "Starting inventory. The smuggler copied this last cycle as insurance."
|
||||
take_verb: true
|
||||
place_verb: true
|
||||
place_contexts:
|
||||
- "dead_drop_location"
|
||||
- "personal_space"
|
||||
notes: >
|
||||
Risk/reward: carrying it means evidence walks with you. Placing it
|
||||
means it could be found by anyone who accesses the location. The
|
||||
smuggler copied it because trust in the ring is eroding — Nils is
|
||||
pushing volume, Kael is distracted, Voss is getting nervous.
|
||||
|
||||
# ================================================================
|
||||
# ITEM 2: Corridor Access Token
|
||||
# Proves ring membership. The key that opens doors you shouldn't enter.
|
||||
# ================================================================
|
||||
|
||||
- item_id: "item:access-token"
|
||||
display_name: "Access Token"
|
||||
description: >
|
||||
Maintenance corridor keycard. Kael slipped it to me three weeks ago.
|
||||
Gets you past the service hatches into B-7. No legitimate reason to
|
||||
have this.
|
||||
flavor_text: "Hope it still works."
|
||||
contraband: true
|
||||
portable: true
|
||||
|
||||
knowledge_links:
|
||||
- fact_id: "location.corridor_b7_restricted"
|
||||
relationship: "proves_access"
|
||||
confidence_granted: "direct"
|
||||
notes: >
|
||||
Physical proof of unauthorized access to restricted maintenance
|
||||
corridors. Corridor B-7 is where the ring operates during shift
|
||||
transitions and night cycles. Cross-ref: Kael FRIEND arc phase 3
|
||||
(smuggler observes Kael in Corridor B-7).
|
||||
- fact_id: "relationship.ring_membership"
|
||||
relationship: "corroborates"
|
||||
confidence_granted: "knows_details"
|
||||
notes: >
|
||||
Possessing this token proves connection to the ring's infrastructure.
|
||||
Legitimate maintenance workers use Commission-issued access.
|
||||
This is a copied token — ring-internal distribution.
|
||||
|
||||
confrontation:
|
||||
usable_against:
|
||||
- target: "npc:kael-davan"
|
||||
leverage_type: "shared_guilt"
|
||||
notes: >
|
||||
Kael gave this to the smuggler. Both are implicated. Not leverage
|
||||
against Kael so much as proof of shared position — "We're in this
|
||||
together." Useful for demanding honesty about the exit attempt.
|
||||
- target: "npc:devra"
|
||||
leverage_type: "proof_of_standing"
|
||||
notes: >
|
||||
Showing the token to Devra proves operational involvement. Opens
|
||||
ring-internal dialogue that would otherwise require vouching.
|
||||
The token is a credential, not a weapon.
|
||||
risk_if_found: >
|
||||
Unauthorized corridor access token found on a dock worker. Security
|
||||
would flag this immediately. The detective's analytical lattice would
|
||||
connect it to Corridor B-7 activity patterns. No plausible cover.
|
||||
|
||||
gameplay:
|
||||
acquisition: "Starting inventory. Kael provided it three weeks before session start."
|
||||
take_verb: true
|
||||
place_verb: true
|
||||
place_contexts:
|
||||
- "dead_drop_location"
|
||||
- "personal_space"
|
||||
functional: true
|
||||
functional_notes: >
|
||||
The access token actually opens Corridor B-7 service hatches. Carrying
|
||||
it grants physical access to restricted maintenance corridors. Without
|
||||
it, the smuggler cannot enter ring operating spaces. Gameplay tension:
|
||||
you need it to do ring work, but carrying it is incriminating.
|
||||
|
||||
# ================================================================
|
||||
# ITEM 3: Personal Comm Log
|
||||
# Bridge between knowledge and provable leverage. The receipts.
|
||||
# ================================================================
|
||||
|
||||
- item_id: "item:comm-log"
|
||||
display_name: "Comm Log"
|
||||
description: >
|
||||
Three months of messages. Times, names, drop schedules. Nils
|
||||
arranging volumes, Kael confirming routes, Renn reporting handoffs.
|
||||
Everything the ring said it never said.
|
||||
flavor_text: "Should've wiped these. Didn't."
|
||||
contraband: true
|
||||
portable: true
|
||||
|
||||
knowledge_links:
|
||||
- fact_id: "contraband.supply_chain"
|
||||
relationship: "proves"
|
||||
confidence_granted: "knows_details"
|
||||
notes: >
|
||||
The comm log contains operational messages about lattice component
|
||||
shipments — arrival windows, container IDs, handoff confirmations.
|
||||
This is the full supply chain in text. Cross-ref: D-037 (contraband
|
||||
is unlicensed lattice components, not weapons).
|
||||
- fact_id: "relationship.trust_network"
|
||||
relationship: "proves"
|
||||
confidence_granted: "knows_details"
|
||||
notes: >
|
||||
Messages between Nils, Kael, Renn, Devra, and the smuggler. The comm
|
||||
log maps the ring's social structure — who coordinates with whom,
|
||||
who reports to whom. Cross-ref: triangle hub-power (Voss-Kael-Nils)
|
||||
and triangle worried-partner (Naia-Kael-Sera).
|
||||
- fact_id: "investigation.shift_mismatch"
|
||||
relationship: "corroborates"
|
||||
confidence_granted: "knows_of"
|
||||
notes: >
|
||||
Several messages reference shift timing — "window's clear at 14:15"
|
||||
or "Voss moved the rotation, new window at 14:30." Corroborates
|
||||
the pattern that shift manipulations enable smuggling operations.
|
||||
|
||||
confrontation:
|
||||
usable_against:
|
||||
- target: "npc:nils-davan"
|
||||
leverage_type: "mutually_assured"
|
||||
notes: >
|
||||
Nils's name is in the messages. Arranging volumes, setting
|
||||
schedules, confirming drops. If Nils tries to cut the smuggler
|
||||
out or shift blame, the comm log proves his coordination role.
|
||||
The nuclear option.
|
||||
- target: "npc:kael-davan"
|
||||
leverage_type: "evidence"
|
||||
notes: >
|
||||
Kael's route confirmations are in the log. But more importantly,
|
||||
the log shows Kael's messages STOPPING three weeks ago — silence
|
||||
that correlates with the exit attempt. The absence is evidence.
|
||||
"You stopped answering, Kael. I noticed."
|
||||
- target: "npc:renn"
|
||||
leverage_type: "pressure"
|
||||
notes: >
|
||||
Renn's handoff reports are recorded. Leverage for cooperation
|
||||
or information if the smuggler needs to pressure a ring member
|
||||
without going through Nils.
|
||||
risk_if_found: >
|
||||
Three months of incriminating communications naming ring members,
|
||||
shipment details, and operational timing. This is the single most
|
||||
damaging item the smuggler carries. If the detective finds it,
|
||||
the entire ring is compromised. If Nils finds it, the smuggler
|
||||
kept records against explicit protocol.
|
||||
|
||||
gameplay:
|
||||
acquisition: "Starting inventory. The smuggler has been saving messages as insurance."
|
||||
take_verb: true
|
||||
place_verb: true
|
||||
place_contexts:
|
||||
- "dead_drop_location"
|
||||
- "personal_space"
|
||||
notes: >
|
||||
The comm log is the smuggler's most powerful and most dangerous item.
|
||||
It proves the supply chain, maps the trust network, and corroborates
|
||||
shift manipulation. It's also the item that most clearly differentiates
|
||||
the smuggler from the detective — the detective builds a case from
|
||||
observation and institutional access. The smuggler already HAS the case.
|
||||
The question is what to do with it.
|
||||
|
||||
# ================================================================
|
||||
# SCHEMA NOTES (for Gestalt / content pipeline)
|
||||
# ================================================================
|
||||
#
|
||||
# Item spec schema (proposed for content/_schema/item-spec.schema.json):
|
||||
# required: item_id, display_name, description, contraband, portable
|
||||
# optional: flavor_text, knowledge_links[], confrontation{}, gameplay{}
|
||||
#
|
||||
# knowledge_links[]:
|
||||
# fact_id: string (matches global/knowledge/*.yaml fact_id)
|
||||
# relationship: enum [proves, corroborates, suggests]
|
||||
# confidence_granted: enum [suspects, knows_of, knows_details, direct]
|
||||
# notes: string (authoring context, not displayed in-game)
|
||||
#
|
||||
# confrontation.usable_against[]:
|
||||
# target: string (canonical NPC id)
|
||||
# leverage_type: enum [evidence, pressure, shared_guilt, insurance,
|
||||
# proof_of_standing, mutually_assured]
|
||||
# notes: string (authoring context)
|
||||
#
|
||||
# confrontation.risk_if_found: string (consequence description)
|
||||
#
|
||||
# gameplay:
|
||||
# acquisition: string (how the player gets this item)
|
||||
# take_verb: bool (can be picked up)
|
||||
# place_verb: bool (can be placed in world)
|
||||
# place_contexts: list<string> (valid placement locations)
|
||||
# functional: bool (does the item DO something beyond evidence?)
|
||||
# functional_notes: string (what it does)
|
||||
#
|
||||
# Display constraints (per D-065):
|
||||
# - description: max 2 sentences, ~30 words, smuggler voice
|
||||
# - flavor_text: max 1 sentence, ~10 words
|
||||
# - UI: 3x3 grid, bottom-right, mapped to 1-9 hotkeys
|
||||
-306
@@ -1,306 +0,0 @@
|
||||
# Monologue: Detective — Commission Kiosk
|
||||
# Ticket: #120 | Author: Mellanie | Sprint: 14
|
||||
# Decision refs: D-016, D-032, D-034, D-035
|
||||
#
|
||||
# The Commission kiosk is a small terminal alcove in the transit district —
|
||||
# institutional grey, cool lighting, regulation spec. The detective has
|
||||
# authorized access. This is where official investigation happens: manifest
|
||||
# logs, personnel records, flagged container reports. It smells like
|
||||
# commission-issue air filters. The detective is comfortable here and also
|
||||
# slightly isolated — the kiosk is public but feels private.
|
||||
#
|
||||
# Voice note: the detective is in his element at the kiosk — data flows,
|
||||
# patterns emerge, the lattice is doing its work. But the kiosk is also a
|
||||
# reminder that the case is bigger than the data suggests, and that Sera works
|
||||
# with Commission systems daily. These lines should feel analytically engaged
|
||||
# with moments of personal cost showing through.
|
||||
#
|
||||
# Schema: D-035 compliant. role/access/trust/situation included on all lines.
|
||||
|
||||
character: detective
|
||||
location: commission-kiosk
|
||||
|
||||
lines:
|
||||
|
||||
# --- Arrival ---
|
||||
|
||||
- id: pc-detective_m_d_001
|
||||
text: "Commission terminal. Authorized access, full import logs. Let's see what the system knows."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
tags: [arrival, tutorial, orientation]
|
||||
|
||||
- id: pc-detective_m_d_002
|
||||
text: "Standard regulation spec. Commission requisition 4-C. They didn't upgrade this terminal in three years."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: pc-detective_m_d_003
|
||||
text: "Filtered air. A Commission smell — sterile, precise, faintly antiseptic. Familiar."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
tags: [arrival, atmospheric, sensory]
|
||||
|
||||
- id: pc-detective_m_d_004
|
||||
text: "Back at the kiosk. The terminal logged my last access thirty-two minutes ago."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: return_visit
|
||||
situation: [arrival]
|
||||
tags: [arrival, orientation]
|
||||
|
||||
- id: pc-detective_m_d_005
|
||||
text: "Nobody uses this terminal except Commission staff. Which means whoever was here before me has credentials."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
tags: [arrival, investigation, tutorial]
|
||||
|
||||
# --- Perception / Sound ---
|
||||
|
||||
- id: pc-detective_m_d_006
|
||||
text: "The terminal hum is different from the freight equipment. Cleaner. Higher frequency."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: hear_sound
|
||||
situation: [routine]
|
||||
tags: [sensory, environmental]
|
||||
|
||||
- id: pc-detective_m_d_007
|
||||
text: "Footsteps at the transit corridor entrance. Not Commission — wrong pace."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: hear_sound
|
||||
situation: [routine, observation]
|
||||
tags: [sensory, caution]
|
||||
|
||||
- id: pc-detective_m_d_008
|
||||
text: "Someone's running queries at the main manifest board. Loud keystrokes — frustrated."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: hear_sound
|
||||
situation: [routine]
|
||||
tags: [sensory, environmental]
|
||||
|
||||
# --- Tutorial / Evidence ---
|
||||
|
||||
- id: pc-detective_m_d_009
|
||||
text: "Import logs go back forty days. Weight discrepancies flagged automatically — unless someone cleared the flag."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: discover_evidence
|
||||
situation: [routine, investigation]
|
||||
tags: [tutorial, investigation, orientation]
|
||||
|
||||
- id: pc-detective_m_d_010
|
||||
text: "Personnel movement log. Every authorized access to every restricted space, timestamped."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: discover_evidence
|
||||
situation: [routine, investigation]
|
||||
tags: [tutorial, investigation]
|
||||
|
||||
# --- Time Idle / Ruminative ---
|
||||
|
||||
- id: pc-detective_m_d_011
|
||||
text: "Pattern is forming. Three manifests, same routing anomaly, different filing dates. That's deliberate."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine, investigation]
|
||||
tags: [investigation, analytical]
|
||||
|
||||
- id: pc-detective_m_d_012
|
||||
text: "The kiosk shows what the system knows. The system doesn't know what it hasn't been told."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine]
|
||||
tags: [atmospheric, investigation]
|
||||
|
||||
- id: pc-detective_m_d_013
|
||||
text: "Commission protocols say: document everything, infer nothing. The gap between those two is where cases live."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine]
|
||||
tags: [atmospheric, analytical]
|
||||
|
||||
- id: pc-detective_m_d_014
|
||||
text: "Twelve access events in the manifest terminal in the last six days. Elevated for a district this size."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine, investigation]
|
||||
tags: [investigation, analytical]
|
||||
|
||||
- id: pc-detective_m_d_015
|
||||
text: "Evidence is what the system logged. Inference is what it means. Right now I have plenty of both."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine, investigation]
|
||||
tags: [investigation, analytical]
|
||||
|
||||
# --- Anomaly ---
|
||||
|
||||
- id: pc-detective_m_d_016
|
||||
text: "Access log shows a non-Commission credential used at 0340. That terminal should have rejected it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: observe_anomaly
|
||||
situation: [routine, investigation]
|
||||
priority: 7
|
||||
tags: [investigation, caution, analytical]
|
||||
|
||||
- id: pc-detective_m_d_017
|
||||
text: "Container 4471 has three separate manifest entries with different timestamps. One of them is false."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: observe_anomaly
|
||||
situation: [investigation]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [investigation, contraband, analytical]
|
||||
|
||||
- id: pc-detective_m_d_018
|
||||
text: "Standard access log would show calibration events. This one shows something cleared three days ago. Manually."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: observe_anomaly
|
||||
situation: [investigation]
|
||||
tags: [investigation, caution]
|
||||
|
||||
# --- Knowledge-Gated: Sera Arc ---
|
||||
|
||||
- id: pc-detective_m_d_019
|
||||
text: "Venn, S. — last calibration event logged here: 0615 this morning. Standard. Her schedule is precise."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: known
|
||||
priority: 5
|
||||
tags: [npc, sera, routine, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_020
|
||||
text: "Venn's credentials are in the access log. Three times today. She's thorough, or she's looking for something."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine, investigation]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_kiosk_pattern
|
||||
min_confidence: suspects
|
||||
priority: 6
|
||||
tags: [npc, sera, investigation, friend-arc, dual-lens]
|
||||
|
||||
- id: pc-detective_m_d_021
|
||||
text: "She runs calibration checks on the Commission terminal. That's her job. But the access log shows she's also running manifest queries. That's not."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [investigation]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_kiosk_pattern
|
||||
min_confidence: knows_of
|
||||
priority: 7
|
||||
tags: [npc, sera, tell, investigation, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_022
|
||||
text: "Venn cleared a flag on container 4471 six days ago. Routine override — authorized. But 4471 is in my manifest discrepancy list."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: discover_evidence
|
||||
situation: [investigation]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
- fact_id: behavioral.sera_kiosk_pattern
|
||||
min_confidence: suspects
|
||||
priority: 9
|
||||
tags: [npc, sera, investigation, contraband, friend-arc, contaminated-trust]
|
||||
|
||||
- id: pc-detective_m_d_023
|
||||
text: "She knows. Either she found it and cleared it deliberately, or she was directed to. Both are worse than I want to believe."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [investigation]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_avoidance_pattern
|
||||
min_confidence: knows_of
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_details
|
||||
priority: 9
|
||||
tags: [npc, sera, investigation, friend-arc, contaminated-trust]
|
||||
|
||||
# --- Post-Conversation ---
|
||||
|
||||
- id: pc-detective_m_d_024
|
||||
text: "She said she hadn't touched the manifest terminal. The log says otherwise. Either she forgot or she lied."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: post_conversation
|
||||
situation: [investigation]
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: person_of_interest
|
||||
priority: 9
|
||||
tags: [npc, sera, post-conversation, tell, friend-arc, contaminated-trust]
|
||||
|
||||
- id: pc-detective_m_d_025
|
||||
text: "Davan said he runs a clean dock. The manifest data disagrees on three specific points. Filed."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: post_conversation
|
||||
situation: [investigation]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
tags: [npc, kael, investigation, contraband]
|
||||
-236
@@ -1,236 +0,0 @@
|
||||
character: detective
|
||||
location: contradiction
|
||||
lines:
|
||||
# Contradiction Monologue — Ticket #552 — Sera/Kael FRIEND Arc
|
||||
# Authored per D-083 (contradiction detection pipeline) and Paula Round 2 Mellanie spec
|
||||
# (docs/workshops/knowledge-flow-npc-boundaries/paula-round2.md, lines 117-158).
|
||||
#
|
||||
# Trigger: contradiction_detected fires when the detective observes Kael in Corridor B-7
|
||||
# while the KG holds Sera's claim that Kael was at dock intake during second shift.
|
||||
# Event payload: source_display_name = "Sera Venn", subject_display_name = "Kael Davan"
|
||||
#
|
||||
# FRIEND-pattern NPCs (Sera, Kael) always use hand-authored lines — generic template fallback
|
||||
# does not fire for this arc.
|
||||
#
|
||||
# Authoring principle: cognitive dissonance, not accusation. The detective doesn't know
|
||||
# who or what is wrong. Uncertainty first, suspicion second, accusation never.
|
||||
#
|
||||
# Phase 2 lines: trust established but not deep — the blindsiding.
|
||||
# Prerequisite: KG entry for Kael has state: Contradicted, source: ToldBy(Sera Venn)
|
||||
# Phase 3 lines: additional context accumulated — Sera's avoidance of Torek observed 3x.
|
||||
# Prerequisite: Phase 2 + Sera's avoidance pattern has fired (three departures logged).
|
||||
#
|
||||
# ID discriminator: _con_ marks contradiction lines per Q-028 pending resolution.
|
||||
# cooldown: omitted — fire-once enforced by trigger semantics (contradiction_detected
|
||||
# fires once per KG state change), not by a cooldown value.
|
||||
#
|
||||
# Note: contradiction_detected is a new trigger type — requires server-side implementation
|
||||
# in monologue.rs (ticket #550). Secondary beat lines use lower priority for sequencing;
|
||||
# server team should implement delay_after_trigger_ticks for proper 3-5 second gap.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# PHASE 2 — Primary beat (fires on contradiction_detected, immediate)
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-detective_m_d_con_001
|
||||
text: "Sera said Kael was at the dock intake during second shift. I'm looking at him in corridor B-7 right now."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused, anxious]
|
||||
priority: 10
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
- id: "npc:sera-venn"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, sera, kael, phase-2, analytical]
|
||||
notes: >
|
||||
Paula's canonical primary line — preserved verbatim. Flat factual statement: source named,
|
||||
subject named, specific location claim vs. direct observation. The 'I'm' contraction is
|
||||
natural in a surprise moment even for the analytical detective — the observation breaks
|
||||
through the professional register. No interpretation, no accusation.
|
||||
|
||||
- id: pc-detective_m_d_con_002
|
||||
text: "Venn said Kael was at dock intake through second shift. Kael is in B-7. Those aren't compatible."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused]
|
||||
priority: 9
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
- id: "npc:sera-venn"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, sera, kael, phase-2, analytical]
|
||||
notes: >
|
||||
Alternate primary — fully analytical register: surname-initial for both (institutional
|
||||
reflex), no contractions, plain declarative close. 'Those aren't compatible' is the
|
||||
detective's version of stating contradiction — clinical, process-language. Fires as
|
||||
alternate to con_001 for variety on replay.
|
||||
|
||||
- id: pc-detective_m_d_con_003
|
||||
text: "She placed Kael at the dock. He's not at the dock."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused, anxious]
|
||||
priority: 9
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
- id: "npc:sera-venn"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, sera, kael, phase-2]
|
||||
notes: >
|
||||
Stripped-down alternate. 'She placed' is the informal of 'Venn stated' — personal register
|
||||
triggered by Sera being THE FRIEND. 'He's not at the dock' — the barest possible statement
|
||||
of contradiction. The brevity is the weight: six words and the investigation changes shape.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# PHASE 2 — Secondary beat (fires after short delay, cognitive processing)
|
||||
# Server team (#550): implement delay_after_trigger_ticks: 90 for 3-5s gap.
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-detective_m_d_con_004
|
||||
text: "One of them is wrong. Sera, or what I'm seeing. Or I'm missing something I don't have yet."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, alone]
|
||||
trigger: contradiction_detected
|
||||
mood: [anxious, focused]
|
||||
priority: 7
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
- id: "npc:sera-venn"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, sera, kael, phase-2, cognitive-dissonance, secondary-beat]
|
||||
notes: >
|
||||
Paula's canonical secondary beat — fires 3-5 seconds after the primary beat.
|
||||
Epistemic neutrality held across three options: Sera is wrong, observation is wrong, or
|
||||
context is missing. No option is dismissed. 'I'm missing something I don't have yet' is
|
||||
the key line — it holds accusation off even against evidence. The detective files it open.
|
||||
Lower priority (7) ensures primary lines fire first; server team should implement
|
||||
delay_after_trigger_ticks for proper sequencing.
|
||||
|
||||
- id: pc-detective_m_d_con_005
|
||||
text: "File it. Don't close it. Either Venn's information was wrong when she gave it, or it was wrong on purpose. That's a different question."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, alone]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused]
|
||||
priority: 6
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
- id: "npc:sera-venn"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, sera, kael, phase-2, analytical, cognitive-dissonance, secondary-beat]
|
||||
notes: >
|
||||
Alternate secondary beat. 'File it, don't close it' is the detective's internal procedure
|
||||
for unresolved data. The critical distinction: wrong information vs. deliberately wrong
|
||||
information — the detective separates these without assuming either. 'That's a different
|
||||
question' closes the processing loop, marking it unresolved, not dismissed.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# PHASE 3 — With accumulated context (Sera's avoidance pattern observed)
|
||||
# Requires: three Sera departures correlated with Torek Lintar arrivals observed.
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-detective_m_d_con_006
|
||||
text: "Sera told me Kael doesn't make mistakes. He's not where she said he'd be. And she's been avoiding Lintar for three weeks."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused, anxious]
|
||||
priority: 10
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
- id: "npc:sera-venn"
|
||||
state: Contradicted
|
||||
- id: "npc:torek-lintar"
|
||||
relationship: PersonOfInterest
|
||||
tags: [contradiction, friend-arc, sera, kael, phase-3, pattern-recognition]
|
||||
notes: >
|
||||
Paula's canonical Phase 3 line — preserved verbatim. Three facts in sequence, no explicit
|
||||
connection drawn between them: Sera's testimony about Kael ('doesn't make mistakes'),
|
||||
Kael's actual location, Sera's avoidance behavior. The detective is connecting dots but
|
||||
not announcing the conclusion. The emotional weight is in 'Sera told me' — personal register
|
||||
for the friend relationship — vs. the clinical observation about Lintar.
|
||||
|
||||
- id: pc-detective_m_d_con_007
|
||||
text: "Two facts: Venn placed Kael at dock intake, second shift. Kael is in B-7. One new observation: Venn leaves every time Lintar enters the bar. Worth seeing if those connect."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused]
|
||||
priority: 9
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
- id: "npc:sera-venn"
|
||||
state: Contradicted
|
||||
- id: "npc:torek-lintar"
|
||||
relationship: PersonOfInterest
|
||||
tags: [contradiction, friend-arc, sera, kael, phase-3, analytical, pattern-recognition]
|
||||
notes: >
|
||||
Alternate Phase 3 — analytical register throughout, no personal register even for Sera
|
||||
(surname only). 'Worth seeing if those connect' is the detective's verbal tic of flagging
|
||||
without concluding. The numbered format ('Two facts... One new observation') is the
|
||||
detective's internal case-building style. Fully non-accusatory: the connection is not
|
||||
stated, only the intent to look for it.
|
||||
|
||||
- id: pc-detective_m_d_con_008
|
||||
text: "Venn's been managing her exits around Lintar. And she put Kael somewhere he isn't. Let's see what sits at the intersection of those two."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, alone]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
- id: "npc:sera-venn"
|
||||
state: Contradicted
|
||||
- id: "npc:torek-lintar"
|
||||
relationship: PersonOfInterest
|
||||
tags: [contradiction, friend-arc, sera, kael, phase-3, analytical]
|
||||
notes: >
|
||||
Alternate Phase 3. 'Let's see what' verbal tic, no accusation. 'Managing her exits' is
|
||||
the detective naming Sera's avoidance behavior — behavioral description, not motive
|
||||
attribution. 'Put Kael somewhere he isn't' — plain contradiction framing. The intersection
|
||||
remains unstated. Detective is following the thread, not announcing what's on it.
|
||||
-92
@@ -1,92 +0,0 @@
|
||||
character: detective
|
||||
location: general
|
||||
lines:
|
||||
- id: pc-detective_m_d_001
|
||||
text: "Sova Transit District. Population twelve thousand and change. Let's narrow that down."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: pc-detective_m_d_002
|
||||
text: "The span gate resonance is constant here. Background radiation of a freight hub."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-detective_m_d_003
|
||||
text: "First week on station. The case file is thin. The manifest discrepancies are not."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
trigger: time_idle
|
||||
tags: [investigation, orientation]
|
||||
|
||||
- id: pc-detective_m_d_004
|
||||
text: "Everyone knows I'm Commission. The conversations stop when I walk in. Noted."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
trigger: time_idle
|
||||
tags: [investigation, social]
|
||||
|
||||
- id: pc-detective_m_d_005
|
||||
text: "Station gravity's point-nine-three standard. Enough to notice after a long shift."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone]
|
||||
trigger: time_idle
|
||||
tags: [environmental, personal]
|
||||
|
||||
- id: pc-detective_m_d_006
|
||||
text: "The previous liaison rotated out three months ago. That gap matters."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
trigger: time_idle
|
||||
tags: [investigation, analytical]
|
||||
|
||||
- id: pc-detective_m_d_007
|
||||
text: "Back in the district. Let's see what changed while I wasn't watching."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: return_visit
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: pc-detective_m_d_008
|
||||
text: "Recycled air, industrial residue, and that constant gate hum. Sova in three notes."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-detective_m_d_009
|
||||
text: "Communities like this close ranks around outsiders. Patient work."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: time_idle
|
||||
tags: [reflection, social]
|
||||
|
||||
- id: pc-detective_m_d_010
|
||||
text: "The manifest data goes back eighteen months. The pattern starts around month six."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
trigger: time_idle
|
||||
tags: [investigation, analytical]
|
||||
-274
@@ -1,274 +0,0 @@
|
||||
character: detective
|
||||
location: maintenance-corridors
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: pc-detective_m_d_001
|
||||
text: "Maintenance level. Low lighting, exposed conduit, restricted access nobody enforces."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, environmental]
|
||||
|
||||
- id: pc-detective_m_d_002
|
||||
text: "The air's different down here. Cooler. Damper. Less filtered."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-detective_m_d_003
|
||||
text: "Service corridor B-section. Not on the public transit map. Interesting routing options."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
trigger: enter_location
|
||||
tags: [arrival, investigation]
|
||||
|
||||
- id: pc-detective_m_d_004
|
||||
text: "Water recycling conduits. The station's circulatory system, hidden from view."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-detective_m_d_005
|
||||
text: "Pipe network branching three directions. Good for maintenance. Better for privacy."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, analytical]
|
||||
|
||||
- id: pc-detective_m_d_006
|
||||
text: "Emergency lighting only. Visibility reduced, but so is surveillance coverage."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
trigger: enter_location
|
||||
tags: [environmental, investigation]
|
||||
|
||||
- id: pc-detective_m_d_007
|
||||
text: "The rust smell is stronger near junction B-7. Older section. Less maintenance."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-detective_m_d_008
|
||||
text: "Back in the corridors. Different route this time — mapping the alternatives."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
trigger: return_visit
|
||||
tags: [arrival, investigation]
|
||||
|
||||
# --- Investigation Observations ---
|
||||
|
||||
- id: pc-detective_m_d_009
|
||||
text: "Scuff marks on the floor. Recent, heavy. Cargo weight, not foot traffic."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: pc-detective_m_d_010
|
||||
text: "The service hatch has been used recently. Oil on the handle, dust disturbed."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: pc-detective_m_d_011
|
||||
text: "Restricted access, but the lock plate shows wear. Regular use by someone with clearance."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: pc-detective_m_d_012
|
||||
text: "Sound carries differently down here. Voices from two junctions away, if you're patient."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental, investigation]
|
||||
|
||||
- id: pc-detective_m_d_013
|
||||
text: "Chalk marks on the wall. Low, deliberate. Not maintenance notation — wrong color."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: pc-detective_m_d_014
|
||||
text: "This corridor connects bay four to temp storage. Bypasses the main freight floor entirely."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation, routine]
|
||||
trigger: enter_location
|
||||
tags: [investigation, operational]
|
||||
|
||||
- id: pc-detective_m_d_015
|
||||
text: "Footsteps ahead. Single set, moving fast. Someone who knows where they're going."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
trigger: hear_sound
|
||||
tags: [investigation, caution]
|
||||
|
||||
- id: pc-detective_m_d_016
|
||||
text: "The temp storage access from this side isn't logged on the manifest system. Blind spot."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [investigation, evidence]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: pc-detective_m_d_017
|
||||
text: "The cargo scuff pattern matches bay four containers. Dock to corridor to storage — the route."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.smuggling_route
|
||||
min_confidence: suspects
|
||||
priority: 8
|
||||
tags: [investigation, evidence, breakthrough]
|
||||
|
||||
- id: pc-detective_m_d_018
|
||||
text: "Those chalk marks match the courier's timing. Renn's route markers, if I had to guess."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.renn_courier_role
|
||||
min_confidence: knows_of
|
||||
priority: 7
|
||||
tags: [npc, renn, investigation, evidence]
|
||||
|
||||
- id: pc-detective_m_d_019
|
||||
text: "Camera blind spot at junction C-2. Coincidence, or someone mapped the coverage?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation, routine]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.surveillance_gaps
|
||||
min_confidence: suspects
|
||||
tags: [investigation, operational]
|
||||
|
||||
- id: pc-detective_m_d_020
|
||||
text: "Standard container, no manifest checkpoint along this route. That's the gap."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.smuggling_route
|
||||
min_confidence: knows_details
|
||||
priority: 9
|
||||
tags: [investigation, breakthrough]
|
||||
|
||||
- id: pc-detective_m_d_021
|
||||
text: "Hatch lubricant is fresh. Someone's maintaining this access point. Not station maintenance."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.corridor_regular_use
|
||||
min_confidence: knows_of
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: pc-detective_m_d_022
|
||||
text: "Davan was seen near B-7 during off-shift. Cross-reference with container movements."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.kael_corridor_sighting
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [npc, kael, investigation]
|
||||
|
||||
- id: pc-detective_m_d_023
|
||||
text: "Two access routes, one manifest checkpoint. Someone designed this gap. Or discovered it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.oversight_gap_pattern
|
||||
min_confidence: knows_details
|
||||
tags: [investigation, analytical]
|
||||
|
||||
- id: pc-detective_m_d_024
|
||||
text: "Rosta's gambling debt gives me leverage. But using it makes me the authority they resent."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.drin_gambling_debt
|
||||
min_confidence: knows_details
|
||||
priority: 6
|
||||
tags: [npc, drin, investigation, moral]
|
||||
|
||||
- id: pc-detective_m_d_025
|
||||
text: "Evidence is accumulating. Names, routes, timing. But I still can't see the full picture."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.ring_existence
|
||||
min_confidence: suspects
|
||||
tags: [investigation, reflection]
|
||||
-166
@@ -1,166 +0,0 @@
|
||||
character: detective
|
||||
location: opening
|
||||
lines:
|
||||
# Opening Hook Sequence — Ticket #300 — Detective Diegetic Tutorial Arc / First 5 Minutes
|
||||
# 12 lines. Prerequisites null on all — fires before any knowledge graph state exists.
|
||||
# Priority 8-10 ensures these fire before the general terminal pool lines.
|
||||
# cooldown: 9999 — each line fires once, does not repeat.
|
||||
# Arc: institutional orientation → sensory/analytical → lattice overlay → Commission kiosk → fog boundary →
|
||||
# NPC lattice scan → Sera sighting → Sera warmth → manifest board → anomaly → flag it → operational settle.
|
||||
# Contraction discipline: analytical lines = uncontracted; personal lines (Sera) = contracted.
|
||||
# All lines fully schema-compliant per D-035 (role, access, trust, situation present).
|
||||
|
||||
- id: pc-detective_m_d_001
|
||||
text: "Sova Transit. Mid-morning shift, dock lighting at half-cycle. Consistent with the Commission pre-arrival briefing."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
trigger: enter_location
|
||||
mood: [focused]
|
||||
priority: 10
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, analytical, orientation]
|
||||
notes: "Opening line. Reality matches the briefing — he arrived prepared. Establishes: detective as institutional outsider sent here. Cool-lit corridors per D-046 expressed through 'half-cycle' lighting observation. No contractions (analytical)."
|
||||
|
||||
- id: pc-detective_m_d_002
|
||||
text: "Cargo lubricant, recycled atmosphere. Same mixture on every freight hub from here to the span gate hum. First observation: consistent with Commission briefing profile."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
trigger: enter_location
|
||||
mood: [focused]
|
||||
priority: 10
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, atmospheric, analytical]
|
||||
notes: "Environmental sensory in analytical register. Colon usage (detective verbal pattern, section 2.2). No contractions. 'span gate' is canonical terminology (D-036); 'hum' is sensory detail. Contrast with smuggler's 'Home sweet home' — same smell, opposite emotional valence. He's working, not home."
|
||||
|
||||
- id: pc-detective_m_d_003
|
||||
text: "Lattice overlay initializing. Four identity flags in immediate range — cross-referencing against Commission case file."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
trigger: enter_location
|
||||
mood: [focused]
|
||||
priority: 10
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, lattice, perception]
|
||||
notes: "Teaches insert channel. The analytical lattice is active on entry — it flags and cross-references automatically. Teaches: detective's insert HUD is denser and diegetically active (D-048). Players learn the lattice is a tool, not decoration."
|
||||
|
||||
- id: pc-detective_m_d_004
|
||||
text: "Commission kiosk confirmed my credentials on entry. Authority access logged. The floor knows someone's here."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
trigger: enter_location
|
||||
mood: [focused]
|
||||
priority: 9
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, institutional, authority]
|
||||
notes: "Commission kiosk visible, institutional standing established. Sardonic close — dry awareness of his effect on the social environment. Confidence register: wry humor (section 2.8). Teaches: Authority access tier, institutional role is visible to NPCs."
|
||||
|
||||
- id: pc-detective_m_d_005
|
||||
text: "Visual range terminates at bay nine. Approximately fifteen meters. Consistent with district atmo settings."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, observation]
|
||||
trigger: enter_location
|
||||
priority: 9
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, fog, perception]
|
||||
notes: "Fog boundary in analytical register. He clocks the measurement, notes 'approximately' — precision with honest calibration. Contrast with smuggler's 'Can't see the far dock' — same fog, different framing: limitation vs. measurement."
|
||||
|
||||
- id: pc-detective_m_d_006
|
||||
text: "Dock workers distributed across nine visible bays. Lattice flagging each on contact. Names from the case file, faces from the floor."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, observation]
|
||||
trigger: enter_location
|
||||
mood: [focused]
|
||||
priority: 9
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, lattice, orientation]
|
||||
notes: "Spatial overview with lattice overlay tutorial. Explains how the insert channel works: lattice matches observed faces against the pre-loaded case file. Parallel structure ('Names from... faces from...'). Teaches: NPC identification comes through the lattice."
|
||||
|
||||
- id: pc-detective_m_d_007
|
||||
text: "Venn, S. at the far terminal. She said she'd come in early."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, social]
|
||||
trigger: observe_npc
|
||||
mood: [warm]
|
||||
priority: 10
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, sera, friend-arc]
|
||||
notes: "First Sera sighting. Surname-initial filing first (institutional reflex) — then breaks to personal contracted voice ('she'd') in the same beat. Teaches contrast: case-file subjects get 'Davan, K.'; Sera gets a different register. D-033 Unknown/Neutral teal entity."
|
||||
|
||||
- id: pc-detective_m_d_008
|
||||
text: "She's got the manifest logs open already. Field tech who knows how to pull records — she knows what I need before I ask."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, social]
|
||||
trigger: observe_npc
|
||||
mood: [warm]
|
||||
priority: 9
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, sera, friend-arc]
|
||||
notes: "Sera warmth. Fully contracted throughout ('She's', 'she knows') — personal mode, no analytical distance. Em-dash. Professional respect established without implying prior district visits. Contrast with how he processes everyone else. Teaches: some NPCs are in a different relational category (THE FRIEND pattern, D-034)."
|
||||
|
||||
- id: pc-detective_m_d_009
|
||||
text: "Central manifest board: real-time container routing, weight declarations, bay assignments. Everything routes through here."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, investigation]
|
||||
trigger: enter_location
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, manifest, investigation]
|
||||
notes: "Manifest board labeled and cataloged. Colon usage (section 2.2). No contractions (analytical). Teaches: the manifest board is the information hub — and therefore the investigation's starting point."
|
||||
|
||||
- id: pc-detective_m_d_010
|
||||
text: "Container 4471. Temp storage flag since yesterday. Standard turnaround is sub-eight hours — that's not standard."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, observation, investigation]
|
||||
trigger: observe_anomaly
|
||||
mood: [focused, suspicious]
|
||||
priority: 9
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, manifest, investigation, anomaly]
|
||||
notes: "First manifest anomaly. Specific container ID from case file. 'That's not standard' — only contraction in an analytical line, marking it as personal reaction to the finding. Sets the investigation hook: something is wrong before he asks a single question."
|
||||
|
||||
- id: pc-detective_m_d_011
|
||||
text: "Worth flagging. Let's see what the shift logs say about that container's overnight routing."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, investigation]
|
||||
trigger: observe_anomaly
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, investigation, next-step]
|
||||
notes: "'Worth flagging' + 'Let's see what' — both detective verbal tics in sequence (section 2.7). Frames the next investigative step. Teaches: investigation is incremental — observe, flag, investigate deeper."
|
||||
|
||||
- id: pc-detective_m_d_012
|
||||
text: "Lattice stable. Nine identity flags and counting. Let's see what this shift tells me."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
trigger: enter_location
|
||||
mood: [focused]
|
||||
priority: 7
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, lattice, operational]
|
||||
notes: "Operational settle — closes the opening arc. Lattice confirmed active, identity count growing. 'Let's see what...' verbal tic as the closing beat. The whole opening hook lands here: credentials logged, floor scanned, first anomaly flagged. Investigation begins."
|
||||
-133
@@ -1,133 +0,0 @@
|
||||
# Detective monologue: observing the Smuggler-as-NPC
|
||||
# PC-as-NPC tell-inversion content (D-039 Wow Moment #4)
|
||||
# Ticket: #401 | Sprint: 5
|
||||
# Voice: analytical, complete sentences, observation → deduction
|
||||
# Context: the detective watches the smuggler-NPC's behavioral tells.
|
||||
# First playthrough: "This dock worker is interesting."
|
||||
# Second playthrough: "That's MY corridor check. That's MY habit."
|
||||
|
||||
character: detective
|
||||
location: general
|
||||
lines:
|
||||
|
||||
# --- Tell Observations (5 core tells from pc-as-npc-spec.md section 8) ---
|
||||
|
||||
- id: pc-detective_m_d_001
|
||||
text: "That dock worker checks the corridor before turning. Habitual. Military? Or just careful."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-smuggler
|
||||
state: known
|
||||
tags: [npc, pc-smuggler, tell, corridor-check]
|
||||
|
||||
- id: pc-detective_m_d_002
|
||||
text: "Movement pattern changed at shift change. More direct. Less idle. Interesting."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-smuggler
|
||||
state: known
|
||||
tags: [npc, pc-smuggler, tell, shift-transition]
|
||||
|
||||
- id: pc-detective_m_d_003
|
||||
text: "Slight acceleration past the checkpoint. Most people do it. But this one does it every time."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-smuggler
|
||||
state: known
|
||||
tags: [npc, pc-smuggler, tell, security-proximity]
|
||||
|
||||
- id: pc-detective_m_d_004
|
||||
text: "Same three people at the same table. Every shift. Consistent social group."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-smuggler
|
||||
state: known
|
||||
tags: [npc, pc-smuggler, tell, social-clustering]
|
||||
|
||||
- id: pc-detective_m_d_005
|
||||
text: "That worker checked container 4471 twice. The same container that's in my manifest discrepancy file."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
relationship:
|
||||
target: npc:pc-smuggler
|
||||
state: known
|
||||
priority: 8
|
||||
tags: [npc, pc-smuggler, tell, cargo-attention, investigation]
|
||||
|
||||
# --- Accumulated Observation (gates on multiple tell sightings) ---
|
||||
|
||||
- id: pc-detective_m_d_006
|
||||
text: "Three behavioral flags on one dock worker. Corridor awareness, shift-transition alertness, cargo fixation. That's a pattern."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
entity_attributes:
|
||||
- entity: npc:pc-smuggler
|
||||
key: behavior_flags
|
||||
value: multiple_tells_observed
|
||||
priority: 7
|
||||
tags: [npc, pc-smuggler, investigation, analytical, pattern-recognition]
|
||||
|
||||
- id: pc-detective_m_d_007
|
||||
text: "Cross-referencing the dock worker's shift schedule with manifest anomalies. Correlation: moderate."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
relationship:
|
||||
target: npc:pc-smuggler
|
||||
state: person_of_interest
|
||||
priority: 8
|
||||
tags: [npc, pc-smuggler, investigation, evidence]
|
||||
|
||||
- id: pc-detective_m_d_008
|
||||
text: "The dock worker and Davan eat together every shift. Same courier joins them. Tight operational cluster."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-smuggler
|
||||
state: known
|
||||
entity_attributes:
|
||||
- entity: npc:kael-davan
|
||||
key: behavior_flags
|
||||
value: social_clustering
|
||||
tags: [npc, pc-smuggler, kael, renn, social-clustering, investigation]
|
||||
-525
@@ -1,525 +0,0 @@
|
||||
character: detective
|
||||
location: the-last-shift
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: pc-detective_m_d_001
|
||||
text: "The Last Shift. Only place in this district that doesn't smell like freight lubricant."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: pc-detective_m_d_002
|
||||
text: "Grain spirit and low conversation. The social nexus of Sova Transit."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: pc-detective_m_d_003
|
||||
text: "Bar's busy tonight. Good — crowds talk. Bad — they notice outsiders."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
trigger: enter_location
|
||||
tags: [arrival, investigation]
|
||||
|
||||
- id: pc-detective_m_d_004
|
||||
text: "Standard district bar. Prefab fixtures, aftermarket lighting, a menu board nobody reads."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, environmental]
|
||||
|
||||
- id: pc-detective_m_d_005
|
||||
text: "The Meridian feed on the wall display. Local news, freight indices, Assembly coverage."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-detective_m_d_006
|
||||
text: "The overhead vent rattles every thirty seconds. Like clockwork. Nobody else notices."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-detective_m_d_007
|
||||
text: "The conversation volume dropped when I walked in. Recovering now. They're adjusting."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
trigger: enter_location
|
||||
tags: [social, investigation]
|
||||
|
||||
- id: pc-detective_m_d_008
|
||||
text: "Back at the bar. Same booth. Let's see who's here and who isn't."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: return_visit
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: pc-detective_m_d_009
|
||||
text: "Kitchen's running. Fried protein and something spiced. The bar's other currency: hot food."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-detective_m_d_010
|
||||
text: "Someone carved initials into this table. Old. A history I don't have."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone]
|
||||
trigger: time_idle
|
||||
tags: [environmental, reflection]
|
||||
|
||||
# --- NPC Commentary ---
|
||||
|
||||
- id: pc-detective_m_d_011
|
||||
text: "The bartender — Sessik, L. Knows everyone. Watches everything. Gives away nothing."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, lera, analytical]
|
||||
|
||||
- id: pc-detective_m_d_012
|
||||
text: "Good to see Sera. At least someone in this district speaks my language."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, sera, warm]
|
||||
|
||||
- id: pc-detective_m_d_013
|
||||
text: "Lintar, T. — the loud one at the bar. Spends freely. Where's the money from?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, torek, investigation]
|
||||
|
||||
- id: pc-detective_m_d_014
|
||||
text: "A woman at the corner table — Tamm, N., according to Sera. Davan's partner."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, naia, analytical]
|
||||
|
||||
- id: pc-detective_m_d_015
|
||||
text: "The regulars have assigned seating. Unofficial, but enforced. I don't have a spot yet."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [social, atmospheric]
|
||||
|
||||
- id: pc-detective_m_d_016
|
||||
text: "Sessik greeted three people by name since I sat down. I got a nod. Progress."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: witness_interaction
|
||||
tags: [npc, lera, social]
|
||||
|
||||
- id: pc-detective_m_d_017
|
||||
text: "Two dock workers in the corner. Heads close, voices low. Not unusual for after-shift."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: witness_interaction
|
||||
tags: [social, investigation]
|
||||
|
||||
- id: pc-detective_m_d_018
|
||||
text: "Sera introduced me to Tamm. Brief, polite, guarded. Expected."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social]
|
||||
trigger: post_conversation
|
||||
tags: [npc, sera, naia, social]
|
||||
|
||||
- id: pc-detective_m_d_019
|
||||
text: "Sessik poured my drink without asking. She remembered. Small thing, but noted."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, lera, social, warm]
|
||||
|
||||
- id: pc-detective_m_d_020
|
||||
text: "The old man by the window hasn't spoken to anyone all evening. Watching, though."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [social, atmospheric]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: pc-detective_m_d_021
|
||||
text: "Sera left when Torek arrived. Second time. Different excuse. Same result."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_avoidance_pattern
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [npc, sera, torek, tell, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_022
|
||||
text: "That's the third time. Three excuses, one result. That's data."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_avoidance_pattern
|
||||
min_confidence: knows_of
|
||||
priority: 9
|
||||
tags: [npc, sera, torek, tell, friend-arc, contradiction]
|
||||
|
||||
- id: pc-detective_m_d_023
|
||||
text: "Lintar's spending doesn't match a dock worker's salary. Source unknown."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.torek_spending_pattern
|
||||
min_confidence: knows_of
|
||||
tags: [npc, torek, investigation]
|
||||
|
||||
- id: pc-detective_m_d_024
|
||||
text: "Sessik's eyes tracked me when I sat near the back room. Protective, not hostile."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: knowledge.bar_back_room_significance
|
||||
min_confidence: suspects
|
||||
tags: [npc, lera, investigation]
|
||||
|
||||
- id: pc-detective_m_d_025
|
||||
text: "Sera's being extra helpful tonight. Names, backgrounds, context. Compensating?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: person_of_interest
|
||||
priority: 7
|
||||
tags: [npc, sera, friend-arc, behavioral]
|
||||
|
||||
- id: pc-detective_m_d_026
|
||||
text: "Same booth. Same warm smile. Same offer to buy me a drink. Everything except the truth."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: person_of_interest
|
||||
priority: 8
|
||||
tags: [npc, sera, contaminated-trust, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_027
|
||||
text: "Tamm seems distressed tonight. Not her baseline. Something at home, or something she heard?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:naia-tamm
|
||||
state: known
|
||||
tags: [npc, naia, behavioral]
|
||||
|
||||
- id: pc-detective_m_d_028
|
||||
text: "Sessik just redirected a conversation away from freight schedules. Protective reflex?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: witness_interaction
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: knowledge.bar_ring_awareness
|
||||
min_confidence: suspects
|
||||
tags: [npc, lera, investigation]
|
||||
|
||||
- id: pc-detective_m_d_029
|
||||
text: "Davan and his partner at the bar. She's talking. He's not listening. Noted."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: witness_interaction
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: known
|
||||
tags: [npc, kael, naia, behavioral]
|
||||
|
||||
- id: pc-detective_m_d_030
|
||||
text: "The regulars are warming up. Three visits and I'm almost furniture. Almost."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: return_visit
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: social.bar_regular_status
|
||||
min_confidence: knows_of
|
||||
tags: [social, progress]
|
||||
|
||||
# --- Kael Davan — Additional Bar Observations ---
|
||||
# Ticket: #297 review fix | Filling detective monologue gap
|
||||
|
||||
- id: pc-detective_m_d_031
|
||||
text: "Davan is different here. Looser. The dock worker persona drops and something warmer replaces it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: known
|
||||
tags: [npc, kael, behavioral, dual-context]
|
||||
|
||||
- id: pc-detective_m_d_032
|
||||
text: "Davan checks the door every time it opens. Even here. Even off-shift. That is not relaxation."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: person_of_interest
|
||||
priority: 7
|
||||
tags: [npc, kael, tell, behavioral, friend-arc]
|
||||
|
||||
# --- Sera Venn FRIEND Arc — Tell Observations + Phase Transitions ---
|
||||
# Ticket: #298 | Author: Paula
|
||||
# These track the detective's evolving perception of Sera across the
|
||||
# 5-phase FRIEND arc: trust > background data > pattern > question >
|
||||
# contaminated trust. Contraction shifts mark objectivity loss.
|
||||
|
||||
- id: pc-detective_m_d_033
|
||||
text: "Sera changed the subject when I mentioned manifests. Smooth. Practised, maybe."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_topic_deflection
|
||||
min_confidence: suspects
|
||||
priority: 6
|
||||
tags: [npc, sera, tell, behavioral, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_034
|
||||
text: "She volunteers names, routines, context. Gives everything I ask for -- except what I did not."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: friendly
|
||||
priority: 6
|
||||
tags: [npc, sera, tell, overcompensation, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_035
|
||||
text: "Sera at the Commission kiosk. Third pass this shift. That is not standard recalibration."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_kiosk_pattern
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [npc, sera, tell, peripheral, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_036
|
||||
text: "Everything Sera told me checks out. Layout, schedules, regulars. Accurate. Thorough. Selective?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: friendly
|
||||
priority: 5
|
||||
tags: [npc, sera, analytical, phase-2-3, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_037
|
||||
text: "She mentioned Naia's worry about Kael early -- before I had context. Priming, or concern?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: relationship.kael_naia_connection
|
||||
min_confidence: knows_of
|
||||
priority: 7
|
||||
tags: [npc, sera, naia, retrospective, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_038
|
||||
text: "Sera's institutional access goes further than field calibration. She could pull records I cannot."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: friendly
|
||||
tags: [npc, sera, analytical, capability, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_039
|
||||
text: "Assessment: Venn, S. Cooperative. Embedded. Competent. Green -- with reservations now."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_avoidance_pattern
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [npc, sera, phase-transition, analytical, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_040
|
||||
text: "Correction: amber. The avoidance pattern is behavioural, not preferential. Data, not taste."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_avoidance_pattern
|
||||
min_confidence: knows_of
|
||||
priority: 9
|
||||
tags: [npc, sera, phase-transition, tell, contradiction, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_041
|
||||
text: "She's the first person who made this place feel less foreign. I need that to not matter right now."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: person_of_interest
|
||||
priority: 8
|
||||
tags: [npc, sera, emotional, phase-4-5, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_042
|
||||
text: "Those early tips. The district layout, the introductions. Were those help -- or steering?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: person_of_interest
|
||||
priority: 7
|
||||
tags: [npc, sera, contaminated-trust, retrospective, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_043
|
||||
text: "She's not a suspect. She's a friend with access to everything I need. That is the problem."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_avoidance_pattern
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [npc, sera, contaminated-trust, phase-4-5, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_044
|
||||
text: "Trust: compromised. The question is not what she told me. It is what she did not."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: person_of_interest
|
||||
priority: 9
|
||||
tags: [npc, sera, contaminated-trust, phase-5, friend-arc, closing]
|
||||
-522
@@ -1,522 +0,0 @@
|
||||
character: detective
|
||||
location: the-terminal
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: pc-detective_m_d_001
|
||||
text: "Logistics hub. Standard prefab, heavy foot traffic. Let's see what the shift change tells me."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, analytical]
|
||||
|
||||
- id: pc-detective_m_d_002
|
||||
text: "Sixteen bays, four loading arms, one manifest board. Everything routes through here."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, orientation]
|
||||
|
||||
- id: pc-detective_m_d_003
|
||||
text: "Cargo lubricant and recycled air. The smell of honest work. Or a convincing imitation."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: pc-detective_m_d_004
|
||||
text: "Loading arm three has a grind in its cycle. Maintenance deferred — budget, or negligence?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental, analytical]
|
||||
|
||||
- id: pc-detective_m_d_005
|
||||
text: "Shift change in twenty minutes. The handover period is where oversight gets thin."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation, routine]
|
||||
trigger: time_idle
|
||||
tags: [investigation, operational]
|
||||
|
||||
- id: pc-detective_m_d_006
|
||||
text: "The manifest board updates in real-time. Container movement, weight, destination. All logged."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, orientation]
|
||||
|
||||
- id: pc-detective_m_d_007
|
||||
text: "Heavy foot traffic at shift change. Good — observation is easier in a crowd."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
trigger: enter_location
|
||||
tags: [arrival, investigation]
|
||||
|
||||
- id: pc-detective_m_d_008
|
||||
text: "Containers stacked to regulation height in most bays. Bay four is the exception."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, investigation]
|
||||
|
||||
- id: pc-detective_m_d_009
|
||||
text: "Back at the hub. Different shift, different faces. Same manifest board."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: return_visit
|
||||
tags: [arrival]
|
||||
|
||||
- id: pc-detective_m_d_010
|
||||
text: "The dock lights are running half-cycle. Saves power. Also reduces visibility."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, analytical]
|
||||
|
||||
- id: pc-detective_m_d_011
|
||||
text: "Something in the air beyond the lubricant. Chemical, faint. Not standard freight residue."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
trigger: enter_location
|
||||
tags: [environmental, investigation]
|
||||
|
||||
- id: pc-detective_m_d_012
|
||||
text: "Overhead conveyor running at capacity. The manifest says otherwise. Interesting."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental, investigation]
|
||||
|
||||
# --- NPC Commentary ---
|
||||
|
||||
- id: pc-detective_m_d_013
|
||||
text: "Shift supervisor Voss. Tense posture, checking the dock more than the schedule."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, voss, behavioral]
|
||||
|
||||
- id: pc-detective_m_d_014
|
||||
text: "Korr, M. — freight scheduler. Efficient, focused. Either very good or very careful."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, maret, analytical]
|
||||
|
||||
- id: pc-detective_m_d_015
|
||||
text: "Rosta, D. — dock inspector. Quick checks, minimal documentation. That's a pattern."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, drin, investigation]
|
||||
|
||||
- id: pc-detective_m_d_016
|
||||
text: "Dock worker. Davan, K. Unremarkable on paper. But he knows the bay layout cold."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, kael]
|
||||
|
||||
- id: pc-detective_m_d_017
|
||||
text: "Conversations stop when I pass. Standard response to Commission presence. Expected."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: witness_interaction
|
||||
tags: [social, investigation]
|
||||
|
||||
- id: pc-detective_m_d_018
|
||||
text: "Two workers talking by bay six. One sees me, taps the other. Both go quiet."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: witness_interaction
|
||||
tags: [social, investigation]
|
||||
|
||||
- id: pc-detective_m_d_019
|
||||
text: "Voss gave Davan a look across the bay. Brief. Loaded. Filing it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: witness_interaction
|
||||
tags: [npc, voss, kael, behavioral]
|
||||
|
||||
- id: pc-detective_m_d_020
|
||||
text: "The courier — Renn — moves fast. Efficient routing. Knows these corridors well."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, renn, analytical]
|
||||
|
||||
- id: pc-detective_m_d_021
|
||||
text: "New shift starting. Different bodies, same avoidance radius around me."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [social, atmospheric]
|
||||
|
||||
- id: pc-detective_m_d_022
|
||||
text: "Rosta's inspection of bay four took forty seconds. The others: three minutes each."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, drin, investigation, behavioral]
|
||||
|
||||
- id: pc-detective_m_d_023
|
||||
text: "Voss deflected when I asked about overnight containers. Smooth, but I caught it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
trigger: post_conversation
|
||||
tags: [npc, voss, investigation]
|
||||
|
||||
- id: pc-detective_m_d_024
|
||||
text: "Korr won't make eye contact. Not hostility — something else. Anxiety, maybe."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, maret, behavioral]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: pc-detective_m_d_025
|
||||
text: "Davan's lattice activity spiked. Expecting a message? Or checking for surveillance?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: known
|
||||
tags: [npc, kael, behavioral, tell]
|
||||
|
||||
- id: pc-detective_m_d_026
|
||||
text: "Container 4471. Logged for temp storage overnight. Turnaround should be sub-eight hours."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
priority: 7
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: pc-detective_m_d_027
|
||||
text: "Weight discrepancy on the bay four manifest. Point-three kilos over declared. Noted."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: suspects
|
||||
tags: [investigation, evidence]
|
||||
|
||||
- id: pc-detective_m_d_028
|
||||
text: "Rosta's gambling debts are in the case file. Leverage, if I need it. Do I need it?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.drin_gambling_debt
|
||||
min_confidence: knows_details
|
||||
tags: [npc, drin, investigation, moral]
|
||||
|
||||
- id: pc-detective_m_d_029
|
||||
text: "Three names keep appearing near the anomalous manifests: Voss, Davan, Renn. Coincidence?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
priority: 7
|
||||
tags: [investigation, analytical]
|
||||
|
||||
- id: pc-detective_m_d_030
|
||||
text: "The shift transition creates a twenty-minute gap in active oversight. Every cycle."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation, routine]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.oversight_gap_pattern
|
||||
min_confidence: knows_details
|
||||
priority: 7
|
||||
tags: [investigation, operational]
|
||||
|
||||
- id: pc-detective_m_d_031
|
||||
text: "Korr changed the schedule after our conversation. Covering tracks, or just doing her job?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
entity_attributes:
|
||||
- entity: npc:maret-korr
|
||||
key: behavior_flags
|
||||
value: schedule_modification
|
||||
tags: [npc, maret, investigation]
|
||||
|
||||
- id: pc-detective_m_d_032
|
||||
text: "Rosta inspects everything else by the book. Bay four is the exception. That's the tell."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.drin_inspection_pattern
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [npc, drin, investigation, behavioral]
|
||||
|
||||
- id: pc-detective_m_d_033
|
||||
text: "Davan's at an unusual terminal. Not his assigned bay. Why the move?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: known
|
||||
tags: [npc, kael, investigation]
|
||||
|
||||
- id: pc-detective_m_d_034
|
||||
text: "Voss is watching me watch his people. He knows what I'm here for."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.voss_awareness
|
||||
min_confidence: suspects
|
||||
priority: 6
|
||||
tags: [npc, voss, investigation]
|
||||
|
||||
- id: pc-detective_m_d_035
|
||||
text: "The routing logs and the physical movement don't match. Someone's hand-editing."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation]
|
||||
trigger: discover_evidence
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_details
|
||||
priority: 9
|
||||
tags: [investigation, evidence, breakthrough]
|
||||
|
||||
# --- Kael Davan FRIEND Arc — Additional Detective Observations ---
|
||||
# Ticket: #297 review fix | Filling detective monologue gap (7 → 12 Kael lines)
|
||||
|
||||
- id: pc-detective_m_d_036
|
||||
text: "Davan's shift pattern is clean. Too clean. Same bays, same hours, same rotation. Nothing out of place."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: known
|
||||
tags: [npc, kael, analytical, behavioral]
|
||||
|
||||
- id: pc-detective_m_d_037
|
||||
text: "Davan eats with the same group every shift. Social anchor, or keeping tabs?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: known
|
||||
tags: [npc, kael, social, behavioral]
|
||||
|
||||
- id: pc-detective_m_d_038
|
||||
text: "Davan handled that container routing without checking the manifest board. He knows the schedule by heart."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: known
|
||||
priority: 6
|
||||
tags: [npc, kael, behavioral, tell, competence]
|
||||
|
||||
- id: pc-detective_m_d_039
|
||||
text: "Davan's posture changed when I approached bay four. Subtle. Filing it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: person_of_interest
|
||||
priority: 7
|
||||
tags: [npc, kael, tell, behavioral, friend-arc]
|
||||
|
||||
- id: pc-detective_m_d_040
|
||||
text: "Three manifests with weight discrepancies. All during Davan's shifts. Correlation is not causation. But noted."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
min_confidence: knows_of
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: person_of_interest
|
||||
priority: 8
|
||||
tags: [npc, kael, investigation, evidence, analytical]
|
||||
|
||||
# --- Triangle Activation: Sera Venn / Torek Lintar (T2: Sera-Detective-Commission, D-087) ---
|
||||
# Fires post-TriangleActivated when player has LOS to Sera or Torek. One beat per line.
|
||||
# Beat 1: pattern recognition. Beat 2: deviation logged. Beat 3: hypothesis. Beat 4: inference. Beat 5: procedural next step.
|
||||
|
||||
- id: pc-detective_m_d_041
|
||||
text: "Venn changed her transit route. Bay six to bay four bypass — three times today."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [suspicious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, sera, analytical]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
|
||||
- id: pc-detective_m_d_042
|
||||
text: "She passed Torek without acknowledgment. Third instance logged. They have worked adjacent bays for months."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [suspicious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, sera, torek, behavioral]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
|
||||
- id: pc-detective_m_d_043
|
||||
text: "Avoidance without cause. Either she does not know about the discrepancy, or she knows and has chosen silence."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [suspicious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, sera, analytical, friend-arc]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
|
||||
- id: pc-detective_m_d_044
|
||||
text: "Possible explanations: fear, loyalty, complicity. Insufficient data to distinguish."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [suspicious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, sera, analytical, friend-arc]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
|
||||
- id: pc-detective_m_d_045
|
||||
text: "Worth a direct conversation. Controlled setting. Not here."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [suspicious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, sera, procedural, friend-arc]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
-243
@@ -1,243 +0,0 @@
|
||||
character: detective
|
||||
location: tutorial
|
||||
lines:
|
||||
# Diegetic Tutorial Monologue — Ticket #330 — Detective
|
||||
# Authored per sprint-17 copy briefing and D-016 (internal monologue as core system).
|
||||
#
|
||||
# These lines teach mechanics through character voice — not UI instructions.
|
||||
# Distinct from opening.yaml (which covers the first 5 minutes and sets voice/motivation).
|
||||
# These fire on first-time events throughout gameplay, wherever they occur.
|
||||
#
|
||||
# Coverage:
|
||||
# Movement / exploration — first_move, first_new_section
|
||||
# Fog of perception — first_fog_encounter, first_fog_edge
|
||||
# Sound model — first_sound_heard, first_off_screen_sound
|
||||
# NPC interaction — first_npc_proximity, first_npc_face_read
|
||||
# Insert / HUD — first_insert_open, first_insert_contact_flag
|
||||
#
|
||||
# Voice: analytical, procedure-oriented, careful. No contractions in analytical mode.
|
||||
# Colon usage for categorization. 'Let's see what...' and 'Worth flagging' verbal tics.
|
||||
# ID discriminator: _tut_ per sprint briefing.
|
||||
# cooldown: omitted — fire-once enforced by trigger semantics (first_* triggers
|
||||
# fire once per game), not by a cooldown value.
|
||||
# priority: 8 (primary, one per trigger type), 6 (secondary variant, mood-weighted alternate).
|
||||
#
|
||||
# Schema corrections (Gestalt review, Sprint 17):
|
||||
# priority: string "tutorial" → integer. All other monologue files use integer priority;
|
||||
# string value would fail engine parse in monologue.rs.
|
||||
# situation: removed invalid values (movement, exploration) not in D-035 13-situation
|
||||
# enum. Replaced with arrival, routine per actual trigger context.
|
||||
#
|
||||
# Trigger types (first_move, first_new_section, first_fog_encounter, first_fog_edge,
|
||||
# first_sound_heard, first_off_screen_sound, first_npc_proximity, first_npc_face_read,
|
||||
# first_insert_open, first_insert_contact_flag) are extended trigger enum values not in
|
||||
# D-035 v0.1 set — require server-side implementation in monologue.rs.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# MOVEMENT / EXPLORATION
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-detective_m_d_tut_001
|
||||
text: "Signage: section designators on the corridor wall. Commission-standard markings. Worth learning before the district learns me."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: first_move
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, movement, navigation, analytical]
|
||||
notes: >
|
||||
Detective version of the 'check the signage' tutorial. Colon usage for the signage
|
||||
label (section 2.2 verbal pattern). 'Commission-standard markings' — institutional
|
||||
framing; he reads the environment through his professional lens first. 'Worth learning
|
||||
before the district learns me' — dry awareness of his asymmetric visibility in this
|
||||
community. Same teaching as the smuggler version, different cognitive frame.
|
||||
|
||||
- id: pc-detective_m_d_tut_002
|
||||
text: "Three sections in range from the main terminal. Commission briefing had the layout. Let's confirm it against the floor."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
trigger: first_new_section
|
||||
mood: [focused]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, movement, navigation, analytical]
|
||||
notes: >
|
||||
Fires on entering a new section for the first time. 'Commission briefing had the
|
||||
layout' — he arrived with a map, now he's verifying it against reality. 'Let's
|
||||
confirm it against the floor' — 'Let's' verbal tic, investigative method stated as
|
||||
principle: documentation is a starting point, not a substitute for observation.
|
||||
Teaches: the district has distinct sections to explore.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# FOG OF PERCEPTION
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-detective_m_d_tut_003
|
||||
text: "Visual range terminates at the corridor junction. Consistent with district atmo settings. Anything past that point: unconfirmed."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: first_fog_encounter
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, fog, perception, analytical]
|
||||
notes: >
|
||||
Detective fog tutorial — analytical register throughout. 'Visual range terminates at'
|
||||
instead of 'Can't see past.' 'Consistent with atmo settings' — he already knows this
|
||||
is an environmental property, not an anomaly. 'Anything past that point: unconfirmed'
|
||||
— colon usage, precise epistemic status. Teaches: perception boundary exists, and
|
||||
the detective categorizes it as an information state, not a barrier. Compare to
|
||||
smuggler's 'Might be worth checking' — same fog, different response.
|
||||
|
||||
- id: pc-detective_m_d_tut_004
|
||||
text: "Can't clear the far bay from here. Going around is the procedure — not a limitation, a working condition."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: first_fog_edge
|
||||
mood: [focused]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, fog, perception, analytical]
|
||||
notes: >
|
||||
Second fog encounter line — fires at a fog zone boundary. 'Going around is the
|
||||
procedure' — detective frames the limitation as methodology. The second clause
|
||||
('not a limitation, a working condition') is self-instruction: he's telling himself
|
||||
not to treat fog as frustrating but as standard operating environment. Teaches:
|
||||
perception range is persistent throughout gameplay, and the correct response is
|
||||
movement, not waiting.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# SOUND MODEL
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-detective_m_d_tut_005
|
||||
text: "Voices. Down the corridor. Source count indeterminate from here — distance degrades clarity."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: first_sound_heard
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, sound, perception, analytical]
|
||||
notes: >
|
||||
Detective sound tutorial — analytical framing of the briefing's example. 'Source count
|
||||
indeterminate' is the precise version of 'can't tell how many.' 'Distance degrades
|
||||
clarity' — technical, causal. He hears, notes what he can establish (voices, direction)
|
||||
and what he can't (count, content). No contractions. Teaches: sound channel is active
|
||||
and distance-limited. Compare to smuggler's 'Can't make out the words' — same acoustic
|
||||
reality, systematized differently.
|
||||
|
||||
- id: pc-detective_m_d_tut_006
|
||||
text: "Footsteps. Metal-grated surface. Two sets minimum — moving away. Service access corridor, by the acoustic signature."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: first_off_screen_sound
|
||||
mood: [focused]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, sound, perception, analytical]
|
||||
notes: >
|
||||
Second sound tutorial — fires on an off-screen audio source. The detective parses
|
||||
the sound through multiple analytical dimensions: surface type, count, direction,
|
||||
room type. 'Two sets minimum' — precise but not overclaiming. 'By the acoustic
|
||||
signature' is technical terminology applied to diegetic audio interpretation.
|
||||
Teaches: sound carries more than presence — floor type, distance, count, direction
|
||||
are all extractable. The detective extracts all of them automatically.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# NPC INTERACTION
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-detective_m_d_tut_007
|
||||
text: "Civilians in range. Standard approach: observe before engaging. Let them surface what's relevant before directing the conversation."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social, observation]
|
||||
trigger: first_npc_proximity
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, npc, interaction, analytical]
|
||||
notes: >
|
||||
Detective NPC tutorial — procedural, method-as-principle. 'Civilians in range' is
|
||||
his categorization (Commission-trained: everyone is a witness category until proven
|
||||
otherwise). 'Standard approach' — he has a protocol. 'Let them surface what's relevant'
|
||||
is the investigative principle: don't prime witnesses, let them self-select information.
|
||||
No contractions throughout. Teaches: NPC interaction is player-initiated and
|
||||
approach-sensitive. Different method than the smuggler ('give them reason to') —
|
||||
same outcome, different social model.
|
||||
|
||||
- id: pc-detective_m_d_tut_008
|
||||
text: "Commission credentials flag on approach. They know who I am before I speak. Worth noting who adjusts their behavior."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social, investigation]
|
||||
trigger: first_npc_face_read
|
||||
mood: [focused]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, npc, observation, analytical, authority]
|
||||
notes: >
|
||||
Fires when the player observes an NPC at close range. The detective's asymmetry:
|
||||
his authority access tier makes him visible in ways the smuggler is not. NPCs react
|
||||
to his presence before interaction begins. 'Worth noting who adjusts their behavior'
|
||||
— 'Worth' verbal tic, sets up behavioral observation as investigation method. Teaches:
|
||||
the detective's Commission credentials affect NPC behavior, and that behavioral
|
||||
response is data.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# INSERT / HUD
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-detective_m_d_tut_009
|
||||
text: "Lattice overlay active: time, contact positions, flagged entities. Commission-linked. Standard procedure to keep it running."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: first_insert_open
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, insert, hud, analytical]
|
||||
notes: >
|
||||
Detective insert tutorial. Colon usage: catalogs what the overlay contains. 'Commission-
|
||||
linked' — institutional framing, establishes why the detective's HUD is denser than
|
||||
the smuggler's. 'Standard procedure' — not a discovery, a protocol. Teaches: the
|
||||
insert is an active investigation tool, not optional. Compare to smuggler's 'Should
|
||||
show the time and nearby contacts' — same overlay, presented as procedural requirement
|
||||
vs. operational check.
|
||||
|
||||
- id: pc-detective_m_d_tut_010
|
||||
text: "Nine identity flags in range. Cross-referencing case file now. Let's see what matches."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, routine]
|
||||
trigger: first_insert_contact_flag
|
||||
mood: [focused]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, insert, hud, lattice, investigation]
|
||||
notes: >
|
||||
Fires when the insert first populates with flagged entities. Count given precisely
|
||||
('Nine identity flags'). 'Case file' — the detective's overlay cross-references a
|
||||
pre-loaded investigation file, not just a general registry. 'Let's see what matches'
|
||||
— 'Let's see what' verbal tic closing the tutorial sequence. Teaches: the detective's
|
||||
insert is investigation-keyed, matching observed faces against case file entries.
|
||||
This is why his overlay is analytically denser than the smuggler's.
|
||||
-228
@@ -1,228 +0,0 @@
|
||||
character: smuggler
|
||||
location: contradiction
|
||||
lines:
|
||||
# Contradiction Monologue — Ticket #552 — Sera/Kael FRIEND Arc (Smuggler perspective)
|
||||
# Authored per D-083 (contradiction detection pipeline) and Paula Round 2 Mellanie spec
|
||||
# (docs/workshops/knowledge-flow-npc-boundaries/paula-round2.md, lines 117-158).
|
||||
#
|
||||
# Trigger: contradiction_detected fires when the smuggler observes Kael in Corridor B-7
|
||||
# with an unrecognized contact — contradicting Kael's stated location and ring protocol.
|
||||
# Event payload: source_display_name = "Kael Davan", subject_display_name = "Kael Davan"
|
||||
# (Kael is both source and subject: he placed himself elsewhere, smuggler sees him here.)
|
||||
#
|
||||
# FRIEND-pattern NPCs always use hand-authored lines — generic template fallback
|
||||
# does not fire for this arc.
|
||||
#
|
||||
# Authoring principle: cognitive dissonance, not accusation. The smuggler reads social
|
||||
# signals instinctively, but doesn't conclude — she contains the alarm. Street-smart
|
||||
# gut reaction, not analytical procedure.
|
||||
#
|
||||
# Phase 2 lines: first observation — Kael in B-7 with unknown contact.
|
||||
# Prerequisite: KG entry for Kael has state: Contradicted, source: ToldBy(Kael Davan)
|
||||
# Phase 3 lines: behavioral pattern already accumulating — increased lattice checking,
|
||||
# shortened interactions, early exits from break room.
|
||||
# Prerequisite: Phase 2 + Kael's behavioral anomalies observed (count >= 2).
|
||||
#
|
||||
# ID discriminator: _con_ marks contradiction lines per Q-028 pending resolution.
|
||||
# cooldown: omitted — fire-once enforced by trigger semantics (contradiction_detected
|
||||
# fires once per KG state change), not by a cooldown value.
|
||||
#
|
||||
# Note: contradiction_detected is a new trigger type — requires server-side implementation
|
||||
# in monologue.rs (ticket #550). Secondary beat lines use lower priority for sequencing;
|
||||
# server team should implement delay_after_trigger_ticks for proper 3-5 second gap.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# PHASE 2 — Primary beat (fires on contradiction_detected, immediate)
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-smuggler_m_s_con_001
|
||||
text: "Kael said second shift was clear. He's in B-7. With someone I don't know."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused, anxious]
|
||||
priority: 10
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, kael, phase-2, operational]
|
||||
notes: >
|
||||
Primary line — three beats, three facts. 'Kael said' names the source (friend register,
|
||||
first name). 'He's in B-7' is the observation. 'With someone I don't know' is the alarm:
|
||||
not just wrong location, but outside the ring. Fragment structure throughout — the smuggler
|
||||
clocks a scene in pieces. No accusation, no conclusion: just inventory of what's wrong.
|
||||
|
||||
- id: pc-smuggler_m_s_con_002
|
||||
text: "That's Kael. Restricted corridor. Unrecognized contact. Kael doesn't come to B-7."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused]
|
||||
priority: 9
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, kael, phase-2, operational]
|
||||
notes: >
|
||||
Alternate primary — catalog format. 'That's Kael' opens with identification, not alarm:
|
||||
recognition first, then the wrong details fall into place. Each fragment adds one layer
|
||||
of what's wrong. Close: 'Kael doesn't come to B-7' — negative statement of prior
|
||||
expectation, which is now violated. No contraction in the closing declarative (emphasis).
|
||||
|
||||
- id: pc-smuggler_m_s_con_003
|
||||
text: "He's in B-7. He told me he'd be heading home after shift. One of those isn't the case."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused, anxious]
|
||||
priority: 9
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, kael, phase-2]
|
||||
notes: >
|
||||
Alternate primary — echoes the Paula canonical structure (observation / prior claim /
|
||||
contradiction stated) but in the smuggler's voice. 'He told me' is personal register
|
||||
(friend, not colleague). 'One of those isn't the case' — the smuggler's understated
|
||||
version of flagging a contradiction: not 'one of them is a lie' but 'isn't the case.'
|
||||
Epistemic containment in plain language.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# PHASE 2 — Secondary beat (gut-level recalibration, operational containment)
|
||||
# Server team (#550): implement delay_after_trigger_ticks: 90 for 3-5s gap.
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-smuggler_m_s_con_004
|
||||
text: "Maybe there's a reason. There's always a reason. But Kael knows better than to run a meeting in a maintenance corridor without telling me."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, alone]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused, anxious]
|
||||
priority: 7
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, kael, phase-2, cognitive-dissonance, secondary-beat]
|
||||
notes: >
|
||||
Secondary beat — fires 3-5 seconds after primary. Self-challenge first: the smuggler
|
||||
gives Kael benefit of the doubt, then immediately walks it back with operational
|
||||
logic. 'There's always a reason' is the street-smart equivalent of epistemic
|
||||
containment — she's seen strange things before. The closing line is where the alarm
|
||||
lives: this isn't strange, it's a protocol violation.
|
||||
Lower priority (7) ensures primary lines fire first; server team should implement
|
||||
delay_after_trigger_ticks for proper sequencing.
|
||||
|
||||
- id: pc-smuggler_m_s_con_005
|
||||
text: "Don't assume. Could be he's running something for Nils I wasn't told about. Could be something else. The second thing is the problem."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, alone]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused]
|
||||
priority: 6
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
tags: [contradiction, friend-arc, kael, phase-2, operational, cognitive-dissonance, secondary-beat]
|
||||
notes: >
|
||||
Alternate secondary beat. 'Don't assume' is the smuggler's self-instruction (operational
|
||||
discipline). Two possibilities held open: ring-authorized (names Nils — the coordinator)
|
||||
vs. outside the ring. 'The second thing is the problem' — the alarm, stated as dry
|
||||
understatement. Operational logic applied to an emotional moment: the smuggler
|
||||
keeps the processing clean even when the stakes are personal.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# PHASE 3 — Behavioral pattern accumulated (increased lattice checking, early exits)
|
||||
# Requires: Kael behavioral anomalies observed prior to the B-7 contradiction.
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-smuggler_m_s_con_006
|
||||
text: "He's been distracted for three days. Lattice checks every few minutes, leaving lunch early. Now a B-7 meeting with someone outside the ring. Kael's working an angle he hasn't told me about."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused, anxious]
|
||||
priority: 10
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
tells_observed: 2
|
||||
tags: [contradiction, friend-arc, kael, phase-3, pattern-recognition, operational]
|
||||
notes: >
|
||||
Phase 3 primary — connects all accumulated behavioral data to the contradiction. Fragment
|
||||
catalog builds the picture: three days of signals, then this. Closing line names the
|
||||
conclusion without naming its implication: 'working an angle' is street-smart language
|
||||
for running something unauthorized, but the smuggler doesn't say 'exit attempt' —
|
||||
she doesn't know that yet.
|
||||
Note: tells_observed is a proposed prerequisite field — server team (#550) to implement
|
||||
or simplify to a different check.
|
||||
|
||||
- id: pc-smuggler_m_s_con_007
|
||||
text: "Kael doesn't run his own contacts. Devra handles external. So either Devra knows about this, or Kael's outside protocol. Neither's good."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [focused]
|
||||
priority: 9
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
tells_observed: 2
|
||||
tags: [contradiction, friend-arc, kael, phase-3, operational]
|
||||
notes: >
|
||||
Alternate Phase 3 — operational knowledge applied. The smuggler knows ring structure:
|
||||
Devra manages external contacts, Kael handles cargo logistics. An unrecognized contact
|
||||
means either Devra is running something Kael's involved in (plausible, alarming) or
|
||||
Kael went outside protocol (worse). Both possibilities named, neither closed. 'Neither's
|
||||
good' — the smuggler's understated close for a significant threat read.
|
||||
|
||||
- id: pc-smuggler_m_s_con_008
|
||||
text: "He's been somewhere else in his head all week. Now I know why. Whoever that was — not ring. Kael's looking for a way out."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: contradiction_detected
|
||||
mood: [anxious]
|
||||
priority: 8
|
||||
|
||||
prerequisites:
|
||||
entities:
|
||||
- id: "npc:kael-davan"
|
||||
state: Contradicted
|
||||
tells_observed: 2
|
||||
tags: [contradiction, friend-arc, kael, phase-3, intuition]
|
||||
notes: >
|
||||
Alternate Phase 3 — gut read, highest emotional weight. 'Somewhere else in his head'
|
||||
describes the behavioral changes without cataloging them. 'Now I know why' — the click
|
||||
of understanding arriving. 'Not ring' — short, certain, two words. 'Looking for a way
|
||||
out' is street-smart language for exit attempt: the smuggler doesn't know the details
|
||||
but the read is right. This line is the closest the smuggler comes to naming what's
|
||||
happening — and she still doesn't say it explicitly.
|
||||
-92
@@ -1,92 +0,0 @@
|
||||
character: smuggler
|
||||
location: general
|
||||
lines:
|
||||
- id: pc-smuggler_m_s_001
|
||||
text: "Another day on Sova. Same air, same hum, same faces."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_002
|
||||
text: "The span gate hum's louder today. Maintenance hasn't touched it in weeks."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-smuggler_m_s_003
|
||||
text: "Twenty minutes between shifts. That's the window. Always has been."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: time_idle
|
||||
tags: [operational, orientation]
|
||||
|
||||
- id: pc-smuggler_m_s_004
|
||||
text: "People talk about leaving Sova. Nobody actually does."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone]
|
||||
trigger: time_idle
|
||||
tags: [reflection]
|
||||
|
||||
- id: pc-smuggler_m_s_005
|
||||
text: "Two years of this. Still not used to the gate vibration in my teeth."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental, personal]
|
||||
|
||||
- id: pc-smuggler_m_s_006
|
||||
text: "The money's good. The risk's manageable. Keep telling yourself that."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone]
|
||||
trigger: time_idle
|
||||
tags: [reflection, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_007
|
||||
text: "Back again. Same corridors, same shortcuts, same reasons."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: return_visit
|
||||
tags: [arrival]
|
||||
|
||||
- id: pc-smuggler_m_s_008
|
||||
text: "Commission patrols are thinner this cycle. Good or bad — hard to say."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [operational, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_009
|
||||
text: "If anyone asks, I'm clocking overtime. That's always the story."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: time_idle
|
||||
tags: [operational, cover]
|
||||
|
||||
- id: pc-smuggler_m_s_010
|
||||
text: "Recycled air tastes different near the outer ring. Sharper. More machine."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
-270
@@ -1,270 +0,0 @@
|
||||
character: smuggler
|
||||
location: maintenance-corridors
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: pc-smuggler_m_s_001
|
||||
text: "Service corridor. Dim lights, damp walls, and the constant drip of condensation."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_002
|
||||
text: "Cooler down here. The ventilation doesn't reach this far."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_003
|
||||
text: "The access panel's still loose. Good — our route's intact."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: enter_location
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_004
|
||||
text: "Pipes groaning overhead. Station's old. These corridors are older."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_005
|
||||
text: "Water recycling rumbles through the walls down here. Constant."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-smuggler_m_s_006
|
||||
text: "Back in the maintenance tunnels. Rust and coolant."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: return_visit
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_007
|
||||
text: "Emergency lighting only. Just enough to see where you're going."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-smuggler_m_s_008
|
||||
text: "Footsteps echo different down here. You learn to listen."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental, operational]
|
||||
|
||||
# --- NPC + Operational ---
|
||||
|
||||
- id: pc-smuggler_m_s_009
|
||||
text: "Renn's chalk marks on the wall. Route's been used recently."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
tags: [operational, renn]
|
||||
|
||||
- id: pc-smuggler_m_s_010
|
||||
text: "Someone left a crate at junction B-4. Not one of ours."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
tags: [operational, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_011
|
||||
text: "The temp storage hatch is warm. Cargo cycled through recently."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: enter_location
|
||||
tags: [operational]
|
||||
|
||||
- id: pc-smuggler_m_s_012
|
||||
text: "Scratches on the lock plate. Someone's been forcing this access point."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_013
|
||||
text: "Timer says twelve minutes until the oversight gap closes. Plenty."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, routine]
|
||||
trigger: time_idle
|
||||
tags: [operational]
|
||||
|
||||
- id: pc-smuggler_m_s_014
|
||||
text: "That's Renn's jacket on the pipe junction. He was here."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
tags: [npc, renn, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_015
|
||||
text: "Voices echoing from the junction. Can't make out words yet."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [caution]
|
||||
|
||||
- id: pc-smuggler_m_s_016
|
||||
text: "The route through B-section is clear. Voss kept his word."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: enter_location
|
||||
tags: [operational, voss]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: pc-smuggler_m_s_017
|
||||
text: "Corridor B-7. This is where I saw Kael. With someone I don't know."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, investigation]
|
||||
trigger: enter_location
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.kael_corridor_meeting
|
||||
min_confidence: suspects
|
||||
priority: 8
|
||||
tags: [npc, kael, contradiction, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_018
|
||||
text: "Fresh boot prints in the dust. Two sets. Different sizes."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.kael_corridor_meeting
|
||||
min_confidence: suspects
|
||||
tags: [evidence, kael, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_019
|
||||
text: "New scratch marks on the service hatch. Someone's using our route."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: awareness.ring_route_compromise
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [operational, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_020
|
||||
text: "The container in temp was supposed to move last shift. It didn't. Why?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.container_delay
|
||||
min_confidence: knows_of
|
||||
tags: [operational, contraband]
|
||||
|
||||
- id: pc-smuggler_m_s_021
|
||||
text: "Camera's been repositioned at junction C-2. Who authorized that?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: awareness.surveillance_change
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [investigation, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_022
|
||||
text: "If Kael's meeting people down here without telling us, the whole route's exposed."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation, routine]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.kael_unknown_contact
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [npc, kael, operational, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_023
|
||||
text: "Sealed containers don't end up in temp storage by accident. Someone rerouted."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: knowledge.ring_routing_knowledge
|
||||
min_confidence: knows_details
|
||||
tags: [operational, contraband]
|
||||
|
||||
- id: pc-smuggler_m_s_024
|
||||
text: "Kael's not answering his lattice. He was supposed to meet me here."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: person_of_interest
|
||||
priority: 7
|
||||
tags: [npc, kael, concern, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_025
|
||||
text: "Someone wiped the dust off this hatch. Recently. Carefully."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, caution]
|
||||
-152
@@ -1,152 +0,0 @@
|
||||
character: smuggler
|
||||
location: opening
|
||||
lines:
|
||||
# Opening Hook Sequence — Ticket #299 — Smuggler Diegetic Tutorial Arc / First 5 Minutes
|
||||
# 11 lines. Prerequisites null on all — fires before any knowledge graph state exists.
|
||||
# Priority 8-10 ensures these fire before the general terminal pool lines.
|
||||
# cooldown: 9999 — each line fires once, does not repeat.
|
||||
# Arc: station hum → spatial count → fog boundary → thin crowd → Kael sighting ×2 → news ticker → sound ping → time countdown → settle ×2.
|
||||
# All lines fully schema-compliant per D-035 (role, access, trust, situation present).
|
||||
|
||||
- id: pc-smuggler_m_s_001
|
||||
text: "Station hum. B-flat, steady — freight's moving."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
trigger: enter_location
|
||||
mood: [content]
|
||||
priority: 10
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, atmospheric]
|
||||
notes: "Opening sensation. Station audio registers first — the hum tells her freight is running. Teaches: audio environment carries operational information (D-074)."
|
||||
|
||||
- id: pc-smuggler_m_s_002
|
||||
text: "Sixteen bays, three arms running. Standard morning."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
trigger: enter_location
|
||||
mood: [content]
|
||||
priority: 10
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, orientation]
|
||||
notes: "Spatial orientation. She clocks the floor in two beats — count of bays, count of running arms. Everything in fragments. Teaches: the terminal layout."
|
||||
|
||||
- id: pc-smuggler_m_s_003
|
||||
text: "Haze past bay eight today. Can't see the far dock from here."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, observation]
|
||||
trigger: enter_location
|
||||
mood: [content]
|
||||
priority: 10
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, fog, perception]
|
||||
notes: "Fog boundary. She notices the edge of her vision as a fact of the floor, not a mechanic. Teaches: perception range has limits (D-015, D-046)."
|
||||
|
||||
- id: pc-smuggler_m_s_004
|
||||
text: "Morning crew's spread thin. Good. Room to move."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
trigger: enter_location
|
||||
mood: [content]
|
||||
priority: 9
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc]
|
||||
notes: "Light crowd = operational comfort. 'Good.' standalone verbal tic (section 1.7). Teaches: NPC density affects movement options."
|
||||
|
||||
- id: pc-smuggler_m_s_005
|
||||
text: "Kael's at dock three. Right where he should be."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, social]
|
||||
trigger: observe_npc
|
||||
mood: [content, warm]
|
||||
priority: 10
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, kael, friend-arc]
|
||||
notes: "First Kael sighting. Warm, immediate — she locates him before she finishes reading the floor. Teaches: named NPCs are identifiable via insert overlay (D-033 green entity)."
|
||||
|
||||
- id: pc-smuggler_m_s_006
|
||||
text: "Already has his clipboard. Day's organized before it starts. Two years, same routine."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, social]
|
||||
trigger: observe_npc
|
||||
mood: [warm]
|
||||
priority: 9
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, kael, friend-arc]
|
||||
notes: "Kael warmth through behavior-reading, not labeling. Three beats: observation → interpretation → familiarity. 'Two years, same routine' says she knows his patterns intimately. Establishes: Kael is trusted, competent, reliable — the baseline before the friend arc erodes it."
|
||||
|
||||
- id: pc-smuggler_m_s_007
|
||||
text: "Bulletin board's got a new Commission notice. Lattice registration updates. Not today's problem."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: enter_location
|
||||
mood: [content]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, news-ticker]
|
||||
notes: "News ticker glance. She reads and dismisses it. The Commission exists as background noise — relevant only when it stops being ignorable. Teaches: environmental text exists, player can engage or skip. D-037 irony: lattice registration is exactly what the ring circumvents."
|
||||
|
||||
- id: pc-smuggler_m_s_008
|
||||
text: "Span gate echo from dock fourteen. Something inbound, running heavy by the sound of it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, observation]
|
||||
trigger: hear_sound
|
||||
mood: [content]
|
||||
priority: 9
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, sound, perception]
|
||||
notes: "First sound ping at the edge of range. She interprets pitch instantly — the echo tells her load weight. Teaches: sound carries operational information (D-018, D-074 sound model). Sound channel is meaningful."
|
||||
|
||||
- id: pc-smuggler_m_s_009
|
||||
text: "Shift board says light cargo today. Fifty minutes before Voss does his rounds."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, routine]
|
||||
trigger: enter_location
|
||||
mood: [content]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, operational]
|
||||
notes: "'Fifty minutes' = time-as-countdown verbal tic (section 1.7). She's already calculating windows. Teaches: time and NPC patrol rhythms are trackable."
|
||||
|
||||
- id: pc-smuggler_m_s_010
|
||||
text: "Same floor, same faces, same hum. Could be worse."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start]
|
||||
trigger: enter_location
|
||||
mood: [content]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc, atmospheric]
|
||||
notes: "Settling line. Baseline contentment. Parallel three-beat structure then understatement. 'Could be worse' is her comfort language — not enthusiastic, just settled. Voice anchor for confidence register (section 1.8)."
|
||||
|
||||
- id: pc-smuggler_m_s_011
|
||||
text: "Dock's clean this morning. Good start."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, shift_start, routine]
|
||||
trigger: enter_location
|
||||
mood: [content]
|
||||
priority: 7
|
||||
cooldown: 9999
|
||||
tags: [opening-hook, tutorial-arc]
|
||||
notes: "Close of opening arc. Short, approving. 'Good start' = positive 'Good.' tic applied to the environment. Everything is where it should be — for now."
|
||||
-124
@@ -1,124 +0,0 @@
|
||||
# Smuggler monologue: observing the Detective-as-NPC
|
||||
# PC-as-NPC tell-inversion content (D-039 Wow Moment #4)
|
||||
# Ticket: #401 | Sprint: 5
|
||||
# Voice: terse, operational, worried, short sentences, contractions always
|
||||
# Context: the smuggler watches the detective-NPC's behavioral tells.
|
||||
# First playthrough: "Commission threat. Stay clear."
|
||||
# Second playthrough: "That's MY note-taking. That's MY method."
|
||||
|
||||
character: smuggler
|
||||
location: general
|
||||
lines:
|
||||
|
||||
# --- Tell Observations (5 core tells from pc-as-npc-spec.md section 8) ---
|
||||
|
||||
- id: pc-smuggler_m_s_001
|
||||
text: "Commission officer just stood there after talking to Voss. Making notes. Not good."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-detective
|
||||
state: known
|
||||
tags: [npc, pc-detective, tell, note-taking, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_002
|
||||
text: "That investigator is working the hub section by section. Not browsing. Searching."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-detective
|
||||
state: known
|
||||
tags: [npc, pc-detective, tell, systematic-movement, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_003
|
||||
text: "Commission's parked at the manifest terminal again. Third time today."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-detective
|
||||
state: known
|
||||
tags: [npc, pc-detective, tell, manifest-fixation, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_004
|
||||
text: "They're watching. From the corner, where they can see the whole dock floor. Professional."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-detective
|
||||
state: known
|
||||
tags: [npc, pc-detective, tell, observation-positioning, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_005
|
||||
text: "The investigator and Sera again. Old friends? Or is Sera reporting to them?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-detective
|
||||
state: known
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: known
|
||||
tags: [npc, pc-detective, sera, tell, sera-proximity, suspicion]
|
||||
|
||||
# --- Operational Awareness (smuggler's threat assessment) ---
|
||||
|
||||
- id: pc-smuggler_m_s_006
|
||||
text: "New Commission face at the hub. Keep your head down. Don't give them anything."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-detective
|
||||
state: known
|
||||
priority: 8
|
||||
tags: [npc, pc-detective, operational, caution, first-sighting]
|
||||
|
||||
- id: pc-smuggler_m_s_007
|
||||
text: "That investigator's been here all morning. Nobody stays that long for a routine check."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, routine]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-detective
|
||||
state: known
|
||||
priority: 6
|
||||
tags: [npc, pc-detective, suspicion, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_008
|
||||
text: "Commission's at the bar. Sitting with Sera. Watching the room like they own it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:pc-detective
|
||||
state: known
|
||||
tags: [npc, pc-detective, sera, bar, caution]
|
||||
-303
@@ -1,303 +0,0 @@
|
||||
# Monologue: Smuggler — Smuggling Hold
|
||||
# Ticket: #120 | Author: Mellanie | Sprint: 14
|
||||
# Decision refs: D-016, D-032, D-035, D-037
|
||||
#
|
||||
# The smuggling hold is below the maintenance corridors — an unmarked
|
||||
# sub-level cargo space that the ring uses for temp storage and transfers.
|
||||
# Not on any official manifest. The smuggler knows every pipe and access
|
||||
# point here. This is both her operational center and her greatest exposure.
|
||||
#
|
||||
# Voice note: the smuggler here is at maximum operational competence and
|
||||
# maximum paranoia simultaneously. She's in control of the space but the
|
||||
# space itself is evidence of everything she's done. Lines should carry
|
||||
# that dual register — calm on the surface, tight underneath.
|
||||
#
|
||||
# Schema: D-035 compliant. role/access/trust/situation included on all lines.
|
||||
# Existing Sprint 5 files (the-terminal, the-last-shift, maintenance-corridors)
|
||||
# will be updated by #168 (schema compliance pass).
|
||||
|
||||
character: smuggler
|
||||
location: smuggling-hold
|
||||
|
||||
lines:
|
||||
|
||||
# --- Arrival ---
|
||||
|
||||
- id: pc-smuggler_m_s_001
|
||||
text: "Sub-level. The kind of space nobody finds unless you know where to look."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
tags: [arrival, atmospheric, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_002
|
||||
text: "Coolant smell. No ventilation down here — just recycled air and waiting."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
tags: [arrival, atmospheric, sensory]
|
||||
|
||||
- id: pc-smuggler_m_s_003
|
||||
text: "Access hatch sealed from the inside. Good. Route's still ours."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_004
|
||||
text: "Three containers in temp. Right where they should be."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: knowledge.ring_routing_knowledge
|
||||
min_confidence: knows_of
|
||||
tags: [arrival, operational, contraband]
|
||||
|
||||
- id: pc-smuggler_m_s_005
|
||||
text: "Back in the hold. Dust on the floor shows the last two paths in. Both mine."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: return_visit
|
||||
situation: [arrival, routine]
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_006
|
||||
text: "Nobody's been here. Good. That's how it should feel."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
# --- Perception / Sound ---
|
||||
|
||||
- id: pc-smuggler_m_s_007
|
||||
text: "The water recycler's on the other side of that wall. Loud enough to cover conversation."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: hear_sound
|
||||
situation: [routine]
|
||||
tags: [sensory, environmental, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_008
|
||||
text: "Footsteps above. Maintenance crew — they stay up top. Always."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: hear_sound
|
||||
situation: [routine]
|
||||
tags: [sensory, environmental, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_009
|
||||
text: "That sound. Pressure shift. Someone opened the main hatch."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: hear_sound
|
||||
situation: [routine, investigation]
|
||||
priority: 7
|
||||
tags: [sensory, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_010
|
||||
text: "Pipe drone changes pitch when cargo shifts weight in the upper tier. That's cargo moving."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: hear_sound
|
||||
situation: [routine]
|
||||
tags: [sensory, operational]
|
||||
|
||||
# --- Time Idle / Ruminative ---
|
||||
|
||||
- id: pc-smuggler_m_s_011
|
||||
text: "Fifteen minutes until the oversight window closes. Plenty of time. Probably."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [shift_transition]
|
||||
tags: [operational, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_012
|
||||
text: "Medical-grade lattice components. People need these. That's still the reason."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine]
|
||||
tags: [atmospheric, contraband]
|
||||
|
||||
- id: pc-smuggler_m_s_013
|
||||
text: "Twelve minutes of reduced oversight. Stop counting and do something useful."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [shift_transition]
|
||||
tags: [operational]
|
||||
|
||||
- id: pc-smuggler_m_s_014
|
||||
text: "How many times have I been in this room telling myself it's almost done?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine]
|
||||
tags: [atmospheric, personal]
|
||||
|
||||
- id: pc-smuggler_m_s_015
|
||||
text: "Quiet. The right kind. Not the wrong kind."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine]
|
||||
tags: [atmospheric]
|
||||
|
||||
# --- Anomaly / Investigation ---
|
||||
|
||||
- id: pc-smuggler_m_s_016
|
||||
text: "Container 4471's been opened. Not by me. Not by anyone I authorized."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: observe_anomaly
|
||||
situation: [routine, investigation]
|
||||
priority: 8
|
||||
tags: [operational, caution, contraband]
|
||||
|
||||
- id: pc-smuggler_m_s_017
|
||||
text: "Dust disturbed at the secondary hatch. Recent. Someone's been using the back route."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: observe_anomaly
|
||||
situation: [routine]
|
||||
tags: [caution, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_018
|
||||
text: "Scratches on the access panel. New ones, over the old ones. Different tool."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: observe_anomaly
|
||||
situation: [routine]
|
||||
tags: [caution, environmental]
|
||||
|
||||
- id: pc-smuggler_m_s_019
|
||||
text: "The temp unit's running warm. Someone moved cargo through here fast."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: observe_anomaly
|
||||
situation: [routine]
|
||||
tags: [operational, caution, contraband]
|
||||
|
||||
# --- Knowledge-Gated: Kael Arc ---
|
||||
|
||||
- id: pc-smuggler_m_s_020
|
||||
text: "Kael used to wait for me here. The one place where we could actually talk."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: friendly
|
||||
priority: 6
|
||||
tags: [npc, kael, atmospheric, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_021
|
||||
text: "Kael's not answering. Should be here by now. Should have been here ten minutes ago."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine]
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: person_of_interest
|
||||
priority: 7
|
||||
tags: [npc, kael, concern, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_022
|
||||
text: "If Kael talked to someone in that corridor — someone outside the ring — and then this container got touched... that's not coincidence."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine, investigation]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.kael_unknown_contact
|
||||
min_confidence: knows_of
|
||||
- fact_id: investigation.container_delay
|
||||
min_confidence: suspects
|
||||
priority: 9
|
||||
tags: [npc, kael, investigation, contraband, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_023
|
||||
text: "The manifest Kael helped me falsify is in that container. If he talked, they already know."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: observe_anomaly
|
||||
situation: [investigation]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.kael_unknown_contact
|
||||
min_confidence: suspects
|
||||
- fact_id: knowledge.ring_routing_knowledge
|
||||
min_confidence: knows_details
|
||||
priority: 9
|
||||
tags: [npc, kael, operational, contraband, friend-arc, contaminated-trust]
|
||||
|
||||
- id: pc-smuggler_m_s_024
|
||||
text: "Renn's mark is here. The route's still active. So Kael hasn't burned everything. Yet."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: enter_location
|
||||
situation: [arrival, routine]
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.kael_unknown_contact
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [operational, kael, renn, friend-arc]
|
||||
|
||||
# --- Post-Conversation ---
|
||||
|
||||
- id: pc-smuggler_m_s_025
|
||||
text: "Renn didn't ask questions. That's either loyalty or he already knows."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: post_conversation
|
||||
situation: [routine]
|
||||
tags: [npc, renn, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_026
|
||||
text: "One more run. That's what I keep telling myself. Has been for eight months."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
trigger: time_idle
|
||||
situation: [routine]
|
||||
tags: [atmospheric, personal, contraband]
|
||||
-427
@@ -1,427 +0,0 @@
|
||||
character: smuggler
|
||||
location: the-last-shift
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: pc-smuggler_m_s_001
|
||||
text: "Lera's. Grain spirit and noise. Could use both right now."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_002
|
||||
text: "Bar's half full. The after-shift crowd's starting to filter in."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival]
|
||||
|
||||
- id: pc-smuggler_m_s_003
|
||||
text: "Lera's got the Meridian feed running. Same headlines, different day."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, environmental]
|
||||
|
||||
- id: pc-smuggler_m_s_004
|
||||
text: "Smells like fried protein and cheap grain spirit. Perfect."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_005
|
||||
text: "My booth's free. Small victories."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, personal]
|
||||
|
||||
- id: pc-smuggler_m_s_006
|
||||
text: "The overhead light's still buzzing. Lera says it adds character."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-smuggler_m_s_007
|
||||
text: "Music's louder tonight. Lera's in a good mood, or drowning something out."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_008
|
||||
text: "Back at Lera's. Same booth, same drink, same crowd."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: return_visit
|
||||
tags: [arrival]
|
||||
|
||||
- id: pc-smuggler_m_s_009
|
||||
text: "The ventilation rattles when the kitchen's on. You learn to talk over it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-smuggler_m_s_010
|
||||
text: "Quiet night at Lera's. Fewer people means fewer ears."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: enter_location
|
||||
tags: [arrival, operational]
|
||||
|
||||
# --- NPC Commentary ---
|
||||
|
||||
- id: pc-smuggler_m_s_011
|
||||
text: "Lera's behind the bar. Good — she keeps things steady."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, lera]
|
||||
|
||||
- id: pc-smuggler_m_s_012
|
||||
text: "Kael's at the corner table. Looks relaxed. That's something."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, kael]
|
||||
|
||||
- id: pc-smuggler_m_s_013
|
||||
text: "Torek's buying rounds again. That man doesn't know the word 'discreet.'"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, torek, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_014
|
||||
text: "Sera's here. Commission field tech. She keeps to herself — mostly."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, sera, commission]
|
||||
|
||||
- id: pc-smuggler_m_s_015
|
||||
text: "Naia's laughing at something Lera said. Nice to see her relaxed."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, naia]
|
||||
|
||||
- id: pc-smuggler_m_s_016
|
||||
text: "Old Pael's in his usual spot. Hasn't moved in three hours. Impressive."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_017
|
||||
text: "Lera just cut someone off. Smooth about it, but firm."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: witness_interaction
|
||||
tags: [npc, lera]
|
||||
|
||||
- id: pc-smuggler_m_s_018
|
||||
text: "Kael and Naia at the bar. Leaning into each other. They look good together."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: witness_interaction
|
||||
tags: [npc, kael, naia]
|
||||
|
||||
- id: pc-smuggler_m_s_019
|
||||
text: "Voss is drinking alone. Not his usual pace."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, voss]
|
||||
|
||||
- id: pc-smuggler_m_s_020
|
||||
text: "That new face in the corner — been nursing the same drink for an hour."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, caution]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: pc-smuggler_m_s_021
|
||||
text: "Sera left when Torek walked in. Coincidence? Maybe."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_avoidance_pattern
|
||||
min_confidence: suspects
|
||||
tags: [npc, sera, torek, pattern]
|
||||
|
||||
- id: pc-smuggler_m_s_022
|
||||
text: "Torek just paid cash credit, not station account. Sloppy."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.torek_spending_pattern
|
||||
min_confidence: knows_of
|
||||
tags: [npc, torek, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_023
|
||||
text: "Lera gave me that look. The one that says 'not here, not now.'"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine, social]
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: knowledge.ring_bar_operations
|
||||
min_confidence: knows_details
|
||||
tags: [npc, lera, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_024
|
||||
text: "Naia looks tired. Has Kael been coming home late again?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:naia-tamm
|
||||
state: known
|
||||
tags: [npc, naia, kael, concern]
|
||||
|
||||
- id: pc-smuggler_m_s_025
|
||||
text: "The detective is here. At the bar. My bar."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: awareness.detective_presence
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [investigation, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_026
|
||||
text: "Sera and the detective sharing a booth. Commission people stick together."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: witness_interaction
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: awareness.detective_presence
|
||||
min_confidence: knows_of
|
||||
tags: [npc, sera, investigation]
|
||||
|
||||
- id: pc-smuggler_m_s_027
|
||||
text: "Kael didn't save my seat tonight. First time in months."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: person_of_interest
|
||||
priority: 8
|
||||
tags: [npc, kael, contaminated-trust, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_028
|
||||
text: "The back room light's on. Nils is here, then."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: knowledge.ring_bar_operations
|
||||
min_confidence: knows_details
|
||||
tags: [operational, nils]
|
||||
|
||||
- id: pc-smuggler_m_s_029
|
||||
text: "Kael bought Naia a drink but barely looked at her. That's new."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: witness_interaction
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.kael_behavioral_change
|
||||
min_confidence: suspects
|
||||
tags: [npc, kael, naia, tell, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_030
|
||||
text: "Everyone's a little too quiet tonight. Something happened. I can feel it."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: enter_location
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: awareness.ring_tension_escalation
|
||||
min_confidence: suspects
|
||||
priority: 7
|
||||
tags: [atmospheric, caution, operational]
|
||||
|
||||
# --- Sera Venn Dual-Lens — Smuggler Observations ---
|
||||
# Ticket: #298 | Author: Paula
|
||||
# The smuggler sees Sera as Commission — wary, practical, outsider
|
||||
# perspective. On replay, these lines gain new meaning when the player
|
||||
# understands Sera's concealment arc from the detective playthrough.
|
||||
|
||||
- id: pc-smuggler_m_s_031
|
||||
text: "Sera's at the Commission kiosk. Third time this shift. Nobody recalibrates that much."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_kiosk_pattern
|
||||
min_confidence: suspects
|
||||
priority: 6
|
||||
tags: [npc, sera, commission, pattern, dual-lens]
|
||||
|
||||
- id: pc-smuggler_m_s_032
|
||||
text: "Naia trusts Sera. More than most people here. That says something."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: witness_interaction
|
||||
tags: [npc, sera, naia, social, dual-lens]
|
||||
|
||||
- id: pc-smuggler_m_s_033
|
||||
text: "Sera was studying the freight display. For a calibration tech, that's a lot of manifest reading."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_topic_deflection
|
||||
min_confidence: suspects
|
||||
priority: 6
|
||||
tags: [npc, sera, tell, cargo, dual-lens]
|
||||
|
||||
- id: pc-smuggler_m_s_034
|
||||
text: "That's three times Sera's bailed when Torek showed up. Maybe she owes him money."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_avoidance_pattern
|
||||
min_confidence: knows_of
|
||||
priority: 7
|
||||
tags: [npc, sera, torek, pattern, dual-lens, replay-payload]
|
||||
|
||||
- id: pc-smuggler_m_s_035
|
||||
text: "Sera offered the detective compliance records. Helpful -- or professional courtesy?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: witness_interaction
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: awareness.detective_presence
|
||||
min_confidence: knows_of
|
||||
tags: [npc, sera, investigation, caution, dual-lens]
|
||||
|
||||
- id: pc-smuggler_m_s_036
|
||||
text: "Something about Sera tonight. Same smile, different eyes."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:sera-venn
|
||||
state: known
|
||||
tags: [npc, sera, behavioral, dual-lens]
|
||||
|
||||
- id: pc-smuggler_m_s_037
|
||||
text: "Commission tech who drinks at a dock bar. Either lonely or embedded. Either way -- careful."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, sera, commission, assessment, dual-lens]
|
||||
|
||||
- id: pc-smuggler_m_s_038
|
||||
text: "Sera knows the shift rotations better than Voss. That's not calibration. That's attention."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.sera_knowledge_detail
|
||||
min_confidence: suspects
|
||||
priority: 6
|
||||
tags: [npc, sera, tell, competence, dual-lens]
|
||||
-449
@@ -1,449 +0,0 @@
|
||||
character: smuggler
|
||||
location: the-terminal
|
||||
lines:
|
||||
# --- Arrival + Environmental Flavor ---
|
||||
|
||||
- id: pc-smuggler_m_s_001
|
||||
text: "Morning shift. Recycled air and cargo lubricant. Home sweet home."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_002
|
||||
text: "The loading arms are cycling. Freight's on schedule — for once."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: enter_location
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_003
|
||||
text: "Shift board's already full. Voss has everyone running double today."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: enter_location
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_004
|
||||
text: "Cargo lubricant and ozone. You'd think I'd stop noticing."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_005
|
||||
text: "Loading arm three is grinding again. Someone should file that."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-smuggler_m_s_006
|
||||
text: "Containers stacked six high in bay four. That's new."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_007
|
||||
text: "The freight manifest board's flickering. Always flickering."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental]
|
||||
|
||||
- id: pc-smuggler_m_s_008
|
||||
text: "Dock lights are on half-cycle. Budget cuts again."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [environmental, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_009
|
||||
text: "Back at the hub. Shift transition in fifty minutes."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: return_visit
|
||||
tags: [arrival, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_010
|
||||
text: "Quiet morning. Containers moving, nobody talking. I like it this way."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival]
|
||||
trigger: enter_location
|
||||
tags: [arrival, atmospheric]
|
||||
|
||||
- id: pc-smuggler_m_s_011
|
||||
text: "Bay three's been sealed off. Inspection, or something else?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [environmental, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_012
|
||||
text: "The conveyor hums at a different pitch when it's loaded heavy. This one's heavy."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: hear_sound
|
||||
tags: [environmental, operational]
|
||||
|
||||
# --- NPC Commentary ---
|
||||
|
||||
- id: pc-smuggler_m_s_013
|
||||
text: "Kael's already at the dock. Good. The day's better when he's on shift."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, kael, warm]
|
||||
|
||||
- id: pc-smuggler_m_s_014
|
||||
text: "Voss is pacing. Never a good sign."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, voss, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_015
|
||||
text: "Maret's got her scheduling face on. Tight lips, fast hands on the terminal."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, maret]
|
||||
|
||||
- id: pc-smuggler_m_s_016
|
||||
text: "New face at dock seven. Temp worker, or someone I should know about?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_017
|
||||
text: "Drin's at inspection again. Going through the motions, same as always."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, drin]
|
||||
|
||||
- id: pc-smuggler_m_s_018
|
||||
text: "Renn's running late. Third time this week."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_npc
|
||||
tags: [npc, renn, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_019
|
||||
text: "Voss and Maret talking by the schedule board. Both look tense."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: witness_interaction
|
||||
tags: [npc, voss, maret]
|
||||
|
||||
- id: pc-smuggler_m_s_020
|
||||
text: "Kael nodded at me across the bay. Business as usual."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
tags: [npc, kael]
|
||||
|
||||
- id: pc-smuggler_m_s_021
|
||||
text: "Someone I don't recognize talking to Drin. Drin's smiling. Drin never smiles."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: witness_interaction
|
||||
tags: [npc, drin, anomaly]
|
||||
|
||||
- id: pc-smuggler_m_s_022
|
||||
text: "Torek's on the dock. Shouldn't be — his shift ended two hours ago."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [npc, torek, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_023
|
||||
text: "Nils isn't here yet. That's unusual."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
tags: [npc, nils, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_024
|
||||
text: "Kael's eating alone today. He always eats with me."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_anomaly
|
||||
tags: [npc, kael, concern]
|
||||
|
||||
# --- Knowledge-Gated Lines ---
|
||||
|
||||
- id: pc-smuggler_m_s_025
|
||||
text: "Kael keeps checking his lattice. Waiting for a message? Not like him to be jumpy."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: friendly
|
||||
priority: 7
|
||||
tags: [npc, kael, tell, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_026
|
||||
text: "Container 4471's been in temp since yesterday. That's not the normal routing."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: knowledge.ring_routing_knowledge
|
||||
min_confidence: knows_details
|
||||
tags: [operational, contraband]
|
||||
|
||||
- id: pc-smuggler_m_s_027
|
||||
text: "Voss changed the rotation again. Third time this month. Covering something."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_anomaly
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.voss_ring_involvement
|
||||
min_confidence: knows_of
|
||||
tags: [npc, voss, operational]
|
||||
|
||||
- id: pc-smuggler_m_s_028
|
||||
text: "That detective's back. Asking questions near bay four. Stay calm."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: awareness.detective_presence
|
||||
min_confidence: knows_of
|
||||
priority: 8
|
||||
tags: [investigation, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_029
|
||||
text: "Maret hasn't looked at me all shift. She noticed something. I know she did."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
entity_attributes:
|
||||
- entity: npc:maret-korr
|
||||
key: behavior_flags
|
||||
value: avoidance
|
||||
priority: 6
|
||||
tags: [npc, maret, paranoia]
|
||||
|
||||
- id: pc-smuggler_m_s_030
|
||||
text: "Shift transition in ten. If the route's clean, we move tonight."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, routine]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: knowledge.ring_routing_knowledge
|
||||
min_confidence: knows_details
|
||||
tags: [operational, contraband]
|
||||
|
||||
- id: pc-smuggler_m_s_031
|
||||
text: "Kael was in corridor B-7 last night. Off-shift. Off-route. That's not nothing."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.kael_corridor_meeting
|
||||
min_confidence: suspects
|
||||
priority: 8
|
||||
tags: [npc, kael, contradiction, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_032
|
||||
text: "Who was Kael talking to? Not anyone from our rotation. I'd know the face."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [alone, investigation]
|
||||
trigger: time_idle
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.kael_unknown_contact
|
||||
min_confidence: suspects
|
||||
priority: 9
|
||||
tags: [npc, kael, contradiction, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_033
|
||||
text: "He looked left before answering. He always looks left when he's lying."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: behavioral.kael_evasion
|
||||
min_confidence: direct
|
||||
priority: 9
|
||||
tags: [npc, kael, tell, friend-arc]
|
||||
|
||||
- id: pc-smuggler_m_s_034
|
||||
text: "Torek's spending too much at Lera's. Someone's going to notice."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation, routine]
|
||||
trigger: observe_npc
|
||||
prerequisites:
|
||||
facts:
|
||||
- fact_id: investigation.torek_spending_pattern
|
||||
min_confidence: knows_of
|
||||
tags: [npc, torek, operational, caution]
|
||||
|
||||
- id: pc-smuggler_m_s_035
|
||||
text: "Same old Kael. Same jokes, same routine. ...What are you not telling me?"
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [investigation, social]
|
||||
trigger: post_conversation
|
||||
prerequisites:
|
||||
relationship:
|
||||
target: npc:kael-davan
|
||||
state: person_of_interest
|
||||
priority: 9
|
||||
tags: [npc, kael, contaminated-trust, friend-arc]
|
||||
|
||||
# --- Triangle Activation: Kael Davan (T1: Kael-Smuggler-Ring, D-087) ---
|
||||
# Fires post-TriangleActivated when player has LOS to Kael. One beat per line.
|
||||
# Beat 1: physical observation. Beat 2: rationalization. Beat 3: doubt. Beat 4: sensory confirmation. Beat 5: emotional break.
|
||||
|
||||
- id: pc-smuggler_m_s_036
|
||||
text: "Kael's in the main corridor. He doesn't usually come through here."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [suspicious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, kael, friend-arc]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
|
||||
- id: pc-smuggler_m_s_037
|
||||
text: "Voss probably moved him. Schedule shifts happen."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [suspicious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, kael, friend-arc]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
|
||||
- id: pc-smuggler_m_s_038
|
||||
text: "...Kael would've told me."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [anxious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, kael, friend-arc]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
|
||||
- id: pc-smuggler_m_s_039
|
||||
text: "He's not looking at the cargo. He's watching the exits."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [anxious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, kael, tell, friend-arc]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
|
||||
- id: pc-smuggler_m_s_040
|
||||
text: "I don't know what I'm seeing. But I know Kael. And this isn't Kael."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [triangle_activated]
|
||||
trigger: observe_npc
|
||||
mood: [anxious]
|
||||
priority: 8
|
||||
cooldown: 9999
|
||||
tags: [triangle-signal, tell-observation, npc, kael, contradiction, friend-arc]
|
||||
prerequisites:
|
||||
npc_in_los: true
|
||||
-229
@@ -1,229 +0,0 @@
|
||||
character: smuggler
|
||||
location: tutorial
|
||||
lines:
|
||||
# Diegetic Tutorial Monologue — Ticket #330 — Smuggler
|
||||
# Authored per sprint-17 copy briefing and D-016 (internal monologue as core system).
|
||||
#
|
||||
# These lines teach mechanics through character voice — not UI instructions.
|
||||
# Distinct from opening.yaml (which covers the first 5 minutes and sets voice/motivation).
|
||||
# These fire on first-time events throughout gameplay, wherever they occur.
|
||||
#
|
||||
# Coverage:
|
||||
# Movement / exploration — first_move, first_new_section
|
||||
# Fog of perception — first_fog_encounter, first_fog_edge
|
||||
# Sound model — first_sound_heard, first_off_screen_sound
|
||||
# NPC interaction — first_npc_proximity, first_npc_face_read
|
||||
# Insert / HUD — first_insert_open, first_insert_contact_flag
|
||||
#
|
||||
# Voice: observational, street-smart, practical. Fragments. Standalone "Good." as tic.
|
||||
# No analytical distance — the smuggler reads, reacts, files, moves on.
|
||||
# ID discriminator: _tut_ per sprint briefing.
|
||||
# cooldown: omitted — fire-once enforced by trigger semantics (first_* triggers
|
||||
# fire once per game), not by a cooldown value.
|
||||
# priority: 8 (primary, one per trigger type), 6 (secondary variant, mood-weighted alternate).
|
||||
#
|
||||
# Schema corrections (Gestalt review, Sprint 17):
|
||||
# priority: string "tutorial" → integer. All other monologue files use integer priority;
|
||||
# string value would fail engine parse in monologue.rs.
|
||||
# situation: removed invalid values (movement, exploration) not in D-035 13-situation
|
||||
# enum. Replaced with arrival, routine, observation per actual trigger context.
|
||||
# mood: [focused] retained where set; valid per D-035 Sprint 14 amendment.
|
||||
#
|
||||
# Trigger types (first_move, first_new_section, first_fog_encounter, first_fog_edge,
|
||||
# first_sound_heard, first_off_screen_sound, first_npc_proximity, first_npc_face_read,
|
||||
# first_insert_open, first_insert_contact_flag) are extended trigger enum values not in
|
||||
# D-035 v0.1 set — require server-side implementation in monologue.rs.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# MOVEMENT / EXPLORATION
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-smuggler_m_s_tut_001
|
||||
text: "These corridors all look the same. Mental note: check the signage."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: first_move
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, movement, navigation]
|
||||
notes: >
|
||||
Directly from the sprint briefing example. First move teaches navigation: the district
|
||||
looks homogeneous, signage is the tool. 'Mental note' is the smuggler's internal
|
||||
flag for things to remember — operational housekeeping, not analysis. Establishes
|
||||
early: this environment requires active spatial tracking.
|
||||
|
||||
- id: pc-smuggler_m_s_tut_002
|
||||
text: "Two lefts past the junction, right at the supply hatch. That's dock four. Route's in the muscle now."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [arrival, routine]
|
||||
trigger: first_new_section
|
||||
mood: [content]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, movement, navigation, operational]
|
||||
notes: >
|
||||
Fires on entering a new section for the first time. 'Route's in the muscle' — the
|
||||
smuggler doesn't memorize spatially, she moves until it's automatic. Practical,
|
||||
self-sufficient. Teaches: the district has multiple sections, each requires its own
|
||||
orientation. 'Dock four' is a landmark. Forward movement is rewarded with familiarity.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# FOG OF PERCEPTION
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-smuggler_m_s_tut_003
|
||||
text: "Can't see past that corner. Might be worth checking."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: first_fog_encounter
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, fog, perception]
|
||||
notes: >
|
||||
Directly from the sprint briefing example. First fog boundary. Restated as habit:
|
||||
the smuggler doesn't treat the fog as a limitation, she treats every unknown corner
|
||||
as a question worth answering. 'Might be worth' — not paranoia, just operational
|
||||
instinct. Teaches: the perception boundary is navigable, not fixed.
|
||||
|
||||
- id: pc-smuggler_m_s_tut_004
|
||||
text: "Haze cuts off past the junction. Anything in it — can't say."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: first_fog_edge
|
||||
mood: [focused]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, fog, perception]
|
||||
notes: >
|
||||
Second fog encounter line — fires when the player reaches the boundary of a fog zone
|
||||
(the edge of visible range). 'Can't say' — plain statement of unknowing, not anxiety.
|
||||
The smuggler accepts incomplete information as a working condition, not a failure state.
|
||||
Teaches: perception range is an ongoing factor, not a one-time obstacle.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# SOUND MODEL
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-smuggler_m_s_tut_005
|
||||
text: "Voices down the hall. Can't make out the words from here."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: first_sound_heard
|
||||
mood: [focused]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, sound, perception]
|
||||
notes: >
|
||||
Directly from the sprint briefing example. First sound heard that's not immediately
|
||||
visible. Teaching: sound carries information, but range and occlusion limit it.
|
||||
'Can't make out the words' establishes both the value of the sound channel (voices =
|
||||
people = relevant) and its limitation (unclear at range). Moving toward source is
|
||||
the implied next step.
|
||||
|
||||
- id: pc-smuggler_m_s_tut_006
|
||||
text: "Footsteps. Two sets. Moving away — good."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [observation]
|
||||
trigger: first_off_screen_sound
|
||||
mood: [content]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, sound, perception, operational]
|
||||
notes: >
|
||||
Second sound line — fires when audio from an off-screen source is detected. The
|
||||
smuggler parses footsteps as count and direction instinctively. 'Moving away — good.'
|
||||
— the standalone 'Good.' tic applied to tactical assessment. Teaches: sound carries
|
||||
directional and movement data, not just presence. Two sets = two people, which is
|
||||
specific enough to be operationally useful.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# NPC INTERACTION
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-smuggler_m_s_tut_007
|
||||
text: "Could ask around. People talk if you give them reason to."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social, observation]
|
||||
trigger: first_npc_proximity
|
||||
mood: [content]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, npc, interaction, social]
|
||||
notes: >
|
||||
Directly from the sprint briefing example. First time in range of an NPC. The smuggler
|
||||
doesn't approach directly — she flags the option. 'Give them reason to' is street-smart
|
||||
social knowledge: people don't volunteer freely, they need a hook. Teaches: NPC
|
||||
interaction is player-initiated, and approach matters. No mechanics text — just the
|
||||
character's own method stated as personal principle.
|
||||
|
||||
- id: pc-smuggler_m_s_tut_008
|
||||
text: "Know the face. Don't need the name."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [social, observation]
|
||||
trigger: first_npc_face_read
|
||||
mood: [content]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, npc, observation, social]
|
||||
notes: >
|
||||
Fires when the player observes an NPC at close range (face visible). The smuggler
|
||||
reads people by face, not by name — the name comes later if relevant. Teaches: NPCs
|
||||
are identifiable by observation, and the insert overlay will fill in names when
|
||||
available. The smuggler's social intelligence is pre-lattice, instinctive.
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
# INSERT / HUD
|
||||
# -----------------------------------------------------------------------
|
||||
|
||||
- id: pc-smuggler_m_s_tut_009
|
||||
text: "Check the overlay. Should show the time and nearby contacts."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine]
|
||||
trigger: first_insert_open
|
||||
mood: [content]
|
||||
priority: 8
|
||||
|
||||
tags: [tutorial, insert, hud, operational]
|
||||
notes: >
|
||||
Directly from the sprint briefing example. First insert/HUD open. The smuggler's
|
||||
overlay shows time and nearby contacts — both operationally critical. 'Should show'
|
||||
— practical, not certain. Teaches: the insert is the primary tool for time-tracking
|
||||
and NPC awareness. Diegetic: she checks it the same way she checks a shift board.
|
||||
|
||||
- id: pc-smuggler_m_s_tut_010
|
||||
text: "Overlay marks Kael two sections over. Good."
|
||||
role: player_character
|
||||
access: [public]
|
||||
trust: surface
|
||||
situation: [routine, social]
|
||||
trigger: first_insert_contact_flag
|
||||
mood: [content, warm]
|
||||
priority: 6
|
||||
|
||||
tags: [tutorial, insert, hud, kael, friend-arc]
|
||||
notes: >
|
||||
Fires when the insert first flags a known contact (here: Kael, the FRIEND NPC).
|
||||
'Two sections over' — spatial data from the overlay. 'Good.' standalone tic —
|
||||
warm, settling. Teaches: the insert shows known NPC positions in real-time.
|
||||
Also seeds the Kael relationship: the smuggler checks his location as a habit,
|
||||
not a task. His position is always relevant to her.
|
||||
@@ -1,156 +0,0 @@
|
||||
# NPC Profile: Devra Talsen
|
||||
# Source: wiki/characters/devra.md
|
||||
# Tier 2 | THRESHOLD + HANDLER | Ring coordinator, supply broker
|
||||
|
||||
canonical_id: "npc:devra"
|
||||
display_name: "Devra Talsen"
|
||||
tier: 2
|
||||
pattern: "THRESHOLD"
|
||||
motivation: "HANDLER"
|
||||
|
||||
description: >
|
||||
Ring coordinator and freelance supply broker. Devra manages the ring's external
|
||||
supply chain — coordinating with Sabel for incoming shipments, scheduling handoffs,
|
||||
managing the timeline between gate transits and dock processing. The brokering
|
||||
business is both legitimate income and operational cover, intentionally blurring
|
||||
the line between legal and illegal work. Publicly a working professional with a
|
||||
regular seat at The Last Shift.
|
||||
|
||||
want:
|
||||
primary: "Wealth"
|
||||
intensity: 7
|
||||
description: >
|
||||
Keep the operation running smoothly and profitably.
|
||||
Devra is the ring's operational brain. She manages external supply chain
|
||||
coordination, schedules handoffs, and maintains timing between gate transits
|
||||
and dock processing. She is good at this — better than Nils, though she would
|
||||
never say it. Secondary want: maintain her legitimate cover. The supply
|
||||
brokering business provides real income, real social capital, and a legitimate
|
||||
reason to know shipping schedules, gate transit windows, and cargo volumes.
|
||||
|
||||
secret: >
|
||||
Devra manages the relationship with Sabel, the off-station supplier. If the
|
||||
chain is traced upstream, it runs through Devra. She is more exposed than anyone
|
||||
except Nils. 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
|
||||
do not match her client list. She is the single point of failure between the
|
||||
local ring and the supply source.
|
||||
|
||||
relationships:
|
||||
- target: "npc:nils-davan"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: "Ring coordinator (strategic). Respect for competence, disagree on risk tolerance. Devra favors steady volume; Nils pushes for escalation."
|
||||
- target: "npc:sabel"
|
||||
kind: "colleague"
|
||||
trust: 3
|
||||
notes: "Off-station supplier. Professional, efficient, no personal warmth. Transactional relationship."
|
||||
- target: "npc:lera-sessik"
|
||||
kind: "friend"
|
||||
trust: 4
|
||||
notes: "The bar is Devra's social stage. Drinks there, brokers small deals publicly. Lera knows Devra uses the back room."
|
||||
- target: "npc:renn"
|
||||
kind: "subordinate"
|
||||
trust: 5
|
||||
notes: "Courier. Receives timing instructions from Devra. Values Renn's reliability without personal investment."
|
||||
- target: "npc:pell"
|
||||
kind: "subordinate"
|
||||
trust: 1
|
||||
notes: "Ring member. Watching Pell more closely since Renn's report. Suspects wavering."
|
||||
|
||||
tolerance:
|
||||
threshold: 8
|
||||
description: >
|
||||
High. Calm under pressure, thinks operationally, does not panic. What breaks
|
||||
her tolerance: Pell's wavering (internal security threat), unexpected Commission
|
||||
presence (the detective's arrival), and Nils pushing volume too fast.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
6 routine entries covering full day cycle:
|
||||
1. Supply brokering (08:00-12:00) — lattice calls, contract negotiation, legitimate business.
|
||||
2. Lunch (12:00-14:00) — sometimes at the hub, maintaining visibility near freight operations.
|
||||
3. Bar presence (14:00-17:00, The Last Shift) — social stage, quiet coordination.
|
||||
4. Back room meetings (17:00-19:00, 1-2x per week) — ring business.
|
||||
5. Home or continued brokering (19:00+).
|
||||
6. Night operations — coordinates gate transit timing with Sabel during off-peak windows.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "contraband.ring_exists"
|
||||
- "contraband.lattice_components"
|
||||
- "contraband.supply_chain"
|
||||
- "location.smuggling_route"
|
||||
- "location.surveillance_gaps"
|
||||
- "investigation.shift_mismatch"
|
||||
- "relationship.ring_membership"
|
||||
- "relationship.trust_network"
|
||||
- "world.shift_schedule"
|
||||
access_tier: "insider"
|
||||
|
||||
contentment:
|
||||
level: 4
|
||||
description: >
|
||||
Moderate-high. Devra is competent and knows it. The operation runs well. The
|
||||
money is good. The brokering cover is solid. Contentment would drop sharply if
|
||||
the operation were threatened — not because she loves the work, but because she
|
||||
has built her entire life in the district around it.
|
||||
|
||||
personality:
|
||||
demeanor: "professional, composed, controlled"
|
||||
social_style: "strategic conversationalist, manages impressions, compartmentalizes"
|
||||
stress_response: "sentences get shorter, eye contact increases, casual bar persona drops"
|
||||
|
||||
tells:
|
||||
- trigger: "coordinating with Sabel about incoming shipment timing"
|
||||
behavior: "Increased lattice activity — longer message sessions, more frequent checks"
|
||||
visible_to: "peripheral"
|
||||
- trigger: "ring coordination meetings scheduled"
|
||||
behavior: "Enters the back room, door closes, 30-60 minutes. Casual demeanor before and after."
|
||||
visible_to: "any"
|
||||
- trigger: "discussing ring business with a colleague"
|
||||
behavior: "Professional demeanor shift — sentences shorten, eye contact increases, casual persona drops"
|
||||
visible_to: "forward"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
logistics: 8
|
||||
negotiation: 7
|
||||
communication: 7
|
||||
information_compartmentalization: 6
|
||||
|
||||
triangle_membership: []
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Freelance supply broker. Professional, friendly at the bar, discusses freight
|
||||
contracts casually. "I've got a freight contract clearing through Gate 2 next
|
||||
cycle. Standard components. Nothing exciting, but it pays the rent."
|
||||
real: >
|
||||
Ring coordinator. Manages external supply chain, coordinates timing with Sabel,
|
||||
schedules handoffs, and delivers operational directives from Nils. "The window
|
||||
is tight. Sabel confirms transit for the 22:00 cycle. Renn handles pickup."
|
||||
secret: >
|
||||
Devra is the single point of failure between the local ring and the upstream
|
||||
supply source. If Sabel is compromised, Devra is the next link. Knows Pell is
|
||||
wavering. Could run the operation better than Nils.
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Devra is the operational heart of the ring. The smuggler respects her competence
|
||||
and relies on her coordination. "Devra's got the next shipment scheduled. She's
|
||||
reliable — more reliable than Nils, honestly."
|
||||
detective: >
|
||||
A freelance supply broker who 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."
|
||||
|
||||
notes: >
|
||||
THRESHOLD + HANDLER creates the obstacle with authority: "You go through her or
|
||||
you don't go." Devra gates access to the ring while applying top-down operational
|
||||
pressure. Most structurally important ring member on-station — both the wall and
|
||||
the hand pushing people against it. Her competence makes her formidable; her
|
||||
ambition makes her interesting. Not a formal v0.1 triangle member — her role is
|
||||
connective, linking internal operations to the external supply chain.
|
||||
@@ -1,172 +0,0 @@
|
||||
# NPC Profile: Drin Rosta
|
||||
# Source: wiki/characters/drin.md
|
||||
# Tier 2 | SYSTEM + TURNCOAT | Maintenance tech and dock inspector
|
||||
|
||||
canonical_id: "npc:drin"
|
||||
display_name: "Drin Rosta"
|
||||
tier: 2
|
||||
pattern: "SYSTEM"
|
||||
motivation: "TURNCOAT"
|
||||
|
||||
description: >
|
||||
Maintenance tech and dock inspector at the Sova Transit District Logistics Hub.
|
||||
Age 40, Station Sova native. Competent at both roles. Compromised by a gambling
|
||||
debt to Harek — a significant sum from bar card games. The debt does not require
|
||||
Drin to do anything explicitly illegal. It means Drin is slow during inspections
|
||||
of certain containers. He does not open them. He does not look hard. The ring
|
||||
noticed this pattern and relies on it. Drin is compromised by omission, not
|
||||
commission.
|
||||
|
||||
want:
|
||||
primary: "Freedom"
|
||||
intensity: 8
|
||||
description: >
|
||||
Clear the debt and stop looking over his shoulder.
|
||||
Drin wants to return to when the job was just a job — maintenance rounds, dock
|
||||
inspections, clocking out, going home. The work was repetitive and that was
|
||||
fine. Now every inspection cycle carries a second calculation: 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 does not know how to get there.
|
||||
|
||||
secret: >
|
||||
Drin's inspection negligence is being exploited by the ring. He understands that
|
||||
someone benefits from his looking the other way — containers move through his
|
||||
shifts without scrutiny and nobody complains. But he does not know the ring's
|
||||
structure, does not know Kael's role, does not know the scope of the operation
|
||||
his silence enables. He thinks it is smaller than it is. The distinction between
|
||||
omission and commission feels meaningful to him and would not feel meaningful to
|
||||
an investigator.
|
||||
|
||||
relationships:
|
||||
- target: "npc:harek"
|
||||
kind: "friend"
|
||||
trust: 3
|
||||
notes: "Debt holder, inadvertent coercer. Fear-based, asymmetric. Harek does not press aggressively — keeps the debt active, invites Drin to card games, covers a round. Drin likes Harek personally, which makes the dynamic worse."
|
||||
- target: "npc:voss"
|
||||
kind: "superior"
|
||||
trust: 2
|
||||
notes: "Shift supervisor. Professional, strained. Voss needs Drin functional and quiet. They interact procedurally — shift handoffs, maintenance reports, inspection schedules. Professional distance is mutual and deliberate."
|
||||
- target: "npc:maret-korr"
|
||||
kind: "colleague"
|
||||
trust: 3
|
||||
notes: "Freight scheduler. Guilt-adjacent. Drin knows his inspection reports feed into Maret's reconciliation workflow. He senses Maret has noticed the reports are too clean. Avoids extended interaction."
|
||||
|
||||
tolerance:
|
||||
threshold: 2
|
||||
description: >
|
||||
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 has been living past the threshold ever since. He tolerates the routine
|
||||
guilt, the mechanical compliance, Harek's passive leverage. What breaks him:
|
||||
direct confrontation about specific inspections, escalating demands to do more
|
||||
than look away, or Harek pressing the debt publicly.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
7 routine entries covering full day cycle:
|
||||
1. Arrival (05:50, hub) — checks maintenance board for overnight issues.
|
||||
2. Maintenance rounds (06:00-10:00) — environmental systems, loading equipment,
|
||||
pipe and wiring repairs.
|
||||
3. Break (10:00-10:30, break room) — eats alone or with maintenance crew. Avoids
|
||||
Harek and prolonged conversation with Maret.
|
||||
4. Dock inspections (10:30-14:00) — scheduled bay checks, container verification,
|
||||
freight condition reports. Compromise lives here — certain shifts, certain
|
||||
bays get shorter inspections.
|
||||
5. Post-shift (14:00-14:30) — files reports, updates maintenance log. Inspection
|
||||
reports filed here: clean, complete, unremarkable.
|
||||
6. Off-duty (14:30-16:00) — home, or bar on card game nights (2x per week).
|
||||
7. Night — home, worrying about the debt, not sleeping well.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "location.surveillance_gaps"
|
||||
- "world.shift_schedule"
|
||||
access_tier: "public"
|
||||
|
||||
contentment:
|
||||
level: -4
|
||||
description: >
|
||||
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. Now every inspection is a moral
|
||||
compromise he cannot talk about. Going through the motions of a life that
|
||||
stopped working months ago. He has not adjusted; he is just enduring.
|
||||
|
||||
personality:
|
||||
demeanor: "quiet, withdrawn, procedural"
|
||||
social_style: "avoidant, does not volunteer information, does not seek attention"
|
||||
stress_response: "silence, shorter responses, fewer interactions — shrinks social footprint"
|
||||
humor: "absent — humor requires comfort Drin no longer has"
|
||||
|
||||
tells:
|
||||
- trigger: "Harek on-site at the hub or arriving at the bar"
|
||||
behavior: "Adjusts path to avoid casual contact with Harek."
|
||||
visible_to: "any"
|
||||
- trigger: "compromised inspections — certain bays, certain shifts"
|
||||
behavior: "Clears bays measurably faster than baseline inspection rate."
|
||||
visible_to: "forward"
|
||||
- trigger: "shifts that include compromised inspections"
|
||||
behavior: "Takes more breaks — increased break frequency as stress response."
|
||||
visible_to: "peripheral"
|
||||
- trigger: "filing reports he knows are incomplete"
|
||||
behavior: "Avoids eye contact with the person receiving the paperwork."
|
||||
visible_to: "forward"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
maintenance: 8
|
||||
mechanical_diagnostics: 7
|
||||
dock_inspection: 7
|
||||
environmental_systems: 6
|
||||
|
||||
triangle_membership:
|
||||
- "worried-knowledge"
|
||||
- "informant-question"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Professional minimum. Procedural responses about maintenance and inspections.
|
||||
"Coupling on the Bay 4 loader is wearing. I'll flag it for replacement on the
|
||||
next maintenance cycle."
|
||||
real: >
|
||||
The guilt and the calculation. Which containers to skip, which bays to clear
|
||||
without looking. "I inspect what's on the schedule. I file what I find. That's
|
||||
the job."
|
||||
secret: >
|
||||
Inspection schedule gaps — which bays, which shifts, which timing windows he
|
||||
has been slow on. The full scope of his negligence. "My reports are filed.
|
||||
They're complete. If there's a question about a specific bay, I can pull the
|
||||
documentation."
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Drin is a tool — compromised and reliable because of it. The ring does not
|
||||
interact with Drin directly; they do not need to. Harek's debt does the work.
|
||||
As long as Drin stays quiet and slow on the right shifts, dock-side processing
|
||||
runs clean. "Drin's on inspection today. We're good. He doesn't ask questions
|
||||
and he doesn't open the wrong containers."
|
||||
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 should have
|
||||
equipment failures, missed checks, variance. Drin's are spotless. That
|
||||
consistency in a high-throughput environment is itself an anomaly. "The
|
||||
inspector — Drin. Maintenance tech pulling double duty. Reports are spotless.
|
||||
Nobody's reports are that spotless."
|
||||
|
||||
notes: >
|
||||
SYSTEM + TURNCOAT: 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.
|
||||
|
||||
Key authoring guidance: Drin is passive, not malicious. His turncoat status came
|
||||
through debt and avoidance, not ideology. Write him as a man enduring a daily
|
||||
moral compromise — quiet, methodical, shrinking. The irony is that his methodical
|
||||
nature makes the compromised inspections more visible by contrast.
|
||||
|
||||
Triangle dynamics: In worried-knowledge (Maret-Drin-Voss), Drin is the
|
||||
compromised inspector. In informant-question (Pell-Renn-Drin), Drin is the
|
||||
institutional contact who is already compromised — the person Pell might turn
|
||||
to for protection is already under the ring's indirect control.
|
||||
@@ -1,149 +0,0 @@
|
||||
# NPC Profile: Harek Valde
|
||||
# Source: wiki/characters/harek.md
|
||||
# Tier 2 | ANCHOR + HANDLER | Station Security officer, bar regular
|
||||
|
||||
canonical_id: "npc:harek"
|
||||
display_name: "Harek Valde"
|
||||
tier: 2
|
||||
pattern: "ANCHOR"
|
||||
motivation: "HANDLER"
|
||||
|
||||
description: >
|
||||
Station Security officer, 44 years old. Predictable schedule, card games at the
|
||||
bar after shift, enough social capital to be respected without being scrutinized.
|
||||
Harek holds Drin's gambling debt — a significant sum that creates a power dynamic
|
||||
the ring has noticed and exploited. Harek hasn't explicitly traded the debt for
|
||||
inspection negligence, but the debt's existence is a tool others are using. A
|
||||
security officer who sees more than he admits but has chosen not to look deeper
|
||||
because investigating would mean confronting what the card game created.
|
||||
|
||||
want:
|
||||
primary: "Happiness"
|
||||
intensity: 4
|
||||
description: >
|
||||
Maintain his comfortable position.
|
||||
Harek has a good thing: security officer with a predictable schedule, card games
|
||||
at the bar, social capital. He doesn't want promotions (more responsibility, more
|
||||
visibility). He doesn't want trouble. Secondary want: keep Drin's debt
|
||||
leverageable. A dock inspector who owes him favors is useful. Harek hasn't
|
||||
explicitly traded debt for negligence, but the dynamic exists and the ring
|
||||
benefits from it.
|
||||
|
||||
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 — 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.
|
||||
|
||||
relationships:
|
||||
- target: "npc:drin"
|
||||
kind: "friend"
|
||||
trust: 5
|
||||
notes: "Card game partner, debtor. Harek likes Drin personally — years of playing cards together. The debt complicates this, but Harek doesn't see himself as a predator."
|
||||
- target: "npc:lera-sessik"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: "Bar owner. Professional familiarity. Harek's card games bring customers; Lera facilitates. Mutually beneficial."
|
||||
- target: "npc:torek-lintar"
|
||||
kind: "colleague"
|
||||
trust: 3
|
||||
notes: "Card game regular. Harek has noticed Torek's spending but doesn't flag it — Torek's money at the card table is entertainment."
|
||||
|
||||
tolerance:
|
||||
threshold: 7
|
||||
description: >
|
||||
Moderate-high. Comfortable and complacent. Tolerates a lot because engagement
|
||||
is effort. What breaks his tolerance: direct institutional pressure (Commission
|
||||
or Security command asking about Drin), or violence in the bar (takes safety
|
||||
seriously even when loose on contraband).
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
4 routine entries covering full day cycle:
|
||||
1. Security patrol (06:00-14:00) — hub perimeter and freight bay access points.
|
||||
2. Shift transition (14:00-14:30).
|
||||
3. Bar hours (14:30-20:00, The Last Shift) — drinks and card games, 2-3 times
|
||||
per week.
|
||||
4. Home (20:00+).
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "location.surveillance_gaps"
|
||||
- "world.shift_schedule"
|
||||
- "world.sova_district_layout"
|
||||
- "relationship.trust_network"
|
||||
access_tier: "authority"
|
||||
|
||||
contentment:
|
||||
level: 5
|
||||
description: >
|
||||
Moderate-high. The quintessential "comfortable enough not to rock the boat."
|
||||
Stable job, social standing, entertainment, and just enough willful ignorance
|
||||
to keep his conscience manageable.
|
||||
|
||||
personality:
|
||||
demeanor: "complacent, sociable, perceptive beneath the surface"
|
||||
social_style: "card games, bar conversation, community presence — enjoys being known"
|
||||
stress_response: "deflects, steers conversation, avoids engagement with uncomfortable topics"
|
||||
humor: "dry, card-table humor — comfortable enough to joke, smart enough to listen"
|
||||
|
||||
tells:
|
||||
- trigger: "Drin is stressed or evasive"
|
||||
behavior: "Watches Drin more carefully — monitors his investment, attention sharpens at the card table"
|
||||
visible_to: "peripheral"
|
||||
- trigger: "someone asks about hub access or patrol gaps"
|
||||
behavior: "Steers conversation away from security topics — deflection through subject change or vague institutional answers"
|
||||
visible_to: "forward"
|
||||
- trigger: "card game in session"
|
||||
behavior: "Uses card games as social intelligence gathering — invitations are reconnaissance wrapped in entertainment"
|
||||
visible_to: "peripheral"
|
||||
|
||||
skills:
|
||||
combat_trained: true
|
||||
skills:
|
||||
security_patrol: 7
|
||||
observation: 7
|
||||
access_control: 6
|
||||
deescalation: 5
|
||||
card_games: 6
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Off-duty security officer. Card games and drinks. "Hub security's solid. Standard
|
||||
patrols, standard protocols. Nothing unusual. You want specifics, talk to my
|
||||
supervisor — I just walk the route."
|
||||
real: >
|
||||
Knows patrol routes, Meridian coverage gaps, which areas have blind spots. Knows
|
||||
Drin's debt and behavioral changes. Knows Torek's spending. Bar social dynamics
|
||||
insider. Sees more than he admits — his training doesn't turn off even when his
|
||||
ethics do.
|
||||
secret: >
|
||||
Understands that Drin's negligence is being leveraged by someone above. Has chosen
|
||||
not to investigate because confronting it would mean confronting what his card
|
||||
game created.
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
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.
|
||||
"Harek's at the bar. Security badge off, drink in hand. As long as he stays that
|
||||
way, we're fine."
|
||||
detective: >
|
||||
Security officer who socializes with the people he should be monitoring. Card
|
||||
games create financial relationships that could be leverage vectors. His patrol
|
||||
routes mean he knows hub access patterns. Either an asset (could provide patrol
|
||||
gap data) or a problem (if 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."
|
||||
|
||||
notes: >
|
||||
ANCHOR + HANDLER: the unconscious lever. "Harek doesn't know his card games built
|
||||
a weapon." Complacent contentment (ANCHOR) generated a tool of coercion (HANDLER)
|
||||
without deliberate intent. He didn't set out to compromise Drin — he won card
|
||||
games, extended credit, and maintained a social dynamic that produced leverage.
|
||||
The ring noticed and exploited the result. Bridges bar (social presence, card
|
||||
games) and hub (security authority, patrol knowledge). Not a formal triangle
|
||||
member but serves as external pressure on Drin in Triangle 2 (worried-knowledge).
|
||||
-269
@@ -1,269 +0,0 @@
|
||||
# NPC Profile: Kael Davan — THE FRIEND (Smuggler)
|
||||
# Source: wiki/characters/kael-davan.md
|
||||
# Tier: 1 | Pattern: FRIEND | Motivation: OPERATOR
|
||||
# Triangles: hub-power, worried-partner
|
||||
|
||||
canonical_id: "npc:kael-davan"
|
||||
display_name: "Kael Davan"
|
||||
tier: 1
|
||||
pattern: "FRIEND"
|
||||
motivation: "OPERATOR"
|
||||
|
||||
description: >
|
||||
Dock worker, Sova Transit District Logistics Hub. 34 years old, born on
|
||||
Station Sova. Ring member who handles physical cargo — routing flagged
|
||||
containers, managing dock-side handoffs. Closest colleague to the smuggler:
|
||||
two years of shared risk, first-name basis, lunch together every shift. Kael
|
||||
is warm, reliable, protective. He is also secretly trying to exit the ring
|
||||
through an unauthorized contact, because Naia's worry has become unbearable.
|
||||
The smuggler trusts Kael completely, which makes the betrayal worse when the
|
||||
contradiction surfaces.
|
||||
|
||||
want:
|
||||
primary: "Safety"
|
||||
intensity: 8
|
||||
description: >
|
||||
Protect the operation and the people in it.
|
||||
Two years in, Kael is shifting from "keep things running" to "keep people
|
||||
safe." The operation is escalating — higher volume, tighter margins, more
|
||||
risk. Secondary want: protect Naia from the truth and the consequences.
|
||||
Naia doesn't know about the smuggling. Kael's late nights and evasive
|
||||
answers are creating anxiety at home. The shielding itself is the danger.
|
||||
|
||||
secret: >
|
||||
Ring member who handles cargo routing for the smuggling operation during
|
||||
shift transitions. Deep secret: Kael is trying to exit the ring. Naia's
|
||||
worry has become unbearable. He contacted someone from a different district
|
||||
— not Sabel, not anyone the ring knows — who offered to help him get out,
|
||||
for a price. The unknown contact is leverage, extraction support, and a
|
||||
massive security breach. If Nils finds out, Kael is out — violently. If the
|
||||
smuggler finds out, trust collapses. If the detective finds out, Kael is the
|
||||
perfect informant.
|
||||
|
||||
relationships:
|
||||
- target: "npc:nils-davan"
|
||||
kind: "family"
|
||||
trust: 6
|
||||
notes: >
|
||||
Older sibling, ring coordinator. Brought Kael into the ring. Blood
|
||||
loyalty complicated by power dynamic. Nils is pushing for higher volume;
|
||||
Kael thinks it's too fast, too risky.
|
||||
- target: "npc:naia-tamm"
|
||||
kind: "romantic"
|
||||
trust: 9
|
||||
notes: >
|
||||
Partner, teacher, civilian. 6 years together. Emotional anchor and
|
||||
vulnerability. Naia knows something's wrong but doesn't know about the
|
||||
ring. Kael is oblivious to how much anxiety he's causing.
|
||||
- target: "npc:pc-smuggler"
|
||||
kind: "friend"
|
||||
trust: 8
|
||||
notes: >
|
||||
Close colleague, trusted friend, shared risk. Work together on
|
||||
legitimate shifts AND ring operations. Cover for each other. Lunch,
|
||||
drinks at Lera's, easy camaraderie. Kael is lying to the smuggler about
|
||||
the exit attempt.
|
||||
- target: "npc:voss"
|
||||
kind: "superior"
|
||||
trust: 3
|
||||
notes: >
|
||||
Shift supervisor, ring-aware. Professional respect, low warmth. Voss
|
||||
provides scheduling cover for the ring. Kael is caught between Voss and
|
||||
Nils.
|
||||
- target: "npc:renn"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: >
|
||||
Courier, ring member. Operational relationship. Kael works with Renn on
|
||||
logistics handoffs.
|
||||
- target: "npc:devra"
|
||||
kind: "colleague"
|
||||
trust: 4
|
||||
notes: >
|
||||
External contacts manager for the ring. Kael knows Devra coordinates
|
||||
off-station connections but keeps operational distance.
|
||||
- target: "npc:resha"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: >
|
||||
Ring associate. Professional working relationship, mutual trust within
|
||||
operational bounds.
|
||||
|
||||
tolerance:
|
||||
threshold: 5
|
||||
description: >
|
||||
Moderate — can handle pressure but has limits. Tolerates routine smuggling
|
||||
operations, Voss's resentment, Nils's demands, and lying to Naia. Pushed
|
||||
toward breaking by escalating volume, Naia's increasing worry, and the
|
||||
detective's investigation. Breaks on direct threat to Naia (flips
|
||||
immediately) or Nils discovering the exit attempt (runs or fights, no
|
||||
middle ground).
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
8 routine entries covering full day cycle. Morning arrival (06:00-06:30,
|
||||
Logistics Hub) for shift startup. Morning shift (06:30-10:30, dock floor)
|
||||
for freight handling. Break (10:30-11:00, break room) lunch with smuggler
|
||||
or other dock workers. Afternoon shift (11:00-14:00, dock floor) container
|
||||
routing and schedule coordination. Shift end (14:00-14:30) sometimes
|
||||
lingers for overtime — ring operations during transition window. Off-shift
|
||||
(14:30-16:00) heads home or to The Last Shift. Home (16:00-22:00) with
|
||||
Naia, or occasional ring coordination in Corridor B-7. Late-night
|
||||
operations (22:00+) ring work 1-2x per week during night shift transition.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "contraband.ring_exists"
|
||||
- "contraband.lattice_components"
|
||||
- "contraband.supply_chain"
|
||||
- "location.corridor_b7_restricted"
|
||||
- "location.smuggling_route"
|
||||
- "location.surveillance_gaps"
|
||||
- "location.dead_drop_location"
|
||||
- "investigation.manifest_discrepancy"
|
||||
- "investigation.shift_mismatch"
|
||||
- "investigation.cargo_anomaly"
|
||||
- "relationship.ring_membership"
|
||||
- "relationship.kael_naia_connection"
|
||||
- "relationship.trust_network"
|
||||
- "world.shift_schedule"
|
||||
- "world.sova_district_layout"
|
||||
access_tier: "insider"
|
||||
|
||||
contentment:
|
||||
level: -1
|
||||
description: >
|
||||
Moderate-low, declining. The smuggling pays well and the team is solid,
|
||||
but guilt about lying to Naia is corrosive. Escalating volume makes every
|
||||
shift feel riskier. Two years ago contentment was moderate — operation
|
||||
stable, Naia didn't suspect. Now low and falling. The exit attempt is a
|
||||
desperate grab for a future that doesn't involve looking over his shoulder.
|
||||
|
||||
personality:
|
||||
demeanor: "warm to people he trusts, evasive when hiding something, direct and practical"
|
||||
social_style: "first-name basis with everyone, relational, physically present, short sentences"
|
||||
stress_response: "goes quiet, checks exits, shortens interactions, lattice checking increases"
|
||||
humor: "dry, situational, doesn't waste words or dramatize"
|
||||
|
||||
tells:
|
||||
- trigger: "expecting contact from exit coordinator (periodic throughout day)"
|
||||
behavior: >
|
||||
Increased lattice checking — reaches for lattice more often than usual,
|
||||
brief distracted pauses mid-conversation
|
||||
visible_to: "peripheral"
|
||||
- trigger: "prolonged conversation where lies might surface"
|
||||
behavior: >
|
||||
Shortened social interactions — excuses himself early from lunch, cuts
|
||||
conversations short with forced casualness
|
||||
visible_to: "any"
|
||||
- trigger: "lying or deflecting a direct question"
|
||||
behavior: >
|
||||
Looks left before answering. Personal tell the smuggler knows from years
|
||||
of friendship — the moment the smuggler recognizes this is the moment
|
||||
trust fractures
|
||||
visible_to: "forward"
|
||||
- trigger: "meeting unknown contact in Corridor B-7 (off-routine, restricted area)"
|
||||
behavior: >
|
||||
Unauthorized spatial presence — in restricted maintenance corridor at
|
||||
irregular time, talking to unrecognized person outside ring protocol
|
||||
visible_to: "any"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
cargo_handling: 8
|
||||
logistics: 7
|
||||
social: 6
|
||||
|
||||
triangle_membership:
|
||||
- "hub-power"
|
||||
- "worried-partner"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Polite, standard dock worker responses. "Shift's looking smooth today.
|
||||
Freight's on schedule, no surprises. Let's keep it that way."
|
||||
real: >
|
||||
Only accessible to ring insiders. Operational talk, container routing,
|
||||
timing windows. "Container 4471 is flagged. I'll reroute it during shift
|
||||
transition." Matter-of-fact, no drama.
|
||||
secret: >
|
||||
The exit attempt. Never accessible through normal play. Kael's
|
||||
unauthorized contact, Naia's role as motivation, the desperation to get
|
||||
out before consequences reach his partner.
|
||||
|
||||
friend_arc:
|
||||
bonded_character: "smuggler"
|
||||
phases:
|
||||
- phase: 1
|
||||
description: >
|
||||
Comfort. Kael is warm, reliable, present. Greets the smuggler with
|
||||
genuine affection. Talks about shift schedules, complains about Voss,
|
||||
asks about the smuggler's weekend. The day is better when Kael is on
|
||||
shift.
|
||||
trigger: "Game start, first interactions (0-10 minutes)"
|
||||
routine_deviation: "None — baseline normal. Kael is punctual, sociable, engaged."
|
||||
- phase: 2
|
||||
description: >
|
||||
First Crack. Kael checks lattice more often than usual. Excuses
|
||||
himself from lunch early. Shortened social interactions — still warm,
|
||||
but deflects prolonged conversation. The smuggler notices the
|
||||
distraction.
|
||||
trigger: "10-15 minutes into session. Behavioral flags begin accumulating."
|
||||
routine_deviation: "Increased lattice checking. Leaves break room early. Distracted during casual talk."
|
||||
- phase: 3
|
||||
description: >
|
||||
The Observation. The smuggler sees Kael in Corridor B-7 — restricted
|
||||
maintenance corridor — talking to an unknown person. The person leaves
|
||||
before the smuggler gets close. Prior belief that Kael operates within
|
||||
ring protocol is contradicted. Color shifts from green to amber.
|
||||
trigger: "15-20 minutes. Smuggler enters Corridor B-7 and directly observes unauthorized meeting."
|
||||
routine_deviation: "Presence in restricted area at irregular time. Meeting with unrecognized contact outside ring protocol."
|
||||
- phase: 4
|
||||
description: >
|
||||
Confrontation Opportunity. The smuggler can ask Kael about the
|
||||
meeting. Kael deflects — "Just a thing. Don't worry about it." Looks
|
||||
left before answering — the tell. The smuggler recognizes the lie
|
||||
from years of friendship.
|
||||
trigger: "20-25 minutes. Smuggler initiates dialogue about the Corridor B-7 observation."
|
||||
routine_deviation: "Kael becomes evasive, forces subject changes, displays forced casualness. The looks-left tell confirms the lie."
|
||||
- phase: 5
|
||||
description: >
|
||||
New Equilibrium. Kael acts normal again — same shifts, same greetings,
|
||||
same surface warmth. But the smuggler is now watching. Every smile is
|
||||
filtered through doubt. Three dialogue paths open: understanding
|
||||
(gentle confrontation, possible confession), betrayal (report to
|
||||
Nils), or observation (watch and wait). Contaminated trust.
|
||||
trigger: "25-30 minutes. Post-confrontation, remainder of vertical slice."
|
||||
routine_deviation: "Surface behavior returns to baseline, but trust is structurally damaged. Player chooses path."
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Access tier: Insider + Peer. Relationship shifts from Friendly to
|
||||
PersonOfInterest post-contradiction. Monologue tone moves from fond and
|
||||
casual ("Kael's here. Good — always reliable.") to conflicted and
|
||||
analytical ("Kael's lying to me. I know his tells. What are you hiding?").
|
||||
The smuggler knows Kael's personal tell, knows the relationship with
|
||||
Naia. The unauthorized meeting is a betrayal of operational security, not
|
||||
just suspicious behavior. Emotional weight: maximum. Color shift from
|
||||
green to amber is the moment trust is compromised.
|
||||
detective: >
|
||||
Access tier: Public to Authority if investigation escalates. Relationship
|
||||
moves from Unknown to Known to PersonOfInterest if tells accumulate.
|
||||
Monologue tone shifts from clinical ("Dock worker. Davan, K. Unremarkable
|
||||
on paper.") to analytical suspicion ("Davan's nervous. Lattice activity
|
||||
spiked. Behavioral pattern suggests concealment."). The detective may
|
||||
discover manifest discrepancies tied to Kael's shifts. Kael as a pressure
|
||||
point: partner at risk, potential informant.
|
||||
|
||||
notes: >
|
||||
Tier 1 FRIEND NPC, bonded to smuggler. THE FRIEND pattern means Kael's
|
||||
betrayal — or the smuggler's betrayal of Kael — carries maximum emotional
|
||||
weight. FRIEND + OPERATOR composition: "I was your friend AND your
|
||||
co-conspirator." The warmth was real. The operational reliability was real.
|
||||
The secret exit attempt violates both. Voice: direct, practical, short
|
||||
sentences. Uses first names. The tell (looks left when lying) must be
|
||||
established early so the smuggler recognizes it during contradiction. Naia
|
||||
references in casual conversation establish the relationship before it
|
||||
becomes load-bearing. Ring operations dialogue is matter-of-fact, no drama.
|
||||
Deflection post-contradiction uses redirection, not outright lies.
|
||||
-160
@@ -1,160 +0,0 @@
|
||||
# NPC Profile: Lera Sessik
|
||||
# Source: wiki/characters/lera-sessik.md
|
||||
# Tier 2 | ANCHOR + OPERATOR | Bar owner, The Last Shift
|
||||
|
||||
canonical_id: "npc:lera-sessik"
|
||||
display_name: "Lera Sessik"
|
||||
tier: 2
|
||||
pattern: "ANCHOR"
|
||||
motivation: "OPERATOR"
|
||||
|
||||
description: >
|
||||
Owner and primary bartender of The Last Shift, the transit district's social hub.
|
||||
Eighteen years behind the same counter. Lera knows everyone, sees everything, and
|
||||
shares nothing voluntarily. Her regulars are her community and she protects them
|
||||
reflexively — including ring members, not because she is complicit but because they
|
||||
are also regulars. Willful ignorance is not moral failure for Lera; it is business
|
||||
survival. The bar operates on thin margins and the grey-market spending keeps her
|
||||
solvent.
|
||||
|
||||
want:
|
||||
primary: "Wealth"
|
||||
intensity: 7
|
||||
description: >
|
||||
Keep the bar viable.
|
||||
The Last Shift operates on thin margins. The after-shift crowd is what keeps
|
||||
the lights on. Lera knows some regulars have grey-market income — she does not
|
||||
ask where the money comes from because the spending keeps her solvent. Secondary
|
||||
want: protect her regulars. Eighteen years of watching people come and go. She
|
||||
warns them when unfamiliar faces show up, signals when conversations are being
|
||||
overheard, remembers who does not want to see whom.
|
||||
|
||||
secret: >
|
||||
Knows the back room of the bar is used for ring coordination meetings. Has not
|
||||
asked what happens there. The arrangement is simple: they pay for the space, they
|
||||
buy drinks, they do not cause trouble. Lera does not 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. Her value is that she does not talk about
|
||||
it. Vulnerability: the bar itself. Threaten to shut down The Last Shift and Lera
|
||||
cooperates with whoever is doing the threatening. She has no fallback.
|
||||
|
||||
relationships:
|
||||
- target: "npc:torek-lintar"
|
||||
kind: "friend"
|
||||
trust: 5
|
||||
notes: "Bar regular and one of her best customers. Appreciates the spending, worries about the attention it draws. Protective but concerned."
|
||||
- target: "npc:harek"
|
||||
kind: "colleague"
|
||||
trust: 4
|
||||
notes: "Off-duty security officer, bar regular. Professional familiarity. Tolerates Harek's card games because they bring in customers."
|
||||
- target: "npc:sera-venn"
|
||||
kind: "friend"
|
||||
trust: 5
|
||||
notes: "Bar regular. Quiet, polite, tips consistently, does not cause trouble. Commission employee who does not act like Commission."
|
||||
- target: "npc:pc-smuggler"
|
||||
kind: "friend"
|
||||
trust: 7
|
||||
notes: "Regular at The Last Shift. Lera saves the smuggler's usual seat. Ring-aware but protective."
|
||||
- target: "npc:olin"
|
||||
kind: "colleague"
|
||||
trust: 2
|
||||
notes: "New arrival. Lera is watching Olin — unfamiliar face asking questions. Professional caution."
|
||||
- target: "npc:devra"
|
||||
kind: "colleague"
|
||||
trust: 4
|
||||
notes: "Bar regular and supply broker. Uses the back room. Lera knows Devra uses the room but does not know for what."
|
||||
|
||||
tolerance:
|
||||
threshold: 8
|
||||
description: >
|
||||
High. Nearly two decades of bartending. 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.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
5 routine entries covering full day cycle:
|
||||
1. Bar prep (10:00-12:00) — inventory, cleaning, restocking.
|
||||
2. Quiet hours (12:00-14:00) — a few early regulars, food prep.
|
||||
3. Peak hours (14:00-22:00) — shift transition crowd, evening regulars, card
|
||||
games. Primary social observation window.
|
||||
4. Late crowd (22:00-02:00) — smaller, quieter. Ring coordination sometimes uses
|
||||
back room.
|
||||
5. Close (02:00-03:00) — clean, home.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "world.sova_district_layout"
|
||||
- "relationship.trust_network"
|
||||
- "relationship.faction_allegiance"
|
||||
access_tier: "public"
|
||||
|
||||
contentment:
|
||||
level: 3
|
||||
description: >
|
||||
Moderate. The bar is viable. Her regulars are loyal. The work is hard but
|
||||
familiar. Lera's contentment is functional — not thriving, not miserable. The
|
||||
smuggling economy keeps her bar profitable. If that economy is disrupted, her
|
||||
contentment drops sharply.
|
||||
|
||||
personality:
|
||||
demeanor: "warm with regulars, guarded with strangers, professional always"
|
||||
social_style: "observant listener, speaks selectively, remembers everything"
|
||||
stress_response: "cleans glasses, redirects conversations, watches the door"
|
||||
|
||||
tells:
|
||||
- trigger: "unfamiliar authority enters the bar, or a table conversation gets too loud"
|
||||
behavior: "Cleans glasses with increased focus — hands stay busy, attention shifts to the source of concern"
|
||||
visible_to: "any"
|
||||
- trigger: "a regular is about to say something incriminating near an outsider"
|
||||
behavior: "Redirects conversation — offers a refill, asks a question, changes the subject smoothly"
|
||||
visible_to: "peripheral"
|
||||
- trigger: "someone she considers a risk is due to arrive, or the back room is in use"
|
||||
behavior: "Watches the door — gaze returns to the entrance at intervals, positioning shifts to maintain line of sight"
|
||||
visible_to: "forward"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
bar_management: 9
|
||||
social_intelligence: 9
|
||||
conflict_deescalation: 7
|
||||
customer_service: 8
|
||||
|
||||
triangle_membership:
|
||||
- "bar-tensions"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Welcoming bartender. Serves drinks, makes small talk, remembers orders. "I serve
|
||||
drinks. People talk. I don't take notes. You want information, try the Commission
|
||||
kiosk on Level 3."
|
||||
real: >
|
||||
Social gatekeeper. Knows who drinks with whom, who avoids whom, who is spending
|
||||
beyond their means, who is worried. Signals regulars when outsiders ask questions.
|
||||
Protects the community reflexively.
|
||||
secret: >
|
||||
The back room is used for ring meetings. Lera has not attended. She knows the
|
||||
arrangement exists and maintains it because it pays. Threaten the bar's license
|
||||
and Lera will cooperate — the bar is her only fallback.
|
||||
|
||||
dual_lens:
|
||||
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
|
||||
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 or apply pressure 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."
|
||||
|
||||
notes: >
|
||||
ANCHOR + OPERATOR: profitable blindness. "Is this enough? Yes — if I don't look."
|
||||
Lera's contentment is sustained by operational competence — she runs the bar well
|
||||
enough that the moral compromises stay manageable. The willful ignorance is active
|
||||
maintenance, not laziness. Key authoring guidance: Lera is not a conspirator. She
|
||||
is a small business owner in a grey economy. Write her warmth as genuine, her
|
||||
protectiveness as reflexive, and her silence as a survival strategy.
|
||||
-167
@@ -1,167 +0,0 @@
|
||||
# NPC Profile: Maret Korr
|
||||
# Source: wiki/characters/maret-korr.md
|
||||
# Tier 2 | SYSTEM + SKEPTIC | Logistics Hub freight scheduler
|
||||
# NOTE: Wiki uses pattern "WITNESS" but schema pattern enum doesn't include WITNESS.
|
||||
# WITNESS is a motivation value (System B). Mapped to SYSTEM (System A) — Maret
|
||||
# functions within institutional processes; her witnessing is through systematic work.
|
||||
# Flag for design review: should schema add WITNESS to pattern enum?
|
||||
|
||||
canonical_id: "npc:maret-korr"
|
||||
display_name: "Maret Korr"
|
||||
tier: 2
|
||||
pattern: "SYSTEM"
|
||||
motivation: "SKEPTIC"
|
||||
|
||||
description: >
|
||||
Freight scheduler at the Sova Transit District Logistics Hub. Age 41, meticulous,
|
||||
anxious. Reconciles incoming manifests with cargo bay allocations, shift assignments,
|
||||
and gate transit logs. The numbers are not adding up — container counts do not match
|
||||
gate logs, certain bays have manifests revised after the fact, and shifts supervised
|
||||
by Voss have more discrepancies than others. Maret does not know what this means,
|
||||
but she knows it means something. She has started keeping a private discrepancy log
|
||||
on her personal lattice storage.
|
||||
|
||||
want:
|
||||
primary: "Knowledge"
|
||||
intensity: 7
|
||||
description: >
|
||||
Understand the manifest discrepancies.
|
||||
Maret processes freight schedules and the numbers are not adding up. Container
|
||||
counts do not reconcile, manifests are revised after Voss's schedule adjustments,
|
||||
Drin's inspection reports are suspiciously clean. She is paralyzed between duty
|
||||
and self-preservation — she has not reported because she does not know whom to
|
||||
report to. The Commission kiosk is unmanned, station security handles accidents
|
||||
not contraband, and going to Voss feels dangerous.
|
||||
|
||||
secret: >
|
||||
Maret has noticed manifest discrepancies and has started keeping a personal log of
|
||||
them on her private lattice storage. If discovered, this log is either evidence for
|
||||
the detective or a threat to the ring. She has mentioned the discrepancies to no
|
||||
one, but her increased attention to certain records is potentially observable.
|
||||
Knowledge without protection — she has no institutional backing, no allies in the
|
||||
conflict, and no exit strategy.
|
||||
|
||||
relationships:
|
||||
- target: "npc:voss"
|
||||
kind: "superior"
|
||||
trust: 2
|
||||
notes: "Shift supervisor. Professional respect but growing unease. Maret has noticed the correlation between his schedule adjustments and manifest discrepancies. She has not confronted him — afraid of what the answer would be."
|
||||
- target: "npc:drin"
|
||||
kind: "colleague"
|
||||
trust: 3
|
||||
notes: "Dock inspector. Maret knows Drin gambles at the bar. She has observed that inspection reports from Drin's shifts are consistently clean — too clean for the volume. Another data point filed and not acted on."
|
||||
- target: "npc:resha"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: "New hire. Maret is protective of Resha in a quiet, professional way — proper training, not overloaded. Resha's questions about locked bays and irregular schedules echo Maret's own unspoken concerns."
|
||||
- target: "npc:naia-tamm"
|
||||
kind: "friend"
|
||||
trust: 5
|
||||
notes: "Occasional social contact. Maret sometimes visits the bar for Naia's company. One of the few relationships that is not work-adjacent anxiety."
|
||||
|
||||
tolerance:
|
||||
threshold: 4
|
||||
description: >
|
||||
Low-moderate. Maret is not built for confrontation. She handles data, not people.
|
||||
The discrepancies are eating at her, but she has 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.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
5 routine entries covering full day cycle:
|
||||
1. Day shift (06:00-14:00) — freight scheduling, manifest reconciliation, bay
|
||||
allocation.
|
||||
2. Break (10:30-11:00, break room) — eats alone or with Resha. Avoids Voss
|
||||
during breaks.
|
||||
3. Post-shift (14:00-15:00) — reviews next day's gate schedule.
|
||||
4. Off-duty (15:00-17:00) — home or occasional bar visit for Naia's company.
|
||||
5. After hours — reviews private discrepancy log. Adds entries. Worries.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "investigation.manifest_discrepancy"
|
||||
- "world.shift_schedule"
|
||||
access_tier: "public"
|
||||
|
||||
contentment:
|
||||
level: -2
|
||||
description: >
|
||||
Low, anxious. Maret was content before the discrepancies became impossible to
|
||||
ignore. She finds peace in orderly systems and the manifest irregularities have
|
||||
disrupted that peace. She sleeps poorly, double-checks everything. Anxiety held
|
||||
in check by routine.
|
||||
|
||||
personality:
|
||||
demeanor: "meticulous, tense, quietly worried"
|
||||
social_style: "reserved, professional, gravitates toward data over people"
|
||||
stress_response: "retreats into detail work, rechecks records, reduces social interaction"
|
||||
humor: "rare — occasionally dry when relaxed, absent when stressed"
|
||||
|
||||
tells:
|
||||
- trigger: "reviewing manifest data during shift"
|
||||
behavior: "Checks the same records multiple times, cross-references gate logs she does not normally access."
|
||||
visible_to: "peripheral"
|
||||
- trigger: "break periods"
|
||||
behavior: "Avoids Voss. Eats alone more often. Social withdrawal as stress response."
|
||||
visible_to: "any"
|
||||
- trigger: "Resha asks about schedule irregularities"
|
||||
behavior: "Goes quiet, redirects the conversation to procedure. Brief eye contact avoidance."
|
||||
visible_to: "forward"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
freight_scheduling: 8
|
||||
manifest_reconciliation: 9
|
||||
data_analysis: 7
|
||||
logistics_coordination: 6
|
||||
|
||||
triangle_membership:
|
||||
- "worried-knowledge"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Professional freight scheduler. Gives clean, data-oriented answers. Defers to
|
||||
Voss on scheduling questions. "Bay 3 allocation looks clean for the morning
|
||||
cycle. I've reconciled the gate logs."
|
||||
real: >
|
||||
Has noticed manifest discrepancies she cannot explain. Keeps a private log.
|
||||
Suspects Voss is involved but has no proof. Afraid to act but unable to stop
|
||||
looking. "I just process the schedules. If there's a question about manifest
|
||||
revisions, that's Voss's authorization."
|
||||
secret: >
|
||||
Would share the discrepancy data with someone she trusts — if someone asked the
|
||||
right question. "There are patterns. In the data. If someone wanted to look at
|
||||
Bay 7 allocations during Voss's shift adjustments, the numbers would be worth
|
||||
comparing."
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Maret is a risk. She processes the paperwork the ring's operations depend on
|
||||
and she is 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 has seen something she should not 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."
|
||||
|
||||
notes: >
|
||||
WITNESS + SKEPTIC: dangerous knowledge. She saw something and she cannot stop
|
||||
questioning it. Maret did not choose to witness the discrepancies — her job put
|
||||
the data in front of her. But her response is systematic doubt, not passive
|
||||
acceptance. She is gathering evidence not because anyone asked her to, but
|
||||
because her meticulous nature will not let her stop.
|
||||
|
||||
Key authoring guidance: Maret is the cooperative witness who has already done
|
||||
half the detective's work. For the smuggler, Maret is the threat you cannot
|
||||
neutralize without revealing why the numbers matter. Write her as competent
|
||||
and trapped — the anxiety is real but the intelligence underneath it is sharp.
|
||||
|
||||
Triangle dynamics: In worried-knowledge (Maret-Drin-Voss), Maret sees the data.
|
||||
She processes manifests and has noticed discrepancies she cannot explain and
|
||||
cannot ignore.
|
||||
-143
@@ -1,143 +0,0 @@
|
||||
# NPC Profile: Naia Tamm
|
||||
# Source: wiki/characters/naia-tamm.md
|
||||
# Tier 2 | MIRROR + CIVILIAN | Teacher, Kael's partner
|
||||
|
||||
canonical_id: "npc:naia-tamm"
|
||||
display_name: "Naia Tamm"
|
||||
tier: 2
|
||||
pattern: "MIRROR"
|
||||
motivation: "CIVILIAN"
|
||||
|
||||
description: >
|
||||
Teacher at Station Sova community school, Residential Radial A. Partner of
|
||||
Kael Davan for 6 years. Relocated from Krenn Prime surface 8 years ago.
|
||||
Naia is the emotional center of the worried-partner triangle — a civilian
|
||||
whose transparency makes the concealment around her more painful. She is
|
||||
exactly what she appears to be: a teacher worried about her partner.
|
||||
|
||||
want:
|
||||
primary: "Knowledge"
|
||||
intensity: 8
|
||||
description: >
|
||||
Understand what is 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 did not match the hours. Stress that Kael will not explain. Naia does
|
||||
not know about the ring. She knows the person she shares a life with is
|
||||
hiding something, and the not-knowing is worse than almost any truth.
|
||||
Secondary want: protect the life they have built — the home, the
|
||||
relationship, the stability that took years to build.
|
||||
|
||||
secret: >
|
||||
Naia confided in Sera Venn about Kael's behavioral changes — late nights,
|
||||
evasive answers, unexplained stress. This is the action that set Sera's
|
||||
compliance check in motion, though Naia does not know that. Naia shared a
|
||||
personal worry with a trusted friend. That trusted friend had institutional
|
||||
access. Naia's worry is genuine, visible, and exploitable.
|
||||
|
||||
relationships:
|
||||
- target: "npc:kael-davan"
|
||||
kind: "romantic"
|
||||
trust: 9
|
||||
notes: "Partner, 6 years. Deep love, growing anxiety. Does not question Kael's character — just Kael's honesty."
|
||||
- target: "npc:sera-venn"
|
||||
kind: "friend"
|
||||
trust: 7
|
||||
notes: "Close friend, 10 months. Met at the bar after Sera transferred. Trusts Sera for perspective without gossip."
|
||||
- target: "npc:lera-sessik"
|
||||
kind: "friend"
|
||||
trust: 4
|
||||
notes: "Bar acquaintance. Lera is warm to Naia — protective attention a good bartender gives to someone visibly struggling."
|
||||
|
||||
tolerance:
|
||||
threshold: 5
|
||||
description: >
|
||||
Moderate. Patient — teaching station kids requires it. But the patience is
|
||||
fraying. Every evasive answer from Kael, every late night, every 'it is just
|
||||
work' chips at Naia's 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.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
5 routine entries covering full day cycle:
|
||||
1. Teaching (07:00-15:00, community school, Residential Radial A).
|
||||
2. Commute (15:00-15:30) — returns to Transit District.
|
||||
3. Bar social (15:30-17:30, The Last Shift) — meets Sera, decompresses.
|
||||
4. Home evening (17:30-22:00) — waits for Kael. Sometimes there, sometimes not.
|
||||
5. Late evening — alone in the apartment, wondering where Kael is.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "relationship.kael_naia_connection"
|
||||
access_tier: "public"
|
||||
|
||||
contentment:
|
||||
level: -2
|
||||
description: >
|
||||
Low and declining. Naia was content: stable job, loving partner, community.
|
||||
Now the relationship anxiety is coloring everything. Teaching is harder when
|
||||
distracted. Bar visits are tinged with worry. Home is where the absence
|
||||
lives. Contentment trajectory mirrors Kael's — both declining, for connected
|
||||
but different reasons.
|
||||
|
||||
personality:
|
||||
demeanor: "warm, open, visibly stressed"
|
||||
social_style: "emotionally present, confides in close friends, reads people well"
|
||||
stress_response: "worry overflows into conversation, increased bar presence, avoids the empty apartment"
|
||||
|
||||
tells:
|
||||
- trigger: "baseline state — tired, distracted"
|
||||
behavior: "Tired eyes, distracted conversation, checking lattice for messages from Kael"
|
||||
visible_to: "any"
|
||||
- trigger: "worry overflowing into conversation"
|
||||
behavior: "Mentions Kael unprompted — 'Kael was late again' or 'I don't know what's going on at the hub'"
|
||||
visible_to: "peripheral"
|
||||
- trigger: "coping with anxiety"
|
||||
behavior: "Coming to the bar more often and staying longer — avoiding the empty apartment"
|
||||
visible_to: "any"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
teaching: 8
|
||||
community_engagement: 7
|
||||
emotional_perception: 6
|
||||
curriculum_management: 5
|
||||
|
||||
triangle_membership:
|
||||
- "worried-partner"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Warm, open. Standard social interaction — talks about teaching, the kids,
|
||||
the school. "The kids are doing better with the new math curriculum."
|
||||
real: >
|
||||
Confides worry about Kael to close friends. Visible stress. "Kael was home
|
||||
at midnight again. Said it was overtime. There's no overtime posted for this
|
||||
week — I checked."
|
||||
secret: >
|
||||
The depth of her fear and the specific details she shared with Sera about
|
||||
Kael's behavioral changes. The breaking point. "I'm not asking for much.
|
||||
Just — tell me the truth. Whatever it is."
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Naia is emotional collateral. The smuggler knows why Kael is busy and cannot
|
||||
say. Seeing Naia's worry creates guilt — especially if the smuggler is
|
||||
Kael's friend. "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. "The partner — Naia Tamm.
|
||||
Teacher. Visibly stressed. If Davan is involved, this partner knows something
|
||||
changed, even if they don't know what."
|
||||
|
||||
notes: >
|
||||
MIRROR + CIVILIAN creates honest transparency surrounded by liars: "The one
|
||||
person not lying — surrounded by liars." Naia's reflective honesty combined
|
||||
with complete uninvolvement 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.
|
||||
-105
@@ -1,105 +0,0 @@
|
||||
# NPC Profile: Nils Davan
|
||||
# Source: wiki/characters/nils-davan.md
|
||||
# Off-stage NPC — never physically present in v0.1, mediated through
|
||||
# lattice messages, dialogue references, and operational pressure
|
||||
|
||||
canonical_id: "npc:nils-davan"
|
||||
display_name: "Nils Davan"
|
||||
tier: 1
|
||||
pattern: "GHOST"
|
||||
motivation: "HANDLER"
|
||||
|
||||
description: >
|
||||
Off-stage ring coordinator (~38). Nils does not appear physically in any v0.1
|
||||
scene. His presence is felt entirely through lattice messages to Kael,
|
||||
references in NPC dialogue, and the operational pressure that cascades through
|
||||
the ring. He is the escalation pressure source — pushing for higher volume,
|
||||
tighter schedules, more throughput. Every ring member feels Nils's influence
|
||||
without seeing him. Tier 1 in schema; functionally off-stage (tier 0).
|
||||
|
||||
want:
|
||||
primary: "Power"
|
||||
description: >
|
||||
Control.
|
||||
Grow the operation. Increase volume. Maintain authority over the ring from
|
||||
a distance. Nils sets volume targets, applies escalation pressure, and makes
|
||||
personnel decisions. The ring's growth imperative comes from Nils; the
|
||||
consequences fall on others.
|
||||
|
||||
secret: >
|
||||
Full ring coordinator. Sets strategic direction, personnel decisions, volume
|
||||
targets. Operates through Devra (execution) and Kael (dock-side operations).
|
||||
His identity is known only to Kael (sibling) and Devra (operational partner).
|
||||
Voss knows "someone above Devra" exists but has never met Nils.
|
||||
|
||||
relationships:
|
||||
- target: "npc:kael-davan"
|
||||
kind: "family"
|
||||
trust: 7
|
||||
notes: >
|
||||
Younger sibling. Nils recruited Kael into the ring personally. Genuine
|
||||
familial bond complicated by power dynamic. Pushes Kael for higher volume.
|
||||
Does not know Kael is trying to exit the ring. If Kael's exit attempt is
|
||||
discovered, Nils is the primary threat — family loyalty vs. operational
|
||||
security is undefined in v0.1 but implied to be dangerous.
|
||||
- target: "npc:devra"
|
||||
kind: "colleague"
|
||||
trust: 6
|
||||
notes: >
|
||||
On-station coordinator. Professional respect, operational partnership.
|
||||
Nils gives strategic direction; Devra handles execution. They disagree
|
||||
on risk tolerance — Devra favors steady volume, Nils pushes escalation.
|
||||
Devra is Nils's primary on-station voice.
|
||||
- target: "npc:voss"
|
||||
kind: "superior"
|
||||
trust: 2
|
||||
notes: >
|
||||
Resource exploitation, no personal relationship. Nils exploits Voss's
|
||||
schedule authority to create coverage windows. Voss resents the invisible
|
||||
hand but complies — the money is good and refusing has consequences.
|
||||
To Nils, Voss is functional and replaceable.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
Not observable. Nils is never physically present in Sova Transit District.
|
||||
His existence is mediated through lattice messages to Kael (5-8 authored
|
||||
lines), references in NPC dialogue, and operational pressure cascading
|
||||
through the ring hierarchy.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "contraband.ring_exists"
|
||||
- "contraband.ring_structure"
|
||||
- "contraband.lattice_components"
|
||||
- "contraband.supply_chain"
|
||||
- "contraband.volume_targets"
|
||||
- "relationship.ring_membership"
|
||||
- "relationship.kael_sibling"
|
||||
- "location.smuggling_route"
|
||||
- "location.distribution_points"
|
||||
access_tier: "authority"
|
||||
|
||||
triangle_membership:
|
||||
- "hub-power"
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Unseen boss. Known by reputation and felt through operational pressure.
|
||||
The smuggler has never met Nils but follows orders relayed through Devra
|
||||
and Kael. Nils is the authority that shapes every operational day.
|
||||
detective: >
|
||||
The name that surfaces late in the investigation. The coordinator behind
|
||||
the coordinator — the authority that explains why everyone on-station is
|
||||
afraid. Origin codes, lattice intercepts, and dialogue fragments point
|
||||
upstream to someone the detective cannot reach within the vertical slice.
|
||||
|
||||
notes: >
|
||||
Off-stage authority figure. Never physically instantiated in v0.1. Entire
|
||||
presence is mediated: lattice messages to Kael (operational instructions,
|
||||
volume pressure, occasional familial notes), dialogue references from ring
|
||||
members, and the escalation pressure that drives Triangle 1 (hub-power).
|
||||
Nils's transmitted message serves as the plot device that forces the
|
||||
volume escalation fork — his demand for higher throughput cascades through
|
||||
Devra, Kael, and Voss, creating observable disruption. GHOST + HANDLER
|
||||
creates absent authority: the ring's most dangerous decisions are made by
|
||||
someone who never sees their consequences.
|
||||
@@ -1,105 +0,0 @@
|
||||
# NPC Profile: Olin Tavren
|
||||
# Source: wiki/characters/olin.md
|
||||
# Tier 3 — reduced content, essential axes only
|
||||
|
||||
canonical_id: "npc:olin"
|
||||
display_name: "Olin Tavren"
|
||||
tier: 3
|
||||
pattern: "CATALYST"
|
||||
motivation: "CIVILIAN"
|
||||
|
||||
description: >
|
||||
Recent arrival in Sova Transit District — a drifter looking for freight work.
|
||||
Story is plausible: contract work dried up elsewhere, heard Sova had openings.
|
||||
The story is also convenient, and in a district where new faces attract
|
||||
attention, convenience is suspicious. Ambiguity is deliberate and unresolved.
|
||||
|
||||
want:
|
||||
primary: "Safety"
|
||||
description: >
|
||||
Employment.
|
||||
Find work. Settle in. Start over. Whether this is genuine or a cover story
|
||||
is left deliberately ambiguous for v0.1.
|
||||
|
||||
secret: >
|
||||
Unresolved. Olin may be exactly what he claims — a drifter looking for work —
|
||||
or may be a scout, informant, or rival operator. The game does not confirm
|
||||
either reading in v0.1.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
Variable — no fixed schedule. Appears at the bar in the afternoon,
|
||||
sometimes at the hub entrance asking about openings, sometimes walking
|
||||
the district. New arrivals without fixed employment have irregular
|
||||
patterns by nature.
|
||||
|
||||
personality:
|
||||
demeanor: "friendly, curious, slightly too interested"
|
||||
social_style: "open, direct, asks questions about work schedules and shift structures"
|
||||
stress_response: "deflects with friendliness, changes subject"
|
||||
|
||||
relationships:
|
||||
- target: "npc:lera-sessik"
|
||||
kind: "colleague"
|
||||
trust: 2
|
||||
notes: "Bar acquaintance. Olin drinks at The Last Shift, asks questions. Lera assesses."
|
||||
|
||||
tolerance:
|
||||
threshold: 5
|
||||
description: >
|
||||
Moderate. Olin handles social pressure well but becomes evasive under
|
||||
sustained interrogation. The friendliness is armour, not fragility.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "world.sova_district_layout"
|
||||
- "world.shift_schedule"
|
||||
access_tier: "public"
|
||||
|
||||
contentment:
|
||||
level: 0
|
||||
description: >
|
||||
Unsettled. New arrival without stable employment or social anchoring.
|
||||
Neither content nor distressed — in transition.
|
||||
|
||||
tells:
|
||||
- trigger: "conversation about hub operations"
|
||||
behavior: "Leans in, asks specific follow-up questions — schedules, who runs what, where things go"
|
||||
visible_to: "any"
|
||||
- trigger: "when ring members are nearby"
|
||||
behavior: "Watches them without staring. Notes who sits with whom."
|
||||
visible_to: "peripheral"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
social: 6
|
||||
cargo_handling: 5
|
||||
|
||||
triangle_membership:
|
||||
- "bar-tensions"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Friendly newcomer looking for work. "I'm just trying to find steady
|
||||
freight work. Know anyone hiring at the hub?"
|
||||
real: >
|
||||
Harder to reach — Olin's openness is itself a deflection. What lies
|
||||
beneath the friendly questions is unclear even at higher trust.
|
||||
secret: >
|
||||
Whatever Olin's true purpose is remains sealed for v0.1. The ambiguity
|
||||
is the content.
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Threat assessment. New face asking about hub work. Could be nothing,
|
||||
could be everything. Watching.
|
||||
detective: >
|
||||
Potential fresh source. No local ties, no loyalty obligations. Could be
|
||||
useful if Olin has seen something the regulars have learned to ignore.
|
||||
|
||||
notes: >
|
||||
Ambiguity NPC. Creates productive uncertainty — a new variable in a stable
|
||||
system that forces both player characters to evaluate and respond. In the
|
||||
bar-tensions triangle, Olin's questions and Torek's spending create combined
|
||||
pressure on Lera. The game does not resolve Olin's true nature in v0.1.
|
||||
@@ -1,62 +0,0 @@
|
||||
# NPC Profile: Pael Varren
|
||||
# Tier 3 — NOBODY / CIVILIAN
|
||||
# Flat NPC — noise floor. Knows nothing about the ring.
|
||||
# Observable presence near B-corridor is legitimate maintenance, not surveillance.
|
||||
# Ticket: #307 | Sprint: 12
|
||||
|
||||
canonical_id: "npc:pael"
|
||||
display_name: "Pael Varren"
|
||||
tier: 3
|
||||
pattern: "NOBODY"
|
||||
motivation: "CIVILIAN"
|
||||
|
||||
description: >
|
||||
Station maintenance tech, early 40s. Has worked Sova Transit District for
|
||||
fifteen years. Knows every duct, every failing seal, every air recycler
|
||||
running off-spec. Appears throughout the district because maintenance is
|
||||
everywhere. Carries a scanner everywhere; hands are perpetually stained with
|
||||
lubricant. Pael has no ring connection, no secrets beyond a quiet resentment
|
||||
of deferred maintenance tickets. Is frequently near B-corridor because the
|
||||
environmental seal there fails on a cycle of roughly three weeks, without
|
||||
fail, regardless of what Pael does about it.
|
||||
|
||||
want:
|
||||
primary: "Happiness"
|
||||
description: >
|
||||
To get through a single shift without a new deferred ticket appearing on
|
||||
the queue. Fifteen years of Sova has narrowed the definition of a good day.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
Arrives before any shift (05:30 entry), does a diagnostic walk of the
|
||||
full district, starts on the highest-priority deferred tickets during
|
||||
low-traffic windows. Reappears at the B-corridor junction around mid-shift
|
||||
because the environmental seal there is always the problem. Leaves when
|
||||
the shift cycle turns over. Pattern is completely predictable. That's the
|
||||
point — Pael is never where they shouldn't be, they're just always where
|
||||
the problems are.
|
||||
|
||||
personality:
|
||||
demeanor: "tired-competent, dry humor, no interest in drama"
|
||||
social_style: "minimal — answers when addressed, doesn't linger"
|
||||
stress_response: "files a maintenance ticket and moves on"
|
||||
|
||||
tells: []
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
maintenance: 9
|
||||
environmental_systems: 8
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Fifteen years of Sova maintenance. "If it breaks, I've seen it break
|
||||
before. Usually the same three things."
|
||||
|
||||
notes: >
|
||||
NOBODY + CIVILIAN: pure noise floor. The "seems important but isn't" quality
|
||||
is positional — frequent presence near B-corridor for genuine maintenance
|
||||
reasons. One memorable observable trait: scanner always open, lubricant
|
||||
stains on both hands even at shift start. Paula owns the trait design.
|
||||
Mellanie owns the lines (#307).
|
||||
-246
@@ -1,246 +0,0 @@
|
||||
# PC-as-NPC Profile: The Detective (NPC mode, seen by smuggler player)
|
||||
# Source: docs/design/pc-as-npc-spec.md section 11
|
||||
# Ticket: #383 | Blocks: #401 (PC-as-NPC content authoring)
|
||||
#
|
||||
# When the player is the smuggler, this file defines the detective's NPC behavior.
|
||||
# When the player IS the detective, this file is not loaded.
|
||||
|
||||
canonical_id: "npc:pc-detective"
|
||||
display_name: "Commission Liaison"
|
||||
tier: 2
|
||||
pattern: "MIRROR"
|
||||
motivation: "OPERATOR"
|
||||
|
||||
description: >
|
||||
The detective as NPC. A Commission investigator conducting manifest review
|
||||
in Sova Transit District. Neutral behavioral path: reviews records, walks the
|
||||
dock floor, frequents the bar with Sera. First playthrough (smuggler): institutional
|
||||
threat to avoid. Second playthrough: "That's me. That's what I was doing."
|
||||
|
||||
want:
|
||||
primary: "Knowledge"
|
||||
intensity: 5
|
||||
description: >
|
||||
Answers.
|
||||
Wants to understand the freight discrepancies. Follows the investigation
|
||||
methodically. Does not make dramatic decisions on the neutral path -- no
|
||||
confrontations, no leverage plays, no dramatic revelations.
|
||||
|
||||
secret: >
|
||||
Actual mandate is investigation of freight irregularities, not routine compliance
|
||||
review. The smuggler doesn't know this at session start -- the detective-NPC is
|
||||
just "the new Commission person." Ring members may warn the smuggler (Voss: "routine
|
||||
check, apparently"), but the true investigation depth remains hidden.
|
||||
|
||||
relationships:
|
||||
- target: "npc:sera-venn"
|
||||
kind: "friend"
|
||||
trust: 8
|
||||
notes: "Pre-existing friend from prior posting. Same institutional background. Social anchor on Sova. Comfortable body language, first-name basis."
|
||||
- target: "npc:voss"
|
||||
kind: "colleague"
|
||||
trust: 1
|
||||
notes: "Person of interest from case file. Shift supervisor with scheduling authority. Detective approaches with professional formality."
|
||||
- target: "npc:maret-korr"
|
||||
kind: "colleague"
|
||||
trust: 1
|
||||
notes: "Person of interest. Freight scheduler with manifest access. Requests data, notes reactions."
|
||||
- target: "npc:drin"
|
||||
kind: "colleague"
|
||||
trust: 1
|
||||
notes: "Person of interest. Dock inspector responsible for container verification. Follow-up on inspection records."
|
||||
- target: "npc:lera-sessik"
|
||||
kind: "colleague"
|
||||
trust: 2
|
||||
notes: "Bar owner. Met through Sera. Visited once or twice. Professional politeness."
|
||||
- target: "npc:torek-lintar"
|
||||
kind: "colleague"
|
||||
trust: 3
|
||||
notes: "Commission compliance officer. Recognizes from institutional channels. Professional greeting."
|
||||
- target: "npc:kael-davan"
|
||||
kind: "colleague"
|
||||
trust: 0
|
||||
notes: "Unknown dock worker at session start. Name might appear on shift roster. No personal knowledge."
|
||||
- target: "npc:pc-smuggler"
|
||||
kind: "colleague"
|
||||
trust: 0
|
||||
notes: "Unknown dock worker. One of many. No reason to flag at session start. Tells may accumulate over time."
|
||||
|
||||
tolerance:
|
||||
threshold: 7
|
||||
description: >
|
||||
Professional patience. Absorbs evasion and hostility without visible reaction.
|
||||
Processes information internally. The neutral path never pushes tolerance --
|
||||
the detective-NPC doesn't escalate.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
7 routine entries covering full day cycle:
|
||||
1. Morning arrival (08:00, Terminal entrance) -- shows credentials to Voss, reviews scheduling board.
|
||||
2. Manifest review (08:30-10:00, Terminal offices) -- requests data from Maret, reviews freight records at terminal.
|
||||
3. Dock observation (10:00-11:30, dock floor) -- walks the floor, observes operations, takes notes (lattice interaction).
|
||||
4. Midday break (11:30-12:30, break area or district) -- brief break, may check district geography.
|
||||
5. Afternoon follow-up (13:00-14:30, Terminal offices) -- follow-up with Drin on inspection records, cross-references manifests.
|
||||
6. Bar evening (16:00-18:00, The Last Shift) -- meets Sera, sits together, casual conversation, observes room.
|
||||
7. Departure (18:30) -- returns to temporary quarters, off-screen.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "investigation.manifest_discrepancy"
|
||||
- "world.commission_regulations"
|
||||
- "world.sova_district_layout"
|
||||
access_tier: "authority"
|
||||
|
||||
contentment:
|
||||
level: 1
|
||||
description: >
|
||||
Professional-cautious. New to the district, isolated in unfamiliar community.
|
||||
Reliant on Sera for social grounding. Institutional training runs in the
|
||||
background. Awareness that the district doesn't want them here.
|
||||
|
||||
personality:
|
||||
demeanor: "professional, measured, slightly formal"
|
||||
social_style: "surnames for targets and unknowns, first names for allies (Sera only). The shift from surname to first name IS a relationship marker"
|
||||
stress_response: "withdraws to analytical mode, reviews notes via lattice, seeks sightline-advantaged positions"
|
||||
humor: "wry, observational, appreciates irony from a distance"
|
||||
|
||||
tells:
|
||||
- trigger: "after every conversation"
|
||||
behavior: "Pauses and interacts with lattice -- recording notes. Brief but consistent pause"
|
||||
visible_to: "any"
|
||||
- trigger: "hub exploration"
|
||||
behavior: "Moves through the hub in methodical pattern. Section by section, not wandering"
|
||||
visible_to: "any"
|
||||
- trigger: "investigation routine"
|
||||
behavior: "Returns to manifest terminal repeatedly. Significant time reviewing data"
|
||||
visible_to: "any"
|
||||
- trigger: "throughout session"
|
||||
behavior: "Stands at corners and elevated positions with good sightlines over dock floor. Watches before approaching"
|
||||
visible_to: "peripheral"
|
||||
- trigger: "bar evenings"
|
||||
behavior: "Consistently gravitates toward Sera. Comfortable body language that other NPCs don't get from the detective"
|
||||
visible_to: "any"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
investigation: 8
|
||||
analysis: 9
|
||||
social: 5
|
||||
observation: 8
|
||||
|
||||
triangle_membership: []
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Professional, measured. "Commission Liaison Office -- conducting a routine compliance
|
||||
review. Standard manifest reconciliation." Institutional language, deliberate blandness.
|
||||
real: >
|
||||
Only accessible to Sera. Investigation context, institutional background sharing,
|
||||
personal doubts about the district. "The briefing said routine. Briefings are
|
||||
always wrong about something."
|
||||
secret: >
|
||||
Investigation mandate, case file details, evidence collected. Never accessible
|
||||
to the smuggler through normal play.
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
First impression: Commission. Threat. The smuggler's operational awareness flags
|
||||
authority presence immediately. Color: warm amber (Person of Interest) from first
|
||||
sighting, or cool teal (Unknown) shifting to amber once Kael or Voss warns the
|
||||
smuggler.
|
||||
|
||||
Tells accumulate: note-taking after every conversation, systematic hub coverage,
|
||||
manifest terminal fixation (third time today), observation positioning at
|
||||
sightline-advantaged points, Sera proximity. The smuggler's monologue reads
|
||||
these as institutional threat escalating from background nuisance to active danger.
|
||||
|
||||
Reverse observation notes -- what NPCs say about the detective to the smuggler:
|
||||
|
||||
Kael (noticing Commission presence): "There's someone new at the hub. Commission
|
||||
badge. Keep your head down." [access: insider, trust: real -- ring protective warning]
|
||||
|
||||
Voss (to smuggler during shift): "Commission liaison showed up this morning.
|
||||
Routine check, apparently. Just do your job normally." [access: insider, trust: real
|
||||
-- operational caution]
|
||||
|
||||
Lera (when smuggler arrives at bar): "Your Commission friend is here again.
|
||||
Came in with Sera." [access: insider, trust: surface -- coded language, "your" is
|
||||
ironic distance]
|
||||
|
||||
Sera (overheard at bar): "The new liaison? Standard posting. Nothing to worry
|
||||
about." [access: public, trust: surface -- Sera's deflection benefits the ring
|
||||
indirectly]
|
||||
|
||||
Naia (when smuggler sits near her): "Have you noticed the new person at the hub?
|
||||
Commission, someone said. Kael didn't seem happy about it." [access: peer,
|
||||
trust: surface -- innocent observation]
|
||||
|
||||
Renn (to smuggler during operations): "That investigator's been poking around
|
||||
manifests. Maret's sweating." [access: insider, trust: real -- ring intelligence]
|
||||
|
||||
Maret (to smuggler in corridor): "The Commission officer requested last quarter's
|
||||
schedules. I gave them the clean set." [access: insider, trust: real -- complicity
|
||||
confirmation]
|
||||
|
||||
detective: >
|
||||
N/A -- this IS the detective in NPC mode. When the player is the detective,
|
||||
this file is not loaded.
|
||||
|
||||
notes: >
|
||||
PC-as-NPC entity. Follows the NEUTRAL BEHAVIORAL PATH:
|
||||
- No dramatic decisions
|
||||
- No confrontations initiated
|
||||
- No relationship state changes during session
|
||||
- No evidence-based confrontations (those are the player's choices)
|
||||
- No dramatic leverage plays
|
||||
- No routine deviations
|
||||
|
||||
AGENCY BOUNDARIES: The detective-NPC arrives, reviews records, walks the floor,
|
||||
takes notes, visits the bar with Sera, goes home. They exhibit baseline personality
|
||||
(professional, formal, observational) and observable tells (note-taking, systematic
|
||||
movement, manifest fixation). They respond to player interaction with public-tier
|
||||
dialogue only.
|
||||
|
||||
STARTING KNOWLEDGE -- two options:
|
||||
|
||||
Option A (default for v0.1): Smuggler has been warned by Voss. Smuggler starts
|
||||
with KnowsOf about the detective (role: Commission liaison, faction: Commission,
|
||||
risk: moderate). Color: amber.
|
||||
|
||||
Option B: Smuggler not yet warned. First visual sighting triggers knowledge
|
||||
accumulation. Commission badge visible. Color: teal initially, shifts to amber
|
||||
once ring members pass the warning.
|
||||
|
||||
Smuggler observation monologue triggers (5 lines):
|
||||
|
||||
1. "Commission officer just stood there after talking to Voss. Making notes. Not good."
|
||||
[trigger: observe_npc, note-taking tell]
|
||||
2. "That investigator is working the hub section by section. Not browsing. Searching."
|
||||
[trigger: observe_anomaly, systematic movement tell]
|
||||
3. "Commission's parked at the manifest terminal again. Third time today."
|
||||
[trigger: observe_anomaly, manifest fixation tell]
|
||||
4. "They're watching. From the corner, where they can see the whole dock floor. Professional."
|
||||
[trigger: observe_npc, observation positioning tell]
|
||||
5. "The investigator and Sera again. Old friends? Or is Sera reporting to them?"
|
||||
[trigger: observe_npc, Sera proximity tell -- creates doubt about Sera's role]
|
||||
|
||||
Public-tier dialogue (if smuggler approaches):
|
||||
|
||||
1. Greeting (hub): "Good morning. Commission Liaison Office -- I'm conducting a routine compliance review."
|
||||
[access: public, trust: surface, situation: greeting]
|
||||
2. About purpose: "Standard review. Manifest reconciliation, scheduling compliance. Nothing unusual."
|
||||
[access: public, trust: surface, situation: social]
|
||||
3. About district: "Only been here a few days. Seems like a well-run operation."
|
||||
[access: public, trust: surface, situation: social -- deliberate blandness]
|
||||
4. About Sera: "Ms. Venn? Colleague. We've worked in the same division."
|
||||
[access: public, trust: surface, situation: social -- professional deflection]
|
||||
5. Deflection: "I appreciate the interest, but I'm sure you have cargo to route. I won't keep you."
|
||||
[access: public/authority, trust: surface, situation: confrontation -- polite dismissal]
|
||||
|
||||
ITEM COUNT:
|
||||
- Routine entries: 7
|
||||
- Relationship stubs (NPCs about detective): 7
|
||||
- Tell descriptions + monologue triggers: 10 (5 tells x 2)
|
||||
- Dialogue lines (detective-NPC speaks): 5
|
||||
- TOTAL: 29 (within ~20-30 budget)
|
||||
-245
@@ -1,245 +0,0 @@
|
||||
# PC-as-NPC Profile: The Smuggler (NPC mode, seen by detective player)
|
||||
# Source: docs/design/pc-as-npc-spec.md section 10
|
||||
# Ticket: #383 | Blocks: #401 (PC-as-NPC content authoring)
|
||||
#
|
||||
# When the player is the detective, this file defines the smuggler's NPC behavior.
|
||||
# When the player IS the smuggler, this file is not loaded.
|
||||
|
||||
canonical_id: "npc:pc-smuggler"
|
||||
display_name: "Dock Worker"
|
||||
tier: 2
|
||||
pattern: "MIRROR"
|
||||
motivation: "OPERATOR"
|
||||
|
||||
description: >
|
||||
The smuggler as NPC. A dock worker in Sova Transit District who follows the
|
||||
neutral behavioral path: routine work, break with colleagues, bar after shift.
|
||||
First playthrough (detective): unremarkable NPC, one of many dock workers.
|
||||
Second playthrough: "That's me. That's what I was doing." The gap between this
|
||||
neutral path and the player's actual choices IS the narrative distance traveled.
|
||||
|
||||
want:
|
||||
primary: "Safety"
|
||||
intensity: 4
|
||||
description: >
|
||||
Stability.
|
||||
Keep the day smooth. Keep the operation running, the team safe, the shift
|
||||
uneventful. Does not make dramatic decisions on the neutral path.
|
||||
|
||||
secret: >
|
||||
Ring member. Handles cargo routing for the smuggling operation during shift
|
||||
transitions. The detective doesn't know this at session start. The smuggler-NPC
|
||||
is just another dock worker until tells accumulate and the detective's analytical
|
||||
lattice starts connecting patterns.
|
||||
|
||||
relationships:
|
||||
- target: "npc:kael-davan"
|
||||
kind: "colleague"
|
||||
trust: 8
|
||||
notes: "Closest colleague, ring member. First-name basis. 2 years of shared risk. Comfortable physical proximity. Eats lunch together."
|
||||
- target: "npc:voss"
|
||||
kind: "superior"
|
||||
trust: 3
|
||||
notes: "Shift supervisor, ring-aware. Professional respect, low warmth. Smuggler knows Voss takes a cut."
|
||||
- target: "npc:lera-sessik"
|
||||
kind: "friend"
|
||||
trust: 7
|
||||
notes: "Bar owner, ring-aware. Regular at The Last Shift. Lera saves the smuggler's usual seat."
|
||||
- target: "npc:renn"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: "Courier, ring member. Operational relationship. Smuggler knows Renn's routes."
|
||||
- target: "npc:naia-tamm"
|
||||
kind: "friend"
|
||||
trust: 4
|
||||
notes: "Kael's partner. Known through Kael. Occasional bar interaction."
|
||||
- target: "npc:maret-korr"
|
||||
kind: "colleague"
|
||||
trust: 4
|
||||
notes: "Freight scheduler. Hub colleague. Smuggler knows Maret handles scheduling."
|
||||
- target: "npc:drin"
|
||||
kind: "colleague"
|
||||
trust: 3
|
||||
notes: "Dock inspector. Compromised -- looks the other way for the ring."
|
||||
- target: "npc:torek-lintar"
|
||||
kind: "colleague"
|
||||
trust: 2
|
||||
notes: "Bar regular, ring-adjacent. Conspicuous spending. Smuggler keeps distance."
|
||||
- target: "npc:sera-venn"
|
||||
kind: "colleague"
|
||||
trust: 0
|
||||
notes: "Commission field tech. Smuggler recognizes Sera as Commission. Keeps distance. No personal relationship."
|
||||
- target: "npc:pc-detective"
|
||||
kind: "colleague"
|
||||
trust: -2
|
||||
notes: "Commission liaison. Threat. Smuggler-NPC does not initiate contact with the detective. If approached, gives polite minimum responses."
|
||||
|
||||
tolerance:
|
||||
threshold: 6
|
||||
description: >
|
||||
Steady under pressure but protective of colleagues. Threat to the team triggers
|
||||
immediate defensive instinct. The neutral path keeps tension below threshold.
|
||||
No dramatic choices, no confrontations.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
7 routine entries covering full day cycle:
|
||||
1. Morning arrival (05:45, Terminal entrance) -- checks schedule board.
|
||||
2. Morning work (06:00-10:00, dock floor) -- cargo processing, interacts with Kael and dock workers.
|
||||
3. Break (10:00-10:30, break area) -- eats with Kael and Renn, conversation.
|
||||
4. Afternoon work (10:30-14:00, dock floor) -- container routing, schedule coordination with Voss.
|
||||
5. Shift transition (14:00-14:20) -- cleans station, briefly checks service corridor.
|
||||
6. Bar evening (15:00-17:00, The Last Shift) -- drinks with Kael at regular table, casual conversation with Lera.
|
||||
7. Departure (17:30) -- goes home, off-screen.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "contraband.ring_exists"
|
||||
- "contraband.lattice_components"
|
||||
- "contraband.supply_chain"
|
||||
- "location.corridor_b7_restricted"
|
||||
- "location.smuggling_route"
|
||||
- "location.surveillance_gaps"
|
||||
- "location.dead_drop_location"
|
||||
- "investigation.manifest_discrepancy"
|
||||
- "investigation.shift_mismatch"
|
||||
- "investigation.cargo_anomaly"
|
||||
- "world.shift_schedule"
|
||||
- "relationship.ring_membership"
|
||||
access_tier: "insider"
|
||||
|
||||
contentment:
|
||||
level: 3
|
||||
description: >
|
||||
Comfortable-tense. The job pays, the team is solid, the risk is managed.
|
||||
Not happy, not miserable. Managing a life with two faces. The money eases
|
||||
the financial pressure that makes station life tight for most workers.
|
||||
|
||||
personality:
|
||||
demeanor: "casual, guarded around authority figures"
|
||||
social_style: "first-name basis with everyone, relational, physically present"
|
||||
stress_response: "goes quiet, checks exits, shortens interactions"
|
||||
humor: "dry, situational, dark when stressed"
|
||||
|
||||
tells:
|
||||
- trigger: "entering new area (every transition between areas)"
|
||||
behavior: "Pauses at intersections, glances down corridors before entering"
|
||||
visible_to: "any"
|
||||
- trigger: "shift transition window (14:00-14:20)"
|
||||
behavior: "Movement becomes more purposeful. Straighter route, fewer idle pauses"
|
||||
visible_to: "any"
|
||||
- trigger: "near authority figures or checkpoints"
|
||||
behavior: "Pace increases slightly when passing Commission-tagged NPCs or security checkpoints"
|
||||
visible_to: "peripheral"
|
||||
- trigger: "break periods and bar time"
|
||||
behavior: "Gravitates toward Kael, Renn, and other ring members. Tight social cluster, same table every shift"
|
||||
visible_to: "any"
|
||||
- trigger: "near flagged cargo containers during work routine"
|
||||
behavior: "Gaze lingers on specific containers. Brief second interaction with freight system during routing"
|
||||
visible_to: "forward"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
cargo_handling: 8
|
||||
logistics: 7
|
||||
stealth: 5
|
||||
social: 6
|
||||
|
||||
triangle_membership:
|
||||
- "hub-power"
|
||||
- "worried-partner"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Polite, guarded. Standard dock worker responses. "Cargo routing. Containers come
|
||||
in, I process them out. Standard stuff."
|
||||
real: >
|
||||
Only accessible to ring insiders. Operational talk, schedule windows, route
|
||||
planning. "4471's routed for transfer at 14:30. Voss kept the window clear."
|
||||
secret: >
|
||||
Ring knowledge, Kael's situation, supply chain details. Never accessible to
|
||||
the detective through normal play.
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
N/A -- this IS the smuggler in NPC mode. When the player is the smuggler,
|
||||
this file is not loaded.
|
||||
detective: >
|
||||
First impression: unremarkable dock worker, one of many. Color: cool teal
|
||||
(Unknown/Neutral) at session start. Tells accumulate with repeated observation:
|
||||
corridor checking, shift-transition behavior change, security-proximity tension,
|
||||
social clustering with same 3 people, cargo attention on specific containers.
|
||||
The detective's monologue flags these as professional curiosity escalating to
|
||||
suspicion. Color may shift to warm amber (Person of Interest) if tells compound.
|
||||
|
||||
Reverse observation notes -- what NPCs say about the smuggler to the detective:
|
||||
|
||||
Kael (when asked about dock workers): "The crew's solid. Good people. We look
|
||||
out for each other." [access: public, trust: surface -- won't name names]
|
||||
|
||||
Kael (when pressed): "Just a dock worker. Does their shift, goes home. Not much
|
||||
to tell." [access: authority, trust: surface -- deflection]
|
||||
|
||||
Voss (when asked about shift crew): "Everyone's got their routine. No complaints
|
||||
from that crew." [access: authority, trust: surface -- institutional wall]
|
||||
|
||||
Lera (when asked about dock workers at bar): "We get all sorts in here after
|
||||
shift. Working people. Tired, mostly." [access: public, trust: surface --
|
||||
protective generality]
|
||||
|
||||
Naia (when talking about Kael's friends): "Kael's got good colleagues. They
|
||||
eat lunch together most days." [access: public/peer, trust: surface -- genuine]
|
||||
|
||||
Maret (when detective reviews crew records): "That name's on the morning shift
|
||||
roster. Standard cargo handling cert." [access: authority, trust: surface]
|
||||
|
||||
Torek (overheard at bar): "Dock crew's always here after shift. The usual
|
||||
crowd." [access: public, trust: surface -- background noise]
|
||||
|
||||
notes: >
|
||||
PC-as-NPC entity. Follows the NEUTRAL BEHAVIORAL PATH:
|
||||
- No dramatic decisions
|
||||
- No confrontations initiated
|
||||
- No relationship state changes during session
|
||||
- No contradiction discovery (that's the player's experience)
|
||||
- No triangle fork reactions
|
||||
- No routine breaks without cause
|
||||
|
||||
AGENCY BOUNDARIES: The smuggler-NPC works, eats, drinks, goes home. They exhibit
|
||||
baseline personality (casual, first names) and observable tells (corridor awareness,
|
||||
shift-transition alertness). They respond to player interaction with public-tier
|
||||
dialogue only.
|
||||
|
||||
Detective observation monologue triggers (5 lines):
|
||||
|
||||
1. "That dock worker checks the corridor before turning. Habitual. Military? Or just careful."
|
||||
[trigger: observe_npc, corridor awareness tell]
|
||||
2. "Movement pattern changed at shift change. More direct. Less idle. Interesting."
|
||||
[trigger: observe_anomaly, shift-transition tell]
|
||||
3. "Slight acceleration past the checkpoint. Most people do it. But this one does it every time."
|
||||
[trigger: observe_anomaly, security-proximity tell]
|
||||
4. "Same three people at the same table. Every shift. Consistent social group."
|
||||
[trigger: observe_npc, social clustering tell]
|
||||
5. "That worker checked container 4471 twice. The same container that's in my manifest discrepancy file."
|
||||
[trigger: observe_anomaly, cargo attention tell -- gates on investigation.manifest_discrepancy KnowsOf]
|
||||
|
||||
Public-tier dialogue (if detective approaches):
|
||||
|
||||
1. Greeting (hub): "Morning. Can I help you with something?"
|
||||
[access: public, trust: surface, situation: greeting]
|
||||
2. About work: "Cargo routing. Containers come in, I process them out. Standard stuff."
|
||||
[access: public/authority, trust: surface, situation: investigation]
|
||||
3. About the hub: "It's a freight hub. Busy during shifts, quiet after. Same as any logistics operation."
|
||||
[access: public, trust: surface, situation: social]
|
||||
4. About colleagues: "Good crew. We do our shifts, go home. Nothing exciting."
|
||||
[access: public/authority, trust: surface, situation: investigation]
|
||||
5. Deflection: "Look, I just move containers. You'd want to talk to Voss about scheduling."
|
||||
[access: authority, trust: surface, situation: confrontation -- deflects to Voss]
|
||||
|
||||
ITEM COUNT:
|
||||
- Routine entries: 7
|
||||
- Relationship stubs (NPCs about smuggler): 7
|
||||
- Tell descriptions + monologue triggers: 10 (5 tells x 2)
|
||||
- Dialogue lines (smuggler-NPC speaks): 5
|
||||
- TOTAL: 29 (within ~20-30 budget)
|
||||
@@ -1,154 +0,0 @@
|
||||
# NPC Profile: Pell Torssen
|
||||
# Source: wiki/characters/pell.md
|
||||
# Tier 2 | CATALYST + TURNCOAT | Ring member, potential informant
|
||||
|
||||
canonical_id: "npc:pell"
|
||||
display_name: "Pell Torssen"
|
||||
tier: 2
|
||||
pattern: "CATALYST"
|
||||
motivation: "TURNCOAT"
|
||||
|
||||
description: >
|
||||
Ring member, 35, handles inventory tracking and distribution scheduling for
|
||||
smuggled goods. Freelance logistics consulting as cover. Pell is cracking. The
|
||||
ring seemed manageable when small-scale — now the volume is escalating, the
|
||||
Commission liaison rotation gap is closing, and the risk-to-reward ratio has
|
||||
inverted. Pell is considering cooperation with authorities but doesn't know how,
|
||||
whom to trust, or what happens if the ring finds out. An informant looking for
|
||||
a handler.
|
||||
|
||||
want:
|
||||
primary: "Freedom"
|
||||
intensity: 9
|
||||
description: >
|
||||
Get out without getting killed.
|
||||
Pell is past the point of wanting to stay. The escalating volume, the increasing
|
||||
risk, the paranoia — the ring has gone from manageable supplement to existential
|
||||
threat. Secondary want: find someone — anyone — who can offer protection in
|
||||
exchange for information. The detective is the obvious candidate, but Pell
|
||||
doesn't know the detective exists yet. Drin is an institutional contact, but
|
||||
Drin is compromised through Harek's debt. The irony is thick.
|
||||
|
||||
secret: >
|
||||
Surface: ring member — known to the ring, not known to the detective or civilians.
|
||||
Deep: 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 — no allies in this decision. The ring would
|
||||
kill him. The authorities don't know he exists.
|
||||
|
||||
relationships:
|
||||
- target: "npc:renn"
|
||||
kind: "colleague"
|
||||
trust: 2
|
||||
notes: "Fellow ring member. Renn suspects Pell is unreliable and has reported this to Devra. Pell senses the increased scrutiny without understanding its source. The relationship has chilled."
|
||||
- target: "npc:devra"
|
||||
kind: "superior"
|
||||
trust: 2
|
||||
notes: "Ring coordinator. Pell receives scheduling instructions from Devra. Devra is watching Pell more closely since Renn's report. Pell feels the pressure."
|
||||
- target: "npc:drin"
|
||||
kind: "colleague"
|
||||
trust: 3
|
||||
notes: "Dock inspector. Pell has considered approaching Drin for institutional help — unaware that Drin is compromised through Harek's gambling debt. This potential contact is a trap Pell doesn't see."
|
||||
|
||||
tolerance:
|
||||
threshold: 1
|
||||
description: >
|
||||
Exceeded. Pell is past his tolerance. The escalating volume, increasing risk, and
|
||||
paranoia have pushed him beyond functional tolerance. 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.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
5 routine entries covering variable day:
|
||||
1. Freelance work (09:00-12:00) — legitimate small logistics contracts, sporadic.
|
||||
2. Variable midday (12:00-15:00) — bar occasionally, residential pod, wandering.
|
||||
3. Ring communication (15:00-19:00) — lattice-based, encrypted, scheduled by
|
||||
Devra.
|
||||
4. Ring coordination meetings (night, bar back room) — 1-2x per week.
|
||||
5. Routine deviations increasing: skipping meetings, failing to respond to
|
||||
lattice messages promptly, avoiding locations where ring members congregate.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "contraband.ring_exists"
|
||||
- "contraband.lattice_components"
|
||||
- "contraband.supply_chain"
|
||||
- "relationship.ring_membership"
|
||||
- "relationship.trust_network"
|
||||
- "location.smuggling_route"
|
||||
access_tier: "insider"
|
||||
|
||||
contentment:
|
||||
level: -5
|
||||
description: >
|
||||
Very low — crisis level. The ring went from manageable supplement to existential
|
||||
threat. Every interaction with ring members feels dangerous. Every stranger could
|
||||
be an investigator. Every lattice message could be a summons. A measure of how
|
||||
far someone can fall when the thing that was supposed to help them becomes the
|
||||
thing that threatens to destroy them.
|
||||
|
||||
personality:
|
||||
demeanor: "anxious, overthinking, struggling to maintain composure"
|
||||
social_style: "increasingly withdrawn, avoids ring social spaces, irregular availability"
|
||||
stress_response: "paranoid behavior — checking over shoulder, scanning entrances, avoiding eye contact"
|
||||
humor: "absent — anxiety has consumed the space where humor lived"
|
||||
|
||||
tells:
|
||||
- trigger: "ring coordination meeting scheduled"
|
||||
behavior: "Misses meetings or arrives late — anxiety and avoidance increasing"
|
||||
visible_to: "any"
|
||||
- trigger: "in public spaces"
|
||||
behavior: "Nervous behavior — checking over shoulder, scanning entrances, avoiding eye contact with regulars"
|
||||
visible_to: "any"
|
||||
- trigger: "expected at scheduled location"
|
||||
behavior: "Irregular schedule — unpredictable location, unreliable availability, routine becoming erratic"
|
||||
visible_to: "peripheral"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
logistics: 7
|
||||
inventory_management: 7
|
||||
encrypted_communication: 5
|
||||
|
||||
triangle_membership:
|
||||
- "informant-question"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Freelance logistics consultant. Nervous but functional. "I'm fine. Just — a lot
|
||||
on my mind. Freelance work's been slow. You know how it is."
|
||||
real: >
|
||||
Ring operational details — inventory levels, distribution schedules, client lists,
|
||||
timing windows, which operations are sloppiest, which members are essential.
|
||||
Knows the ring's vulnerabilities from inside.
|
||||
secret: >
|
||||
Willing to trade everything he knows for protection. "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:
|
||||
smuggler: >
|
||||
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, report to Nils, or try to calm him down. "Pell missed another meeting.
|
||||
Renn's right — something's off. If Pell talks, we're all exposed."
|
||||
detective: >
|
||||
Initially invisible — freelance consultant at the bar. But 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."
|
||||
|
||||
notes: >
|
||||
CATALYST + TURNCOAT: maximum instability. "When Pell breaks, everything moves."
|
||||
Pell's disruption (CATALYST) is driven by deliberate loyalty shift (TURNCOAT),
|
||||
making him the ring's existential threat. Other catalysts (Torek, Resha, Olin)
|
||||
disrupt accidentally; Pell's disruption is the consequence of a conscious decision
|
||||
to betray. For the smuggler, the decision to support, report, or manage Pell
|
||||
defines the operation's future. For the detective, finding Pell before the ring
|
||||
acts means gaining the keystone witness. Timing is everything, and Pell's anxiety
|
||||
is the countdown.
|
||||
@@ -1,63 +0,0 @@
|
||||
# NPC Profile: Ren Tosse
|
||||
# Tier 3 — NOBODY / CIVILIAN
|
||||
# Flat NPC — noise floor. Drifter with no ring connection.
|
||||
# Asks too many questions about cargo schedules. Is just looking for work.
|
||||
# Ticket: #307 | Sprint: 12
|
||||
|
||||
canonical_id: "npc:ren"
|
||||
display_name: "Ren Tosse"
|
||||
tier: 3
|
||||
pattern: "NOBODY"
|
||||
motivation: "CIVILIAN"
|
||||
|
||||
description: >
|
||||
Day worker, early 30s. Comes through Sova Transit on irregular rotations —
|
||||
picks up freight work when it's available, moves on when it isn't. Knows the
|
||||
station the way drifters do: which bays are short-handed, which supervisors
|
||||
ask fewer questions, what the bar's cheap nights are. Has a worn transit bag
|
||||
and a slightly too-casual awareness of exits — not operational awareness,
|
||||
just the low-level situational alertness of someone who has moved through
|
||||
too many unfamiliar stations. Genuinely unremarkable. No ring connection,
|
||||
no secrets. Asks too many questions about night rotations and cargo schedules
|
||||
because that's how you find short-handed bays.
|
||||
|
||||
want:
|
||||
primary: "Wealth"
|
||||
description: >
|
||||
Regular work. Enough to stop moving for a while. Sova's a decent stop —
|
||||
the freight work is steady when it comes through.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
Arrives after 10:00 when the day shift is settled. Checks the job board
|
||||
at the terminal entrance. Wanders to The Last Shift for a drink and
|
||||
whatever bar conversation yields useful shift information. Leaves by late
|
||||
afternoon unless day work came through. Pattern is irregular by design —
|
||||
no fixed schedule because there's no fixed role.
|
||||
|
||||
personality:
|
||||
demeanor: "casual, observant, asks questions as if entitled to answers"
|
||||
social_style: "sociable enough to get information, quiet when there's nothing useful"
|
||||
stress_response: "moves on. There's always another station."
|
||||
|
||||
tells: []
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
cargo_handling: 6
|
||||
freight_routing: 5
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Passing through, looking for work. "Sova seems decent. Depends on
|
||||
the freight situation."
|
||||
|
||||
notes: >
|
||||
NOBODY + CIVILIAN: pure noise floor. The "seems important but isn't" quality
|
||||
comes from drifter behavior patterns that mimic operative reconnaissance:
|
||||
asking about night rotations, checking cargo schedules, casual interest in
|
||||
specific bays. All genuine job-seeking. One memorable observable trait:
|
||||
worn transit bag with tags from three different station systems, slightly
|
||||
too-casual awareness of exits. Paula owns the trait design. Mellanie owns
|
||||
the lines (#307).
|
||||
@@ -1,154 +0,0 @@
|
||||
# NPC Profile: Renn Harsk
|
||||
# Source: wiki/characters/renn.md
|
||||
# Tier 2 | THRESHOLD + OPERATOR | Ring courier
|
||||
|
||||
canonical_id: "npc:renn"
|
||||
display_name: "Renn Harsk"
|
||||
tier: 2
|
||||
pattern: "THRESHOLD"
|
||||
motivation: "OPERATOR"
|
||||
|
||||
description: >
|
||||
Courier for the smuggling ring, 26 years old. Moves contraband between freight
|
||||
bay, storage, and handoff points through maintenance corridors during Meridian
|
||||
dead spots. Legitimate cover as cargo runner at the logistics hub. Young, fit,
|
||||
takes pride in the execution. 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. Also the person who reported suspicion about Pell's
|
||||
wavering to Devra.
|
||||
|
||||
want:
|
||||
primary: "Power"
|
||||
intensity: 6
|
||||
description: >
|
||||
Prove loyalty to the ring and earn trust.
|
||||
Stay useful without getting caught.
|
||||
Renn is the physical courier — lifting, carrying, timing runs through
|
||||
maintenance corridors during Meridian dead spots. Takes pride in the execution.
|
||||
The job feels important. Secondary want: prove loyalty to Nils and Devra. Renn
|
||||
came into the ring through a friend-of-a-friend introduction. Still earning
|
||||
trust. The courier routes are his proving ground.
|
||||
|
||||
secret: >
|
||||
Surface: ring member who moves contraband through maintenance corridors. Known
|
||||
to ring, unknown to detective initially. Deep: Renn suspects Pell is unreliable
|
||||
and has reported this to Nils through Devra. This creates internal ring tension —
|
||||
Renn has effectively marked Pell as a threat, which may trigger Nils to act.
|
||||
Vulnerability: physical exposure — Renn is the person most likely to be caught
|
||||
in the act, carrying contraband through corridors during off-hours.
|
||||
|
||||
relationships:
|
||||
- target: "npc:kael-davan"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: "Ring colleague. Kael routes containers; Renn moves them. Functional respect, not close personally. Renn admires Kael's competence."
|
||||
- target: "npc:pell"
|
||||
kind: "colleague"
|
||||
trust: 1
|
||||
notes: "Fellow ring member. Renn distrusts Pell's reliability and has reported concerns. Dangerous dynamic — Renn may be right or may be paranoid."
|
||||
- target: "npc:devra"
|
||||
kind: "superior"
|
||||
trust: 5
|
||||
notes: "Ring coordinator. Renn receives timing instructions from Devra. Professional — Devra values Renn's reliability."
|
||||
- target: "npc:tav"
|
||||
kind: "colleague"
|
||||
trust: 4
|
||||
notes: "Ring lookout. Tav signals Renn during operations. Operational coordination."
|
||||
|
||||
tolerance:
|
||||
threshold: 5
|
||||
description: >
|
||||
Moderate. Renn can handle physical risk and operational pressure. What he cannot
|
||||
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.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
4 routine entries covering full day cycle:
|
||||
1. Day shift (06:00-14:00) — cargo runner at logistics hub, legitimate freight
|
||||
movement. Provides cover for knowing facility layout and timing.
|
||||
2. Off-duty (14:00-22:00) — home, occasionally bar. Not a regular. Keeps low
|
||||
profile between operations.
|
||||
3. Night operations (22:00-01:00, 1-2x per week) — moves flagged cargo from
|
||||
temporary storage to Corridor B-7 or bar back room via maintenance corridors
|
||||
and Meridian dead spots.
|
||||
4. Avoids the bar on operation nights — doesn't want to be placed at a social
|
||||
venue when he should be unaccounted for.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "contraband.ring_exists"
|
||||
- "location.corridor_b7_restricted"
|
||||
- "location.smuggling_route"
|
||||
- "location.surveillance_gaps"
|
||||
- "location.dead_drop_location"
|
||||
- "relationship.ring_membership"
|
||||
- "world.shift_schedule"
|
||||
access_tier: "insider"
|
||||
|
||||
contentment:
|
||||
level: 2
|
||||
description: >
|
||||
Moderate. Young and feels like he's going somewhere. Ring money supplements
|
||||
his cargo runner salary. The work is exciting in a way the legitimate job
|
||||
isn't. Precarious — depends entirely on the ring's stability.
|
||||
|
||||
personality:
|
||||
demeanor: "alert, loyal, suspicious"
|
||||
social_style: "low-profile, trusts slowly, watches people"
|
||||
stress_response: "hyperaware of spatial surroundings, patrol timing, corridor traffic"
|
||||
|
||||
tells:
|
||||
- trigger: "courier run in progress"
|
||||
behavior: "Present in maintenance corridors during off-hours — carrying cargo where he shouldn't be"
|
||||
visible_to: "any"
|
||||
- trigger: "monitoring Pell"
|
||||
behavior: "Watches Pell's behavior — surveillance posture, tracking Pell's movements and attendance"
|
||||
visible_to: "peripheral"
|
||||
- trigger: "operation night"
|
||||
behavior: "Absent from the bar — doesn't want to be placed at a social venue during active operations"
|
||||
visible_to: "peripheral"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
cargo_handling: 7
|
||||
corridor_navigation: 8
|
||||
spatial_awareness: 7
|
||||
timing_coordination: 6
|
||||
|
||||
triangle_membership:
|
||||
- "informant-question"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Cargo runner at the hub. Keeps to himself. "Route's on schedule. Standard
|
||||
freight. Nothing to report."
|
||||
real: >
|
||||
Knows corridor routes, Meridian dead spots, timing windows, handoff procedures.
|
||||
Kael's routing patterns, Devra's coordination timing. Pell's behavior changes.
|
||||
secret: >
|
||||
Has reported Pell as a potential informant threat. The ring's immune response
|
||||
started with Renn's suspicion.
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Known quantity — the runner, the courier, the physical movement. Reliable, stays
|
||||
quiet. If Renn says Pell's a problem, Pell's a problem. "Renn's reliable. Runs
|
||||
clean, stays quiet."
|
||||
detective: >
|
||||
Initially invisible — another cargo runner. But tracking movement patterns in
|
||||
maintenance corridors during off-hours reveals Renn as 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."
|
||||
|
||||
notes: >
|
||||
THRESHOLD + OPERATOR: the physical gatekeeper. "Renn moves the product. Trace
|
||||
Renn, find the route." 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. Catching Renn in a dead spot with cargo is the most direct path
|
||||
to blowing the operation. His vulnerability is his visibility: a person moving
|
||||
cargo through restricted corridors during off-hours is the most catchable link
|
||||
in the chain. Also the ring's immune response — reporting Pell's wavering.
|
||||
@@ -1,150 +0,0 @@
|
||||
# NPC Profile: Resha Neven
|
||||
# Source: wiki/characters/resha.md
|
||||
# Tier 2 | CATALYST + CIVILIAN | Logistics Hub new hire dock worker
|
||||
|
||||
canonical_id: "npc:resha"
|
||||
display_name: "Resha Neven"
|
||||
tier: 2
|
||||
pattern: "CATALYST"
|
||||
motivation: "CIVILIAN"
|
||||
|
||||
description: >
|
||||
New hire dock worker at the Sova Transit District Logistics Hub, three months into
|
||||
her first permanent position. Age 23, came from short-term contract work in other
|
||||
districts — unstable, underpaid, no community. Eager, observant, transparent. Asks
|
||||
questions about locked bays, irregular schedule changes, and containers that appear
|
||||
on manifests but are not in the bay. She does not know she is asking about the
|
||||
ring's operations — she is asking because the procedures she was taught do not
|
||||
match what she observes.
|
||||
|
||||
want:
|
||||
primary: "Power"
|
||||
intensity: 5
|
||||
description: >
|
||||
Prove herself at the job.
|
||||
Resha wants to be competent, reliable, valued. She studies shift protocols,
|
||||
asks questions about procedures, and takes notes. Some of those questions —
|
||||
about locked bays, irregular schedule changes, containers with routing codes
|
||||
she was not trained on — are innocently dangerous. She does not know she is
|
||||
probing the ring's infrastructure. She is trying to learn her job.
|
||||
|
||||
secret: >
|
||||
None in the traditional sense. Resha has nothing to hide. Her significance is
|
||||
not what she conceals but what she notices — her curiosity about procedural
|
||||
inconsistencies makes her a risk to the ring and a potential asset to the
|
||||
detective, neither of which she is aware of. Vulnerability is naivety: she
|
||||
does not understand which questions are dangerous.
|
||||
|
||||
relationships:
|
||||
- target: "npc:voss"
|
||||
kind: "superior"
|
||||
trust: 5
|
||||
notes: "Shift supervisor. Resha respects authority and tries to please Voss. Voss is professionally competent with her but wants her to stop asking about irregularities."
|
||||
- target: "npc:kael-davan"
|
||||
kind: "colleague"
|
||||
trust: 7
|
||||
notes: "Senior colleague. Kael is patient with Resha — shows her the ropes, answers procedural questions, covers for her mistakes. Resha looks up to Kael."
|
||||
- target: "npc:maret-korr"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: "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."
|
||||
|
||||
tolerance:
|
||||
threshold: 3
|
||||
description: >
|
||||
Low, untested. Resha has never been in a situation where loyalty conflicts with
|
||||
safety. If directly threatened or warned to stop asking questions, she would be
|
||||
scared and confused. She does not have the experience to navigate institutional
|
||||
pressure.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
4 routine entries covering full day cycle:
|
||||
1. Day shift (06:00-14:00) — cargo handling, bay allocation assistance, learning
|
||||
procedures.
|
||||
2. Break (10:30-11:00, break room) — often with Kael or other dock workers.
|
||||
3. Post-shift (14:00-15:00) — sometimes stays late studying shift protocols.
|
||||
4. Off-duty (15:00+) — home (Residential Radial B) or occasionally the bar,
|
||||
still establishing social connections.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "world.shift_schedule"
|
||||
access_tier: "public"
|
||||
|
||||
contentment:
|
||||
level: 5
|
||||
description: >
|
||||
Moderate-high, optimistic. 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 — not yet disillusioned.
|
||||
|
||||
personality:
|
||||
demeanor: "eager, open, earnest"
|
||||
social_style: "asks questions freely, takes notes, defers to experienced colleagues"
|
||||
stress_response: "looks to authority figures for guidance, goes quiet when confused"
|
||||
humor: "warm, slightly nervous — laughs easily when comfortable"
|
||||
|
||||
tells:
|
||||
- trigger: "encounters a procedure she was not trained for"
|
||||
behavior: "Asks questions about locked bays, irregular schedules, or unmanifested containers. Innocently dangerous."
|
||||
visible_to: "any"
|
||||
- trigger: "recording procedures and observations"
|
||||
behavior: "Takes notes on her lattice — standard for a new hire, but the data she captures includes anomalies."
|
||||
visible_to: "peripheral"
|
||||
- trigger: "uncertain about a procedure or social situation"
|
||||
behavior: "Looks to Kael for guidance. Visible deference and trust."
|
||||
visible_to: "any"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
cargo_handling: 4
|
||||
bay_allocation: 3
|
||||
manifest_reading: 3
|
||||
observation: 5
|
||||
|
||||
triangle_membership: []
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Eager new hire. Open and transparent. Asks procedural questions without guile.
|
||||
"The Bay 7 manifest doesn't list that container. Should I flag it, or is that
|
||||
a late addition?"
|
||||
real: >
|
||||
Genuinely confused by the gap between training and reality. Starting to notice
|
||||
that some questions make people uncomfortable but does not understand why.
|
||||
"Voss changed the afternoon rotation again. Is that normal?"
|
||||
secret: >
|
||||
No hidden agenda. What you see is what there is — a new worker trying to learn
|
||||
a job that turns out to be stranger than the training manual described.
|
||||
|
||||
dual_lens:
|
||||
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. Her observations carry no
|
||||
political filtering — whatever Resha noticed, she noticed because it was
|
||||
genuinely anomalous. "New hire. Three months. Still asking questions the
|
||||
veterans stopped asking years ago. Either naive or useful. Possibly both."
|
||||
|
||||
notes: >
|
||||
CATALYST + CIVILIAN: innocent disruption. She just asked and everyone flinched.
|
||||
Resha disrupts through pure curiosity, 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.
|
||||
|
||||
Key authoring guidance: Resha is not an investigator. She is a new employee
|
||||
learning a corrupted system honestly. Write her questions as genuine, her
|
||||
confusion as real, her eagerness as endearing. The tension comes from the
|
||||
ring's reaction to her, not from anything Resha does deliberately.
|
||||
|
||||
Not a formal triangle member. Her function is atmospheric and catalytic — her
|
||||
questions create pressure on Voss and Kael, and her presence reminds the hub
|
||||
that the operation is only invisible to people who have learned not to look.
|
||||
@@ -1,104 +0,0 @@
|
||||
# NPC Profile: Sabel Hersk
|
||||
# Source: wiki/characters/sabel.md
|
||||
# Tier 3 — reduced content, essential axes only
|
||||
|
||||
canonical_id: "npc:sabel"
|
||||
display_name: "Sabel Hersk"
|
||||
tier: 3
|
||||
pattern: "GHOST"
|
||||
motivation: "OPERATOR"
|
||||
|
||||
description: >
|
||||
The ring's off-station contact — external supplier who sends contraband
|
||||
(unlicensed lattice components, medical-grade neural replacements) through
|
||||
legitimate freight shipments to Sova. Operates from elsewhere in the Krenn
|
||||
System. Relationship with Devra is purely transactional. Not directly
|
||||
observable — referenced in lattice communications, cargo manifests, and
|
||||
ring members' dialogue.
|
||||
|
||||
want:
|
||||
primary: "Wealth"
|
||||
description: >
|
||||
Profit.
|
||||
Deliver. Get paid. Maintain the supply chain. If the operation on Sova is
|
||||
compromised, Sabel cuts the connection and finds another distribution point.
|
||||
|
||||
secret: >
|
||||
Sabel views the Sova ring as replaceable infrastructure. If the operation
|
||||
is compromised, Sabel severs the connection without warning and redirects
|
||||
supply to another distribution point.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
Not directly observable. Sabel appears in lattice communications (Devra's
|
||||
coordination), in cargo manifests (origin codes), and in ring dialogue.
|
||||
Physical presence limited to at most 1-2 brief visits during the vertical
|
||||
slice — enough to be observed, not enough to be interrogated.
|
||||
|
||||
personality:
|
||||
demeanor: "professional, efficient, impersonal"
|
||||
social_style: "transactional only — no personal investment in the local team"
|
||||
stress_response: "cuts connections, finds alternatives"
|
||||
|
||||
relationships:
|
||||
- target: "npc:devra"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: "On-station coordinator. Sabel confirms transit timing, Devra coordinates local pickup. Professional respect, no warmth."
|
||||
|
||||
tolerance:
|
||||
threshold: 4
|
||||
description: >
|
||||
Low tolerance for operational risk. Sabel does not absorb pressure — at
|
||||
the first sign of compromise, the connection is cut. Self-preservation
|
||||
over loyalty.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "contraband.supply_chain"
|
||||
- "contraband.lattice_components"
|
||||
- "contraband.medical_grade"
|
||||
access_tier: "insider"
|
||||
|
||||
contentment:
|
||||
level: 2
|
||||
description: >
|
||||
Functional satisfaction. The business works, the money flows. No
|
||||
emotional investment in the Sova operation or its people.
|
||||
|
||||
tells:
|
||||
- trigger: "during rare on-station visits"
|
||||
behavior: "Moves with purpose, avoids social spaces, conducts business and leaves"
|
||||
visible_to: "any"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
logistics: 7
|
||||
stealth: 5
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Not accessible. Sabel does not engage with people outside the operation.
|
||||
real: >
|
||||
Operational only. Transit confirmations, shipment schedules, cargo
|
||||
specs. "Transit confirmed for 22:00. Standard package. Don't be late."
|
||||
secret: >
|
||||
The wider supply network — where the contraband originates, who else
|
||||
Sabel supplies, how deep the upstream operation runs. Not accessible
|
||||
in v0.1.
|
||||
|
||||
dual_lens:
|
||||
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 is sending this cargo. Finding who could crack the upstream network.
|
||||
|
||||
notes: >
|
||||
Upstream connection. The thread leading from the local smuggling operation
|
||||
to the wider criminal supply chain. Sabel represents the layer above the
|
||||
local ring — the bigger operation that views Sova as replaceable
|
||||
infrastructure. Coldness is narrative content: the ring is disposable
|
||||
to its supplier.
|
||||
-255
@@ -1,255 +0,0 @@
|
||||
# NPC Profile: Sera Venn — THE FRIEND (Detective)
|
||||
# Source: wiki/characters/sera-venn.md
|
||||
# Tier: 1 | Pattern: FRIEND | Motivation: WITNESS
|
||||
# Triangles: worried-partner
|
||||
|
||||
canonical_id: "npc:sera-venn"
|
||||
display_name: "Sera Venn"
|
||||
tier: 1
|
||||
pattern: "FRIEND"
|
||||
motivation: "WITNESS"
|
||||
|
||||
description: >
|
||||
Lattice Commission field technician, 31 years old, posted to Sova Transit
|
||||
District 14 months ago after a stressful border-system relay. The detective's
|
||||
pre-existing institutional contact and closest personal ally in the district.
|
||||
Sera is warm, competent, available — and sitting on unreported evidence. She ran
|
||||
an unauthorized compliance check on Kael Davan's freight handling records after
|
||||
her friend Naia confided worry about Kael's behavior. What she found (manifest
|
||||
discrepancies tied to Kael's shifts) pointed to something she didn't want to see.
|
||||
Reporting it destroys Naia's life. Not reporting it means Sera is concealing
|
||||
evidence from the detective she calls a friend. The quiet life she wanted is gone.
|
||||
|
||||
want:
|
||||
primary: "Connection"
|
||||
intensity: 8
|
||||
description: >
|
||||
Keep her life stable and her friendships intact.
|
||||
Sova was supposed to be quiet — routine calibration checks, scheduled
|
||||
inspections, paperwork. For 12 months, it was exactly that. Then Naia started
|
||||
confiding about Kael's late nights, and Sera's competence made her curious, and
|
||||
her curiosity made her compromised. Secondary want: protect Naia from the
|
||||
consequences of what Sera has discovered. Every helpful tip Sera shares with the
|
||||
detective is shadowed by the evidence she's withholding.
|
||||
|
||||
secret: >
|
||||
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
|
||||
tied to Kael's shifts — containers that don't reconcile with incoming freight
|
||||
manifests. She also found that the irregularities correlate with shifts where
|
||||
Torek Lintar handles dock inspections. 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. If the detective discovers the concealment,
|
||||
Sera faces institutional consequences. If the ring discovers a Commission employee
|
||||
has flagged their manifests, Sera is in physical danger. If Naia learns Sera
|
||||
investigated Kael behind her back, the friendship is damaged regardless of motive.
|
||||
|
||||
relationships:
|
||||
- target: "npc:pc-detective"
|
||||
kind: "friend"
|
||||
trust: 8
|
||||
notes: >
|
||||
Pre-existing institutional contact. Trained at adjacent postings, overlapped
|
||||
on a compliance sweep two years ago. Genuine mutual respect. When the detective
|
||||
arrives, Sera is genuinely glad — a familiar face who speaks her language.
|
||||
Now keeping evidence from the detective. Every helpful tip is contaminated by
|
||||
what she's NOT sharing.
|
||||
- target: "npc:naia-tamm"
|
||||
kind: "friend"
|
||||
trust: 9
|
||||
notes: >
|
||||
Closest friend on the station, 10 months. Met at the bar. Naia teaches
|
||||
station kids, represents the community Sera embedded herself in. Naia confided
|
||||
worry about Kael — this triggered the compliance check. Sera now knows more
|
||||
about Kael than Naia does and can't share it.
|
||||
- target: "npc:torek-lintar"
|
||||
kind: "colleague"
|
||||
trust: 1
|
||||
notes: >
|
||||
Avoidance target. Sera's compliance check found manifest irregularities
|
||||
correlating with Torek's inspection shifts. Being near Torek while sitting on
|
||||
evidence about his patterns feels like compounding risk. Sera leaves the bar
|
||||
when Torek arrives — the avoidance pattern IS the contradiction.
|
||||
- target: "npc:lera-sessik"
|
||||
kind: "friend"
|
||||
trust: 5
|
||||
notes: "Bar regular at The Last Shift. Lera knows Sera as a quiet Commission employee who tips well and keeps to her corner booth."
|
||||
|
||||
tolerance:
|
||||
threshold: 7
|
||||
description: >
|
||||
High — disciplined and emotionally controlled. Tolerates institutional isolation,
|
||||
minor ethical compromises, and the cognitive dissonance of helping the detective
|
||||
while hiding evidence. What pushes toward breaking: the detective asking about
|
||||
manifest discrepancies, Naia's worry escalating into action, Torek's spending
|
||||
becoming more visible. What breaks her: direct confrontation from the detective
|
||||
with evidence of concealment (Sera can't lie to the detective's face), Naia
|
||||
being hurt by consequences Sera tried to prevent, institutional pressure from
|
||||
Commission noticing the unfiled check.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
7 routine entries covering full day cycle:
|
||||
1. Morning diagnostics (07:30-08:00) — Commission kiosk, Level 3, calibration
|
||||
checks.
|
||||
2. Field rounds (08:00-12:00) — compliance verification at hub equipment, bar
|
||||
terminal, residential nodes.
|
||||
3. Lunch (12:00-13:00) — vendor near logistics hub.
|
||||
4. Afternoon rounds (13:00-15:00) — report filing at Commission kiosk.
|
||||
5. Off-shift transition (15:00-15:30) — residential pod.
|
||||
6. Bar hours (15:30-18:00, The Last Shift) — early-evening regular, meets Naia,
|
||||
corner booth.
|
||||
7. Home or quiet return (18:00-22:00).
|
||||
Deviations: leaves bar abruptly when Torek arrives (contradiction pattern —
|
||||
three occurrences). Increased helpfulness to detective (overcompensation).
|
||||
Extended time at Commission kiosk (compulsive rechecking). Avoids hub during
|
||||
shifts where Kael's discrepancies concentrate.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "investigation.manifest_discrepancy"
|
||||
- "investigation.shift_mismatch"
|
||||
- "relationship.kael_naia_connection"
|
||||
- "world.shift_schedule"
|
||||
- "world.sova_district_layout"
|
||||
access_tier: "peer"
|
||||
|
||||
contentment:
|
||||
level: -1
|
||||
description: >
|
||||
Moderate, declining. Was content — Sova was the calm posting she needed. Routine,
|
||||
a friend, social life at the bar. The compliance check changed everything. Can't
|
||||
un-know what she found. Every evening at the bar shadowed by concealed evidence.
|
||||
Every conversation with Naia a reminder of why. Every interaction with the
|
||||
detective a test of how much longer she can sustain it.
|
||||
|
||||
personality:
|
||||
demeanor: "competent, slightly wry, conversational but precise"
|
||||
social_style: "professional warmth — explains things, provides context, frames information"
|
||||
stress_response: "controlled presentation, redirects rather than goes silent — the redirect itself is the tell"
|
||||
humor: "dry when relaxed, absent when managing concealment"
|
||||
|
||||
tells:
|
||||
- trigger: "Torek Lintar enters the bar"
|
||||
behavior: "Makes an excuse and leaves within 2-3 minutes. Three different excuses across the vertical slice — early shift, headache, kiosk check. The timing doesn't vary."
|
||||
visible_to: "any"
|
||||
- trigger: "detective asks about the district"
|
||||
behavior: "Volunteers extra information — names, routines, background context. Overcompensation for what she's withholding."
|
||||
visible_to: "forward"
|
||||
- trigger: "anyone mentions freight, manifests, or compliance"
|
||||
behavior: "Changes subject smoothly. Topic deflection — steers away from Kael-adjacent topics."
|
||||
visible_to: "forward"
|
||||
- trigger: "after hours or between shifts"
|
||||
behavior: "Extended time at Commission kiosk — rechecking compliance data, compulsive verification she hasn't been caught."
|
||||
visible_to: "peripheral"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
lattice_diagnostics: 8
|
||||
compliance_documentation: 7
|
||||
data_analysis: 7
|
||||
social_intelligence: 6
|
||||
|
||||
triangle_membership:
|
||||
- "worried-partner"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Warm Commission field tech. Shares district background freely — who the regulars
|
||||
are, shift schedules, maintenance corridor shortcuts. "There you are. Grab a
|
||||
seat — Naia was here earlier. Lera's doing that thing with the grain spirit
|
||||
again. Don't ask, just trust me and order the ale."
|
||||
real: >
|
||||
Institutional access — manifest cross-referencing, lattice registration queries,
|
||||
compliance history. District social fabric insider through 10 months of
|
||||
bartending observation. Genuine friendship with Naia, professional rapport with
|
||||
the detective. Shares everything except the one thing that matters.
|
||||
secret: >
|
||||
Unreported evidence. Manifest discrepancies tied to Kael's shifts. Unauthorized
|
||||
compliance check. Six weeks of concealment to protect Naia. "I don't know what
|
||||
you're looking for. I told you everything I know. If you're asking whether I'm
|
||||
hiding something — I'm a field tech, not an analyst."
|
||||
|
||||
friend_arc:
|
||||
bonded_character: "detective"
|
||||
phases:
|
||||
- phase: 1
|
||||
description: >
|
||||
Trust. Sera is warm, competent, available. Waves the detective over to her
|
||||
corner booth. Shares district background freely. Introduces Naia on the
|
||||
second visit. Orders the detective a drink. Feels like the one genuine
|
||||
relationship in an unfamiliar place.
|
||||
trigger: "Game start, first bar visits (0-10 minutes)"
|
||||
routine_deviation: "None — baseline comfortable. Sera is punctual, sociable, informative."
|
||||
- phase: 2
|
||||
description: >
|
||||
Background Data. Sera mentions Naia naturally — a friend from the district.
|
||||
Naia joins them once. Easy, genuine rapport. Sera also mentions running
|
||||
compliance checks as routine. Social embeddedness established: Sera has
|
||||
personal relationships in the district, not just institutional ones.
|
||||
trigger: "10-15 minutes. Social context accumulating."
|
||||
routine_deviation: "None visible. Sera is building the detective's picture of the district."
|
||||
- phase: 3
|
||||
description: >
|
||||
The Pattern. The detective observes Sera leaving the bar when Torek arrives.
|
||||
Three times. Three different excuses. The detective's training fires on the
|
||||
third occurrence — pattern recognition, not anomaly detection. Color shifts
|
||||
from green to amber. Slower than Kael's contradiction — cumulative, not
|
||||
sudden.
|
||||
trigger: "15-20 minutes. Third observed departure when Torek enters."
|
||||
routine_deviation: "Departure from bar correlates with specific NPC arrival. Excuse variety masks behavioral consistency."
|
||||
- phase: 4
|
||||
description: >
|
||||
The Question. Detective asks Sera about Torek directly. Sera deflects —
|
||||
Torek is just loud, she doesn't like loud drunks. Plausible. But the
|
||||
detective notices the controlled delivery, the shoulder shift, the topic
|
||||
change that follows. The deflection is the tell.
|
||||
trigger: "20-25 minutes. Detective initiates dialogue about the avoidance pattern."
|
||||
routine_deviation: "Sera becomes more controlled. Warmth present but calibrated. Steers conversations away from freight and manifests. Compensates with extra helpfulness on other topics."
|
||||
- phase: 5
|
||||
description: >
|
||||
Contaminated Trust. Sera continues being helpful — same time, same booth,
|
||||
same district background. But the detective is now watching. Every piece of
|
||||
helpful information from Phase 1 is retroactively contaminated. Was she
|
||||
genuinely helpful, or steering away from manifests? Was introducing Naia
|
||||
friendship, or preemptive framing? Three paths open: trust test (direct
|
||||
confrontation about concealment), institutional (report through Commission
|
||||
channels), observation (watch and build parallel case).
|
||||
trigger: "25-30 minutes. Post-confrontation, remainder of vertical slice."
|
||||
routine_deviation: "Surface behavior returns to baseline. Trust is structurally damaged. The FRIEND arc changes the past, not just the present."
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Commission woman at the bar. Field tech, not investigator — but still Commission.
|
||||
Keep an eye on her. If observant across multiple visits, might notice the
|
||||
avoidance pattern: "Sera left again. That's twice when Torek showed up. Probably
|
||||
hates his singing." On replay, the smuggler understands Sera's avoidance wasn't
|
||||
about personality — it was about what she found and was hiding.
|
||||
detective: >
|
||||
THE FRIEND. Only ally in a district that doesn't want you here. Institutional
|
||||
peer, personal friend, district guide. Monologue shifts from fond ("Good to see
|
||||
Sera. She always was the reliable one.") to analytical doubt ("She's not lying.
|
||||
But she's not telling me everything. Sera, what do you know?"). The color shift
|
||||
from green to amber is the moment the safe harbor is contaminated. Maximum
|
||||
emotional weight.
|
||||
|
||||
notes: >
|
||||
Tier 1 FRIEND NPC, bonded to detective. FRIEND + WITNESS: the concealment
|
||||
betrayal. "I was your friend AND I was hiding evidence." The detective trusted
|
||||
Sera as safe harbor (FRIEND) while Sera sat on the exact data the detective
|
||||
needed (WITNESS). The contamination is retrospective — every helpful tip
|
||||
recontextualized once concealment surfaces. Was helpfulness genuine, or
|
||||
compensation? The answer is both, and that ambiguity is the emotional payload.
|
||||
|
||||
Parallels Kael (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. Voice:
|
||||
competent, slightly wry, precise. Uses complete sentences. When deflecting,
|
||||
redirects rather than goes silent — the redirect IS the tell.
|
||||
|
||||
The avoidance pattern must be THREE observed departures. Detective's training
|
||||
recognizes patterns, not anomalies. One is nothing, two is coincidence, three
|
||||
is data. Naia references establish friendship depth before it becomes
|
||||
load-bearing. Commission background establishes access level before it becomes
|
||||
evidence of capability.
|
||||
@@ -1,98 +0,0 @@
|
||||
# NPC Profile: Sess Kolvur
|
||||
# Source: wiki/characters/sess.md
|
||||
# Tier 3 — reduced content, essential axes only
|
||||
|
||||
canonical_id: "npc:sess"
|
||||
display_name: "Sess Kolvur"
|
||||
tier: 3
|
||||
pattern: "ANCHOR"
|
||||
motivation: "CIVILIAN"
|
||||
|
||||
description: >
|
||||
Evening bartender at The Last Shift under Lera Sessik. Observant, discreet,
|
||||
laconic. Sees everything from behind the bar and says nothing. In a district
|
||||
full of people with secrets, Sess's lack of hidden agenda is camouflage.
|
||||
|
||||
want:
|
||||
primary: "Safety"
|
||||
description: >
|
||||
Stability.
|
||||
Do the job. Go home. Don't get involved. The work is steady, the tips are
|
||||
adequate, the regulars are predictable. No ambitions beyond maintaining
|
||||
this equilibrium.
|
||||
|
||||
secret: >
|
||||
None. Sess genuinely has no hidden agenda. His ordinariness is real, not
|
||||
performed — which makes him uniquely hard to read, because there is nothing
|
||||
to find.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
14:00-02:00 bar shift (arrives before opening, stays through close).
|
||||
Breaks in the back — never leaves the bar during shift. Off-days at home,
|
||||
no bar social life. Sess separates work from everything else.
|
||||
|
||||
personality:
|
||||
demeanor: "observant, discreet, laconic"
|
||||
social_style: "minimal engagement, professional warmth only"
|
||||
stress_response: "goes quieter, focuses on tasks, avoids eye contact"
|
||||
|
||||
relationships:
|
||||
- target: "npc:lera-sessik"
|
||||
kind: "subordinate"
|
||||
trust: 6
|
||||
notes: "Employer. Professional respect. Lera runs the bar, Sess keeps the bar running."
|
||||
|
||||
tolerance:
|
||||
threshold: 7
|
||||
description: >
|
||||
High threshold — years of bartending have made Sess difficult to rattle.
|
||||
Breaks only under direct personal threat, not ambient district tension.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "world.sova_district_layout"
|
||||
- "world.shift_schedule"
|
||||
access_tier: "public"
|
||||
|
||||
contentment:
|
||||
level: 5
|
||||
description: >
|
||||
Genuinely content. The job is what it is, and Sess wants nothing more.
|
||||
Quiet satisfaction in routine, not resignation.
|
||||
|
||||
tells:
|
||||
- trigger: "customer asking probing questions"
|
||||
behavior: "Wipes the same spot on the bar repeatedly, eyes down, responses shorten"
|
||||
visible_to: "forward"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
social: 4
|
||||
observation: 7
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Professional bartender. Pours drinks, nods, minimal small talk.
|
||||
"What'll it be?"
|
||||
real: >
|
||||
After repeated visits: fragments of observation, never full narratives.
|
||||
"That group's been coming in together for months. Same table."
|
||||
secret: >
|
||||
Sess has assembled patterns no one else has noticed — who drinks with
|
||||
whom, who changed habits, who started avoiding whom. Unlocking this
|
||||
requires sustained investment in a character who has no reason to share.
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Background. Safe. Sess is behind the bar — reliable, doesn't talk.
|
||||
detective: >
|
||||
Potential long-game source. The bartender sees the whole room every night.
|
||||
Getting Sess to share observations will take repeated visits and trust.
|
||||
|
||||
notes: >
|
||||
Ambient observer. Social wallpaper with observational depth — present every
|
||||
evening, invested in nothing. Function is atmospheric: proving the bar is a
|
||||
real place where real service workers show up and pour drinks. v0.2 potential
|
||||
for tier promotion if Sess's quiet observations become narratively relevant.
|
||||
@@ -1,107 +0,0 @@
|
||||
# NPC Profile: Tav Merik
|
||||
# Source: wiki/characters/tav.md
|
||||
# Tier 3 — reduced content, essential axes only
|
||||
|
||||
canonical_id: "npc:tav"
|
||||
display_name: "Tav Merik"
|
||||
tier: 3
|
||||
pattern: "SYSTEM"
|
||||
motivation: "CIVILIAN"
|
||||
|
||||
description: >
|
||||
The ring's lookout — youngest member (early 20s), stationed at strategic
|
||||
positions during operations to watch for security patrols and unexpected
|
||||
personnel. Takes the job seriously because it is the first responsibility
|
||||
anyone has trusted him with. Hypervigilant during operations — effective
|
||||
on watch but visibly nervous to anyone who knows what to look for.
|
||||
|
||||
want:
|
||||
primary: "Connection"
|
||||
description: >
|
||||
Belonging.
|
||||
Do the watch. Don't get noticed. Prove useful. The role is simple — watch,
|
||||
signal, move — but it is the first thing Tav has been trusted with and
|
||||
the consequences of failure are immediate and severe.
|
||||
|
||||
secret: >
|
||||
Ring member. Lowest rung — watches corridors during courier runs. Knows
|
||||
routes and timing but not names, structure, or the operation's full scope.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
Legitimate: irregular shift work at the logistics hub (cargo staging,
|
||||
equipment prep). Picks up shifts as available, giving flexible hours that
|
||||
align with ring operations. Ring: positioned at corridor intersections
|
||||
during night-shift courier runs (1-2x per week), 30-60 minute windows,
|
||||
signals Renn via lattice. Off-duty: home or wandering the district.
|
||||
Does not drink at the bar — young, broke, socially peripheral.
|
||||
|
||||
personality:
|
||||
demeanor: "quiet, watchful, nervous"
|
||||
social_style: "peripheral — doesn't initiate, responds when addressed"
|
||||
stress_response: "hypervigilance, every footstep sounds like a patrol"
|
||||
|
||||
relationships:
|
||||
- target: "npc:renn"
|
||||
kind: "colleague"
|
||||
trust: 5
|
||||
notes: "Courier. Tav signals Renn during operations. Operational relationship, not personal."
|
||||
|
||||
tolerance:
|
||||
threshold: 3
|
||||
description: >
|
||||
Low. Tav is young and anxious — pressure cracks him quickly. The nervous
|
||||
energy that makes him effective on watch also makes him the ring member
|
||||
most likely to break under interrogation.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "location.smuggling_route"
|
||||
- "location.surveillance_gaps"
|
||||
- "world.shift_schedule"
|
||||
- "relationship.ring_membership"
|
||||
access_tier: "insider"
|
||||
|
||||
contentment:
|
||||
level: -1
|
||||
description: >
|
||||
Anxious. The belonging is real but so is the fear. Tav wants to matter
|
||||
but the danger of the work gnaws at him constantly.
|
||||
|
||||
tells:
|
||||
- trigger: "during ring operation windows"
|
||||
behavior: "Stands at corridor intersections, weight shifting, scanning both directions"
|
||||
visible_to: "any"
|
||||
- trigger: "when approached unexpectedly"
|
||||
behavior: "Flinches, then overcompensates with casual posture"
|
||||
visible_to: "forward"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
observation: 6
|
||||
stealth: 4
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Quiet young worker picking up shifts. "Just waiting for the next
|
||||
roster slot. You know how it is."
|
||||
real: >
|
||||
Operational awareness — routes, timing, signal protocols. Won't
|
||||
volunteer this without trust or pressure.
|
||||
secret: >
|
||||
Ring membership. Knows he is part of something larger but cannot
|
||||
describe its shape. Catching Tav reveals a thread but not the tapestry.
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Trusted lookout. Known quantity. Tav's on watch — he doesn't miss anything.
|
||||
detective: >
|
||||
Loitering youth. Anomaly if context is right. Young worker with irregular
|
||||
shifts, seen near freight corridors outside posted hours. Probably nothing.
|
||||
|
||||
notes: >
|
||||
Peripheral ring member at the lowest operational level. Knows routes and
|
||||
timing, not names or structure. Most likely to be caught, least likely to
|
||||
have useful information. Catching Tav reveals a thread but not the tapestry.
|
||||
v0.2 potential: a young person trapped in a role he barely understands.
|
||||
@@ -1,58 +0,0 @@
|
||||
# NPC Profile: Tev Osel
|
||||
# Tier 3 — NOBODY / CIVILIAN
|
||||
# Flat NPC — noise floor. Stands like a lookout. Is waiting for his partner.
|
||||
# No ring connection. The resemblance to surveillance posture is accidental.
|
||||
# Ticket: #307 | Sprint: 12
|
||||
|
||||
canonical_id: "npc:tev"
|
||||
display_name: "Tev Osel"
|
||||
tier: 3
|
||||
pattern: "NOBODY"
|
||||
motivation: "CIVILIAN"
|
||||
|
||||
description: >
|
||||
Cargo staging worker, late 20s. Has an unfortunate habit of positioning
|
||||
himself exactly where someone running corridor surveillance would stand —
|
||||
at junctions, in doorways, facing the approach. This is where he waits for
|
||||
Kosse, his partner, who works the late freight bay and takes the same route
|
||||
back through the maintenance corridors. Tev times his breaks to the late
|
||||
route schedule. He has no idea how this looks to someone tracking corridor
|
||||
traffic. No ring connection. No secrets.
|
||||
|
||||
want:
|
||||
primary: "Connection"
|
||||
description: >
|
||||
For Kosse to finish shift on time for once. It never happens on time.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
Works cargo staging 06:00-14:00. During break windows, drifts to corridor
|
||||
junction C-4 to wait for Kosse on the late freight route home. Returns to
|
||||
staging when Kosse doesn't appear within the break window. After shift:
|
||||
walks home with Kosse when schedules align, alone otherwise. The junction
|
||||
positioning is consistent and timing-predictable.
|
||||
|
||||
personality:
|
||||
demeanor: "patient, unassuming, mildly distracted when waiting"
|
||||
social_style: "polite if addressed, slightly confused why anyone is talking to him"
|
||||
stress_response: "checks lattice. Waits longer."
|
||||
|
||||
tells: []
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
cargo_staging: 6
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Waiting for someone. "Kosse's running late again. You know how the freight
|
||||
bay is."
|
||||
|
||||
notes: >
|
||||
NOBODY + CIVILIAN: pure noise floor. The "seems important but isn't" quality
|
||||
is entirely positional — standing at corridor junctions, watching approach
|
||||
traffic, checking the time, stationing himself in threshold positions. All
|
||||
of this is to meet a partner after shift. One memorable observable trait:
|
||||
weight always on the wrong foot, perpetually glancing the same direction.
|
||||
Paula owns the trait design. Mellanie owns the lines (#307).
|
||||
-139
@@ -1,139 +0,0 @@
|
||||
# NPC Profile: Torek Lintar
|
||||
# Source: wiki/characters/torek-lintar.md
|
||||
# Tier 2 | CATALYST + CIVILIAN | Dock worker, bar regular
|
||||
|
||||
canonical_id: "npc:torek-lintar"
|
||||
display_name: "Torek Lintar"
|
||||
tier: 2
|
||||
pattern: "CATALYST"
|
||||
motivation: "CIVILIAN"
|
||||
|
||||
description: >
|
||||
Dock worker on the day shift and bar regular at The Last Shift. Twenty-nine years
|
||||
old, single, and for the first time in his life has money beyond rent and food.
|
||||
The source of that money is deliberately ambiguous — ring income, side hustle, or
|
||||
inheritance. Torek's visible spending is the tell; what it tells depends on a truth
|
||||
the player never fully confirms. His generosity disrupts the district's equilibrium
|
||||
without intent.
|
||||
|
||||
want:
|
||||
primary: "Wealth"
|
||||
intensity: 5
|
||||
description: >
|
||||
Enjoy the good life while it lasts.
|
||||
Torek is young, single, and flush for the first time. He buys rounds, tips well,
|
||||
has a new jacket and lattice accessories. He is 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. Secondary want: be seen, be
|
||||
liked, be the generous one.
|
||||
|
||||
secret: >
|
||||
Spending beyond a standard dock worker's means. The source is deliberately
|
||||
ambiguous — ring compensation for inspection negligence, legitimate freelance
|
||||
freight brokering, or an inheritance spent unwisely. The investigation can reach
|
||||
any conclusion depending on the evidence path. The ambiguity is load-bearing:
|
||||
Torek himself may not have the answer the player wants.
|
||||
|
||||
relationships:
|
||||
- target: "npc:lera-sessik"
|
||||
kind: "friend"
|
||||
trust: 6
|
||||
notes: "Bar owner. One of her best customers. She appreciates the spending, worries about the attention it draws."
|
||||
- target: "npc:olin"
|
||||
kind: "friend"
|
||||
trust: 4
|
||||
notes: "New arrival. Torek has been friendly — buys drinks, offers bar introductions. Genuine hospitality or cultivation."
|
||||
- target: "npc:harek"
|
||||
kind: "colleague"
|
||||
trust: 3
|
||||
notes: "Card game partner at the bar. They play regularly. Torek usually wins, which is itself notable."
|
||||
|
||||
tolerance:
|
||||
threshold: 3
|
||||
description: >
|
||||
Low. Torek is not built for pressure. He is enjoying a good time and has not
|
||||
thought about consequences. If confronted about spending, he gets defensive then
|
||||
nervous. If pressured by the ring to be less visible, he complies resentfully
|
||||
but cannot actually change his habits.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
4 routine entries covering full day cycle:
|
||||
1. Day shift (06:00-14:00) — dock inspection and cargo handling at logistics hub.
|
||||
2. Shift transition (14:00-14:30) — walks to bar district.
|
||||
3. Bar hours (14:30-20:00, The Last Shift) — drinks, card games, socializing.
|
||||
4. Home or extended bar session (20:00+) on end-of-cycle days.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "world.shift_schedule"
|
||||
- "world.sova_district_layout"
|
||||
access_tier: "public"
|
||||
|
||||
contentment:
|
||||
level: 6
|
||||
description: >
|
||||
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 is attracting the wrong
|
||||
attention.
|
||||
|
||||
personality:
|
||||
demeanor: "generous, outgoing, conspicuously comfortable"
|
||||
social_style: "buys rounds, tips well, shares freely — needs to be around people"
|
||||
stress_response: "gets defensive, then nervous, then loud"
|
||||
|
||||
tells:
|
||||
- trigger: "after-shift bar arrival"
|
||||
behavior: "Visible spending — buying rounds, new accessories, generous tips"
|
||||
visible_to: "any"
|
||||
- trigger: "three or more drinks consumed"
|
||||
behavior: "Volume increases, stories get bigger, discretion decreases"
|
||||
visible_to: "any"
|
||||
- trigger: "anyone asks directly about income or spending"
|
||||
behavior: "Gets defensive — posture stiffens, voice drops, deflects with 'overtime pays' or 'I work hard'"
|
||||
visible_to: "forward"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
dock_inspection: 6
|
||||
cargo_handling: 6
|
||||
social: 5
|
||||
card_games: 4
|
||||
|
||||
triangle_membership:
|
||||
- "bar-tensions"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Friendly, generous bar regular. Buys rounds, makes introductions, tells stories.
|
||||
"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?"
|
||||
real: >
|
||||
Knows hub operations, dock procedures, inspection protocols, shift patterns.
|
||||
Bar social dynamics insider. If ring-connected, knows which containers get less
|
||||
careful inspection.
|
||||
secret: >
|
||||
The actual source of his money. Whether ring compensation, side hustle, or
|
||||
inheritance — the answer Torek gives depends on the pressure applied, and may
|
||||
not be the truth.
|
||||
|
||||
dual_lens:
|
||||
smuggler: >
|
||||
Torek is a liability. His spending draws attention the operation cannot 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 mundane. "Lintar, T. — dock worker. Spending pattern
|
||||
inconsistent with standard logistics salary. Worth a closer look."
|
||||
|
||||
notes: >
|
||||
CATALYST + CIVILIAN creates the accidental signal: "He doesn't know he's a
|
||||
liability." Torek's disruption comes from innocence, not deliberate action. You
|
||||
cannot negotiate with someone who does not know they are a problem. For the
|
||||
smuggler, a financial tell that cannot be silenced without revealing why it
|
||||
matters. For the detective, a spending pattern that could mean anything. The
|
||||
ambiguity is load-bearing precisely because Torek himself does not have the answer.
|
||||
@@ -1,167 +0,0 @@
|
||||
# NPC Profile: Arvo Voss
|
||||
# Source: wiki/characters/voss.md
|
||||
# Tier 2 | SYSTEM + OPERATOR | Logistics Hub shift supervisor
|
||||
|
||||
canonical_id: "npc:voss"
|
||||
display_name: "Arvo Voss"
|
||||
tier: 2
|
||||
pattern: "SYSTEM"
|
||||
motivation: "OPERATOR"
|
||||
|
||||
description: >
|
||||
Shift supervisor at the Sova Transit District Logistics Hub. Eleven years on the
|
||||
day shift. Competent, cautious, resentful. Takes a cut from the smuggling ring to
|
||||
smooth inspections and create coverage windows in the schedule. Voss has positional
|
||||
authority on the floor but operational authority belongs to Nils Davan, who gives
|
||||
orders through intermediaries. The tension between institutional title and criminal
|
||||
subordination defines him. If the detective follows the manifest trail, it leads to
|
||||
Voss's schedule first.
|
||||
|
||||
want:
|
||||
primary: "Safety"
|
||||
intensity: 6
|
||||
description: >
|
||||
Operational stability.
|
||||
Keep his shift running without incident. Clean handoffs, zero incident reports.
|
||||
The smuggling operation introduces variables he cannot control, but the cut he
|
||||
receives smooths the rough edges of a supervisor's salary. Secondary want:
|
||||
maintain authority despite being undermined by Nils Davan, who gives ring orders
|
||||
that override Voss's scheduling decisions. He complies because the money is good
|
||||
and because refusing Nils has consequences he does not want to test.
|
||||
|
||||
secret: >
|
||||
Takes a cut from the ring to smooth inspections and create schedule coverage
|
||||
windows. Most hub workers suspect this; nobody says it. Deeper: Voss is terrified
|
||||
that escalating volume will get him caught. He has been shift supervisor long enough
|
||||
that any investigation into hub operations starts with him. He has no exit strategy.
|
||||
Institutional exposure is his core vulnerability — the most visible member of the
|
||||
ring's logistics chain.
|
||||
|
||||
relationships:
|
||||
- target: "npc:kael-davan"
|
||||
kind: "subordinate"
|
||||
trust: 4
|
||||
notes: "Subordinate and ring colleague. Voss respects Kael's competence but resents taking orders (via Nils) from someone who technically works under him. Functional, tense."
|
||||
- target: "npc:maret-korr"
|
||||
kind: "colleague"
|
||||
trust: 3
|
||||
notes: "Freight scheduler. Voss needs Maret functioning and quiet. He is aware she has noticed discrepancies. Manages her through professional attention — making sure she feels valued but never asked to look deeper."
|
||||
- target: "npc:resha"
|
||||
kind: "subordinate"
|
||||
trust: 2
|
||||
notes: "New hire. Voss is professionally competent with Resha but wants her to stop asking about irregularities."
|
||||
- target: "npc:drin"
|
||||
kind: "subordinate"
|
||||
trust: 3
|
||||
notes: "Dock inspector, compromised. Voss knows about Drin's gambling debt and needs Drin's inspections to stay clean."
|
||||
- target: "npc:pc-smuggler"
|
||||
kind: "subordinate"
|
||||
trust: 3
|
||||
notes: "Dock worker, ring member. Professional respect, low warmth. Voss takes a cut and the smuggler knows it."
|
||||
|
||||
tolerance:
|
||||
threshold: 7
|
||||
description: >
|
||||
Moderate-high. Has been doing this for years and can handle routine pressure.
|
||||
Cannot handle 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. Pragmatic, not loyal.
|
||||
|
||||
routine:
|
||||
summary: >
|
||||
6 routine entries covering full day cycle:
|
||||
1. Morning arrival (05:45, Hub) — reviews shift manifest.
|
||||
2. Day shift supervision (06:00-14:00, dock floor) — schedules, manifests,
|
||||
personnel management. Adjusts schedules as needed to create coverage windows
|
||||
for ring operations (invisible unless you know what to look for).
|
||||
3. Break (10:30, break room) — coffee, reviews afternoon handoff notes.
|
||||
4. Shift transition (14:00-14:30) — handoff to swing supervisor.
|
||||
5. Occasional bar visit (14:30-16:00, The Last Shift) — not a regular, Voss
|
||||
drinks at home.
|
||||
6. Ring scheduling — adjusts schedules during normal work to create coverage
|
||||
windows. Done within regular workflow.
|
||||
|
||||
information:
|
||||
knows:
|
||||
- "contraband.ring_exists"
|
||||
- "investigation.manifest_discrepancy"
|
||||
- "investigation.shift_mismatch"
|
||||
- "relationship.ring_membership"
|
||||
- "relationship.trust_network"
|
||||
- "world.shift_schedule"
|
||||
access_tier: "insider"
|
||||
|
||||
contentment:
|
||||
level: 2
|
||||
description: >
|
||||
Moderate-low. Voss had a functional life before the ring escalated. The extra
|
||||
money was welcome. The extra risk is not. A man who wanted a quiet career and
|
||||
ended up as the load-bearing wall in a smuggling operation.
|
||||
|
||||
personality:
|
||||
demeanor: "cautious, professional, resentful beneath the surface"
|
||||
social_style: "institutional, maintains authority through procedure and competence"
|
||||
stress_response: "overthinks, plans contingencies, hates surprises"
|
||||
humor: "minimal — dry when present, never at work"
|
||||
|
||||
tells:
|
||||
- trigger: "ring requests schedule change"
|
||||
behavior: "Reprocesses manifests multiple times. Nervous schedule adjustments visible in revision frequency."
|
||||
visible_to: "peripheral"
|
||||
- trigger: "Nils has given orders Voss disagrees with"
|
||||
behavior: "Clipped, short responses to Kael. Tone shifts from professional to curt."
|
||||
visible_to: "any"
|
||||
- trigger: "ring operations in progress (containers being rerouted)"
|
||||
behavior: "Avoids break room. Does not want to be seen idle during active rerouting."
|
||||
visible_to: "peripheral"
|
||||
|
||||
skills:
|
||||
combat_trained: false
|
||||
skills:
|
||||
shift_management: 8
|
||||
freight_logistics: 8
|
||||
manifest_processing: 7
|
||||
personnel_scheduling: 7
|
||||
|
||||
triangle_membership:
|
||||
- "hub-power"
|
||||
- "worried-knowledge"
|
||||
|
||||
trust_levels:
|
||||
surface: >
|
||||
Professional shift supervisor. Runs a tight operation. Gives procedural answers
|
||||
and defers to institutional authority. "Everyone's got their routine. No complaints
|
||||
from that crew."
|
||||
real: >
|
||||
Ring-aware. Manages coverage windows, handles schedule manipulation, knows which
|
||||
inspectors are compromised. Resents the Davan siblings but complies.
|
||||
secret: >
|
||||
Terrified of exposure. No exit strategy. Would cooperate with whoever offers the
|
||||
best deal if cornered. Knows the escalating volume is unsustainable.
|
||||
|
||||
dual_lens:
|
||||
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 is 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."
|
||||
|
||||
notes: >
|
||||
SYSTEM + OPERATOR: corrupted machinery. The system works — for the wrong people.
|
||||
Voss IS the institutional process and he actively runs it, meaning the legitimate
|
||||
logistics infrastructure and the criminal operation share the same human engine.
|
||||
|
||||
Key authoring guidance: Voss is middle management, not a villain. His resentment
|
||||
toward Nils is genuine. His competence is real. His fear of exposure drives
|
||||
pragmatic compliance, not loyalty. Write him as a man trapped by his own
|
||||
institutional visibility — the schedule is both his professional pride and his
|
||||
criminal exposure. When stressed, he gets procedural, not aggressive.
|
||||
|
||||
Triangle dynamics: In hub-power (Voss-Kael-Nils), Voss has the title but not the
|
||||
power. In worried-knowledge (Maret-Drin-Voss), Voss needs everyone quiet without
|
||||
revealing why.
|
||||
@@ -1,78 +0,0 @@
|
||||
# Pool definitions for Sova Transit District
|
||||
# Seed-time selection system. Architecture supports N candidates; v0.1 has 1 each.
|
||||
# Format per seed-configuration-schema.md section 5.2
|
||||
# Referenced by: seed config generation (Sprint 5+), content loader (#408)
|
||||
|
||||
pools:
|
||||
- pool_id: "transit:friend_smuggler"
|
||||
category: npc_role
|
||||
description: >
|
||||
Smuggler's FRIEND (D-034) — closest colleague, emotional anchor.
|
||||
Production-level complex NPC exercising every content pipeline.
|
||||
v0.1: Kael Davan (dock worker, ring member). v0.2+: expand to
|
||||
multiple dock worker candidates with different contradiction arcs.
|
||||
constraints:
|
||||
- must_be_in_template: "logistics-hub"
|
||||
- must_have_pattern: "FRIEND"
|
||||
- bonded_character: "smuggler"
|
||||
candidates:
|
||||
- npc_id: "npc:kael-davan"
|
||||
weight: 1
|
||||
|
||||
- pool_id: "transit:friend_detective"
|
||||
category: npc_role
|
||||
description: >
|
||||
Detective's FRIEND (D-034) — social anchor, information holder.
|
||||
Production-level complex NPC. Contradiction: sitting on unreported
|
||||
evidence about Kael's manifest discrepancies, protecting Naia.
|
||||
v0.1: Sera Venn (Commission field tech, bar regular).
|
||||
constraints:
|
||||
- must_have_pattern: "FRIEND"
|
||||
- bonded_character: "detective"
|
||||
candidates:
|
||||
- npc_id: "npc:sera-venn"
|
||||
weight: 1
|
||||
|
||||
- pool_id: "transit:bar_regulars"
|
||||
category: npc_group
|
||||
description: >
|
||||
NPCs who frequent The Last Shift as regulars. Fills bar-regular
|
||||
template slots. v0.1: fixed set (all selected). v0.2+: seeder
|
||||
draws a subset from a larger candidate pool for variety.
|
||||
Note: regulars include cross-template visitors (reference links)
|
||||
who frequent the bar location but are owned by other templates.
|
||||
constraints:
|
||||
- frequents_location: "the-last-shift"
|
||||
candidates:
|
||||
- npc_id: "npc:sera-venn"
|
||||
weight: 1
|
||||
- npc_id: "npc:resha"
|
||||
weight: 1
|
||||
- npc_id: "npc:kael-davan"
|
||||
weight: 1
|
||||
- npc_id: "npc:torek-lintar"
|
||||
weight: 1
|
||||
- npc_id: "npc:drin"
|
||||
weight: 1
|
||||
|
||||
- pool_id: "transit:compromised_inspector"
|
||||
category: npc_role
|
||||
description: >
|
||||
The Commission inspector compromised by the ring. Access to authority
|
||||
systems, gambling debt makes them vulnerable. v0.1: Torek Lintar.
|
||||
constraints:
|
||||
- must_have_access: "authority"
|
||||
- must_have_faction: "Commission"
|
||||
candidates:
|
||||
- npc_id: "npc:torek-lintar"
|
||||
weight: 1
|
||||
|
||||
- pool_id: "transit:primary_contraband"
|
||||
category: contraband
|
||||
description: >
|
||||
What the ring is smuggling (D-037). v0.1: unlicensed lattice
|
||||
components — aftermarket neural lattice modifications. Moral
|
||||
ambiguity: the ring is smuggling access, not weapons.
|
||||
candidates:
|
||||
- id: "contraband:lattice-components"
|
||||
weight: 1
|
||||
-56
@@ -1,56 +0,0 @@
|
||||
# Triangle 5: Informant Question — mundane workplace gossip and suspicion
|
||||
# Passive — runs on background simulation, provides investigation noise
|
||||
canonical_id: informant-question
|
||||
display_name: "The Informant Question"
|
||||
description: >
|
||||
Torek Lintar (dock inspector, compromised by gambling debt) is observed
|
||||
by Drin (dock worker) and Olin (bystander/new arrival). Drin has noticed
|
||||
Torek's inspection patterns are irregular. Olin overhears workplace gossip
|
||||
and doesn't know what's significant. This triangle generates the kind
|
||||
of low-level workplace suspicion that exists in any tight community —
|
||||
people notice things, talk about them, and form theories. For the
|
||||
detective, it's signal mixed with noise.
|
||||
|
||||
members:
|
||||
- npc: "npc:torek-lintar"
|
||||
role: "inspector — compromised, inspection patterns irregular"
|
||||
- npc: "npc:drin"
|
||||
role: "worker — notices Torek's odd behavior, gossips about it"
|
||||
- npc: "npc:olin"
|
||||
role: "bystander — overhears gossip, forms theories, asks questions"
|
||||
|
||||
forks:
|
||||
- id: gossip-spreads
|
||||
condition: >
|
||||
Drin's observations about Torek's inspection patterns reach
|
||||
enough people that the gossip becomes ambient social knowledge.
|
||||
outcomes:
|
||||
- id: dismissed-as-gossip
|
||||
description: >
|
||||
The community dismisses Drin's observations as workplace gossip.
|
||||
Torek's reputation survives. The information exists but isn't
|
||||
treated as significant — noise floor functioning as intended.
|
||||
effects:
|
||||
- "torek.position_integrity unchanged"
|
||||
- "community treats observations as routine gossip"
|
||||
- "detective must distinguish signal from noise"
|
||||
- id: torek-noticed
|
||||
description: >
|
||||
Enough people notice Torek's patterns that his behavior becomes
|
||||
a topic of casual conversation. Not accusatory — just curious.
|
||||
The detective can pick up on ambient awareness.
|
||||
effects:
|
||||
- "torek.behavior_flags += noticed,defensive"
|
||||
- "ambient dialogue includes references to inspection patterns"
|
||||
- "detective gains investigation.inspection_anomaly (suspects level)"
|
||||
|
||||
resolution_states:
|
||||
- id: gossip-fades
|
||||
description: >
|
||||
The topic loses interest. Workplace gossip moves on. Torek's
|
||||
irregularities are forgotten by everyone except potentially
|
||||
the detective.
|
||||
- id: ambient-suspicion
|
||||
description: >
|
||||
A low-level awareness persists in the community. Nothing actionable,
|
||||
but Torek is slightly more careful and slightly more defensive.
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
# Triangle 3: Worried Knowledge — unreported evidence and protective silence
|
||||
# Passive tension (D-087) — background pressure, not a direct player decision point
|
||||
canonical_id: worried-knowledge
|
||||
display_name: "Worried Knowledge"
|
||||
classification: passive_tension
|
||||
description: >
|
||||
Sera Venn (Commission field tech, detective's FRIEND) is sitting on
|
||||
unreported evidence about Kael's manifest discrepancies. She's protecting
|
||||
Naia Tamm (Kael's partner, who confided in her about Kael's late nights).
|
||||
Torek Lintar (compromised inspector) is the subject — his gambling debt
|
||||
makes him the institutional weak point, and Sera's evidence implicates
|
||||
his inspection lapses. Sera's avoidance of Torek at the bar is the
|
||||
observable tell.
|
||||
|
||||
members:
|
||||
- npc: "npc:sera-venn"
|
||||
role: "holder — Commission tech sitting on unreported evidence"
|
||||
- npc: "npc:torek-lintar"
|
||||
role: "subject — compromised inspector whose lapses Sera has documented"
|
||||
- npc: "npc:naia-tamm"
|
||||
role: "protected — Kael's partner, confided worries to Sera"
|
||||
|
||||
forks:
|
||||
- id: evidence-disclosure
|
||||
condition: >
|
||||
Detective builds enough trust with Sera to trigger the disclosure
|
||||
decision. Sera must choose between institutional duty, friendship
|
||||
with Naia, and protecting the detective from a compromised colleague.
|
||||
outcomes:
|
||||
- id: sera-reports
|
||||
description: >
|
||||
Sera reports her evidence through official channels. Torek's
|
||||
inspection lapses are flagged. The investigation gains institutional
|
||||
data but Naia loses her protective buffer.
|
||||
effects:
|
||||
- "torek.position_integrity = cracking"
|
||||
- "sera.trust_level (from naia) drops"
|
||||
- "detective gains investigation.inspection_lapses fact"
|
||||
- id: sera-protects
|
||||
description: >
|
||||
Sera stays silent to protect Naia. The evidence remains buried.
|
||||
Detective must find the institutional thread through other means.
|
||||
Sera's avoidance pattern intensifies as she manages the secret.
|
||||
effects:
|
||||
- "sera.behavior_flags += avoidance_pattern,evasive"
|
||||
- "sera.position_integrity = thin"
|
||||
- "naia remains protected"
|
||||
- id: sera-confides
|
||||
description: >
|
||||
Sera tells the detective privately, off the record. The detective
|
||||
gains the information but must decide what to do with it. Tests
|
||||
the detective's institutional loyalty.
|
||||
effects:
|
||||
- "detective gains investigation.inspection_lapses fact (informal)"
|
||||
- "sera.trust_level (toward detective) = trusted"
|
||||
- "sera.risk_assessment = moderate (off-book disclosure)"
|
||||
|
||||
resolution_states:
|
||||
- id: torek-exposed
|
||||
description: Torek's compromised status becomes known to the investigation.
|
||||
- id: knowledge-buried
|
||||
description: Sera's evidence stays unreported. Avoidance pattern is the only tell.
|
||||
- id: informal-disclosure
|
||||
description: Detective knows but has no official evidence. Must find formal proof.
|
||||
@@ -1 +0,0 @@
|
||||
# Faction: lattice-commission
|
||||
@@ -1,127 +0,0 @@
|
||||
# Fact catalog: investigation
|
||||
# Case-specific findings — events witnessed, evidence discovered, NPC behaviors confirmed
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §4.1 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: investigation.kael_corridor_meeting
|
||||
description: Kael was seen in corridor B-7 off-shift, apparently meeting someone
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
notes: "Shared fact ID; smuggler perspective = operational security breach; detective perspective = initial observation"
|
||||
|
||||
- fact_id: investigation.kael_corridor_sighting
|
||||
description: Detective's initial B-7 observation — Kael spotted in maintenance corridors at unusual hour
|
||||
typical_confidence: suspects
|
||||
characters: [detective]
|
||||
notes: "Detective-only initial ID; may upgrade to kael_corridor_meeting after corroboration"
|
||||
|
||||
- fact_id: investigation.kael_unknown_contact
|
||||
description: The person Kael met in B-7 is unknown — not from the regular rotation
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: investigation.kael_ring_membership
|
||||
description: Kael is a member of the smuggling ring
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: investigation.kael_exit_attempt
|
||||
description: Kael is actively trying to leave the ring
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: investigation.manifest_discrepancy
|
||||
description: Cargo manifests show irregularities — containers, weights, routing anomalies
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
notes: "Detective starts with this at suspects (Background). Smuggler may encounter it during operational checks."
|
||||
|
||||
- fact_id: investigation.cargo_anomaly
|
||||
description: A specific cargo anomaly — wrong container, wrong weight, wrong route
|
||||
typical_confidence: suspects
|
||||
characters: [detective]
|
||||
|
||||
- fact_id: investigation.shift_mismatch
|
||||
description: Shift records don't match observed personnel — someone is covering for someone
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: investigation.voss_ring_involvement
|
||||
description: Voss manages schedule changes to cover drops — involved in ring operations
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: investigation.torek_spending_pattern
|
||||
description: Torek is spending beyond his dock-worker means — visible at bar
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: investigation.drin_inspection_pattern
|
||||
description: Drin's inspections are conspicuously lax — clearing containers without real checking
|
||||
typical_confidence: knows_of
|
||||
characters: [detective]
|
||||
|
||||
- fact_id: investigation.drin_gambling_debt
|
||||
description: Drin has a gambling debt — leverage for whoever is running him
|
||||
typical_confidence: knows_details
|
||||
characters: [detective]
|
||||
|
||||
- fact_id: investigation.oversight_gap_pattern
|
||||
description: Inspection gaps are systematic, not accidental — someone designed the blind spots
|
||||
typical_confidence: knows_of
|
||||
characters: [detective]
|
||||
|
||||
- fact_id: investigation.surveillance_gaps
|
||||
description: Specific surveillance camera blind spots in the maintenance corridors
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler knows from Background (operational necessity). Detective discovers through investigation."
|
||||
|
||||
- fact_id: investigation.smuggling_route
|
||||
description: The specific smuggling route through the station
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: investigation.ring_existence
|
||||
description: A smuggling ring is definitely operating through Sova Transit (detective's confirmation)
|
||||
typical_confidence: suspects
|
||||
characters: [detective]
|
||||
notes: "Detective starts with suspects from manifest anomalies. Smuggler knows via Background (knows_details)."
|
||||
|
||||
- fact_id: investigation.renn_courier_role
|
||||
description: Renn operates as a courier in the ring — runs packages between drop sites
|
||||
typical_confidence: knows_of
|
||||
characters: [detective]
|
||||
|
||||
- fact_id: investigation.corridor_regular_use
|
||||
description: The maintenance corridors are regularly used for smuggling, not just incidentally
|
||||
typical_confidence: knows_of
|
||||
characters: [detective]
|
||||
|
||||
- fact_id: investigation.container_delay
|
||||
description: A specific container has been held in temporary storage longer than normal
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler]
|
||||
|
||||
- fact_id: investigation.sera_evidence_held
|
||||
description: Sera has unreported evidence about manifest irregularities — sitting on it deliberately
|
||||
typical_confidence: suspects
|
||||
characters: [detective]
|
||||
notes: "suspects from avoidance pattern; knows_details only if Sera discloses or evidence found independently"
|
||||
|
||||
- fact_id: investigation.naia_lattice_condition
|
||||
description: Naia's neural lattice is degrading — the medical components are for her
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
notes: "Requires Kael disclosure or independent medical evidence"
|
||||
|
||||
- fact_id: investigation.ring_leadership
|
||||
description: Who directs ring operations — late-game discovery
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: investigation.drin_inspection_pattern
|
||||
description: Drin's inspection patterns protect specific containers at specific shift windows
|
||||
typical_confidence: knows_of
|
||||
characters: [detective]
|
||||
@@ -249,7 +249,7 @@ pairs:
|
||||
location_hints: [the-terminal]
|
||||
access: [public]
|
||||
trust: surface
|
||||
knowledge_payload: "Container 4471 is being deliberately held in temp storage. 'Routing says hold' — someone modified the routing instruction. Cross-reference: investigation.container_delay."
|
||||
knowledge_payload: "Container 4471 is being deliberately held in temp storage. 'Routing says hold' — someone modified the routing instruction."
|
||||
tags: [container-4471, routing, contraband-adjacent, investigation-payload]
|
||||
|
||||
- id: overheard_014
|
||||
@@ -329,7 +329,7 @@ pairs:
|
||||
location_hints: [the-terminal]
|
||||
access: [public]
|
||||
trust: surface
|
||||
knowledge_payload: "Manifest weight discrepancy exists and dock workers are suspicious of the official explanation. Cross-reference: investigation.manifest_discrepancy."
|
||||
knowledge_payload: "Manifest weight discrepancy exists and dock workers are suspicious of the official explanation."
|
||||
tags: [manifest, weight-discrepancy, contraband-adjacent, investigation-payload]
|
||||
|
||||
- id: overheard_019
|
||||
@@ -461,7 +461,7 @@ pairs:
|
||||
location_hints: [the-terminal, the-last-shift]
|
||||
access: [public]
|
||||
trust: surface
|
||||
knowledge_payload: "Kael was in corridor B-7 off-shift. Eyewitness account. Cross-reference: investigation.kael_corridor_meeting."
|
||||
knowledge_payload: "Kael was in corridor B-7 off-shift. Eyewitness account."
|
||||
tags: [kael, corridor-b7, investigation-payload, friend-arc, high-value]
|
||||
|
||||
- id: overheard_027
|
||||
@@ -477,7 +477,7 @@ pairs:
|
||||
location_hints: [the-last-shift]
|
||||
access: [public]
|
||||
trust: surface
|
||||
knowledge_payload: "Kael met with an unidentified person at corridor B-7 during off-hours. Cross-reference: investigation.kael_unknown_contact."
|
||||
knowledge_payload: "Kael met with an unidentified person at corridor B-7 during off-hours."
|
||||
tags: [kael, unknown-contact, corridor-b7, friend-arc, high-value, investigation-payload]
|
||||
|
||||
- id: overheard_028
|
||||
@@ -493,7 +493,7 @@ pairs:
|
||||
location_hints: [the-last-shift]
|
||||
access: [public]
|
||||
trust: surface
|
||||
knowledge_payload: "Torek is spending significantly above his salary at The Last Shift. Cross-reference: investigation.torek_spending_pattern."
|
||||
knowledge_payload: "Torek is spending significantly above his salary at The Last Shift."
|
||||
tags: [torek, spending, lera, investigation-payload, ring-adjacent]
|
||||
|
||||
- id: overheard_029
|
||||
@@ -621,7 +621,7 @@ pairs:
|
||||
location_hints: [the-last-shift]
|
||||
access: [public]
|
||||
trust: surface
|
||||
knowledge_payload: "Kael's behavior has changed at home. Sleepless, secretive, won't explain to Naia. Cross-reference: behavioral.kael_behavioral_change, investigation.kael_attempting_exit."
|
||||
knowledge_payload: "Kael's behavior has changed at home. Sleepless, secretive, won't explain to Naia. Cross-reference: behavioral.kael_behavioral_change."
|
||||
tags: [kael, naia, behavior, friend-arc, investigation-payload]
|
||||
|
||||
- id: overheard_037
|
||||
@@ -653,7 +653,7 @@ pairs:
|
||||
location_hints: [the-last-shift]
|
||||
access: [public]
|
||||
trust: surface
|
||||
knowledge_payload: "Kael is actively trying to leave 'something' — most likely the ring. He's researching options. Cross-reference: investigation.kael_attempting_exit."
|
||||
knowledge_payload: "Kael is actively trying to leave 'something' — most likely the ring. He's researching options."
|
||||
tags: [kael, exit, ring-adjacent, friend-arc, investigation-payload, high-value]
|
||||
|
||||
- id: overheard_039
|
||||
@@ -685,7 +685,7 @@ pairs:
|
||||
location_hints: [the-last-shift]
|
||||
access: [public]
|
||||
trust: surface
|
||||
knowledge_payload: "Torek met with someone in the maintenance corridors late at night. Cross-reference: investigation.torek_ring_meeting."
|
||||
knowledge_payload: "Torek met with someone in the maintenance corridors late at night."
|
||||
tags: [torek, maintenance, midnight, ring-adjacent, investigation-payload]
|
||||
|
||||
# ===================================================================
|
||||
@@ -785,7 +785,7 @@ pairs:
|
||||
location_hints: [the-last-shift]
|
||||
access: [public]
|
||||
trust: surface
|
||||
knowledge_payload: "Sera is documenting something privately — possibly her own investigation or evidence she's sitting on. Cross-reference: investigation.sera_unreported_evidence."
|
||||
knowledge_payload: "Sera is documenting something privately — possibly her own investigation or evidence she's sitting on."
|
||||
tags: [sera, naia, list, evidence, friend-arc, investigation-payload, dual-lens]
|
||||
|
||||
- id: overheard_047
|
||||
|
||||
Reference in New Issue
Block a user