# 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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 ```yaml 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):** 1. *"Logistics hub. Standard prefab, heavy foot traffic. Let's see what the shift change tells me."* 2. *"That's the third time. Sera leaves when Torek arrives. Three different excuses, same result. That's not coincidence."* 3. *"Good to see Sera. She always was the reliable one. At least someone in this district speaks my language."* 4. *"Same booth. Same warm smile. Same offer to buy me a drink. ...Everything except whatever she's not saying."* 5. *"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.*