Standardized YAML frontmatter on all 40 docs/design/ files with title, description, type, status, ticket, decision_refs, and author fields. Covers specs, wireframes, voice cards, spatial layouts, and system designs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
46 KiB
title, description, type, status, ticket, decision_refs, author, created, updated
| title | description | type | status | ticket | decision_refs | author | created | updated | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Access Tier Shift Design Document | Rules for when and how player character access tiers change with NPCs during v0.1 play | design | draft | #328 |
|
Paula | 2026-02-20 | 2026-02-20 |
Access Tier Shift Design Document
Ticket: #328 | Feeds: #169 (Layer 1 access tier filtering, S15) Authors: Paula (narrative design), Mellanie (line content, to be co-authored) Date: 2026-02-20 Status: Draft
Decision cross-references: D-028 (dialogue architecture — tagged line pools, four relational layers), D-033 (entity color = relationship to player), D-035 (converged tag taxonomy), D-062 (invisible locked dialogue options), D-063 (confrontation mechanics), D-064 (walk-away consequences), D-075 (dialogue filtering — layered confidence gate)
Fact ID source: docs/design/knowledge-vocabulary-v01.md (ticket #368)
What This Document Is
This document specifies when and how a player character's access tier changes with a given social site or NPC cluster during v0.1 play. Access tiers (D-028 Layer 1) are hard filters on dialogue line eligibility — they determine which categories of conversation the player can have, not which specific lines they get.
Access tier map:
| Tier | Who Has It | Relationship State | Social Position |
|---|---|---|---|
public |
Anyone | Unknown or any | Stranger or authority |
peer |
Known or Friendly | Known · Friendly | Recognized colleague, social equal |
insider |
Friendly only | Friendly | Trusted member, community in-group |
authority |
Detective only | Unknown through PersonOfInterest | Institutional leverage operative |
hostile |
Post-relationship-break | Hostile | Enemy, threat, someone actively managing you out |
Key design axiom from D-062: Players don't know what they're missing. When access tier shifts downward, locked-out content disappears silently. No "you've lost Kael's trust" notification. The absence is the signal. Monologue is the only permitted narrator of shift events.
How Access Tier Shifts Work (Engine Model)
Access tier is derived from RelationshipState (per D-033) — the engine looks up the player's relationship state with the target NPC at dialogue selection time and applies the tier filter automatically. Content authors do not tag shift events; they author the content that exists on both sides of the transition.
RelationshipState → AccessTier mapping:
| RelationshipState | Available Tiers |
|---|---|
Unknown |
public; authority (detective) |
Known |
public · peer; authority (detective) |
Friendly |
public · peer · insider |
PersonOfInterest |
public; authority (detective); hostile (if escalated) |
Hostile |
hostile only |
What triggers a RelationshipState change is simulation-side: NPC reactions to player behavior, witnessed events, conversation outcomes, KG fact accumulation. This document specifies the content conditions — the game state conditions that must be true for a transition to be meaningful and authoritatively triggered. These map to FactIds and entity attribute checks in the prerequisite system (D-035).
Social Site 1: The Terminal (Logistics Hub)
Smuggler at The Terminal
Starting state: insider + peer with ring members (Kael, Nils, Voss, Renn); peer with non-ring colleagues (Maret, Drin, Harek); public with strangers
The Terminal is the smuggler's home ground. They've worked here for two years. The warm insider access with ring colleagues is the baseline — ring operational talk, corridor scheduling, quiet coordination between shift tasks. The smuggler doesn't know what it feels like to be public here. They will, if things go wrong.
Transition 1-S-T: insider → hostile (ring turns on smuggler; cover blown)
Direction: Downward. The most severe possible transition.
Narrative context: The ring has concluded the smuggler is a liability — either actively cooperating with the Commission investigation, or so visibly compromised that they're a risk to operations. Once this threshold is crossed, ring members stop sharing operational information and begin actively managing the smuggler's exposure: giving false scheduling, monitoring their movements, possibly preparing to eject them from the ring entirely.
Observable event that triggers transition: One of the following event chains completes:
- Smuggler is observed in direct sustained conversation with the detective in a non-public context (e.g., maintenance corridor, isolated terminal bay) by a ring operative (Voss, Nils, or Renn)
- Smuggler's cover story fails under questioning by Nils — Nils determines the smuggler knew about the detective's investigation and didn't report it
- Ring discovers the smuggler has been observed by Commission surveillance (Sera Venn's unofficial compliance scan results surface)
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
awareness.detective_presence |
knows_of |
Ring knows a Commission detective is on station |
awareness.detective_investigating_ring |
suspects |
Ring suspects (or knows) the investigation targets them specifically |
awareness.ring_route_compromise |
suspects |
The current route is perceived as compromised |
investigation.ring_existence |
knows_of |
(Detective's version; smuggler doesn't need this, but the simulation uses it to assess ring panic level) |
Entity state required:
- Ring operative (Nils or Voss) RelationshipState to smuggler: shifts from
Friendly→PersonOfInterest→Hostile - This chain typically passes through
PersonOfInterestfirst (suspicion phase) before completing toHostile
Content requirement:
The dialogue pool must include hostile-tier lines that feel like community closure, not just interpersonal conflict. Voss gives clipped operational answers. Nils stops acknowledging the smuggler in shared spaces. Renn averts eye contact. These are hostile-access lines tagged situation: [shift_encounter, workplace] that communicate ostracism through normalcy-performance rather than explicit threat.
Monologue requirement:
Smuggler monologue at this transition must do what D-063's pre-delivery beat does for confrontation: surface the weight before the player feels it mechanically. Suggested trigger: observe_npc when the smuggler sees a ring member at The Terminal post-transition.
trigger: observe_npc
character: smuggler
prerequisite:
relationship:
target: npc:voss # or nils / renn
state: hostile
text: "Voss walked past me without nodding. Two years on the same shift. He just... walked past."
mood: [shocked]
Reversibility: Near-irreversible within v0.1. The ring operates on operational security logic, not personal forgiveness. To reverse this, the smuggler would need to demonstrate the detective has been misled or has left the station — a scenario beyond the v0.1 scope. Flag as permanent-for-sprint for content authoring purposes.
Transition 2-S-T: insider → peer (ring caution mode; Kael situation escalates ring tension)
Direction: Partial downward. insider access to ring-specific operational dialogue narrows; peer access to social/colleague dialogue remains.
Narrative context: This is not a trust collapse — it's a trust contraction. As the ring senses internal pressure (Kael's unauthorized contacts, ring tension escalation), Voss and Nils begin compartmentalizing operational information. The smuggler still belongs, still gets treated like a colleague, but the operational coordination talk goes quiet. Ring members are self-protective, not hostile. They're not excluding the smuggler — they're excluding everyone from the sensitive operational layer while they assess.
Observable event that triggers transition:
- Nils or Voss observes or suspects Kael's unauthorized meeting (the same event the smuggler may discover independently in THE FRIEND arc — different observer, same event)
- Ring tension escalation manifests as shortened coordination exchanges at The Terminal
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
awareness.ring_tension_escalation |
suspects |
Ring senses internal stress; caution spreading |
investigation.kael_corridor_meeting |
suspects |
Kael seen with unknown contact (ring operative observed this, not necessarily the player) |
investigation.kael_unknown_contact |
suspects |
The contact is unrecognized — potential exposure |
Entity state required:
- Ring operative RelationshipState to smuggler: remains
Friendly(no state change), butinsider-tagged dialogue pool for ring operations is gated by a ring-internal caution flag - This is a content-authored partial exclusion, not a RelationshipState change — implemented by adding a runtime flag to the selection system that suppresses
insider, trust: realring-coordination lines even for Friendly NPCs
Implementation note for #169: This transition requires a ring-internal state variable (
ring_on_caution) that the content team will need to reference in prerequisite format. Proposed fact:awareness.ring_tension_escalationatknows_oftriggers this suppression server-side. Content authors should tag ring-operational insider lines withtags: [ring-coordination]and the server system can suppress that tag cluster when the caution flag is active.
Content requirement:
Two parallel dialogue pools needed: ring-coordination pool (suppressed when ring_on_caution active) and social-colleague pool (always available while Friendly). The player notices that Voss stops mentioning shift windows. Kael stops asking about container routing. The conversation continues, but operational content disappears.
Reversibility: Yes. If ring tension resolves (e.g., Kael's situation normalizes, the threat passes), operational talk resumes. Reversible via awareness.ring_tension_escalation falling below suspects threshold — which in practice means the ring stops tracking the anomaly.
Transition 3-S-T: peer → peer to hostile (non-ring colleagues react to cover exposure)
Direction: Downward, distinct pathway from Transition 1-S-T.
Narrative context: Maret Korr, Harek, and legitimate dock workers don't know about the ring. Their hostility toward the smuggler comes not from ring logic but from community logic: they discover (via detective's investigation becoming public, or visible confrontation at The Terminal) that someone they trusted was running contraband operations through their workspace. Maret, who's been a scheduling colleague for two years, feels used.
Observable event that triggers transition:
- Detective's investigation becomes visible enough at The Terminal that legitimate workers understand what's been happening
- Required: detective has interrogated Maret or Drin visibly (witnessed by other dock workers)
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
investigation.ring_existence |
knows_of |
Legitimate workers now know a ring was operating |
investigation.manifest_discrepancy |
knows_of |
The discrepancies are understood as intentional, not clerical |
Reversibility: Moderate difficulty. Unlike ring-member hostility (operational logic), this hostility is personal-moral. If the smuggler demonstrates they weren't a core operator (partial truth), some colleagues might return to neutral public tier.
Detective at The Terminal
Starting state: authority with Voss, Maret, Drin; public with most hub workers; no insider access (investigator is always an outsider to the ring's in-group)
The Terminal is adversarial ground for the detective. Authority access gives institutional leverage — the detective can ask hard questions, invoke Commission standing, access records — but it creates social friction. Every exercise of authority makes the peer path harder.
Transition 1-D-T: authority → peer (collaboration event; institutional authority softens to personal rapport)
Direction: Sideways (not strictly up or down — authority and peer provide different content, not hierarchically ranked).
Narrative context: This transition is the detective learning to work with the community rather than on top of it. A specific collaboration event — helping Maret with a non-smuggling problem, or letting a minor infraction go — signals to a hub worker that the detective is operating in good faith. The hub worker begins treating the detective as a person, not a badge. This unlocks peer-tier content from that NPC: honest opinions, unguarded speech, actual feelings. These are the lines that contain the most useful investigative texture.
Observable event that triggers transition:
- Detective witnesses or intercepts a minor infraction unrelated to the ring investigation (dock worker running personal cargo through, Harek's unofficial equipment borrowing) and explicitly does not file it
- OR: Detective helps Maret resolve a scheduling conflict caused by simulation-generated NPC behavior (non-ring-related problem), giving Maret reason to feel reciprocal goodwill
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
investigation.ring_existence |
suspects |
Detective is on station for a reason; Maret knows this |
social.bar_regular_status |
suspects |
Detective is becoming a known presence on Sova (not bar-specific, but signals integration) |
Entity state required:
- Target NPC (Maret, most likely): RelationshipState transitions
Known→Friendly - Once
Friendly,peer-tier dialogue becomes available;authority-tier remains available simultaneously (detective can shift registers within a conversation)
Content requirement:
peer-tier Maret dialogue should feel warmer, more candid, and more useful than authority-tier Maret dialogue — but for different reasons. authority lines give formal, procedurally correct answers. peer lines give informal reads: "Voss has been different lately. Can't say why. Just tighter." That line is trust: real, access: [peer].
Reversibility: Yes, but fragile. If detective subsequently uses institutional leverage against Maret (authority interrogation, official filing of any minor infraction), RelationshipState may revert to Known and peer access narrows back to authority.
Transition 2-D-T: authority → hostile (confrontation fails; community closes ranks)
Direction: Downward. The most damaging investigative outcome — hub workers who were cooperating under authority pressure now actively stonewall.
Narrative context: If the detective uses institutional leverage badly — pressing too hard in a way that's visible to other workers, making an accusation that doesn't stick, or invoking Commission authority in a situation where the community reads it as overreach — the hub shifts from grudging cooperation to collective non-cooperation. This isn't ring coordination; it's community immune response. Dock workers closing ranks around their own.
Observable event that triggers transition:
- Detective conducts a visible confrontation (D-063) with Voss or Maret in a public area of The Terminal, the confrontation fails (NPC successfully deflects, detective doesn't have sufficient evidence), and other workers witness the exchange
- OR: Detective formally reports a minor infraction that hub workers considered a normal part of life — the report reads as persecution, not investigation
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
investigation.oversight_gap_pattern |
suspects |
Detective has been probing, not finding clean answers |
awareness.commission_audit_scheduled |
knows_of |
Hub workers know a formal audit is coming; fear is already elevated |
Key design tension — confrontation + walkaway (D-063/D-064):
A confrontation that the detective walks away from (WASD during exchange) doesn't just end the confrontation — the KG records incompleteness. If the detective starts a confrontation with Voss and then leaves mid-exchange, Voss's contradiction_flagged attribute gets set, and the ring interprets this as: the detective has partial evidence and couldn't follow through. This triggers ring defensiveness faster than a completed confrontation. Content authors should note: investigation.shift_mismatch at knows_of + an incomplete confrontation event = ring caution acceleration.
Content requirement:
Post-hostile Terminal NPCs need hostile-tier dialogue that sounds like bureaucratic compliance, not aggression. "Shifts are logged in the system." "You'll want to check with oversight." "I don't have anything more for you." These are lines that technically cooperate while providing nothing — the institutional version of closed doors.
Reversibility: Moderate difficulty. The detective would need to either produce evidence that justifies the confrontation retrospectively (making the community feel the investigation was warranted) or wait long enough for the community's defensive posture to relax. Within v0.1 timeline: effectively permanent once triggered.
Social Site 2: The Last Shift (Bar)
Smuggler at The Last Shift
Starting state: The smuggler's starting tier at The Last Shift depends on their history with the bar. If played as a regular (the intended interpretation), they begin at peer with most bar regulars and insider with Lera (ring-aware, bar owner who runs quiet coordination). With strangers or recent arrivals (Sera Venn, Commission-adjacent individuals), they begin at public.
The bar is a social pressure valve. It's where the district's people become people. The smuggler is comfortable here — but comfort makes the downward transition more disorienting.
Transition 1-S-B: public → insider (Kael introduction; bar community adopts smuggler)
Direction: Upward. Unusual in the design — most documented transitions are downward. This one represents the smuggler extending their community standing into the bar's inner circle.
Narrative context: The smuggler knows Lera and the ring-aware bar regulars already. But Kael's social circle at the bar — Naia, her friends, some bar regulars who are ring-adjacent but not ring members — is a separate network. Kael making a formal introduction signals to this circle that the smuggler belongs. This unlocks insider-tier content from Naia and her social cluster: actual feelings, honest opinions, personal context. Naia's worry about Kael surfaces here.
This transition is the mechanism by which the smuggler gains access to the warning signs of Kael's situation before the corridor B-7 contradiction. Naia is visibly anxious. Her concern is insider-tier content — she wouldn't share it with a stranger.
Observable event that triggers transition:
- Kael and the smuggler are both present at The Last Shift; Kael initiates introduction exchange ("She's on my shift, been here as long as I have") with Naia or her immediate social circle
- This is a simulation-generated interaction — Kael's routine includes this social gesture if his relationship with the smuggler is
Friendlyand his relationship with Naia isFriendly
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
social.bar_regular_status |
suspects |
Smuggler is becoming a regular; the introduction lands as socially coherent |
relationship.kael_naia_connection |
knows_of |
Smuggler knows Kael and Naia are connected; the introduction isn't out of nowhere |
Entity state required:
- Kael RelationshipState to smuggler:
Friendly - Naia RelationshipState to smuggler:
Unknown→Known(minimum for transition to trigger) - Full
insideraccess to Naia unlocks atKnown→Friendly(second threshold, requires sustained positive interaction)
Content requirement:
Naia's insider-tier content at The Last Shift should surface her anxiety about Kael in a way that doesn't explain it — it creates the question without the answer. "He's been working late. I don't... he gets like this sometimes." Tagged trust: real, access: [insider]. This is the content the smuggler can't get as a stranger, and it's the warning they carry into the corridor B-7 observation.
Reversibility: Yes. If the smuggler stops visiting the bar, Naia's RelationshipState drifts back to Known over time. The insider access requires sustained interaction.
Transition 2-S-B: insider → hostile (social contamination from ring crisis)
Direction: Downward. Social contamination spreads from ring context to bar context.
Narrative context: The bar is where ring community and legitimate community overlap. When the ring turns on the smuggler, the contamination spreads through this overlap. Lera stops holding the smuggler's usual seat. Torek stops buying rounds. Bar regulars who are ring-adjacent start looking uncomfortable when the smuggler arrives. This isn't organized — it's social contagion. Lera doesn't want trouble at her bar. The regulars follow her lead.
Observable event that triggers transition:
- Ring has already moved to
hostiletier with the smuggler at The Terminal (Transition 1-S-T has completed) - A ring member (Renn or Torek) is present at the bar when the smuggler arrives and visibly changes behavior — leaves, signals to Lera, or gives the smuggler a warning look
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
awareness.ring_tension_escalation |
knows_of |
Bar regulars who are ring-adjacent have sensed something's wrong |
awareness.ring_route_compromise |
suspects |
The ring is protecting its operational footprint |
Entity state required:
- At least one ring-adjacent bar regular (Torek or Renn): RelationshipState to smuggler has moved to
PersonOfInterestorHostile - Lera: RelationshipState shifts from
Friendly→Known(bar owner withdraws warmth without active hostility; bar is stillpublicaccessible, but the home feeling is gone)
Secondary contamination — Naia: If Naia has learned (through Kael or indirect observation) that the smuggler is suspected by the ring, her RelationshipState also shifts. Naia's hostility is different from the ring's — it's protective fear, not operational defense. She doesn't want to lose Kael to whatever the smuggler has gotten caught up in. Content for Naia at this stage should feel like hurt and worry compressed into withdrawal, not anger.
Content requirement:
The hostile-tier bar content is some of the most important emotional writing in the game. The bar was comfort. The bar is now hostile territory with familiar faces. Lera's lines should feel like professional neutral — no warmth, no cold, just a bartender doing her job. Torek's lines (if present) should feel like he's trying to warn the smuggler while staying deniable. This requires careful access tagging: Torek's warning is access: [peer], trust: real — he'll only deliver it if the player is still Known with him, not yet Hostile.
Reversibility: Hard. Requires terminal-level crisis to resolve first. The bar follows the ring's social signal.
Transition 3-S-B: insider → hostile (contraband conversation overheard by hostile observer)
Direction: Downward, distinct from Transition 2-S-B. This is an in-bar event, not contamination from outside.
Narrative context: The bar creates a specific risk: ring-relevant conversation in a space with poor sound isolation. D-078 established that NPC-to-NPC conversations are Voice events the player can overhear — the same applies in reverse. If the smuggler and a ring member have an insider-tier conversation at The Last Shift within earshot of an unfriendly observer (the detective, a Commission-tagged NPC, or a bar regular who's been marked as informant), the result is catastrophic.
Observable event that triggers transition:
- Smuggler and ring member (Kael, Voss, or Renn) are in
insider-tier dialogue at The Last Shift - A third party with
PersonOfInterestorHostilerelationship to the ring is within Voice range (D-018 three-range sound model) - The overheard content triggers a KG fact update for the observer
Required KG facts at transition point (observer's perspective):
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
investigation.ring_existence |
suspects |
Observer already suspected a ring; the conversation confirms it |
contraband.ring_lattice_components |
suspects |
Observer now understands what's being moved |
The asymmetry: From D-018's three-range model, the player controls whether they're within Voice range of overheard conversations — but NPCs don't know they're being overheard. If the detective is nearby and the player (as smuggler) initiates ring-coordination dialogue, this is a player error with consequence. The simulation shouldn't make this easy to do accidentally, but it should make the consequence clear and immediate.
Reversibility: None. Fact knowledge is retained by the observer. Once the detective has contraband.ring_lattice_components at knows_of, that confidence doesn't decay to zero.
Detective at The Last Shift
Starting state: public with bar regulars; peer with Sera Venn (pre-existing contact, established friendship); authority over Torek (ring-adjacent, financial tells create leverage potential)
The bar is the detective's only social toehold. Sera is the social anchor. Every other transition at the bar depends on either sustaining Sera's goodwill or making it on personal terms.
Transition 1-D-B: public → peer via Sera Venn (social introduction; district integration)
Direction: Upward.
Narrative context: Sera is the detective's guide to the bar's social geography. She knows the regulars, knows the history, knows who's approachable and who isn't. When she introduces the detective to bar regulars — "We work the same beat, sort of" — she's vouching for the detective as a person, not a badge. This shifts the detective from institutional stranger to known face. peer-tier bar content (gossip, complaints, personal context) unlocks.
This is the primary path to bar integration. The buy-rounds path (Transition 2-D-B) is secondary and slower.
Observable event that triggers transition:
- Detective has visited The Last Shift 2+ times with Sera present
- Sera is in
FriendlyRelationshipState with detective - On the third or later visit, Sera initiates an introduction event with a bar regular (Lera, most likely, or a mundane-triangle bar regular)
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
social.bar_regular_status |
suspects |
Detective is becoming a recognized face |
behavioral.sera_kiosk_pattern |
knows_of |
Detective knows Sera's habits — signals the relationship has texture |
Entity state required:
- Sera RelationshipState to detective:
Friendly - Target bar regular RelationshipState to detective:
Unknown→Known(introduction creates Known; Friendly requires follow-up interaction)
Sera dependency risk: If Sera moves to PersonOfInterest (Phase 3 of THE FRIEND arc), this introduction path is compromised. Sera still may be physically present, but her social vouching becomes ambiguous — she might introduce the detective, but bar regulars who are sensitive to institutional dynamics may read the introduction differently. This creates a content authoring requirement: bar regular reactions to Sera-mediated introductions should have two variants — pre-contradiction and post-contradiction.
Content requirement:
peer-tier bar content for the detective should feel like the community briefly letting the badge off the hook. Lera's peer lines are informal and dry: "You're still here." "Thought Commission people didn't do grain spirit." This is trust-as-tolerance, which is honest to the bar's relationship with institutions.
Reversibility: Yes, but depends entirely on Sera's RelationshipState. If Sera's contradiction is confronted badly and she moves to hostile tier, the detective loses the introduction pipeline and must earn bar integration directly.
Transition 2-D-B: authority → peer after buying rounds (social gesture; institutionality dropped)
Direction: Sideways, same dynamic as Transition 1-D-T but in the bar context.
Narrative context: The detective has authority access to Torek (ring-adjacent, financial tells create leverage). But authority access at a bar is uncomfortable — for everyone, including the detective. At some point the detective can choose a different register: stop invoking institutional leverage and just buy a round. This social gesture — explicitly off-the-record, no questions, just drinks — shifts a specific NPC from authority-tier to peer-tier for that interaction and potentially permanently if sustained.
This is the slower path to bar integration — not mediated by Sera, but earned directly through social investment.
Observable event that triggers transition:
- Detective is at The Last Shift with Torek present
- Detective initiates a non-investigative social exchange (no use of
authority-tagged dialogue options for 2+ consecutive conversations) - Buys drinks as a social action (if implemented as an interaction verb in the v0.1 interaction set)
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
social.bar_regular_status |
knows_of |
Detective is now recognized as a regular, not a visitor |
Entity state required:
- Torek RelationshipState to detective:
Known→Friendly - Once
Friendly,peer-tier content unlocks;authority-tier remains available but the player must actively choose it
The buy-rounds mechanism: The interaction system (D-interaction-verbs) needs a "buy drinks" verb that registers as a positive social action toward present NPCs without triggering dialogue. This is a goodwill investment that accumulates toward RelationshipState advancement. For #169 (S15 implementation): this should be a flagged interaction event that the simulation picks up and applies as relationship credit to all Known+ NPCs in proximity.
Torek content note: Torek is ring-adjacent and has financial tells (investigation.torek_spending_pattern). Peer-tier Torek content is valuable for the investigation — he's more likely to let something slip in casual conversation than under authority questioning. The buy-rounds path is a legitimate investigative technique, not just social filler. Torek's peer, trust: real lines should carry genuine investigative texture.
Reversibility: Yes. If the detective subsequently invokes authority leverage against Torek (raises investigation.torek_spending_pattern as direct confrontation material), Torek's RelationshipState reverts. The trust investment is not permanent.
Transition 3-D-B: peer → authority (Sera arc activates; trust contaminated)
Direction: Sideways. The detective's relationship with Sera shifts from warm peer-tier to analytically-charged authority-tier as THE FRIEND arc progresses.
Narrative context: Per D-063 and the FRIEND arc specification, when Sera moves to PersonOfInterest (Phase 3 of the detective's FRIEND arc), the detective gains access to authority-tier dialogue with Sera — institutional leverage questions, direct evidence-seeking. This is distinct from standard authority access (the detective doesn't arrest Sera, doesn't invoke formal Commission processes). The authority content here is personal authority: "I know you know something. I'm asking you." The formality is in the weight of the question, not the institutional mechanism.
Observable event that triggers transition:
- Detective observes Sera leave when Torek arrives for the third time (or any two confirmed avoidance events matching the same pattern)
behavioral.sera_avoidance_patternreachesknows_of- Monologue triggers Phase 3 recognition: "That's the third time."
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
behavioral.sera_avoidance_pattern |
knows_of |
Pattern is confirmed, not suspected |
behavioral.sera_topic_deflection |
suspects |
Sera has deflected at least one sensitive topic |
investigation.sera_evidence_held |
suspects |
Detective senses Sera knows something she hasn't shared |
Entity state required:
- Sera RelationshipState to detective:
Friendly→PersonOfInterest peer-tier Sera content remains available (it doesn't vanish), butauthority-tier content unlocks alongside it- The player can choose which register to use — and the choice has consequences (D-064 walk-away logic applies: if detective initiates authority-tier inquiry and then drops it, the KG logs the incompleteness)
Content requirement:
The authority-tier Sera dialogue should feel qualitatively different from authority-tier dialogue with Voss or Maret. Voss authority lines are evasive, procedural. Sera authority lines are emotionally charged — she knows the detective knows, and she's working to contain that. Her authority, trust: surface lines are careful, calibrated. Her authority, trust: real lines (if unlocked) are the closest she gets to disclosure: "Some things aren't mine to report. You know how it is." This is the line that changes everything.
Reversibility: Conditional. If the detective chooses not to press (avoids authority-tier options with Sera across 2+ subsequent interactions), Sera's RelationshipState may re-stabilize at Friendly. But investigation.sera_evidence_held remains in the KG at suspects — the detective knows something is wrong, even if the relationship surface normalizes.
Social Site 3: Maintenance Corridors (Smuggling Spaces)
Smuggler at Maintenance Corridors
Starting state: insider with all ring members (Kael, Nils, Renn); this is the ring's operational space. The smuggler knows the layout, the camera gaps, the timing windows.
Transition 1-S-M: insider → hostile (corridor operations suspended; smuggler shut out)
Direction: Downward.
Narrative context: If ring crisis reaches operational shutdown level (investigation too hot, Kael situation destabilizing the ring's trust structure), Nils may suspend corridor operations entirely or change the access protocol. The smuggler's knowledge of the old layout becomes liability — they know where the blind spots are, but those blind spots may have been deliberately exposed to flush out threats. The smuggler navigating the corridors under these conditions is walking into a trap.
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
awareness.ring_tension_escalation |
knows_of |
Operations are suspended or restructuring |
awareness.surveillance_change |
suspects |
The surveillance pattern has changed |
investigation.kael_ring_membership |
knows_details |
Kael's exit attempt is now broadly known inside the ring |
Reversibility: No. If the ring has suspended the smuggler's access, that's a terminal state for their ring membership in v0.1.
Transition 2-S-M: insider → isolated (Kael not present; smuggler has operational access but no coordination)
Direction: Partial downward. Technical access to the corridors remains, but social coordination disappears.
Narrative context: If Kael is the smuggler's primary coordination contact in the corridors and Kael has shifted to PersonOfInterest (Phase 3-4 of THE FRIEND arc), the smuggler navigates the corridors without their usual partner. They have access. They don't have backup. Monologue in this state should reflect operational vulnerability without dialogue partner.
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
investigation.kael_corridor_meeting |
knows_of |
Smuggler has discovered Kael's unauthorized contact |
Entity state required:
- Kael RelationshipState to smuggler:
PersonOfInterest
Content requirement:
No insider Kael dialogue in corridors post-transition. Instead: monologue lines triggered by locations where Kael would normally have been present. The absence of a colleague, not a confrontation.
Reversibility: Yes, if THE FRIEND arc resolves toward reconciliation.
Detective at Maintenance Corridors
Starting state: public; the corridors are officially restricted (location.corridor_b7_restricted is knows_of), but the detective has institutional basis to enter with credentials or cause.
Transition 1-D-M: public → peer (legitimate investigative access established)
Direction: Upward.
Narrative context: The detective earns corridor access not through breaking in but through institutional process — flagging the surveillance gaps, getting Maret's cooperation, or invoking Commission authority to access restricted zones. Once inside legitimately, NPCs who are present (maintenance workers, off-duty dock workers moving through) treat the detective as a known investigator rather than a suspicious intruder.
Required KG facts at transition point:
| Fact ID | Min Confidence | Role in Transition |
|---|---|---|
location.corridor_b7_restricted |
knows_of |
Detective knows the official access structure |
investigation.surveillance_gaps |
knows_of |
Detective has identified the pattern — not just noticed one gap |
investigation.oversight_gap_pattern |
suspects |
Investigation gives the detective standing to be in the corridors |
Reversibility: Yes, conditional on investigation standing.
Transition 2-D-M: public → hostile (trespassing observed; ring response)
Direction: Downward. The most immediate downward transition in the entire tier system — ring operatives in the corridors are not subtle.
Narrative context: If the detective enters the corridors without establishing legitimate access, and a ring operative (Renn is the most likely; Nils if the drop is tonight) observes the intrusion, the ring defensive response is immediate. They don't confront the detective physically in v0.1 — they evacuate, alert, and begin managing their exposure. The detective has triggered ring paranoia, which both accelerates the investigation (the ring is now visible through its defensive behavior) and destroys any chance of observation before the ring goes dark.
Required KG facts at trigger point:
| Fact ID | Min Confidence | Role |
|---|---|---|
location.maintenance_corridors_access |
suspects (detective) |
Detective knows approximately where the corridors are |
contraband.drop_tonight |
suspects (smuggler/ring) |
If a drop is scheduled, ring presence in corridors is high |
The observation paradox: The most investigatively valuable time to enter the corridors is when a drop is scheduled (contraband.drop_tonight at knows_details for the smuggler). The most dangerous time is the same. Content for this transition should reflect that the detective's discovery is genuinely useful (they may observe the drop in progress, gain investigation.smuggling_route at knows_of) even as it triggers hostile ring response.
Reversibility: None within v0.1. The ring will not forget an investigator in the corridors.
Reversibility Summary
| Transition | Reversible? | Reversal Condition |
|---|---|---|
1-S-T: insider → hostile (ring burns smuggler) |
No | Ring trust requires full departure from investigation pressure — out of scope v0.1 |
2-S-T: insider → peer (ring caution mode) |
Yes | awareness.ring_tension_escalation falls below suspects; ring stabilizes |
3-S-T: peer → hostile (legitimate colleagues react) |
Moderate | Smuggler demonstrates non-core role; social repair over time |
1-D-T: authority → peer (collaboration at Terminal) |
Yes, fragile | Detective re-invokes authority leverage; trust reverts |
2-D-T: authority → hostile (confrontation fails) |
Moderate | Retrospective evidence justifies the confrontation; community accepts it |
1-S-B: public → insider (Kael introduces smuggler at bar) |
Yes | Requires sustained bar attendance; decays if absent |
2-S-B: insider → hostile (social contamination from ring) |
Hard | Requires ring crisis to resolve first |
3-S-B: insider → hostile (overheard contraband talk) |
None | Fact knowledge is permanent in detective's KG |
1-D-B: public → peer via Sera (bar integration) |
Yes | Depends on Sera RelationshipState; breaks if Sera moves hostile |
2-D-B: authority → peer (buy-rounds path) |
Yes | Detective reinvokes authority; trust reverts |
3-D-B: peer → authority (Sera arc activates) |
Conditional | Detective avoids pressing; surface normalizes, but KG suspicion persists |
1-S-M: insider → hostile (corridors suspended) |
No | Terminal state for ring membership |
2-S-M: insider → isolated (Kael absent) |
Yes | Kael arc resolves toward reconciliation |
1-D-M: public → peer (investigative access) |
Yes | Investigation standing maintained |
2-D-M: public → hostile (trespassing) |
None | Ring defensive response is permanent |
Content Authoring Implications
Rule: Every social site needs three pools per character
For each of the three social sites, content authors must produce:
-
Starting-state pool — the baseline access tier, representing the first hour of play. Heavy on
publicandpeerfor the detective; heavy oninsiderandpeerfor the smuggler. This is the content that makes the world feel normal. -
Shifted-state pool — dialogue for the 1-2 most likely tier transition per character per site. The hostile-tier ring dialogue. The peer-tier bar content after Sera's introduction. These pools are smaller but carry heavier narrative weight.
-
Monologue tracking pool — internal voice lines that run parallel to access tier changes. The smuggler noticing that Voss didn't nod. The detective noticing that bar regulars are warmer. Monologue is the only system that communicates access tier shift to the player (per D-062 — no UI signals, no notifications).
The hostile-tier authoring challenge
hostile-tier dialogue is the hardest to write. The temptation is to write it as confrontational, explicit. But most hostile-tier dialogue in this setting is bureaucratic hostility — people performing cooperation while providing nothing. Maret gives the detective technically accurate answers that advance nothing. Voss gives the smuggler shift updates that contain no ring coordination. Lera pours drinks without warmth.
The exception: confrontation-specific lines (D-063). These are the lines written in the character's internal voice, italicized, first-person. "I saw you in corridor B-7." These require their own pool: access: [hostile], trust: real, situation: [confrontation].
The transition-moment authoring challenge
There is a brief, critical window around tier transitions where monologue should surface what the system cannot say. When Kael's insider content locks out, the first post-transition observation of Kael should trigger a monologue line that acknowledges the absence without naming the mechanism. The player shouldn't think "I've lost insider access to Kael." They should think "something is different."
Suggested approach: author a post_conversation monologue line for each major downward transition that fires once on the first post-transition interaction. These are priority: 9 lines (high priority, likely to be selected) that serve as narrative transition markers.
Implementation Notes for #169 (S15 Dependency)
This document feeds the Layer 1 access tier filtering implementation (deferred to Sprint 15). The following architectural notes are for Dudley/Tyre when implementing:
-
The ring-caution suppression (Transition 2-S-T) requires a runtime flag — not a RelationshipState change, but a content-tag suppression. The proposed mechanism: a
ring_caution_activeboolean in the simulation state that the line selection system checks before returninginsider, tags: [ring-coordination]lines. FactId gate:awareness.ring_tension_escalationatknows_of. -
The buy-rounds interaction (Transition 2-D-B) requires a non-dialogue interaction verb that registers social goodwill. The v0.1 interaction verb set (D-interaction-verbs) should include "buy drinks" as a social investment action. Simulation should apply a small positive relationship_state weight to all
Known+ NPCs in Voice range. -
The
authority-to-peercoexistence (Transitions 1-D-T, 1-D-B, 2-D-B) is an important design point: these are not mutually exclusive tiers. When a detective NPC relationship reachesFriendly, bothauthorityandpeercontent should be available. The selection system should preferpeerin casual contexts andauthoritywhen the player selects investigative dialogue options. The selection algorithm needs a context signal for this (conversation-type flag, or topic tag check). -
The overheard-conversation hostile trigger (Transition 3-S-B) is the only tier shift triggered by the player's presence in Voice range rather than by direct interaction. This requires the D-018 three-range sound model implementation to cross-reference the player's current relationship states with nearby NPCs. If the player is in Voice range of ring-coordination NPC dialogue and the NPC is in
PersonOfInterest-or-better relationship with an observer also in range, the observer's KG should be updated.
Document current as of 2026-02-20. All FactIds sourced from docs/design/knowledge-vocabulary-v01.md (#368). Implementation dependency: #169 (S15). Content dependency: #120 (line pool files), #121 (voice variation guide).