5 seed-time pools (single-candidate for deterministic v0.1 testing), 3 social site templates (logistics-hub, bar, smuggling-ring) with role slot definitions per D-025, and 5 triangles (3 active fork, 2 passive) per D-024 workshop synthesis. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# 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
|
||||
+101
@@ -0,0 +1,101 @@
|
||||
# Social site template: The Last Shift (bar)
|
||||
# D-025: functional cluster as atomic template unit
|
||||
# 4 role slots, 4+ NPCs in v0.1 (regulars are reference links). 4-8 NPC capacity.
|
||||
|
||||
template_id: bar
|
||||
display_name: "The Last Shift"
|
||||
description: >
|
||||
Mid-grade bar in Sova Transit District. Converted maintenance staging area.
|
||||
Irregular layout, long bar, corner booth. Where working people go after shift.
|
||||
Informally known as "Lera's." The social nexus where investigation and
|
||||
mundane life overlap.
|
||||
location: the-last-shift
|
||||
|
||||
capacity:
|
||||
min: 4
|
||||
max: 8
|
||||
|
||||
role_slots:
|
||||
- role: bar-owner
|
||||
display_name: "Bar Owner"
|
||||
count: 1
|
||||
required: true
|
||||
description: >
|
||||
Owns and operates the bar. Observant, careful, knows everyone's business.
|
||||
ANCHOR pattern — the stabilizing social presence. Hears everything,
|
||||
says little. Access tier: insider for regulars.
|
||||
pool_ref: null
|
||||
flags:
|
||||
- social_anchor
|
||||
- information_hub
|
||||
- bar_permanent
|
||||
|
||||
- role: bartender
|
||||
display_name: "Bartender"
|
||||
count: 1
|
||||
required: true
|
||||
description: >
|
||||
Serves drinks, manages the floor. Different from the owner — the
|
||||
bartender is staff, not the proprietor. Younger, less established.
|
||||
pool_ref: null
|
||||
flags:
|
||||
- bar_permanent
|
||||
|
||||
- role: bar-regular
|
||||
display_name: "Bar Regular"
|
||||
count:
|
||||
min: 2
|
||||
max: 5
|
||||
required: true
|
||||
description: >
|
||||
Off-duty workers and social visitors. Regulars are typically owned by
|
||||
other templates (logistics hub, Commission) with reference links here.
|
||||
Their presence during bar_evening creates the social observation space.
|
||||
pool_ref: "transit:bar_regulars"
|
||||
flags:
|
||||
- evening_presence
|
||||
- cross_template
|
||||
|
||||
# v0.1 NPC assignments
|
||||
v01_assignments:
|
||||
bar-owner: "npc:lera-sessik"
|
||||
bartender: "npc:pell"
|
||||
bar-regular-1: "npc:sera-venn" # Reference: Commission field tech, evening regular
|
||||
bar-regular-2: "npc:resha" # Owned by bar template
|
||||
# Additional regulars via reference links:
|
||||
# npc:kael-davan (from logistics-hub, evening presence)
|
||||
# npc:torek-lintar (from Commission, evening presence)
|
||||
# npc:drin (from logistics-hub, occasional)
|
||||
|
||||
# Reference links — NPCs owned by other templates who visit the bar
|
||||
reference_links:
|
||||
- npc: "npc:sera-venn"
|
||||
owning_template: null # Sera is Commission, not bar staff
|
||||
relationship: "social anchor — evening regular"
|
||||
presence_phases: [evening]
|
||||
- npc: "npc:kael-davan"
|
||||
owning_template: logistics-hub
|
||||
relationship: "after-shift regular"
|
||||
presence_phases: [evening]
|
||||
- npc: "npc:torek-lintar"
|
||||
owning_template: null # Commission inspector
|
||||
relationship: "off-duty regular, gambling participant"
|
||||
presence_phases: [evening]
|
||||
- npc: "npc:drin"
|
||||
owning_template: logistics-hub
|
||||
relationship: "occasional visitor"
|
||||
presence_phases: [evening]
|
||||
|
||||
triangle_constraints:
|
||||
- triangle: bar-tensions
|
||||
required_roles:
|
||||
- bar-owner # Lera: owner mediating
|
||||
- bar-regular # Resha: regular with grievance
|
||||
- bartender # Pell: caught in the middle
|
||||
- triangle: worried-knowledge
|
||||
required_roles:
|
||||
- bar-regular # Sera: avoiding Torek at the bar
|
||||
|
||||
dialogue_pools:
|
||||
- location: the-last-shift
|
||||
roles: [bar-owner, bartender, bar-regular]
|
||||
+106
@@ -0,0 +1,106 @@
|
||||
# Social site template: The Terminal (logistics hub)
|
||||
# D-025: functional cluster as atomic template unit
|
||||
# 5 role slots, 6 NPCs in v0.1. 4-8 NPC capacity.
|
||||
|
||||
template_id: logistics-hub
|
||||
display_name: "The Terminal"
|
||||
description: >
|
||||
Freight logistics hub — the beating heart of Sova Transit District. Cargo
|
||||
processing, manifest management, shift rotations. The smuggler's workplace
|
||||
and the ring's operational cover.
|
||||
location: the-terminal
|
||||
|
||||
# Capacity range per D-025: 4-8 NPCs in connected space with internal sightlines
|
||||
capacity:
|
||||
min: 4
|
||||
max: 8
|
||||
|
||||
role_slots:
|
||||
- role: shift-supervisor
|
||||
display_name: "Shift Supervisor"
|
||||
count: 1
|
||||
required: true
|
||||
description: >
|
||||
Authority figure. Oversees dock operations, manages shift schedules,
|
||||
enforces procedures. Access tier: authority within the hub.
|
||||
pool_ref: null # Fixed assignment in v0.1
|
||||
flags:
|
||||
- authority_figure
|
||||
- hub_permanent
|
||||
|
||||
- role: dock-worker
|
||||
display_name: "Dock Worker"
|
||||
count:
|
||||
min: 2
|
||||
max: 4
|
||||
required: true
|
||||
description: >
|
||||
Core workforce. Processes cargo, handles manifests, operates equipment.
|
||||
One dock-worker slot is reserved for the smuggler's FRIEND (pool draw).
|
||||
pool_ref: "transit:friend_smuggler" # One slot drawn from FRIEND pool
|
||||
flags:
|
||||
- hub_permanent
|
||||
- ring_candidate
|
||||
|
||||
- role: new-hire
|
||||
display_name: "New Hire"
|
||||
count: 1
|
||||
required: false
|
||||
description: >
|
||||
Recent arrival to the logistics hub. Asks questions, doesn't know the
|
||||
social norms yet, provides a fresh perspective. CATALYST pattern.
|
||||
pool_ref: null
|
||||
flags:
|
||||
- catalyst
|
||||
- newcomer
|
||||
|
||||
- role: scheduler
|
||||
display_name: "Freight Scheduler"
|
||||
count: 1
|
||||
required: true
|
||||
description: >
|
||||
Manages freight scheduling and manifest coordination. Has access to
|
||||
cargo records — a key information source for both smuggler and detective.
|
||||
pool_ref: null
|
||||
flags:
|
||||
- hub_permanent
|
||||
- information_access
|
||||
|
||||
- role: courier
|
||||
display_name: "Courier"
|
||||
count: 1
|
||||
required: false
|
||||
description: >
|
||||
Moves between locations. Off-duty security or delivery runner.
|
||||
Bridge NPC who connects the hub to other social sites.
|
||||
pool_ref: null
|
||||
flags:
|
||||
- bridge_npc
|
||||
|
||||
# v0.1 NPC assignments (matches seed config design doc section 4.4)
|
||||
v01_assignments:
|
||||
shift-supervisor: "npc:voss"
|
||||
dock-worker-1: "npc:kael-davan"
|
||||
dock-worker-2: "npc:drin"
|
||||
new-hire: "npc:renn"
|
||||
scheduler: "npc:maret-korr"
|
||||
courier: "npc:harek"
|
||||
|
||||
# Triangles that involve members of this template
|
||||
triangle_constraints:
|
||||
- triangle: hub-power
|
||||
required_roles:
|
||||
- shift-supervisor # Voss: authority
|
||||
- dock-worker # Kael: subordinate
|
||||
- scheduler # Maret: caught-between
|
||||
- triangle: worried-partner
|
||||
required_roles:
|
||||
- dock-worker # Kael: partner under ring pressure
|
||||
- triangle: informant-question
|
||||
required_roles:
|
||||
- dock-worker # Drin: notices Torek's inspection irregularities
|
||||
|
||||
# Dialogue pool locations (maps to dialogue/ subdirectory)
|
||||
dialogue_pools:
|
||||
- location: the-terminal
|
||||
roles: [shift-supervisor, dock-worker, new-hire, scheduler, courier]
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
# Social site template: Smuggling Ring (maintenance corridors)
|
||||
# D-025: functional cluster as atomic template unit
|
||||
# Smallest template: 2-4 NPCs. Operates in infrastructure gaps.
|
||||
|
||||
template_id: smuggling-ring
|
||||
display_name: "The Ring"
|
||||
description: >
|
||||
Smuggling operation using repurposed maintenance infrastructure. Not a
|
||||
dedicated room — a corridor between hub sections where old and new
|
||||
construction don't quite meet. Access through service hatches. The ring
|
||||
didn't build this space; they found it. Operates during night shift and
|
||||
shift transitions when oversight is thinnest.
|
||||
location: maintenance-corridors
|
||||
|
||||
capacity:
|
||||
min: 2
|
||||
max: 4
|
||||
|
||||
role_slots:
|
||||
- role: ring-operative
|
||||
display_name: "Ring Coordinator"
|
||||
count: 1
|
||||
required: true
|
||||
description: >
|
||||
Coordinates ring operations. HANDLER motivation — manages logistics,
|
||||
maintains contacts, makes decisions. Capable, not theatrical.
|
||||
pool_ref: null
|
||||
flags:
|
||||
- ring_leader
|
||||
- night_presence
|
||||
- restricted_access
|
||||
|
||||
- role: ring-contact
|
||||
display_name: "Ring Contact"
|
||||
count:
|
||||
min: 1
|
||||
max: 2
|
||||
required: true
|
||||
description: >
|
||||
Active ring member with dual role — legitimate job at the logistics hub
|
||||
by day, ring operations by night. Reference link from logistics-hub
|
||||
template. Their presence here is the core secret the smuggler protects
|
||||
and the detective investigates.
|
||||
pool_ref: "transit:friend_smuggler" # The FRIEND is the primary ring contact
|
||||
flags:
|
||||
- dual_role
|
||||
- night_presence
|
||||
- ring_member
|
||||
|
||||
- role: external-contact
|
||||
display_name: "External Contact"
|
||||
count: 1
|
||||
required: false
|
||||
description: >
|
||||
Off-station connection. Arrives with shipments, departs quickly.
|
||||
Not a permanent presence — appears during ring operation windows.
|
||||
pool_ref: null
|
||||
flags:
|
||||
- transient
|
||||
- external
|
||||
|
||||
# v0.1 NPC assignments
|
||||
v01_assignments:
|
||||
ring-operative: "npc:devra"
|
||||
ring-contact: "npc:kael-davan" # Reference from logistics-hub (dual role)
|
||||
external-contact: "npc:sabel" # Off-system contact
|
||||
|
||||
reference_links:
|
||||
- npc: "npc:kael-davan"
|
||||
owning_template: logistics-hub
|
||||
relationship: "ring member — dual role, night operations"
|
||||
presence_phases: [night]
|
||||
- npc: "npc:sabel"
|
||||
owning_template: null # External, transient
|
||||
relationship: "off-station buyer/receiver"
|
||||
presence_phases: [night] # Irregular, tied to shipments
|
||||
|
||||
triangle_constraints:
|
||||
- triangle: worried-partner
|
||||
required_roles:
|
||||
- ring-contact # Kael: under pressure from ring work
|
||||
- triangle: hub-power
|
||||
required_roles:
|
||||
- ring-contact # Kael: subordinate to Voss by day, ring by night
|
||||
|
||||
dialogue_pools:
|
||||
- location: maintenance-corridors
|
||||
roles: [ring-operative]
|
||||
+49
-1
@@ -1 +1,49 @@
|
||||
# Triangle: bar-tensions
|
||||
# Triangle 3: Bar Tensions — mundane social friction at The Last Shift
|
||||
# Passive — runs on background simulation, no storyteller intervention
|
||||
canonical_id: bar-tensions
|
||||
display_name: "Bar Tensions"
|
||||
description: >
|
||||
Mundane social friction at The Last Shift. Lera Sessik (bar owner) runs
|
||||
a tight establishment. Resha (regular) has a grievance — could be about
|
||||
the bar, another regular, or community politics. Pell (bartender) is
|
||||
caught in the middle, trying to keep both the boss and the customers
|
||||
happy. This is the 50% of life that has nothing to do with conspiracy —
|
||||
the noise floor that makes investigation signal meaningful.
|
||||
|
||||
members:
|
||||
- npc: "npc:lera-sessik"
|
||||
role: "owner — mediates disputes, protects her establishment"
|
||||
- npc: "npc:resha"
|
||||
role: "regular — has a grievance, vocal about it"
|
||||
- npc: "npc:pell"
|
||||
role: "bartender — caught between boss and customers"
|
||||
|
||||
forks:
|
||||
- id: grievance-escalation
|
||||
condition: >
|
||||
Resha's grievance reaches a tipping point. Lera must decide whether
|
||||
to take sides or maintain neutrality. Pell gets drawn in.
|
||||
outcomes:
|
||||
- id: lera-sides-with-resha
|
||||
description: >
|
||||
Lera validates Resha's complaint. Pell adjusts service accordingly.
|
||||
Social dynamics shift — Resha becomes more central, the bar's
|
||||
atmosphere changes slightly.
|
||||
effects:
|
||||
- "resha.behavior_flags += vindicated"
|
||||
- "pell.behavior_flags += accommodating"
|
||||
- "bar atmosphere = tense but resolving"
|
||||
- id: lera-shuts-it-down
|
||||
description: >
|
||||
Lera tells Resha to drop it. Her bar, her rules. Resha sulks.
|
||||
Pell is relieved. The grievance goes underground.
|
||||
effects:
|
||||
- "resha.behavior_flags += resentful,quiet"
|
||||
- "pell.behavior_flags += relieved"
|
||||
- "bar atmosphere = business as usual"
|
||||
|
||||
resolution_states:
|
||||
- id: grievance-resolved
|
||||
description: The dispute is settled one way or another. Normal bar dynamics resume.
|
||||
- id: grievance-simmering
|
||||
description: The issue goes underground. Occasional flare-ups provide social texture.
|
||||
|
||||
+70
-1
@@ -1 +1,70 @@
|
||||
# Triangle: hub-power
|
||||
# Triangle 1: Hub Power — workplace hierarchy under ring pressure
|
||||
# Active fork — smuggler decision (3 paths, self-contained per D-053/A-17)
|
||||
canonical_id: hub-power
|
||||
display_name: "Hub Power"
|
||||
description: >
|
||||
Workplace hierarchy tension at The Terminal. Voss (shift supervisor) has
|
||||
positional authority but takes operational orders from the ring. Kael
|
||||
(dock worker, THE FRIEND) is caught between his boss and the ring's demands.
|
||||
Maret (freight scheduler) sees manifest discrepancies and doesn't know
|
||||
whom to tell. The triangle's resting tension: Voss needs quiet, Kael
|
||||
needs everything to hold together, Maret is too smart not to notice.
|
||||
|
||||
members:
|
||||
- npc: "npc:voss"
|
||||
role: "authority — shift supervisor with ring complicity"
|
||||
- npc: "npc:kael-davan"
|
||||
role: "subordinate — dock worker, ring member, caught between boss and ring"
|
||||
- npc: "npc:maret-korr"
|
||||
role: "caught-between — freight scheduler who sees the discrepancies"
|
||||
|
||||
forks:
|
||||
- id: volume-escalation
|
||||
condition: >
|
||||
Ring demands double-volume shipment via intermediary. Smuggler
|
||||
must decide how to handle the pressure on Voss and Kael.
|
||||
outcomes:
|
||||
- id: escalate
|
||||
description: >
|
||||
Side with ring (escalate). Convince Voss to widen the shift gap.
|
||||
Investigation accelerates — manifest discrepancies spike, Voss
|
||||
becomes visibly anxious. Detective reads organizational stress.
|
||||
effects:
|
||||
- "voss.behavior_flags += nervous,schedule_changes,evasive"
|
||||
- "voss.position_integrity = thin"
|
||||
- "ring.exposure_risk increases"
|
||||
- "detective.investigation_pace = accelerated"
|
||||
- id: stabilize
|
||||
description: >
|
||||
Side with Voss (stabilize). Reject or delay the double shipment.
|
||||
Hub runs quiet but Kael absorbs redirected pressure from ring
|
||||
coordinator. Detective reads personal stress on Kael instead.
|
||||
effects:
|
||||
- "kael.behavior_flags += lattice_checking,distracted,evasive"
|
||||
- "kael.trust_level (from ring) drops"
|
||||
- "friend_arc timing = accelerated"
|
||||
- "detective.investigation_pace = slowed"
|
||||
- id: mediate
|
||||
description: >
|
||||
Compromise — half volume, phased across two shipments. Nobody's
|
||||
happy, nobody's exposed. Detective reads inconsistent operational
|
||||
tempo. Creates a deferred second decision point.
|
||||
effects:
|
||||
- "ring.exposure_risk = moderate"
|
||||
- "smuggler.operational_trust (from ring) drops"
|
||||
- "kael.behavior_flags += uncertain,distracted"
|
||||
- "detective reads organizational confusion"
|
||||
|
||||
resolution_states:
|
||||
- id: ring-exposed-via-voss
|
||||
description: >
|
||||
Voss's anxiety becomes the detective's thread to pull. Investigation
|
||||
arrives at the ring through institutional signals.
|
||||
- id: ring-exposed-via-kael
|
||||
description: >
|
||||
Kael's personal strain becomes the detective's signal. Investigation
|
||||
arrives through behavioral tells on THE FRIEND.
|
||||
- id: ring-exposed-via-inconsistency
|
||||
description: >
|
||||
Irregular operational tempo reveals internal disagreement. Detective
|
||||
infers organizational structure from pattern disruption.
|
||||
|
||||
+56
-1
@@ -1 +1,56 @@
|
||||
# Triangle: informant-question
|
||||
# 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.
|
||||
|
||||
+63
-1
@@ -1 +1,63 @@
|
||||
# Triangle: worried-knowledge
|
||||
# Triangle 2: Worried Knowledge — unreported evidence and protective silence
|
||||
# Active fork — Sera's choice about what to do with what she knows
|
||||
canonical_id: worried-knowledge
|
||||
display_name: "Worried Knowledge"
|
||||
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.
|
||||
|
||||
+67
-1
@@ -1 +1,67 @@
|
||||
# Triangle: worried-partner
|
||||
# Triangle 4: Worried Partner — ring pressure on personal relationships
|
||||
# Active fork — the emotional heart of the smuggler's FRIEND arc
|
||||
canonical_id: worried-partner
|
||||
display_name: "Worried Partner"
|
||||
description: >
|
||||
Kael Davan (dock worker, ring member, smuggler's FRIEND) is under
|
||||
increasing ring pressure from Devra (ring coordinator). Naia Tamm
|
||||
(Kael's partner) is worried about his late nights and evasive answers.
|
||||
The smuggler knows why Kael is busy and can't say. This is the most
|
||||
emotionally loaded triangle — it connects THE FRIEND's contradiction
|
||||
arc to personal relationships. If Naia asks the smuggler directly,
|
||||
there's no good answer.
|
||||
|
||||
members:
|
||||
- npc: "npc:kael-davan"
|
||||
role: "partner under pressure — ring work destroying home life"
|
||||
- npc: "npc:naia-tamm"
|
||||
role: "worried — sees the changes, doesn't understand the cause"
|
||||
- npc: "npc:devra"
|
||||
role: "cause — ring coordinator whose demands increase Kael's burden"
|
||||
|
||||
forks:
|
||||
- id: naia-confronts
|
||||
condition: >
|
||||
Naia's worry reaches a threshold. She confronts Kael directly, or
|
||||
asks the smuggler what's going on. The smuggler faces a loyalty test.
|
||||
outcomes:
|
||||
- id: smuggler-deflects
|
||||
description: >
|
||||
Smuggler deflects Naia's questions. Protects Kael's cover but
|
||||
damages trust with Naia. Kael is grateful but the lie costs.
|
||||
effects:
|
||||
- "naia.trust_level (toward smuggler) drops"
|
||||
- "kael.behavior_flags += relieved,guilty"
|
||||
- "smuggler.moral_weight (toward naia) = complicit"
|
||||
- id: smuggler-hints
|
||||
description: >
|
||||
Smuggler gives Naia a partial truth — Kael's under work pressure,
|
||||
it'll pass. Not a lie, but not the truth. Naia is temporarily
|
||||
reassured but the pattern continues.
|
||||
effects:
|
||||
- "naia.behavior_flags += cautiously_reassured"
|
||||
- "kael.behavior_flags += unaware"
|
||||
- "smuggler.moral_weight (toward naia) = peripheral"
|
||||
- id: kael-snaps
|
||||
description: >
|
||||
Before the smuggler can intervene, Kael snaps at Naia under
|
||||
pressure. The argument is public enough to be observed. Devra's
|
||||
pressure has become visible through personal fallout.
|
||||
effects:
|
||||
- "kael.behavior_flags += agitated,public_argument"
|
||||
- "naia.behavior_flags += hurt,withdrawn"
|
||||
- "detective observes domestic stress (behavioral signal)"
|
||||
|
||||
resolution_states:
|
||||
- id: relationship-strained
|
||||
description: >
|
||||
Kael and Naia's relationship is visibly strained. The domestic
|
||||
tension becomes an observable signal for the detective.
|
||||
- id: temporary-calm
|
||||
description: >
|
||||
The immediate crisis passes but the underlying cause remains.
|
||||
Another confrontation is inevitable.
|
||||
- id: naia-investigates
|
||||
description: >
|
||||
Naia starts looking into Kael's activities independently. She
|
||||
becomes a potential variable the ring didn't account for.
|
||||
|
||||
Reference in New Issue
Block a user