Character schema and builds: - #179: Character definition schema (6-section formal spec) - #180: Smuggler character build (full schema instantiation) - #181: Detective character build (full schema instantiation) - #182: Divergent starting knowledge (master comparison table) - #183: Divergent relationships (NPC web per character) Institutional design: - #322: Detective chain of command (Veth, Pres, Tsev backstory) NPC pattern documents: - #332: Contradiction arc — reusable FRIEND pattern (5 phases, checklist) - #329: Mirror moment design — 10 paired dual-lens observations Experience design: - #259: First 5 minutes (narrative texture additions to Gestalt's systems doc) - #307: Flat NPC trait pass (Pael, Ren, Tev — traits, routines, dual-lens) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
18 KiB
Character Build: The Detective
Ticket: #181 | Priority: Critical | Sprint: 12 Status: v0.1 Draft Blocked by: #179 (Character definition schema) Blocks: #182 (Divergent starting knowledge), #183 (Divergent relationships) Decisions referenced: D-005, D-016, D-027, D-028, D-032, D-034, D-035, D-037, D-041, D-053, D-065, D-075
identity
identity:
canonical_id: "pc:detective"
display_name: "[Player-set name]"
archetype: "detective"
occupation: "Commission Liaison Officer, Manifest Irregularity Investigation"
posting_duration: "3 days (newly arrived)"
faction: "Commission"
lattice_tier: "professional"
description: >
Commission Liaison Officer posted to Sova Transit District three days ago.
Official mandate: routine compliance review. Actual mandate: investigate
manifest irregularities suggesting organized freight smuggling. The distinction
between "official" and "actual" is itself the first lesson about how
Sova works.
Trained investigator. Professional analytical lattice. Institutional
authority that opens doors and closes conversations. An outsider in a
community that has learned, over forty years of prefab-modular life,
to handle outsiders with polite minimal disclosure.
Stands to lose: professional credibility (if the case goes cold), Sera
(the investigation, if pressed too hard, could compromise the only
trusted relationship in the district), and the clean institutional
clarity that makes the job feel justified — which the community's
moral complexity is already beginning to erode.
starting_knowledge
starting_knowledge:
confidence_floor: "KnowsOf"
known_facts:
# Investigation data
- key: "investigation.manifest_discrepancies"
confidence: "KnowsDetails"
source: "institutional"
notes: >
Case file from Commission records. Containers logged but not reconciled
with incoming manifests. Pattern suggests systematic manipulation, not
clerical error. Three clusters of anomalies over the past six months.
- key: "investigation.freight_pattern"
confidence: "KnowsDetails"
source: "institutional"
notes: >
Anomalies cluster around shift transition windows. Same container series
recurring across discrepant manifests. Pattern analysis flagged this
posting as warranting investigation.
# Persons of interest (case file, not personal knowledge)
- key: "person.voss_poi"
confidence: "KnowsOf"
source: "institutional"
notes: >
Voss, shift supervisor. Scheduling authority. In position to create the
oversight gaps that explain the manifest anomalies. Name from case file.
Not met yet.
- key: "person.maret_poi"
confidence: "KnowsOf"
source: "institutional"
notes: >
Maret Korr, freight scheduler. Access to manifest data. Could be source
of the falsification or could be covering for someone else. Name from
case file.
- key: "person.drin_poi"
confidence: "KnowsOf"
source: "institutional"
notes: >
Drin Rosta, dock inspector. Responsible for container verification.
Failure to flag discrepancies suggests either incompetence or complicity.
Name from case file.
# Institutional context
- key: "world.previous_liaison"
confidence: "KnowsDetails"
source: "institutional"
notes: >
The previous Commission liaison rotated out 3 months ago. Rotation
was described as routine. The detective's case file notes that the previous
liaison filed no irregularity reports despite the same pattern being
detectable in their tenure. This warrants investigation.
- key: "world.commission_presence"
confidence: "KnowsDetails"
source: "institutional"
notes: >
Sera Venn, Commission field tech. Not an investigator. Has been on Sova
for 1 year. Pre-existing relationship — same institutional background,
different postings. Reliable. Social anchor in unfamiliar district.
- key: "world.district_geography"
confidence: "KnowsOf"
source: "institutional"
notes: >
The Terminal (logistics hub), The Last Shift (bar, social nexus),
maintenance corridors (off-books access routes noted in district layout
documentation). Three days in — still orienting to physical space.
- key: "world.torek_compliance_connection"
confidence: "KnowsOf"
source: "institutional"
notes: >
Torek Lintar is a Commission compliance officer on Sova. Known from
institutional channels. Not a friend, but a professional known name.
# Sera knowledge
- key: "person.sera_background"
confidence: "KnowsDetails"
source: "direct"
notes: >
Sera Venn: same career path, different posting. Reliable under pressure.
Transferred to Sova after a stressful posting elsewhere. Has been the
district's Commission presence for a year. The detective's one genuinely
friendly face in Sova.
unknown_facts:
- key: "contraband.ring_exists"
notes: >
Does not know a ring exists. Suspects organized smuggling from the manifest
pattern, but "ring" implies structure, membership, coordination — the
detective doesn't know that yet.
- key: "contraband.ring_members"
notes: >
Does not know any ring members by their ring membership. Kael Davan
is not in the case file. The smuggler is not in the case file.
- key: "contraband.cargo_type"
notes: >
Does not know what the cargo is. The manifests show discrepancies;
they don't reveal what's being moved. The "what" is a layer below
the "that something is wrong."
- key: "person.kael_exit_attempt"
notes: >
Completely unknown. Kael's unauthorized contact and exit attempt are
not visible to any institutional data source.
- key: "person.sera_unreported_evidence"
notes: >
CRITICAL unknown. Sera has run an unofficial compliance check on Kael's
work patterns and is sitting on unreported evidence. The detective
trusts Sera completely. This gap is the structural basis for THE FRIEND arc.
- key: "person.naia_confided_in_sera"
notes: >
Naia Tamm's worry about Kael, confided to Sera, is the emotional engine
behind Sera's concealment. The detective doesn't know Naia exists as
anything except a district resident.
- key: "relationship.ring_membership"
notes: >
Who is in the ring, who is complicit, who is protecting whom. The detective
has names (Voss, Maret, Drin) without understanding the social web that
holds them together.
- key: "person.smuggler_identity"
notes: >
Does not know the smuggler is in the ring. If the smuggler is in the case
file at all, it's as a name on a shift roster — no significance attached.
- key: "world.previous_liaison_arranged"
notes: >
The detective wonders whether the previous Commission liaison's rotation
was routine or arranged. This suspicion is in the case file as a note;
it remains unconfirmed. (Canonical answer: arranged. But the detective
doesn't know this yet.)
starting_relationships
starting_relationships:
- target: "npc:sera-venn"
relationship_state: "Friendly"
access_tier: [peer]
trust_level: "trusted"
relationship_type: "friend"
known_attributes:
name: "Sera Venn"
role: "Commission field technician"
faction: "Commission"
notes: >
Pre-existing friend. Same institutional background, different posting.
Transferred to Sova a year ago. Social anchor. The detective's guide
to an unfamiliar place — Sera fills in background on the district,
introduces the detective to regulars. Completely trusted at session start.
- target: "npc:voss"
relationship_state: "Known"
access_tier: [authority]
trust_level: "uncertain"
relationship_type: "contact"
known_attributes:
name: "Voss"
role: "shift supervisor"
faction: "civilian"
notes: >
Person of interest. Name from case file, scheduling authority. Has
met once for credentials review. Stiffens when the detective enters
the hub. Professional, terse. No warmth. Institutional interaction only.
- target: "npc:maret-korr"
relationship_state: "Known"
access_tier: [authority]
trust_level: "uncertain"
relationship_type: "contact"
known_attributes:
name: "Maret Korr"
role: "freight scheduler"
faction: "civilian"
notes: >
Person of interest. Manifest access. Has cooperated professionally with
data requests — provided clean set of schedules. Slightly nervous.
Cooperation is compliance, not friendliness.
- target: "npc:drin"
relationship_state: "Known"
access_tier: [authority]
trust_level: "uncertain"
relationship_type: "contact"
known_attributes:
name: "Drin Rosta"
role: "dock inspector"
faction: "civilian"
notes: >
Person of interest. Responsible for container verification. Has met
once. More evasive than Voss or Maret. The detective notes the evasion
without yet understanding the cause.
- target: "npc:torek-lintar"
relationship_state: "Known"
access_tier: [public]
trust_level: "uncertain"
relationship_type: "colleague"
known_attributes:
name: "Torek Lintar"
role: "Commission compliance officer"
faction: "Commission"
notes: >
Commission compliance officer on Sova — professional known name, not a
friend. Has seen him at the bar with Sera. Slightly off in a way the
detective can't yet articulate.
- target: "npc:lera-sessik"
relationship_state: "Unknown"
access_tier: [public]
trust_level: "uncertain"
relationship_type: null
known_attributes:
name: "Lera Sessik"
role: "bar owner"
faction: null
notes: >
Sera mentioned The Last Shift. The detective has visited once or twice.
Lera is polite, guarded, watching. Not hostile. Not warm.
- target: "npc:kael-davan"
relationship_state: "Unknown"
access_tier: [public]
trust_level: "uncertain"
relationship_type: null
known_attributes:
name: null
role: "dock worker"
faction: null
notes: >
Unknown at session start. Name might appear on a shift roster without
significance. No personal knowledge. No case file entry. The detective
has no reason to flag Kael — yet.
- target: "npc:naia-tamm"
relationship_state: "Unknown"
access_tier: [public]
trust_level: "uncertain"
relationship_type: null
known_attributes:
name: null
role: null
faction: null
notes: "No connection at session start. Exists as a district resident without individual identity."
- target: "npc:pc-smuggler"
relationship_state: "Unknown"
access_tier: [public]
trust_level: "uncertain"
relationship_type: null
known_attributes:
name: null
role: "dock worker"
faction: null
notes: >
One of many dock workers. No individual significance at session start.
Knowledge accumulates through observation and tell accumulation.
May shift to PersonOfInterest if tells compound and manifest
discrepancy connection is made.
access_permissions
access_permissions:
can_unlock:
- tier: "public"
condition: "Always available"
max_npcs: "unlimited"
- tier: "authority"
condition: "RelationshipState is Unknown, Known, or PersonOfInterest — credential presentation"
max_npcs: "unlimited for institutional NPCs; does not work with hostile or fully closed NPCs"
- tier: "peer"
condition: "RelationshipState reaches Friendly"
max_npcs: "limited — Sera at session start; others require sustained positive interaction"
structurally_locked:
- tier: "insider"
reason: >
The detective can never access insider-tier ring dialogue. Not because
institutional authority is insufficient — authority and insider are
different axes. Insider requires social belonging within the ring network.
The ring recognizes the detective as Commission. The ring closes, not opens,
when institutional authority is applied. Pressing harder does not unlock
insider content; it triggers defensive behavior and hostile tone. This is
architecturally fundamental to the two-keyhole design.
- tier: "authority (failed)"
reason: >
Authority access fails when RelationshipState is Hostile. Once an NPC
has turned against the detective's investigation, credential presentation
produces refusal or evasion, not compliance. The detective cannot
authority-tier their way through a hostile source.
skills
skills:
lattice_tier: "professional"
movement_default: "walk" # D-053 MovementProfile
inventory_slots: 2 # D-065
evidence_display: "case_file"
capability_flags:
- "authority_credentials" # Badge/ID; unlocks authority tier with Unknown/Known NPCs
- "manifest_access" # Can formally request freight manifests from institutional NPCs
- "analytical_lattice" # Pattern recognition overlay; flags behavioral anomalies at Careful stance
starting_items:
- item_id: "detective_case_file"
description: "Institutional case file: manifest discrepancy analysis, persons of interest, previous liaison notes."
leverage_type: "proof"
notes: >
The detective's starting information in physical form. Can be referenced
in dialogue to trigger authority-tier responses — "according to case file X."
Contains the manifest discrepancy data that links to Kael's work patterns,
though the detective doesn't know this yet.
- item_id: "detective_commission_credentials"
description: "Commission identification and liaison officer authorization."
leverage_type: "access"
notes: >
Credential presentation triggers authority tier access with Unknown/Known NPCs.
Does not work with ring-network NPCs in insider mode — they recognize
Commission credentials as a threat, not an access grant. Carried on person;
visible as a status marker to any NPC with institutional awareness.
presentation
presentation:
monologue_pool: "detective"
evidence_display: "case_file"
voice_register:
sentence_length: "complete sentences, occasional fragments for emphasis"
vocabulary: "institutional layer over plain speech — investigative habit without jargon"
emotional_mode: "analysis-first, personal second"
relationship_mode: "surname-first for targets, first-name for trusted"
emotional_baseline:
state: "professional-cautious"
description: >
Trained to observe, analyze, withhold judgment until evidence accumulates.
But also human — isolated in an unfamiliar community, reliant on Sera for
social grounding, aware that non-cooperation is the district default.
The analytical habit runs in the background like an operating system.
Counts things. Tracks frequencies. Flags inconsistencies. Internal bookkeeping
is automatic: "filing it," "noted," "coincidence?" The institutional training
doesn't turn off; sometimes the human overrides it. When it does, the crack
in the professional surface IS the emotional payload.
Believes in the work. Smuggling isn't victimless — unlicensed lattice
components can cause neural degradation, medical replacements diverted from
Syndic supply chains mean someone else doesn't get what they need. The
investigation is justified. But the moral clarity is starting to erode —
the community is beginning to read as more complex than "crime scene."
opening_monologue:
lines:
- "Sova Transit District. Third day on station. The briefing said routine compliance review."
- "The briefing is always wrong about something."
- "Manifest discrepancies clustered around the freight hub. Start there. Watch the shift change."
- "Good to know Sera's here. At least someone in this district speaks my language."
emotional_payload: >
Isolation, professional caution, guarded optimism about Sera. The detective
is an outsider. The district doesn't want them here. The player should feel
the gap between institutional authority and social belonging.
Authoring Notes
What makes the detective's experience distinct:
- The district is a CRIME SCENE. Every NPC is a potential witness, informant, or subject. The detective categorizes before connecting. Kael is "dock worker, Davan, K." before he's Kael. The shift to first names — if it happens — is itself a relationship marker.
- The monologue is ANALYTICAL and complete-sentence. Counts things. Notices deviations. The emotional register leaks through the analytical frame rather than leading it.
- The emotional journey of the vertical slice moves from professional isolation to specific, personal betrayal — but the betrayal is different: not "Kael lied to me," but "Sera, who I trusted completely, is compromised by something she did to protect someone I've never met."
What the detective's authority access buys: Conversations happen faster. NPCs answer direct questions. But answers are framed for compliance, not candor. The detective gets facts from people who don't want to give them — which means incomplete facts, deflected facts, facts that look complete but aren't. Authority access is a key that opens the door. It doesn't make what's inside visible.
Voice anchors (mandatory reference for all detective monologue):
- "Logistics hub. Standard prefab, heavy foot traffic. Let's see what the shift change tells me."
- "That's the third time. Sera leaves when Torek arrives. Three different excuses, same result. That's not coincidence."
- "Good to see Sera. She always was the reliable one. At least someone in this district speaks my language."
- "Same booth. Same warm smile. Same offer to buy me a drink. ...Everything except whatever she's not saying."
- "Grain spirit and low conversation. Only place in this district that doesn't smell like freight lubricant."
Ticket #181 — Detective character build. v0.1 scope.