refactor(simulation): move content/ under server/ (#669)
Content files (RON templates, YAML campaigns, gauntlet data) are consumed exclusively by the server. Colocate them at server/content/ and update all path references in Rust source, tooling scripts, and schema files. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# Fact catalog: awareness
|
||||
# Situational awareness — who's present, active threats, operational status
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §4.2 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: awareness.detective_presence
|
||||
description: A Commission detective is operating on Sova Station
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler]
|
||||
notes: "Smuggler learns through rumor or direct observation. Detective does not hold this fact about themselves."
|
||||
|
||||
- fact_id: awareness.detective_investigating_ring
|
||||
description: The detective is specifically targeting the smuggling ring, not a routine audit
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler]
|
||||
|
||||
- fact_id: awareness.commission_audit_scheduled
|
||||
description: A Commission audit is coming — officially scheduled
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: awareness.ring_route_compromise
|
||||
description: The current drop route may be compromised or under observation
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler]
|
||||
|
||||
- fact_id: awareness.surveillance_change
|
||||
description: Surveillance patterns in the maintenance corridors have changed recently
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler]
|
||||
|
||||
- fact_id: awareness.ring_tension_escalation
|
||||
description: Something is wrong inside the ring — someone is scared or making moves
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler]
|
||||
|
||||
- fact_id: awareness.inspection_sweep_active
|
||||
description: Active inspection sweep in progress right now
|
||||
typical_confidence: direct
|
||||
characters: [smuggler, detective]
|
||||
notes: "direct confidence — set by environmental observation, not investigation"
|
||||
@@ -0,0 +1,42 @@
|
||||
# Fact catalog: behavioral
|
||||
# Behavioral patterns recognized through repeated observation across multiple scenes
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §4.3 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: behavioral.kael_evasion
|
||||
description: Kael looks left when lying — personal tell recognized post-conversation
|
||||
typical_confidence: direct
|
||||
characters: [smuggler]
|
||||
notes: "Set during a conversation where evasion is detected. direct confidence = just confirmed."
|
||||
|
||||
- fact_id: behavioral.kael_behavioral_change
|
||||
description: Kael's behavior has noticeably changed — quieter, distracted, different routine
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler]
|
||||
|
||||
- fact_id: behavioral.sera_avoidance_pattern
|
||||
description: Sera consistently avoids Torek Lintar — leaves when he arrives, repositions
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
notes: "One observation = suspects; three observations = knows_of (pattern confirmed for detective)"
|
||||
|
||||
- fact_id: behavioral.sera_topic_deflection
|
||||
description: Sera deflects specific topics — Commission work, manifest audits, freight
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: behavioral.sera_kiosk_pattern
|
||||
description: Sera habitually stops at the same Commission kiosk at the same time
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: behavioral.sera_knowledge_detail
|
||||
description: Sera's offhand comments reveal detailed knowledge of manifest routing she shouldn't have
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler]
|
||||
|
||||
- fact_id: behavioral.voss_awareness
|
||||
description: Voss is tracking people — situational awareness beyond normal supervisor behavior
|
||||
typical_confidence: suspects
|
||||
characters: [detective]
|
||||
@@ -0,0 +1,39 @@
|
||||
# Fact catalog: contraband
|
||||
# Smuggling ring world facts — existence, components, operations, supply chain
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §4.5 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: contraband.ring_exists
|
||||
description: A smuggling operation is running through Sova Transit District
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler starts at knows_details (Background — they ARE in the ring). Detective starts at suspects."
|
||||
|
||||
- fact_id: contraband.ring_lattice_components
|
||||
description: The ring moves unlicensed lattice components — aftermarket neural mods
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler starts at knows_details (Background). Detective discovers through investigation."
|
||||
|
||||
- fact_id: contraband.ring_medical_components
|
||||
description: The ring also diverts medical-grade lattice replacements from Syndic supply chains
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
notes: "Deep investigation only — the moral dimension of the operation"
|
||||
|
||||
- fact_id: contraband.supply_chain
|
||||
description: Understanding of the ring's supply chain — where components come from
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: contraband.severance_tech_presence
|
||||
description: Severance counter-surveillance technology is in play on the station
|
||||
typical_confidence: suspects
|
||||
characters: [detective]
|
||||
|
||||
- fact_id: contraband.drop_tonight
|
||||
description: A drop is scheduled for tonight specifically
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler]
|
||||
notes: "Seed-dependent — only relevant in seeds where a drop is scheduled during play session"
|
||||
@@ -0,0 +1,235 @@
|
||||
# Entity Knowledge Attributes — 16 canonical keys
|
||||
# Source: D-024 (10-axis model), wiki-review workshop A7, v01-content-scoping workshop
|
||||
# All keys are observer->target, stored in EntityKnowledge.known_attributes BTreeMap<String, String>
|
||||
# Reference: docs/wiki/knowledge/entity-attributes.md
|
||||
|
||||
# Categories: identity (4), social (2), behavioral (2), leverage (2), investigation (2), role-perspective (4)
|
||||
# History: 14 original keys + 4 new role-perspective keys + 2 renames (secret_held -> leverage_held, secret_confidence -> leverage_confidence)
|
||||
|
||||
attributes:
|
||||
|
||||
# --- Identity Attributes (4) ---
|
||||
|
||||
- key: name
|
||||
category: identity
|
||||
value_type: freeform
|
||||
description: >
|
||||
Full name as known to the observer. If absent or generic,
|
||||
monologue and dialogue use role descriptor instead.
|
||||
examples:
|
||||
- "Kael Davan"
|
||||
- "Kael"
|
||||
- "the dock worker"
|
||||
|
||||
- key: role
|
||||
category: identity
|
||||
value_type: freeform
|
||||
description: >
|
||||
Occupational or social role. Default descriptor when name is unknown.
|
||||
Used in access tier calculation.
|
||||
examples:
|
||||
- "dock worker"
|
||||
- "shift supervisor"
|
||||
- "bartender"
|
||||
- "ring coordinator"
|
||||
|
||||
- key: faction
|
||||
category: identity
|
||||
value_type: freeform
|
||||
description: >
|
||||
Institutional or organizational allegiance. Commission-tagged individuals
|
||||
trigger different NPC behavior. Used for authority/peer dialogue filtering.
|
||||
examples:
|
||||
- "Commission"
|
||||
- "civilian"
|
||||
- "ring member"
|
||||
- "unknown"
|
||||
|
||||
- key: species
|
||||
category: identity
|
||||
value_type: freeform
|
||||
description: >
|
||||
Species identifier. Not load-bearing in v0.1 (all human).
|
||||
Placeholder for future non-human NPCs.
|
||||
examples:
|
||||
- "human"
|
||||
|
||||
# --- Social Attributes (2) ---
|
||||
|
||||
- key: relationship_type
|
||||
category: social
|
||||
value_type: freeform
|
||||
description: >
|
||||
Relationship category from observer's perspective.
|
||||
Drives RelationshipState calculation and monologue emotional tone.
|
||||
examples:
|
||||
- "colleague"
|
||||
- "friend"
|
||||
- "authority figure"
|
||||
- "suspect"
|
||||
- "partner"
|
||||
- "stranger"
|
||||
|
||||
- key: trust_level
|
||||
category: social
|
||||
value_type: enum
|
||||
values:
|
||||
- trusted
|
||||
- reliable
|
||||
- uncertain
|
||||
- suspicious
|
||||
- compromised
|
||||
description: >
|
||||
Trust assessment — observer's subjective judgment. Encompasses both the
|
||||
read action and the state. No separate trust_read key. Gates trust-tier
|
||||
dialogue (surface/real/secret).
|
||||
|
||||
# --- Behavioral Attributes (2) ---
|
||||
|
||||
- key: routine_pattern
|
||||
category: behavioral
|
||||
value_type: freeform
|
||||
description: >
|
||||
Observed routine description. Deviation detection triggers monologue
|
||||
when current behavior doesn't match known pattern.
|
||||
examples:
|
||||
- "morning shift 06:00-14:00, bar after shift"
|
||||
- "arrives 06:00, break 10:30, departs 14:00"
|
||||
- "irregular schedule, seen at odd hours"
|
||||
|
||||
- key: behavior_flags
|
||||
category: behavioral
|
||||
value_type: freeform
|
||||
description: >
|
||||
Comma-separated behavioral observations. Multiple flags accumulate
|
||||
as evidence. Detective's analytical lattice auto-flags some behaviors.
|
||||
examples:
|
||||
- "nervous,lattice_checking"
|
||||
- "avoidance_pattern,evasive"
|
||||
- "spending_beyond_means"
|
||||
- "reliable,punctual"
|
||||
|
||||
# --- Leverage Attributes (2) ---
|
||||
# Renamed from secret_held/secret_confidence per workshop A7
|
||||
|
||||
- key: leverage_held
|
||||
category: leverage
|
||||
value_type: freeform
|
||||
renamed_from: secret_held
|
||||
description: >
|
||||
What the observer believes gives them power over this entity.
|
||||
Covers secrets, debts, promises, obligations, and compromising positions.
|
||||
Drives PersonOfInterest state. Gates confrontation dialogue.
|
||||
examples:
|
||||
- "ring membership"
|
||||
- "unreported evidence"
|
||||
- "gambling debt"
|
||||
- "exit attempt"
|
||||
- "owes favor to Voss"
|
||||
|
||||
- key: leverage_confidence
|
||||
category: leverage
|
||||
value_type: enum
|
||||
renamed_from: secret_confidence
|
||||
values:
|
||||
- suspected
|
||||
- likely
|
||||
- confirmed
|
||||
description: >
|
||||
How certain the observer is about the leverage. Suspected allows
|
||||
fishing questions; confirmed enables direct confrontation.
|
||||
|
||||
# --- Investigation Attributes (2) ---
|
||||
|
||||
- key: tell_observed
|
||||
category: investigation
|
||||
value_type: freeform
|
||||
description: >
|
||||
Specific tell noted by observer. Captures the observer's interpretive
|
||||
conclusion about behavior. Accumulated tells build case strength.
|
||||
Monologue references specific tells when they recur.
|
||||
examples:
|
||||
- "looks left when lying"
|
||||
- "leaves when Torek arrives"
|
||||
- "checks lattice before answering"
|
||||
- "forced casualness after shift supervisor passes"
|
||||
implementation_note: >
|
||||
Server may track tells via behavior_flags internally. tell_observed is
|
||||
retained as a content-authoring key for its distinct narrative purpose.
|
||||
|
||||
- key: contradiction_flagged
|
||||
category: investigation
|
||||
value_type: freeform
|
||||
description: >
|
||||
Boolean-ish flag — presence of value means contradiction detected.
|
||||
THE FRIEND arc trigger. When set, monologue tone shifts, dialogue
|
||||
options change, RelationshipState moves toward PersonOfInterest.
|
||||
examples:
|
||||
- "meeting_unknown_contact"
|
||||
- "avoidance_inconsistency"
|
||||
- "manifest_access_mismatch"
|
||||
implementation_note: >
|
||||
Server may track via behavior_flags with contradiction: prefix.
|
||||
Retained as documented key for arc transition gating.
|
||||
|
||||
# --- Role-Perspective Attributes (4 new per workshop A7) ---
|
||||
# Same enums across all archetypes; interpretation is archetype-dependent.
|
||||
# Smuggler reads "risk" as operational exposure; detective reads it as
|
||||
# threat to investigation. See wiki entity-attributes.md for full mapping.
|
||||
|
||||
- key: risk_assessment
|
||||
category: role-perspective
|
||||
value_type: enum
|
||||
values:
|
||||
- none
|
||||
- low
|
||||
- moderate
|
||||
- high
|
||||
- critical
|
||||
description: >
|
||||
Observer's assessment of how much danger this entity poses or attracts.
|
||||
Gates operational monologue. High-risk triggers cautionary dialogue.
|
||||
Nature of "risk" depends on observer archetype.
|
||||
|
||||
- key: loyalty_assessment
|
||||
category: role-perspective
|
||||
value_type: enum
|
||||
values:
|
||||
- solid
|
||||
- dependable
|
||||
- uncertain
|
||||
- wavering
|
||||
- hostile
|
||||
description: >
|
||||
Observer's assessment of this entity's reliability and loyalty.
|
||||
Determines how much the observer relies on or confides in the target.
|
||||
Wavering triggers monitoring; hostile triggers defensive posture.
|
||||
|
||||
- key: position_integrity
|
||||
category: role-perspective
|
||||
value_type: enum
|
||||
values:
|
||||
- solid
|
||||
- thin
|
||||
- cracking
|
||||
- blown
|
||||
- "N/A"
|
||||
description: >
|
||||
Observer's assessment of this entity's cover, position stability,
|
||||
or facade status. When degraded, monologue reflects increasing anxiety
|
||||
or strategic recalculation. N/A when cover concept does not apply.
|
||||
|
||||
- key: moral_weight
|
||||
category: role-perspective
|
||||
value_type: enum
|
||||
values:
|
||||
- innocent
|
||||
- peripheral
|
||||
- complicit
|
||||
- compromised
|
||||
- willing
|
||||
description: >
|
||||
Observer's assessment of this entity's moral involvement. Shapes the
|
||||
observer's moral arc and internal conflict. Smuggler assesses complicity
|
||||
in ring operations; detective assesses culpability in the crime.
|
||||
Same scale, different lens.
|
||||
@@ -0,0 +1,32 @@
|
||||
# Fact catalog: knowledge
|
||||
# Operational knowledge — ring procedures, social dynamics, institutional mechanics
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §4.4 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: knowledge.ring_routing_knowledge
|
||||
description: Full knowledge of the ring's drop routes and timing protocols
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler]
|
||||
notes: "Smuggler starts at knows_details (Background). Not available to detective through normal investigation paths."
|
||||
|
||||
- fact_id: knowledge.ring_bar_operations
|
||||
description: The bar (The Last Shift) has a role in ring communications or social cover
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: knowledge.bar_back_room_significance
|
||||
description: The bar's back room is significant — meeting space, handoff point, or storage
|
||||
typical_confidence: suspects
|
||||
characters: [detective]
|
||||
|
||||
- fact_id: knowledge.bar_ring_awareness
|
||||
description: Bar regulars have varying levels of awareness of the ring — open secret at some level
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: knowledge.kael_exit_plan
|
||||
description: Kael has a specific exit plan — timing, conditions, contact
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
notes: "Only available through Kael's deep trust disclosure or independent investigation"
|
||||
@@ -0,0 +1,51 @@
|
||||
# Fact catalog: location
|
||||
# Location-specific access, restrictions, and significance
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §4.6 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: location.corridor_b7_restricted
|
||||
description: Corridor B-7 is a restricted access zone — requires credentials
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: "Both characters have this from Background (signage, institutional knowledge)"
|
||||
|
||||
- fact_id: location.corridor_b7_drop_site
|
||||
description: B-7 is an active drop site for the ring
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler from Background. Detective through investigation."
|
||||
|
||||
- fact_id: location.maintenance_corridors_access
|
||||
description: Character knows the maintenance corridor layout and can navigate it
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler at knows_details (Background — daily operational space). Detective at knows_of after investigation."
|
||||
|
||||
- fact_id: location.bay4_sealed
|
||||
description: Bay 4 is sealed — inspection or deliberate cover
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: location.span_gate_schedule_gap
|
||||
description: The span gate schedule has a window that enables unseen cargo drops
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler]
|
||||
|
||||
- fact_id: location.smuggling_route
|
||||
description: The complete physical route the ring uses through the station
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler from Background. Detective from deep investigation."
|
||||
|
||||
- fact_id: location.surveillance_gaps
|
||||
description: Specific camera blind spots in the maintenance corridor network
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler from Background. Detective must discover independently."
|
||||
|
||||
- fact_id: location.dead_drop_location
|
||||
description: Specific dead drop location(s) used for handoffs
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler]
|
||||
notes: "Smuggler operational knowledge"
|
||||
@@ -0,0 +1,36 @@
|
||||
# Fact catalog: progress
|
||||
# Narrative milestone flags
|
||||
# Note: progress.* facts are NOT recommended for direct authoring in prerequisite blocks.
|
||||
# Use investigation fact chains and relationship states instead.
|
||||
# These exist for potential storyteller/arc-tracking use.
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §3.2 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: progress.friend_arc_phase_1
|
||||
description: FRIEND arc Phase 1 warmth established (baseline positive relationship)
|
||||
notes: "Set by relationship state transition to Friendly. Do not author directly — use relationship checks."
|
||||
|
||||
- fact_id: progress.friend_arc_phase_2
|
||||
description: FRIEND arc Phase 2 trust built (deep rapport + initial social context)
|
||||
notes: "Set by trust tier advancement. Do not author directly — use investigation + relationship checks."
|
||||
|
||||
- fact_id: progress.friend_arc_contradiction
|
||||
description: FRIEND contradiction discovered (KnowledgeState → Contradicted)
|
||||
notes: "Set by contradiction detection system. Use relationship state person_of_interest + investigation fact instead."
|
||||
|
||||
- fact_id: progress.friend_arc_confrontation
|
||||
description: FRIEND confronted about contradiction
|
||||
notes: "Set post-confrontation by dialogue system."
|
||||
|
||||
- fact_id: progress.opening_complete
|
||||
description: Opening tutorial sequence completed (first 5 minutes)
|
||||
notes: "Set by storyteller after initial objective sequence."
|
||||
|
||||
- fact_id: progress.first_ring_contact
|
||||
description: Smuggler completed first ring operation during play session
|
||||
characters: [smuggler]
|
||||
|
||||
- fact_id: progress.first_evidence_filed
|
||||
description: Detective filed first manifest discrepancy evidence
|
||||
characters: [detective]
|
||||
@@ -0,0 +1,33 @@
|
||||
# Fact catalog: relationship
|
||||
# Inter-NPC connections — what one character knows about relationships between others
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §4.7 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: relationship.kael_naia_connection
|
||||
description: Kael and Naia are romantically partnered — not just colleagues
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler may know from background or Kael mentioning Naia. Detective through social observation."
|
||||
|
||||
- fact_id: relationship.ring_membership
|
||||
description: Character has identified specific ring members
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: "knows_of = partial list; knows_details = full ring membership identified"
|
||||
|
||||
- fact_id: relationship.trust_network
|
||||
description: Understanding of who trusts whom inside the ring — operational reliability mapping
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler]
|
||||
notes: "Smuggler-specific operational knowledge"
|
||||
|
||||
- fact_id: relationship.tamm_family
|
||||
description: Connection between Naia Tamm and her family situation
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
|
||||
- fact_id: relationship.torek_bar_arrangement
|
||||
description: Torek has a financial arrangement related to the bar or its operations
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
@@ -0,0 +1,106 @@
|
||||
# Fact catalog: ring
|
||||
# Smuggling ring module event trail — observable evidence produced by module events.
|
||||
# These facts are made discoverable by specific events in smuggling_ring_v0_1.yaml.
|
||||
# Stub entries — description and confidence level confirmed; progression text TBD.
|
||||
# Ticket: #158 | Sprint 18
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: ring.cargo_discrepancy_pattern
|
||||
description: Cargo manifests at The Terminal show small, systematic discrepancies — weight variances, unverified entries, containers with no return log
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
notes: >
|
||||
Detective's analytical lattice may flag this automatically during Terminal walkthrough.
|
||||
Smuggler encounters it during operational paperwork checks. Pattern becomes clearer over
|
||||
multiple observations (once: false event — repeats). Starting entry point for both
|
||||
investigation arcs.
|
||||
|
||||
- fact_id: ring.kael_missed_verification
|
||||
description: Kael Davan was absent from a scheduled cargo verification — another dock worker covered without explanation
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
notes: >
|
||||
Discoverable via cargo manifest review (Terminal office) or analytical lattice flag
|
||||
(detective). Smuggler notices the irregularity in their own paperwork. First concrete
|
||||
evidence that Kael is deviating from his normal operational reliability.
|
||||
|
||||
- fact_id: ring.kael_unauthorized_corridor_access
|
||||
description: Kael was observed in restricted maintenance corridor B-7 during off-shift hours with an unknown contact
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: >
|
||||
Core FRIEND contradiction observable (D-034). Player must be in visual range of B-7
|
||||
to discover this, OR examine the corridor door access log (investigative action).
|
||||
Both characters can discover this fact — interpreted differently (smuggler: security
|
||||
breach / detective: suspicious contact). Upgrades from suspects to knows_of when
|
||||
contact identity confirmed, knows_details when purpose confirmed.
|
||||
|
||||
- fact_id: ring.kael_unusual_meridian_activity
|
||||
description: Encrypted Meridian packets sent from cargo bay terminals — frequent, patterned, not from personal devices
|
||||
typical_confidence: suspects
|
||||
characters: [detective]
|
||||
notes: >
|
||||
Detective-only. Requires analytical lattice to flag the outgoing packet pattern.
|
||||
Player must be in or adjacent to The Terminal cargo bay. Content not accessible —
|
||||
only the existence and frequency of the encrypted messages. Hints at Kael's
|
||||
off-district contact without revealing who.
|
||||
|
||||
- fact_id: ring.voss_kael_private_meeting
|
||||
description: Voss called Kael into the supervisor's office — closed door, raised voices audible from adjacent position
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
notes: >
|
||||
Observable via spatial positioning (supervisor's office area). Smuggler can witness
|
||||
the approach and departure without hearing content. Detective observes Kael's visible
|
||||
strain immediately after if present in The Terminal. Upgrade to knows_of via
|
||||
trust-gated dialogue with Kael ("Are you alright?" option unlocks post-meeting).
|
||||
|
||||
- fact_id: ring.voss_accelerating_timeline
|
||||
description: Voss is pushing to close ring operations faster than normal — someone is watching
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: >
|
||||
Smuggler: Voss mentions "the schedule moving up" in guarded conversation (trust-gated,
|
||||
ring-insider access required). Detective: observe Voss and Nils in two exchanges within
|
||||
the same shift and note behavioral change. Not directly stated — inferred from context.
|
||||
|
||||
- fact_id: ring.commission_cargo_flag
|
||||
description: A Commission internal note flags The Terminal's cargo variance rate as statistically unusual
|
||||
typical_confidence: knows_of
|
||||
characters: [detective]
|
||||
notes: >
|
||||
Detective-only. Accessible via institutional Commission query (authority access tier,
|
||||
Terminal records). Not a formal investigation — just an internal flag from Maret Korr.
|
||||
Confirms the detective's suspicions with institutional weight. Smuggler has no way to
|
||||
know this exists.
|
||||
|
||||
- fact_id: ring.final_shipment_scheduled
|
||||
description: The ring has scheduled a major final drop — after it clears, operations go dark
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: >
|
||||
Smuggler: direct notification from Voss (ring-insider access). Detective: cargo manifest
|
||||
shows an unusually large entry scheduled 3 days out — no obvious legitimate reason for
|
||||
the volume. This fact creates the closing window — both characters know time is running
|
||||
out, for different reasons.
|
||||
|
||||
- fact_id: ring.sera_avoidance_behavior
|
||||
description: Sera Venn takes longer routes through The Last Shift to avoid standing near Torek Lintar
|
||||
typical_confidence: suspects
|
||||
characters: [detective]
|
||||
notes: >
|
||||
Detective-only observable. Player must observe Sera's movement pattern on two separate
|
||||
occasions — requires forward vision cone and awareness of her baseline route. The
|
||||
avoidance is visible but not explained. Points toward Sera holding information about
|
||||
Torek's investigation without having acted on it.
|
||||
|
||||
- fact_id: ring.nils_unlogged_cargo
|
||||
description: Nils makes regular supply runs to maintenance corridor C-7 with containers that never appear in return logs
|
||||
typical_confidence: suspects
|
||||
characters: [smuggler, detective]
|
||||
notes: >
|
||||
Discoverable by watching Nils's cargo handling pattern over two shifts, or by examining
|
||||
the maintenance corridor C-7 access log directly. The missing return entry is the tell —
|
||||
the container went in but never came back. Both characters can find this; smuggler may
|
||||
already suspect given operational context.
|
||||
@@ -0,0 +1,11 @@
|
||||
# Fact catalog: social
|
||||
# Social positioning facts — standing in a specific social context
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §4.8 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: social.bar_regular_status
|
||||
description: Character is an established regular at The Last Shift — recognized, trusted in that context
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler may have this from Background. Detective builds it through multiple bar visits."
|
||||
@@ -0,0 +1,35 @@
|
||||
# Fact catalog: world
|
||||
# Faction and institutional knowledge — Commission, lattice regulation, broader context
|
||||
# Source: docs/design/knowledge-vocabulary-v01.md §4.6 (#368)
|
||||
|
||||
facts:
|
||||
|
||||
- fact_id: world.lattice_regulation_active
|
||||
description: Commission actively regulates neural lattice component access in this system
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: "Both characters have this from Background"
|
||||
|
||||
- fact_id: world.unlicensed_lattice_demand
|
||||
description: High demand for unlicensed lattice upgrades on working-class stations like Sova
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: "The moral context of the operation — smuggler knows it as justification; detective may learn it as complication"
|
||||
|
||||
- fact_id: world.commission_sova_jurisdiction
|
||||
description: Commission has jurisdiction over Sova Transit District
|
||||
typical_confidence: knows_details
|
||||
characters: [detective]
|
||||
notes: "Detective Background knowledge — institutional mandate"
|
||||
|
||||
- fact_id: world.ring_cross_system
|
||||
description: The ring operates across multiple star systems — Sova is one node
|
||||
typical_confidence: knows_details
|
||||
characters: [smuggler, detective]
|
||||
notes: "Late-game discovery — changes scope of the operation"
|
||||
|
||||
- fact_id: world.shift_schedule
|
||||
description: Sova Transit District shift schedule — who works when
|
||||
typical_confidence: knows_of
|
||||
characters: [smuggler, detective]
|
||||
notes: "Smuggler from Background (colleague). Detective through investigation."
|
||||
Reference in New Issue
Block a user