diff --git a/docs/design/content-directory-structure.md b/docs/design/content-directory-structure.md index f43ee7217..dead662f1 100644 --- a/docs/design/content-directory-structure.md +++ b/docs/design/content-directory-structure.md @@ -18,7 +18,7 @@ This document defines: - Canonical ID format and naming conventions - Schema file inventory and purpose - Validation pipeline (3-tier) -- Migration path from the current wiki (`docs/wiki/`) +- Migration path from the current wiki (`wiki/`) The directory structure is designed so that a district is the atomic content pack unit. Districts can be added, removed, or replaced independently. The structure supports future mod overlay without v0.1 implementation. @@ -422,10 +422,10 @@ Load-time validation runs in sequence: ### Current State -Game content currently lives in `docs/wiki/`, organized as human-readable Markdown files: +Game content currently lives in `wiki/`, organized as human-readable Markdown files: ``` -docs/wiki/ +wiki/ npcs/ # NPC profile pages (Markdown) factions/ # Faction descriptions knowledge/ # FactId catalog, entity attributes @@ -439,11 +439,11 @@ docs/wiki/ ### Migration Strategy -The wiki (`docs/wiki/`) remains the authoring source during v0.1. Authors write and edit in the wiki. The `content/` directory is the runtime format — what the server loads. +The wiki (`wiki/`) remains the authoring source during v0.1. Authors write and edit in the wiki. The `content/` directory is the runtime format — what the server loads. The conversion from wiki Markdown to runtime YAML is a **manual process** during v0.1, tracked as ticket #398 (future). The process: -1. Author writes/edits NPC profile in `docs/wiki/npcs/kael-davan.md`. +1. Author writes/edits NPC profile in `wiki/npcs/kael-davan.md`. 2. Author (or tooling) converts the profile to `content/districts/sova-transit/npcs/kael-davan.yaml`, conforming to `_schema/npc-profile.schema.json`. 3. `make validate-content` confirms the YAML is valid. 4. Server loads from `content/`. @@ -452,13 +452,13 @@ The conversion from wiki Markdown to runtime YAML is a **manual process** during | Wiki Source | Content Target | Notes | |---|---|---| -| `docs/wiki/npcs/*.md` | `content/districts/sova-transit/npcs/*.yaml` | One-to-one mapping. Wiki profile is the human-readable source; YAML is the machine-readable runtime format. | -| `docs/wiki/factions/*.md` | `content/global/factions/*.yaml` | Faction profiles converted to structured YAML. | -| `docs/wiki/knowledge/fact-catalog.md` | `content/global/knowledge/*.yaml` | Single Markdown catalog splits into per-category YAML files. | -| `docs/wiki/knowledge/entity-attributes.md` | `content/global/knowledge/entity-attributes.yaml` | EntityKnowledge key definitions. | -| `docs/wiki/contraband/*.md` | `content/global/contraband/*.yaml` | Contraband item profiles. | -| `docs/wiki/locations/*.md` | `content/districts/sova-transit/locations/*.yaml` | Location metadata extracted from descriptions. | -| `docs/wiki/world/*.md` | `content/global/regions/*.yaml` | System/station metadata. | +| `wiki/npcs/*.md` | `content/districts/sova-transit/npcs/*.yaml` | One-to-one mapping. Wiki profile is the human-readable source; YAML is the machine-readable runtime format. | +| `wiki/factions/*.md` | `content/global/factions/*.yaml` | Faction profiles converted to structured YAML. | +| `wiki/knowledge/fact-catalog.md` | `content/global/knowledge/*.yaml` | Single Markdown catalog splits into per-category YAML files. | +| `wiki/knowledge/entity-attributes.md` | `content/global/knowledge/entity-attributes.yaml` | EntityKnowledge key definitions. | +| `wiki/contraband/*.md` | `content/global/contraband/*.yaml` | Contraband item profiles. | +| `wiki/locations/*.md` | `content/districts/sova-transit/locations/*.yaml` | Location metadata extracted from descriptions. | +| `wiki/world/*.md` | `content/global/regions/*.yaml` | System/station metadata. | | (new content) | `content/districts/sova-transit/dialogue/**/*.yaml` | Dialogue pools are new content authored directly in YAML. No wiki source. | | (new content) | `content/districts/sova-transit/monologue/**/*.yaml` | Monologue pools are new content authored directly in YAML. No wiki source. | | (new content) | `content/districts/sova-transit/routines/*.yaml` | Routine schedules are new content authored directly in YAML. No wiki source. | diff --git a/docs/design/npc-patterns/the-mirror.md b/docs/design/npc-patterns/the-mirror.md index fb49d64c6..03dde3f92 100644 --- a/docs/design/npc-patterns/the-mirror.md +++ b/docs/design/npc-patterns/the-mirror.md @@ -626,7 +626,7 @@ In a world where everyone is hiding something, the one person who isn't becomes **End Pattern Specification.** **Files referenced:** -- `/var/home/jeroenschweitzer/Projects/settled-reach/copy/docs/wiki/npcs/naia-tamm.md` — Reference implementation +- `/var/home/jeroenschweitzer/Projects/settled-reach/copy/wiki/npcs/naia-tamm.md` — Reference implementation - `/var/home/jeroenschweitzer/Projects/settled-reach/copy/decisions/content.md` — D-024 (10-axis model), D-028 (dialogue architecture), D-029 (entanglement ratio), D-032 (separate monologue pools), D-034 (THE FRIEND pattern), D-035 (tag taxonomy) - `/var/home/jeroenschweitzer/Projects/settled-reach/copy/docs/workshops/v01-content-scoping/round2-gestalt.md` — Pattern definitions and NPC mapping - `/var/home/jeroenschweitzer/Projects/settled-reach/copy/docs/workshops/v01-gap-analysis/round2-gestalt.md` — Unified observation system, character identity integration diff --git a/docs/design/pc-as-npc-spec.md b/docs/design/pc-as-npc-spec.md index 3927073d4..7d4df6560 100644 --- a/docs/design/pc-as-npc-spec.md +++ b/docs/design/pc-as-npc-spec.md @@ -570,7 +570,7 @@ The smuggler can approach and talk to the detective-NPC. The detective-NPC respo ## Appendix B: EntityKnowledge Key Reference -The 16 canonical keys used throughout this document (from `docs/wiki/knowledge/entity-attributes.md`): +The 16 canonical keys used throughout this document (from `wiki/knowledge/entity-attributes.md`): | Category | Keys | |----------|------| diff --git a/docs/sprints/sprint-3/copy.md b/docs/sprints/sprint-3/copy.md index 2f68d70e2..0cb6fe670 100644 --- a/docs/sprints/sprint-3/copy.md +++ b/docs/sprints/sprint-3/copy.md @@ -59,7 +59,7 @@ This ticket is HIGH PRIORITY and blocks server work. Complete early in sprint. Add 4 new role-perspective keys to entity-attributes.md: `risk_assessment`, `loyalty_assessment`, `position_integrity`, `moral_weight`. Rename `secret_held` → `leverage_held` (broader scope: secrets, debts, promises, obligations). Rename `secret_confidence` → `leverage_confidence`. Update `trust_level` description to absorb trust_read scope. All keys are observer→target relationships. Total after update: 16 canonical keys. -**Files:** `docs/wiki/entity-attributes.md` +**Files:** `wiki/entity-attributes.md` **#380 (THE MIRROR pattern spec):** @@ -91,13 +91,13 @@ Add smuggler decision fork to Triangle 1 (Hub Power): side with Nils (louder sig **Blocked by #376** (Nils Davan stub profile — currently referenced in 5+ NPC profiles but has no wiki page). -**Files:** `docs/wiki/triangles/triangle-1-hub-power.md` +**Files:** `wiki/triangles/triangle-1-hub-power.md` **#396 (Apply Round 2 NPC pattern/motivation mapping):** Apply the Round 2 finalized NPC pattern/motivation mapping (Gestalt-Paula synthesis from workshop) to wiki and content files. 17 NPCs × (pattern + motivation). Includes Harek structural role formalization (Paula Gap 7 resolution). -**Files:** All NPC wiki pages in `docs/wiki/npcs/` +**Files:** All NPC wiki pages in `wiki/npcs/` **#397 (Drin Tier 2 expansion):** @@ -105,7 +105,7 @@ Drin confirmed promoted to Tier 2 (A-01 consensus). Expand wiki profile to full **Blocked by #396** (pattern/motivation must be applied first). -**Files:** `docs/wiki/npcs/drin-rosta.md` +**Files:** `wiki/npcs/drin-rosta.md` ### Specifications and Documentation @@ -145,7 +145,7 @@ Fix hub_m_ → terminal_m_ inconsistency in monologue-guide.md. Canonical shortc Minimal off-stage profile: Core Identity, relationship to Kael (siblings), role in ring (upstream pressure), known attributes by other NPCs. Referenced in 5+ NPC profiles but has no wiki page. -**Files:** `docs/wiki/npcs/nils-davan.md` (new, stub) +**Files:** `wiki/npcs/nils-davan.md` (new, stub) ## Dependency Chain diff --git a/docs/workshops/v01-content-scoping/round1-paula.md b/docs/workshops/v01-content-scoping/round1-paula.md index 297e46697..882d58e3e 100644 --- a/docs/workshops/v01-content-scoping/round1-paula.md +++ b/docs/workshops/v01-content-scoping/round1-paula.md @@ -10,21 +10,21 @@ | # | File | Change Type | Details | |---|------|-------------|---------| -| 1 | `docs/wiki/npcs/hael.md` | **Rename + rewrite** | File becomes `docs/wiki/npcs/naia-tamm.md`. All internal references change. Header becomes "Naia Tamm — THE MIRROR". Pattern assignment changes from implicit to explicit MIRROR. | -| 2 | `docs/wiki/npcs/index.md` | Content update | Roster table row 9: "Hael" → "Naia Tamm". Triangle 4 diagram: all 3 "Hael" labels. Bridge NPCs table: not listed (Naia isn't a bridge NPC). Social site listing for The Last Shift: "Hael (Teacher)" → "Naia Tamm (Teacher)". | -| 3 | `docs/wiki/index.md` | Content update | NPC listing under Tier 2: `[Hael](npcs/hael.md) — Kael's partner` → `[Naia Tamm](npcs/naia-tamm.md) — Kael's partner`. | -| 4 | `docs/wiki/npcs/kael-davan.md` | Content update | **Heaviest single file.** 20+ occurrences. Axis 1 secondary Want, Axis 2 (deep secret), Relationship 2 (full section), Axis 4 tolerance, Axis 5 routine, Axis 6 information inventory, Axis 7 contentment, Voice sample (Mood: Protective), Dual-lens smuggler notes, Triangle 4 role notes, Secret section, Contradiction arc Phase 1 through 5, Authoring notes. Every "Hael" → "Naia" in dialogue/casual references (Krenn first-name-primary convention). Every "Hael" → "Naia Tamm" in formal/profile references. | -| 5 | `docs/wiki/npcs/sera-venn.md` | Content update | ~15 occurrences. Relationship 2 (full section), Axis 4 tolerance, Axis 5 routine, Axis 6 information inventory, Axis 7 contentment, Tell system, Voice sample, Dual-lens notes, Triangle 4 role notes, Secret section, Contradiction arc, Authoring notes. Same casual/formal distinction as Kael's file. | -| 6 | `docs/wiki/npcs/lera-sessik.md` | Content update | Axis 6 information inventory: "Hael's worry about Kael" → "Naia Tamm's worry about Kael". | -| 7 | `docs/wiki/npcs/maret-korr.md` | Content update | Axis 5 routine: "goes for Hael's company sometimes" → "goes for Naia's company sometimes". | -| 8 | `docs/wiki/authoring/monologue-guide.md` | Content update | Any monologue examples referencing Hael. | -| 9 | `docs/wiki/locations/krenn-system/the-last-shift.md` | Content update | NPC presence list, social dynamics references. | -| 10 | `docs/wiki/world/sova-transit-district.md` | Content update | Any district NPC references. | -| 11 | `docs/wiki/factions/the-ring.md` | Content update | Likely references Hael as collateral/vulnerability for Kael. | -| 12 | `docs/wiki/knowledge/relationship-states.md` | Content update | Any example entries using Hael as a relationship target. | -| 13 | `docs/wiki/knowledge/entity-attributes.md` | Content update | Scan for Hael in example EntityKnowledge entries. | -| 14 | `docs/wiki/knowledge/fact-catalog.md` | Content update | FactId entries referencing Hael (e.g., `npc.hael.worry`, `relationship.kael.hael`). IDs change to `npc.naia_tamm.*` and `relationship.kael.naia_tamm`. | -| 15 | `docs/wiki/world/krenn-system.md` | Content update | NPC naming examples list. | +| 1 | `wiki/npcs/hael.md` | **Rename + rewrite** | File becomes `wiki/npcs/naia-tamm.md`. All internal references change. Header becomes "Naia Tamm — THE MIRROR". Pattern assignment changes from implicit to explicit MIRROR. | +| 2 | `wiki/npcs/index.md` | Content update | Roster table row 9: "Hael" → "Naia Tamm". Triangle 4 diagram: all 3 "Hael" labels. Bridge NPCs table: not listed (Naia isn't a bridge NPC). Social site listing for The Last Shift: "Hael (Teacher)" → "Naia Tamm (Teacher)". | +| 3 | `wiki/index.md` | Content update | NPC listing under Tier 2: `[Hael](npcs/hael.md) — Kael's partner` → `[Naia Tamm](npcs/naia-tamm.md) — Kael's partner`. | +| 4 | `wiki/npcs/kael-davan.md` | Content update | **Heaviest single file.** 20+ occurrences. Axis 1 secondary Want, Axis 2 (deep secret), Relationship 2 (full section), Axis 4 tolerance, Axis 5 routine, Axis 6 information inventory, Axis 7 contentment, Voice sample (Mood: Protective), Dual-lens smuggler notes, Triangle 4 role notes, Secret section, Contradiction arc Phase 1 through 5, Authoring notes. Every "Hael" → "Naia" in dialogue/casual references (Krenn first-name-primary convention). Every "Hael" → "Naia Tamm" in formal/profile references. | +| 5 | `wiki/npcs/sera-venn.md` | Content update | ~15 occurrences. Relationship 2 (full section), Axis 4 tolerance, Axis 5 routine, Axis 6 information inventory, Axis 7 contentment, Tell system, Voice sample, Dual-lens notes, Triangle 4 role notes, Secret section, Contradiction arc, Authoring notes. Same casual/formal distinction as Kael's file. | +| 6 | `wiki/npcs/lera-sessik.md` | Content update | Axis 6 information inventory: "Hael's worry about Kael" → "Naia Tamm's worry about Kael". | +| 7 | `wiki/npcs/maret-korr.md` | Content update | Axis 5 routine: "goes for Hael's company sometimes" → "goes for Naia's company sometimes". | +| 8 | `wiki/authoring/monologue-guide.md` | Content update | Any monologue examples referencing Hael. | +| 9 | `wiki/locations/krenn-system/the-last-shift.md` | Content update | NPC presence list, social dynamics references. | +| 10 | `wiki/world/sova-transit-district.md` | Content update | Any district NPC references. | +| 11 | `wiki/factions/the-ring.md` | Content update | Likely references Hael as collateral/vulnerability for Kael. | +| 12 | `wiki/knowledge/relationship-states.md` | Content update | Any example entries using Hael as a relationship target. | +| 13 | `wiki/knowledge/entity-attributes.md` | Content update | Scan for Hael in example EntityKnowledge entries. | +| 14 | `wiki/knowledge/fact-catalog.md` | Content update | FactId entries referencing Hael (e.g., `npc.hael.worry`, `relationship.kael.hael`). IDs change to `npc.naia_tamm.*` and `relationship.kael.naia_tamm`. | +| 15 | `wiki/world/krenn-system.md` | Content update | NPC naming examples list. | | 16 | `decisions/content.md` | Content update | D-034 references Hael twice (Kael's partner, Triangle 4). D-036 references Hael in the naming examples list. | #### Naming convention for the rename @@ -360,7 +360,7 @@ These are load-bearing for the dual-lens experience. The smuggler player should #### Gap 2: Monologue Content Pool — Zero Authored Lines -The wiki profiles contain example monologue lines (embedded in contradiction arc descriptions), but there is no monologue content file. The authoring guide (`docs/wiki/authoring/monologue-guide.md`) defines the format, but no actual pool exists. Mellanie needs a minimum viable pool before the monologue system can be tested. +The wiki profiles contain example monologue lines (embedded in contradiction arc descriptions), but there is no monologue content file. The authoring guide (`wiki/authoring/monologue-guide.md`) defines the format, but no actual pool exists. Mellanie needs a minimum viable pool before the monologue system can be tested. **Blocks:** Monologue system integration testing, client UI monologue display. @@ -382,7 +382,7 @@ Triangle 1's fork is designed above (1c). But Triangles 2-5 also need player dec #### Gap 5: FactId Catalog — Smuggler Path Entries Sparse -The fact catalog (`docs/wiki/knowledge/fact-catalog.md`) likely has detective-oriented entries (manifest discrepancies, behavioral observations). Smuggler-path FactIds need equivalent coverage: operational facts (who handles what), risk assessments, loyalty intelligence. +The fact catalog (`wiki/knowledge/fact-catalog.md`) likely has detective-oriented entries (manifest discrepancies, behavioral observations). Smuggler-path FactIds need equivalent coverage: operational facts (who handles what), risk assessments, loyalty intelligence. **Blocks:** Knowledge graph population for smuggler character, monologue prerequisite checking. diff --git a/docs/workshops/v01-content-scoping/round1-si.md b/docs/workshops/v01-content-scoping/round1-si.md index 4c9cff24d..fb684dc5a 100644 --- a/docs/workshops/v01-content-scoping/round1-si.md +++ b/docs/workshops/v01-content-scoping/round1-si.md @@ -62,7 +62,7 @@ These existing tickets need status changes based on workshop context: | ID | Title | Current Status | Action | |----|-------|---------------|--------| -| #368 | Knowledge vocabulary for v0.1 content | in_progress (Sprint 2) | **Close when wiki review is accepted.** The wiki at `docs/wiki/` is the output. Workshop is the review. | +| #368 | Knowledge vocabulary for v0.1 content | in_progress (Sprint 2) | **Close when wiki review is accepted.** The wiki at `wiki/` is the output. Workshop is the review. | | #369 | Wiki Review Workshop Outputs (epic) | backlog | **Repurpose** as parent epic for v0.1 content scoping tickets. Update description to reflect this workshop's scope. | | #301 | Wiki taxonomy and structure | backlog | **Assign to copy team.** Downscope for v0.1: focus on Sova district structure only. Full 500+ world taxonomy is a generator-era concern. | | #319 | Krenn System wiki entry | backlog | **Merge with A3.** Expanded scope: wiki page + seed.yaml reference implementation. Assign to copy. | diff --git a/docs/workshops/v01-content-scoping/round2-paula.md b/docs/workshops/v01-content-scoping/round2-paula.md index b596afb2b..3da7b3bd0 100644 --- a/docs/workshops/v01-content-scoping/round2-paula.md +++ b/docs/workshops/v01-content-scoping/round2-paula.md @@ -139,7 +139,7 @@ The changes are ordered by dependency — later items reference earlier items' o Below is the exact content change needed for each file. I'm specifying what to find and what to replace so this can be executed mechanically. -#### File 1: `docs/wiki/npcs/hael.md` → rename to `docs/wiki/npcs/naia-tamm.md` +#### File 1: `wiki/npcs/hael.md` → rename to `wiki/npcs/naia-tamm.md` Full rewrite of the file header and all internal references. Key structural changes: @@ -217,7 +217,7 @@ consequences of that cultivation become apparent. [Lera Sessik](lera-sessik.md) ``` -#### File 2: `docs/wiki/npcs/index.md` +#### File 2: `wiki/npcs/index.md` **Roster table row 9:** - Old: `| 9 | Hael | Teacher (Kael's Partner) | Bar | Tier 2 | Mundane | Worried Partner |` @@ -243,7 +243,7 @@ consequences of that cultivation become apparent. **Content Deliverables section:** - Move Naia Tamm from "Tier 2" list to a new "Tier 1 (MIRROR)" subsection, or note the tier change explicitly. -#### File 3: `docs/wiki/index.md` +#### File 3: `wiki/index.md` **NPC listing:** - Old: `- [Hael](npcs/hael.md) — Kael's partner (referenced)` @@ -255,7 +255,7 @@ Also move from "Tier 2" to a new bullet under Tier 1: - [Naia Tamm](npcs/naia-tamm.md) — Kael's partner, teacher ``` -#### File 4: `docs/wiki/npcs/kael-davan.md` (~20+ replacements) +#### File 4: `wiki/npcs/kael-davan.md` (~20+ replacements) This is the heaviest file. Every "Hael" becomes "Naia" in dialogue/monologue contexts and "Naia Tamm" in descriptive/profile contexts. Key sections: @@ -278,7 +278,7 @@ File link in cross-references: - Old: `[Hael](hael.md)` (if present) - New: `[Naia Tamm](naia-tamm.md)` -#### File 5: `docs/wiki/npcs/sera-venn.md` (~15 replacements) +#### File 5: `wiki/npcs/sera-venn.md` (~15 replacements) Same pattern as Kael. Key sections: - **Axis 1 (Want), Secondary**: "Protect Hael" → "Protect Naia Tamm" @@ -295,40 +295,40 @@ Same pattern as Kael. Key sections: | File | Changes | |------|---------| -| `docs/wiki/npcs/lera-sessik.md` | Axis 6 info inventory: "Hael's worry about Kael" → "Naia Tamm's worry about Kael" | -| `docs/wiki/npcs/maret-korr.md` | Axis 5 routine: "goes for Hael's company" → "goes for Naia's company" | -| `docs/wiki/authoring/monologue-guide.md` | Any monologue examples referencing Hael | -| `docs/wiki/locations/krenn-system/the-last-shift.md` | NPC presence list, social dynamics | -| `docs/wiki/world/sova-transit-district.md` | NPC references | -| `docs/wiki/factions/the-ring.md` | Kael vulnerability references | -| `docs/wiki/knowledge/relationship-states.md` | Example entries | -| `docs/wiki/knowledge/entity-attributes.md` | Example entries | -| `docs/wiki/knowledge/fact-catalog.md` | FactId entries: `npc.hael.*` → `npc.naia_tamm.*`, `relationship.kael.hael` → `relationship.kael.naia_tamm` | -| `docs/wiki/world/krenn-system.md` | Naming examples list: "Hael" → keep (it's a valid Krenn first name), but add "Naia" to the list if not present | +| `wiki/npcs/lera-sessik.md` | Axis 6 info inventory: "Hael's worry about Kael" → "Naia Tamm's worry about Kael" | +| `wiki/npcs/maret-korr.md` | Axis 5 routine: "goes for Hael's company" → "goes for Naia's company" | +| `wiki/authoring/monologue-guide.md` | Any monologue examples referencing Hael | +| `wiki/locations/krenn-system/the-last-shift.md` | NPC presence list, social dynamics | +| `wiki/world/sova-transit-district.md` | NPC references | +| `wiki/factions/the-ring.md` | Kael vulnerability references | +| `wiki/knowledge/relationship-states.md` | Example entries | +| `wiki/knowledge/entity-attributes.md` | Example entries | +| `wiki/knowledge/fact-catalog.md` | FactId entries: `npc.hael.*` → `npc.naia_tamm.*`, `relationship.kael.hael` → `relationship.kael.naia_tamm` | +| `wiki/world/krenn-system.md` | Naming examples list: "Hael" → keep (it's a valid Krenn first name), but add "Naia" to the list if not present | | `decisions/content.md` | D-034: "partner Hael" → "partner Naia Tamm". D-036: naming examples list update. | ### P0-2: Nils Davan Stub — Execution-Ready Content -The full stub page draft was provided in my Round 1 response. It's ready to write to `docs/wiki/npcs/nils-davan.md`. +The full stub page draft was provided in my Round 1 response. It's ready to write to `wiki/npcs/nils-davan.md`. **Cross-reference updates needed after creation:** | File | Change | |------|--------| -| `docs/wiki/npcs/index.md` | Add Nils to the Smuggling Ring social site listing. Add to roster table as off-stage NPC. | -| `docs/wiki/index.md` | Add `[Nils Davan](npcs/nils-davan.md) — Ring coordinator (off-stage)` to NPC listing. | -| `docs/wiki/npcs/kael-davan.md` | Add cross-reference link at bottom: `[Nils Davan](nils-davan.md)` | -| `docs/wiki/npcs/voss.md` | Add cross-reference link | -| `docs/wiki/npcs/devra.md` | Add cross-reference link | -| `docs/wiki/npcs/renn.md` | Add cross-reference link | +| `wiki/npcs/index.md` | Add Nils to the Smuggling Ring social site listing. Add to roster table as off-stage NPC. | +| `wiki/index.md` | Add `[Nils Davan](npcs/nils-davan.md) — Ring coordinator (off-stage)` to NPC listing. | +| `wiki/npcs/kael-davan.md` | Add cross-reference link at bottom: `[Nils Davan](nils-davan.md)` | +| `wiki/npcs/voss.md` | Add cross-reference link | +| `wiki/npcs/devra.md` | Add cross-reference link | +| `wiki/npcs/renn.md` | Add cross-reference link | ### P0-3: Drin Tier 2 Expansion Full 7-axis draft provided in Round 1. Gestalt confirms promotion (A-01 consensus). Execution: -1. Rewrite `docs/wiki/npcs/drin.md` from Tier 3 format to Tier 2 format using my Round 1 draft -2. Update `docs/wiki/npcs/index.md` roster table: Tier 3 → Tier 2, update entanglement -3. Update `docs/wiki/index.md`: Move Drin from Tier 3 listing to Tier 2 +1. Rewrite `wiki/npcs/drin.md` from Tier 3 format to Tier 2 format using my Round 1 draft +2. Update `wiki/npcs/index.md` roster table: Tier 3 → Tier 2, update entanglement +3. Update `wiki/index.md`: Move Drin from Tier 3 listing to Tier 2 4. Add Gestalt's v0.1 mapping to header: `**Pattern**: REMNANT | **Motivation**: TURNCOAT` ### P1-1: Canonical Names diff --git a/docs/workshops/v01-content-scoping/round2-si.md b/docs/workshops/v01-content-scoping/round2-si.md index 7c164bea7..12339e11d 100644 --- a/docs/workshops/v01-content-scoping/round2-si.md +++ b/docs/workshops/v01-content-scoping/round2-si.md @@ -39,7 +39,7 @@ Incorporates: all 7 Round 1 responses, Qatux tracking doc, lead decisions (D-NPC | ID | Title | Action | Sprint Target | |----|-------|--------|---------------| -| #368 | Knowledge vocabulary for v0.1 content | **Close** — wiki at `docs/wiki/` is the delivered output | Sprint 2 (done) | +| #368 | Knowledge vocabulary for v0.1 content | **Close** — wiki at `wiki/` is the delivered output | Sprint 2 (done) | | #369 | Wiki Review Workshop Outputs (epic) | **Repurpose** as parent epic for all v0.1 content scoping tickets. Update description. | — | | #301 | Wiki taxonomy and structure | **Assign to copy.** Downscope: Sova district structure only for v0.1. Full 500+ world taxonomy is generator-era. | Sprint 3 | | #319 | Krenn System wiki entry | **Merge with A3.** Expanded: wiki page + seed.yaml reference implementation. Assign to copy. | Sprint 4 | diff --git a/docs/workshops/v01-content-scoping/si-ticket-changes.md b/docs/workshops/v01-content-scoping/si-ticket-changes.md index d2549d5b2..2616e6558 100644 --- a/docs/workshops/v01-content-scoping/si-ticket-changes.md +++ b/docs/workshops/v01-content-scoping/si-ticket-changes.md @@ -26,7 +26,7 @@ | ID | Title | Action | Sprint | |----|-------|--------|--------| -| #368 | Knowledge vocabulary for v0.1 content | **Close** — wiki at `docs/wiki/` is the delivered output. | Sprint 2 (done) | +| #368 | Knowledge vocabulary for v0.1 content | **Close** — wiki at `wiki/` is the delivered output. | Sprint 2 (done) | | #369 | Wiki Review Workshop Outputs (epic) | **Repurpose** as parent epic for all v0.1 content scoping tickets. Update description to reflect this workshop's scope. | — | | #301 | Wiki taxonomy and structure | **Assign to copy.** Downscope: Sova district structure only for v0.1. | Sprint 3 | | #319 | Krenn System wiki entry | **Merge with A3.** Expanded: wiki page + seed.yaml reference implementation. Assign to copy. | Sprint 4 | diff --git a/docs/workshops/v01-content-scoping/v01-content-scoping-workshop-brief.md b/docs/workshops/v01-content-scoping/v01-content-scoping-workshop-brief.md index 810146e72..582855a4b 100644 --- a/docs/workshops/v01-content-scoping/v01-content-scoping-workshop-brief.md +++ b/docs/workshops/v01-content-scoping/v01-content-scoping-workshop-brief.md @@ -13,7 +13,7 @@ The Wiki Review workshop (4 rounds + lead interview) produced a comprehensive long-term content strategy documented in `docs/workshops/wiki-review/SUMMARY.md`. The key outcome: the full game targets 300 worlds populated by generators fed by style briefs. But **v0.1 is NOT a generator test. v0.1 is proof of the interaction model** — 1 district, hand-authored, proving that the player can touch the world and the world can touch back. -The existing wiki (`docs/wiki/`, 45 files, ticket #368) contains the content for Sova Transit District: 17 NPCs across 3 tiers, 5 triangles, 3 social sites, knowledge vocabulary (FactIds, entity attributes, relationship states), and an authoring guide. This content has known gaps and issues identified in Rounds 1-2 of the Wiki Review. +The existing wiki (`wiki/`, 45 files, ticket #368) contains the content for Sova Transit District: 17 NPCs across 3 tiers, 5 triangles, 3 social sites, knowledge vocabulary (FactIds, entity attributes, relationship states), and an authoring guide. This content has known gaps and issues identified in Rounds 1-2 of the Wiki Review. **This workshop scopes and prioritizes the content work needed to ship v0.1.** @@ -38,8 +38,8 @@ The existing wiki (`docs/wiki/`, 45 files, ticket #368) contains the content for Before responding, read: 1. `docs/workshops/wiki-review/SUMMARY.md` — the long-term content strategy (essential context) 2. `docs/workshops/wiki-review/lead-interview.md` — lead's decisions on cultural ingredients, NPC composition, archetypes, randomization, scale -3. `docs/wiki/index.md` — current wiki structure -4. `docs/wiki/npcs/index.md` — NPC roster and triangles +3. `wiki/index.md` — current wiki structure +4. `wiki/npcs/index.md` — NPC roster and triangles 5. `decisions/content.md` — D-028, D-034, D-035, D-036, D-037 6. `decisions/scope.md` — D-027, D-039 @@ -115,7 +115,7 @@ v0.1 has 17 NPCs across 3 tiers. Not all patterns and motivations need to be pre **How does wiki content become engine-readable data?** -The wiki (`docs/wiki/`) is the authoring source. The engine needs content in a structured format the server can load. The directory structure must: +The wiki (`wiki/`) is the authoring source. The engine needs content in a structured format the server can load. The directory structure must: - Support the v0.1 content (1 district, hand-authored) - Be architecturally compatible with the 300-world generator output (same schema, same addressing) - Allow hot-reloading during development diff --git a/docs/workshops/wiki-review/SUMMARY.md b/docs/workshops/wiki-review/SUMMARY.md index a02b5aa63..a09a83900 100644 --- a/docs/workshops/wiki-review/SUMMARY.md +++ b/docs/workshops/wiki-review/SUMMARY.md @@ -10,7 +10,7 @@ ### Scope Evolution -The workshop began as a v0.1 wiki review (45 files in `docs/wiki/`, ticket #368) with 6 defined topics: direction check, style guides, regional style guide, wiki taxonomy, content directory structure, and randomizer/PC briefs. Rounds 1-2 produced 88 tracked proposals and 20 consensus items focused on v0.1 content quality: NPC profiles, smuggler lens parity, triangle strengthening, naming conventions, and content directory structure. +The workshop began as a v0.1 wiki review (45 files in `wiki/`, ticket #368) with 6 defined topics: direction check, style guides, regional style guide, wiki taxonomy, content directory structure, and randomizer/PC briefs. Rounds 1-2 produced 88 tracked proposals and 20 consensus items focused on v0.1 content quality: NPC profiles, smuggler lens parity, triangle strengthening, naming conventions, and content directory structure. Between Rounds 2 and 3, the lead redirected the workshop toward long-term content strategy. Round 3 asked "What does the full game look like?" and collected scaling estimates, cultural group proposals, NPC pattern libraries, and PC archetype lists from all contributors — all calculated at a 20-district scale. diff --git a/docs/workshops/wiki-review/round1-tyre.md b/docs/workshops/wiki-review/round1-tyre.md index 0427d981e..c0507b403 100644 --- a/docs/workshops/wiki-review/round1-tyre.md +++ b/docs/workshops/wiki-review/round1-tyre.md @@ -117,7 +117,7 @@ The structure survives because the nesting is shallow and disambiguation is on-d *cracks knuckles* -This is the architectural meat. The wiki (`docs/wiki/`) is the authoring source of truth — human-readable, team-navigable. The content directory (`content/`) is the engine-readable delivery format — YAML, schema-validated, loaded at runtime. They mirror each other structurally but serve different consumers. +This is the architectural meat. The wiki (`wiki/`) is the authoring source of truth — human-readable, team-navigable. The content directory (`content/`) is the engine-readable delivery format — YAML, schema-validated, loaded at runtime. They mirror each other structurally but serve different consumers. ### Architecture: Three-Layer Content Stack @@ -456,7 +456,7 @@ Hot-reload is **development-only** (behind `#[cfg(feature = "dev")]`). Release b ### How Wiki and Content Relate ``` -docs/wiki/ → Human-authored source of truth (markdown) +wiki/ → Human-authored source of truth (markdown) ↓ (authoring pipeline: wiki → YAML) content/ → Engine-readable delivery format (YAML) ↓ (engine loads at startup) @@ -569,11 +569,11 @@ Total for full content pipeline: ~4.5 sprints. But we don't need all of it for v | Wiki path | Content path | Notes | |---|---|---| -| `docs/wiki/npcs/kael-davan.md` | `content/districts/sova-transit/npcs/kael-davan.yaml` | NPC is district-scoped | -| `docs/wiki/locations/krenn-system/the-terminal.md` | `content/districts/sova-transit/locations/the-terminal.yaml` | Location is district-scoped | -| `docs/wiki/factions/lattice-commission.md` | `content/global/factions/lattice-commission.yaml` | Faction is global | -| `docs/wiki/knowledge/fact-catalog.md` | `content/global/knowledge/facts.yaml` | All FactIds in one file | -| `docs/wiki/authoring/monologue-guide.md` | N/A (authoring reference, not engine content) | Wiki-only | +| `wiki/npcs/kael-davan.md` | `content/districts/sova-transit/npcs/kael-davan.yaml` | NPC is district-scoped | +| `wiki/locations/krenn-system/the-terminal.md` | `content/districts/sova-transit/locations/the-terminal.yaml` | Location is district-scoped | +| `wiki/factions/lattice-commission.md` | `content/global/factions/lattice-commission.yaml` | Faction is global | +| `wiki/knowledge/fact-catalog.md` | `content/global/knowledge/facts.yaml` | All FactIds in one file | +| `wiki/authoring/monologue-guide.md` | N/A (authoring reference, not engine content) | Wiki-only | | N/A | `content/districts/sova-transit/lines/terminal/dialogue.yaml` | Engine-only (authored YAML) | The mapping is consistent but not 1:1. Some wiki pages are references that don't produce engine content. Some engine content (line pools) doesn't have a wiki counterpart — it IS the content. diff --git a/docs/workshops/wiki-review/si-ticket-changes.md b/docs/workshops/wiki-review/si-ticket-changes.md index 4c8dd2829..59e0afb9e 100644 --- a/docs/workshops/wiki-review/si-ticket-changes.md +++ b/docs/workshops/wiki-review/si-ticket-changes.md @@ -12,7 +12,7 @@ |----|-------|--------|-----------| | #301 | Wiki taxonomy and structure — full future-ready schema | **Update description** — workshop produced concrete taxonomy rules (Tyre R2 §5, Miri canonical_id). Assign to **copy** team. | Workshop directly addresses this ticket's scope. | | #319 | Krenn System wiki entry — first star system | **Update description** — Miri delivered Krenn System brief in workshop (Round 1+2). Assign to **copy** team. Will be fulfilled by new ticket for cultural-groups file. | Miri's brief supersedes the original scope. | -| #368 | Knowledge vocabulary for v0.1 content (#309) | **Mark done** — the wiki at `docs/wiki/` is the output. Currently in_progress. | Workshop is the review of #368's output. | +| #368 | Knowledge vocabulary for v0.1 content (#309) | **Mark done** — the wiki at `wiki/` is the output. Currently in_progress. | Workshop is the review of #368's output. | | #261 | Dual Lens Authoring Guide | **No change** — still blocking. Workshop confirms its importance. Assign to **copy** team when ready. | Workshop style guide work complements but doesn't replace #261. | --- diff --git a/docs/workshops/wiki-review/wiki-review-workshop-brief.md b/docs/workshops/wiki-review/wiki-review-workshop-brief.md index 3dac661c0..d43a42399 100644 --- a/docs/workshops/wiki-review/wiki-review-workshop-brief.md +++ b/docs/workshops/wiki-review/wiki-review-workshop-brief.md @@ -10,7 +10,7 @@ ## Context -Sprint 2 just produced `docs/wiki/` — 45 files covering the full knowledge vocabulary for v0.1 (ticket #368). This includes NPC profiles (17 NPCs across 3 tiers), location pages, faction pages, technology/contraband references, knowledge system vocabulary (FactIds, entity attributes, relationship states), and an authoring guide. +Sprint 2 just produced `wiki/` — 45 files covering the full knowledge vocabulary for v0.1 (ticket #368). This includes NPC profiles (17 NPCs across 3 tiers), location pages, faction pages, technology/contraband references, knowledge system vocabulary (FactIds, entity attributes, relationship states), and an authoring guide. Before we commit this as canonical and build YAML content files on top of it (#299, #300, #309), we need to review it as a team. Paula and Mellanie served as the primary authors and can explain the reasoning behind structure and content decisions. @@ -30,11 +30,11 @@ Review the wiki holistically. Check that: - The knowledge vocabulary (FactIds, relationship states, confidence levels) can express everything the narrative needs **Key files to review:** -- `docs/wiki/npcs/index.md` — roster + triangle diagrams -- `docs/wiki/npcs/kael-davan.md` — Tier 1 FRIEND reference -- `docs/wiki/npcs/sera-venn.md` — Tier 1 FRIEND reference -- `docs/wiki/knowledge/relationship-states.md` — contradiction arcs -- `docs/wiki/knowledge/fact-catalog.md` — FactId vocabulary +- `wiki/npcs/index.md` — roster + triangle diagrams +- `wiki/npcs/kael-davan.md` — Tier 1 FRIEND reference +- `wiki/npcs/sera-venn.md` — Tier 1 FRIEND reference +- `wiki/knowledge/relationship-states.md` — contradiction arcs +- `wiki/knowledge/fact-catalog.md` — FactId vocabulary **Questions:** 1. **Gore:** Does this capture what the game is fundamentally ABOUT? The philosophical questions, the identity tensions? @@ -180,12 +180,12 @@ The wiki is the authoring source. But the game needs content in engine-readable Participants should read before responding: -- **Wiki index:** `docs/wiki/index.md` -- **NPC roster:** `docs/wiki/npcs/index.md` -- **Kael profile (Tier 1 reference):** `docs/wiki/npcs/kael-davan.md` -- **Sera profile (Tier 1 reference):** `docs/wiki/npcs/sera-venn.md` -- **Relationship states:** `docs/wiki/knowledge/relationship-states.md` -- **Fact catalog:** `docs/wiki/knowledge/fact-catalog.md` -- **Monologue guide:** `docs/wiki/authoring/monologue-guide.md` +- **Wiki index:** `wiki/index.md` +- **NPC roster:** `wiki/npcs/index.md` +- **Kael profile (Tier 1 reference):** `wiki/npcs/kael-davan.md` +- **Sera profile (Tier 1 reference):** `wiki/npcs/sera-venn.md` +- **Relationship states:** `wiki/knowledge/relationship-states.md` +- **Fact catalog:** `wiki/knowledge/fact-catalog.md` +- **Monologue guide:** `wiki/authoring/monologue-guide.md` - **Decisions:** `decisions/content.md`, `decisions/scope.md`, `decisions/perception.md` - **Previous workshops:** `docs/workshops/content-gap-analysis_v0_1/`, `docs/workshops/v01-gap-analysis/` diff --git a/wiki/GOVERNANCE.md b/wiki/GOVERNANCE.md new file mode 100644 index 000000000..2098ebaef --- /dev/null +++ b/wiki/GOVERNANCE.md @@ -0,0 +1,98 @@ +# Wiki Governance + +**Owner:** Miri (structure and worldbuilding) +**Contributors:** Anyone on the team, following templates + +--- + +## Status Lifecycle + +Every wiki entry has a `status` field in its YAML frontmatter: + +| Status | Meaning | Who Can Set | +|--------|---------|-------------| +| `proposed` | Under consideration, not yet reviewed | Anyone | +| `draft` | In review, content being refined | Author + reviewer | +| `canonical` | Confirmed setting truth, safe to reference | Miri or project lead | + +**Progression:** `proposed` → `draft` → `canonical` + +**Demotion:** A `canonical` entry can be demoted to `draft` if a decision changes its foundation. Only Miri or the project lead can demote canonical entries. + +--- + +## Creating New Entries + +1. Copy the appropriate template from `_templates/` +2. Fill in the YAML frontmatter (all fields) +3. Set `status: proposed` +4. Write the content following the template structure +5. Submit for review + +**Templates available:** `star-system`, `station`, `district`, `location`, `character`, `faction`, `technology`, `cultural-group`, `contraband`, `institution`, `species`, `lore`, `concept`, `triangle` + +--- + +## Directory Rules + +### Spatial Hierarchy (`star-systems/`) + +``` +star-systems/ + {system-slug}/ + index.md # System overview + {station-slug}/ + index.md # Station overview + {district-slug}/ + index.md # District overview + {location-slug}.md # Location files (flat within district) +``` + +- Systems contain stations (nested directories) +- Stations contain districts (nested directories) +- Districts contain locations (flat files, no subdirectory) +- Each directory level has an `index.md` with that entity's overview +- Slugs are lowercase, hyphenated, unique within their parent + +### Flat Categories + +All other categories use flat file structure: + +``` +{category}/ + {entry-slug}.md +``` + +No nesting within flat categories. Use `cross_refs` in frontmatter for relationships. + +--- + +## Cross-Referencing + +- Use `cross_refs` in YAML frontmatter for machine-readable references (slugs only) +- Use markdown links in body text for human-readable navigation +- Use `decision_refs` for links to `decisions/*.md` entries (e.g., `[D-036]`) + +--- + +## Scale Considerations + +The spatial hierarchy is designed to scale from 1 star system (v0.1) to 500+ (full game): + +- Each system is a self-contained directory tree +- Cross-system references use full slug paths (e.g., `star-systems/krenn/sova/transit`) +- Characters, factions, and other flat categories remain at wiki root — they are not nested per system +- Characters reference their home district via `home_district` frontmatter field + +--- + +## Naming Conventions + +- **File slugs:** lowercase, hyphenated (e.g., `kael-davan.md`, `the-last-shift.md`) +- **Directory slugs:** lowercase, hyphenated (e.g., `krenn/`, `sova/`, `transit/`) +- **Canonical IDs:** match content schema format (e.g., `npc:kael-davan`) +- **Display names:** title case, as they appear in-game + +--- + +**Last updated:** 2026-02-13 diff --git a/wiki/_templates/character.md b/wiki/_templates/character.md new file mode 100644 index 000000000..1fb8b8e1e --- /dev/null +++ b/wiki/_templates/character.md @@ -0,0 +1,141 @@ +--- +title: "" # Display name (e.g., "Kael Davan") +slug: "" # URL-safe identifier (e.g., "kael-davan") +canonical_id: "" # e.g., "npc:kael-davan" +category: character +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +tier: 2 # 1 (FRIEND/production) | 2 (template) | 3 (flat) | 0 (off-stage) +pattern: "" # FRIEND | MIRROR | ANCHOR | GHOST | CATALYST | THRESHOLD | REMNANT | SYSTEM | NOBODY +motivation: "" # HANDLER | WITNESS | TURNCOAT | CIVILIAN | OPERATOR | SKEPTIC +social_sites: [] # location slugs where this character appears +entanglement: "" # entangled | mundane | flat +triangles: [] # triangle slugs +home_district: "" # district slug +tags: [] +decision_refs: [] # e.g., [D-024, D-034] +cross_refs: [] # slugs of related characters, factions, locations +--- + +# {Title} + +**Tier {tier} NPC** | {social_sites} | {entanglement} + +--- + +## Core Identity + +**Name**: {full name} +**Age**: {age} +**Role**: {occupation/function} +**System Origin**: {home system and station} +**Cultural Group**: {cultural group slug} +**Lattice Tier**: {Baseline | Enhanced | Analytical} +**Employer**: {employer(s)} + +--- + +## 10-Axis Profile + +### 1. Want + +**Primary**: {1-line want statement} + +{Expansion: why they want this, how it manifests, trajectory.} + +**Secondary**: {1-line secondary want} + +### 2. Secret / Vulnerability + +**Surface secret**: {what most people suspect or know vaguely} + +**Deep secret**: {what nobody knows} + +**Vulnerability**: {what breaks them} + +### 3. Relationships + +{3 named relationships with type, history, current tension, mechanical relevance.} + +### 4. Tolerance Threshold + +**{Low | Moderate | High}** — {summary} + +{What they tolerate. What pushes them. What breaks them.} + +### 5. Daily Routine + +{Time-stamped routine with ring/operation deviations noted.} + +### 6. Information Inventory + +**Knows**: {bulleted list of FactIds and knowledge} +**Doesn't know**: {bulleted list of gaps} + +### 7. Contentment + +**{Level descriptor}** — {summary and trajectory} + +### 8. Personality Traits + +**Primary**: {trait} — {description} +**Secondary**: {trait} — {description} +**Tertiary**: {trait} — {description} + +### 9. Tell System + +| Tell | Trigger | Observable To | +|------|---------|---------------| +| {tell} | {trigger} | {who can see it} | + +### 10. Skill Set + +**Occupational**: {skills} +**Combat tag**: **{Yes | No}** +**Lattice capability**: {tier} + +--- + +## Voice Sample + +{3-5 lines covering different moods} + +--- + +## Dual-Lens Notes + +**Smuggler**: {how the smuggler reads this character} +**Detective**: {how the detective reads this character} + +--- + +## Triangle Roles + +{Per-triangle: function, pressure, player relevance} + +--- + +## Pattern / Motivation + +**Pattern (System A):** {PATTERN} — {explanation} +**Motivation (System B):** {MOTIVATION} — {explanation} +**Composition read:** {how pattern + motivation interact} + +--- + +**Cross-References:** + +- [{faction_name}](../factions/{slug}.md) — {affiliation} +- [{location_name}](../star-systems/{sys}/{sta}/{dist}/{slug}.md) — {social site} diff --git a/wiki/_templates/concept.md b/wiki/_templates/concept.md new file mode 100644 index 000000000..43c9f05cf --- /dev/null +++ b/wiki/_templates/concept.md @@ -0,0 +1,46 @@ +--- +title: "" # Display name (e.g., "Knowledge Graph") +slug: "" # URL-safe identifier +category: concept +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +concept_type: "" # mechanical | narrative | systemic +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Concept — {concept_type} +**Status:** {status} + +--- + +## Overview + +{What this concept is, how it works, why it exists in the game.} + +--- + +## Details + +{Full specification: rules, states, transitions, interactions.} + +--- + +## Integration Points + +{How this concept connects to other systems, content, and gameplay.} + +--- + +**Cross-References:** + +- [{related_entry}](../{category}/{slug}.md) — {relationship} diff --git a/wiki/_templates/contraband.md b/wiki/_templates/contraband.md new file mode 100644 index 000000000..2fc1eb1a1 --- /dev/null +++ b/wiki/_templates/contraband.md @@ -0,0 +1,64 @@ +--- +title: "" # Display name (e.g., "Unlicensed Lattice Components") +slug: "" # URL-safe identifier (e.g., "lattice-components") +category: contraband +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +risk_level: "" # low | moderate | high | extreme +source: [] # faction slugs or supply chain descriptions +regulatory_classification: "" # category-1 | category-2 | category-3 +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Contraband +**Status:** {status} +**Risk Level:** {risk_level} +**Regulatory Classification:** {regulatory_classification} +**Source:** {source} + +--- + +## Overview + +{What it is, why it's illegal, who wants it.} + +--- + +## Supply Chain + +{How it gets from source to end user. Which NPCs are involved.} + +--- + +## Moral Dimension + +{Why reasonable people smuggle this. The ethical complexity.} + +--- + +## Detection Vectors + +{How an investigator would identify this contraband. Manifest tells, physical indicators.} + +--- + +## Mechanical Integration + +{FactIds, knowledge graph connections, investigation progression.} + +--- + +**Cross-References:** + +- [{related_entry}](../{category}/{slug}.md) — {relationship} diff --git a/wiki/_templates/cultural-group.md b/wiki/_templates/cultural-group.md new file mode 100644 index 000000000..671db6418 --- /dev/null +++ b/wiki/_templates/cultural-group.md @@ -0,0 +1,67 @@ +--- +title: "" # Display name (e.g., "Krenn System Culture") +slug: "" # URL-safe identifier (e.g., "krenn-system") +category: cultural-group +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +home_system: "" # star system slug +population_centers: [] # station/world slugs +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Cultural Group +**Status:** {status} +**Home System:** {home_system} +**Population Centers:** {list} + +--- + +## Overview + +{1-2 paragraphs: what defines this culture, how it formed, key values.} + +--- + +## Social Norms + +{Greeting customs, name usage, trust dynamics, authority relationships.} + +--- + +## Naming Conventions + +{Name patterns, phonetics, usage rules (first-name vs surname contexts).} + +--- + +## Economic Character + +{Relationship to work, money, institutions. What "enough" means here.} + +--- + +## Attitudes Toward Authority + +{How locals relate to Commission, Assembly, external institutions.} + +--- + +## Authoring Notes + +{Voice guidance for content authors writing characters from this culture.} + +--- + +**Cross-References:** + +- [{related_entry}](../{category}/{slug}.md) — {relationship} diff --git a/wiki/_templates/district.md b/wiki/_templates/district.md new file mode 100644 index 000000000..6183b19a7 --- /dev/null +++ b/wiki/_templates/district.md @@ -0,0 +1,76 @@ +--- +title: "" # Display name (e.g., "Sova Transit District") +slug: "" # URL-safe identifier (e.g., "transit") +category: district +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +parent_station: "" # station slug +parent_system: "" # star system slug +population: 0 # district population +age: 0 # years since construction +construction: "" # prefab | modular | retrofitted | mixed +locations: [] # slugs of locations within this district +social_sites: [] # slugs of social site templates +npc_count: 0 +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** District +**Status:** {status} +**Station:** [{parent_station}](../index.md) +**System:** [{parent_system}](../../index.md) +**Population:** ~{population} +**Age:** ~{age} years +**Construction:** {construction} + +--- + +## Overview + +{1-2 paragraphs: what this district is, atmosphere, function.} + +--- + +## Locations (Social Sites) + +{List of locations with links, brief descriptions, and social site template assignments.} + +--- + +## Atmosphere & Sensory + +{Sights, sounds, smells, lighting. The "quotidian-with-undertow" texture.} + +--- + +## NPCs + +{Summary of NPC population. Link to character index for full roster.} + +--- + +## Mechanical Integration + +{Knowledge graph flags, perception differences, spatial layout notes.} + +--- + +**Cross-References:** + +- [{location_name}]({slug}.md) — {description} +- [Character Index](../../../characters/index.md) — Full roster diff --git a/wiki/_templates/faction.md b/wiki/_templates/faction.md new file mode 100644 index 000000000..cd8001869 --- /dev/null +++ b/wiki/_templates/faction.md @@ -0,0 +1,79 @@ +--- +title: "" # Display name (e.g., "The Ring") +slug: "" # URL-safe identifier (e.g., "the-ring") +category: faction +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +scope: "" # local | regional | reach-wide +faction_type: "" # political | regulatory | criminal | cultural | economic | military +governance_role: "" # legislative | enforcement | advisory | none +headquarters: "" # location slug or "distributed" +members: [] # character slugs of known members +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Faction — {faction_type} +**Status:** {status} +**Scope:** {scope} +**Governance Role:** {governance_role} +**Headquarters:** {headquarters} + +--- + +## Overview + +{2-3 paragraphs: what this faction is, what it does, why it matters.} + +--- + +## Structure + +{How the faction is organized. Hierarchy, roles, decision-making.} + +--- + +## Members (v0.1) + +{Table or list of known members with roles and links.} + +--- + +## Community Role + +{How this faction fits into the social fabric. Who benefits, who is harmed.} + +--- + +## Vulnerability + +{How the faction can be exposed, disrupted, or exploited by the player.} + +--- + +## Mechanical Integration + +{Knowledge graph flags, perception differences, investigation vectors.} + +--- + +## Thematic Function + +{What question this faction poses for the player. Why it exists in the game.} + +--- + +**Cross-References:** + +- [{character_name}](../characters/{slug}.md) — {role} +- [{location_name}](../star-systems/{sys}/{sta}/{dist}/{slug}.md) — {presence} diff --git a/wiki/_templates/institution.md b/wiki/_templates/institution.md new file mode 100644 index 000000000..dd56fb1c8 --- /dev/null +++ b/wiki/_templates/institution.md @@ -0,0 +1,57 @@ +--- +title: "" # Display name (e.g., "Krenn System Administrator's Office") +slug: "" # URL-safe identifier +category: institution +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +parent_body: "" # parent faction or government slug +jurisdiction: "" # reach-wide | regional | system | station | district +function: "" # governance | enforcement | services | regulation +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Institution +**Status:** {status} +**Parent Body:** {parent_body} +**Jurisdiction:** {jurisdiction} +**Function:** {function} + +--- + +## Overview + +{What this institution does, where it operates, who staffs it.} + +--- + +## Services & Functions + +{What the institution provides to the community.} + +--- + +## Presence in v0.1 + +{How this institution manifests in the Sova Transit District. NPCs, locations, systems.} + +--- + +## Mechanical Integration + +{Access tiers, knowledge flags, investigation touchpoints.} + +--- + +**Cross-References:** + +- [{related_entry}](../{category}/{slug}.md) — {relationship} diff --git a/wiki/_templates/location.md b/wiki/_templates/location.md new file mode 100644 index 000000000..bb293e8f2 --- /dev/null +++ b/wiki/_templates/location.md @@ -0,0 +1,85 @@ +--- +title: "" # Display name (e.g., "The Terminal") +slug: "" # URL-safe identifier (e.g., "the-terminal") +category: location +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +parent_district: "" # district slug +parent_station: "" # station slug +parent_system: "" # star system slug +social_site: "" # social site template this location belongs to +tile_count: 0 # approximate tile footprint +sightlines: "" # open | partitioned | enclosed +ambient_sound: "" # primary ambient sound reference +npcs_present: [] # character slugs typically found here +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Location +**Status:** {status} +**District:** [{parent_district}](index.md) +**Station:** [{parent_station}](../index.md) +**System:** [{parent_system}](../../index.md) +**Social Site:** {social_site} +**Sightlines:** {sightlines} + +--- + +## Overview + +{1-2 paragraphs: what this space is, what happens here, atmosphere.} + +--- + +## Layout & Sightlines + +{Physical description, key areas, what can be seen from where. D-025 functional cluster notes.} + +--- + +## NPCs Present + +{Who is typically here and when. Routine overlap and observation opportunities.} + +--- + +## Sensory Profile + +{Ambient sounds, lighting, smells, visual texture.} + +--- + +## Dual-Lens Notes + +**Smuggler:** {how the smuggler experiences this space} +**Detective:** {how the detective experiences this space} + +--- + +## Mechanical Integration + +{Sightline properties, ambient sound references, social site template.} + +--- + +**Cross-References:** + +- [{parent_district}](index.md) — Parent district +- [{related_location}]({slug}.md) — {relationship} +- [{character_name}](../../../../characters/{slug}.md) — {role} diff --git a/wiki/_templates/lore.md b/wiki/_templates/lore.md new file mode 100644 index 000000000..2a26c07de --- /dev/null +++ b/wiki/_templates/lore.md @@ -0,0 +1,56 @@ +--- +title: "" # Display name (e.g., "The Founding of the Settled Reach") +slug: "" # URL-safe identifier +category: lore +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +era: "" # founding | expansion | consolidation | contemporary +scope: "" # reach-wide | regional | local +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Lore +**Status:** {status} +**Era:** {era} +**Scope:** {scope} + +--- + +## Summary + +{1-2 paragraph summary of the historical event, period, or narrative.} + +--- + +## Details + +{Full description with dates, key figures, consequences.} + +--- + +## Legacy + +{How this lore affects the present day. Cultural memory, institutional consequences.} + +--- + +## Mechanical Integration + +{Knowledge flags, how this lore surfaces in gameplay (dialogue, environmental text, monologue).} + +--- + +**Cross-References:** + +- [{related_entry}](../{category}/{slug}.md) — {relationship} diff --git a/wiki/_templates/species.md b/wiki/_templates/species.md new file mode 100644 index 000000000..071a04555 --- /dev/null +++ b/wiki/_templates/species.md @@ -0,0 +1,48 @@ +--- +title: "" # Display name (e.g., "Human (Baseline)") +slug: "" # URL-safe identifier +category: species +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +prevalence: "" # dominant | common | rare | theoretical +lattice_compatible: true # whether this species uses neural lattices +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Species +**Status:** {status} +**Prevalence:** {prevalence} +**Lattice Compatible:** {yes/no} + +--- + +## Overview + +{Species description, biological baseline, cultural significance.} + +--- + +## Variants + +{If applicable: biological variations, augmentation paths, subspecies.} + +--- + +## Mechanical Integration + +{How species affects gameplay, perception, social dynamics.} + +--- + +**Cross-References:** + +- [{related_entry}](../{category}/{slug}.md) — {relationship} diff --git a/wiki/_templates/star-system.md b/wiki/_templates/star-system.md new file mode 100644 index 000000000..a20e90547 --- /dev/null +++ b/wiki/_templates/star-system.md @@ -0,0 +1,107 @@ +--- +title: "" # Display name (e.g., "Krenn System") +slug: "" # URL-safe identifier (e.g., "krenn") +category: star-system +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +stellar_class: "" # e.g., G3V, K1III +settlement_age: 0 # years since first settlement +population: 0 # system-wide +reach_position: "" # core | mid-reach | frontier | rim +stations: [] # slugs of stations in this system +gate_connections: [] # slugs of connected systems +tags: [] +decision_refs: [] # e.g., [D-036] +cross_refs: [] # slugs of related entries +--- + +# {Title} + +**Type:** Star System +**Status:** {status} +**Classification:** {reach_position} +**Star Type:** {stellar_class} +**Settlement Age:** ~{settlement_age} years +**Population:** ~{population} + +--- + +## Overview + +{1-2 paragraph description of the system: what it is, why it matters, what kind of place it is.} + +--- + +## Stellar Profile + +- **Primary Star:** {stellar_class} +- **Planetary Bodies:** {count and types} +- **Habitable Worlds:** {count} +- **Stations:** {count}, including {list} + +--- + +## Economy + +**Economic Base:** {primary industries} + +{2-3 paragraphs on economic character, wage profile, and how economics connect to gameplay.} + +--- + +## Governance & Institutional Presence + +**Primary Governance:** {governing body} +**Local Authority:** {local administrator} +**Lattice Commission Presence:** {level} +**Meridian Coverage:** {level} + +{1-2 paragraphs on institutional gaps and their gameplay relevance.} + +--- + +## Culture & Social Norms + +**Cultural Profile:** {1-line summary} +**Naming Conventions:** {description} + +{Details on social texture, greeting customs, trust dynamics.} + +--- + +## Gate Network Connections + +**Horizon Gates (Interstellar):** {connections} +**Span Gates (Intra-System):** {connections} + +--- + +## Key Locations in System + +- {Bulleted list with links to stations, worlds, facilities} + +--- + +## Mechanical Integration + +**Knowledge Graph Flags:** +- `world.{slug}_layout` — {description} +- `world.{slug}_culture` — {description} + +**Perception Differences:** +- **Smuggler:** {how this character experiences the system} +- **Detective:** {how this character experiences the system} + +--- + +**Cross-References:** + +- [{station_name}]({slug}/index.md) — {description} diff --git a/wiki/_templates/station.md b/wiki/_templates/station.md new file mode 100644 index 000000000..7555efb58 --- /dev/null +++ b/wiki/_templates/station.md @@ -0,0 +1,67 @@ +--- +title: "" # Display name (e.g., "Station Sova") +slug: "" # URL-safe identifier (e.g., "sova") +category: station +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +parent_system: "" # star system slug +population: 0 +station_type: "" # logistics | military | research | residential | mixed +districts: [] # slugs of districts +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Station +**Status:** {status} +**System:** [{parent_system}](../index.md) +**Population:** ~{population} +**Station Type:** {station_type} + +--- + +## Overview + +{1-2 paragraph description: what kind of station, why it exists, what life is like here.} + +--- + +## Districts + +{List of districts with brief descriptions and links.} + +--- + +## Infrastructure + +{Station-level infrastructure: docking, environmental, transit, power.} + +--- + +## Governance & Services + +{Local authority, Commission presence, services available.} + +--- + +## Mechanical Integration + +{Knowledge graph flags, perception differences, relevant game systems.} + +--- + +**Cross-References:** + +- [{parent_system}](../index.md) — Parent system +- [{district_name}]({slug}/index.md) — {description} diff --git a/wiki/_templates/technology.md b/wiki/_templates/technology.md new file mode 100644 index 000000000..0a66e3137 --- /dev/null +++ b/wiki/_templates/technology.md @@ -0,0 +1,68 @@ +--- +title: "" # Display name (e.g., "Neural Lattice") +slug: "" # URL-safe identifier (e.g., "neural-lattice") +category: technology +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +prevalence: "" # universal | common | restricted | rare | theoretical +regulatory_body: "" # slug of regulating faction, or "unregulated" +tags: [] +decision_refs: [] +cross_refs: [] +--- + +# {Title} + +**Type:** Technology +**Status:** {status} +**Prevalence:** {prevalence} +**Regulatory Body:** {regulatory_body} + +--- + +## Overview + +{2-3 paragraphs: what it is, how it works, why it matters.} + +--- + +## How It Works + +{Technical description at the level needed for content creation and game design.} + +--- + +## Tiers / Variants + +{If applicable: capability levels, variants, or classifications.} + +--- + +## Regulation & Access + +{Who controls it, how it's distributed, what the restrictions are.} + +--- + +## Dual-Lens Significance + +{How smuggler vs detective experience or relate to this technology.} + +--- + +## Mechanical Integration + +{Knowledge graph flags, perception system connections, gameplay relevance.} + +--- + +**Cross-References:** + +- [{related_entry}](../{category}/{slug}.md) — {relationship} diff --git a/wiki/_templates/triangle.md b/wiki/_templates/triangle.md new file mode 100644 index 000000000..15d0b3542 --- /dev/null +++ b/wiki/_templates/triangle.md @@ -0,0 +1,59 @@ +--- +title: "" # Display name (e.g., "Hub Power") +slug: "" # URL-safe identifier (e.g., "hub-power") +category: triangle +status: proposed # proposed | draft | canonical +created: YYYY-MM-DD +updated: YYYY-MM-DD +members: [] # exactly 3 character slugs +triangle_type: "" # entangled | mundane | cross-template +social_sites: [] # location slugs where this triangle plays out +tags: [] +decision_refs: [] # e.g., [D-024, D-047] +cross_refs: [] +--- + +# Triangle: {Title} + +**Type:** Triangle — {triangle_type} +**Status:** {status} +**Members:** {member links} +**Social Sites:** {location links} + +--- + +## Diagram + +``` +{ASCII diagram showing 3 members and their tensions} +``` + +--- + +## Tension + +{What the core conflict is, why it exists, how it manifests.} + +--- + +## Fork Points + +{Decision points for the player, outcomes, cascading effects.} + +--- + +## Player Relevance + +**Smuggler:** {how the smuggler interacts with this triangle} +**Detective:** {how the detective interacts with this triangle} + +--- + +**Cross-References:** + +- [{character_name}](../characters/{slug}.md) — {role in triangle} +- [{location_name}](../star-systems/{sys}/{sta}/{dist}/{slug}.md) — {where it plays out} diff --git a/wiki/authoring/environmental-text-examples.md b/wiki/authoring/environmental-text-examples.md new file mode 100644 index 000000000..1d63bcb75 --- /dev/null +++ b/wiki/authoring/environmental-text-examples.md @@ -0,0 +1,293 @@ +--- +title: "Environmental Text Examples" +slug: environmental-text-examples +category: authoring-guide +status: canonical +created: 2026-02-13 +updated: 2026-02-13 +tags: [v0.1, authoring, environmental-text] +decision_refs: [D-016, D-032, D-036] +cross_refs: [monologue-guide, the-last-shift, the-terminal, maintenance-corridors] +--- + +# Environmental Text Examples + +Worked examples of diegetic environmental text for Sova Transit District. Each example is Krenn-voiced (working-class, direct, compact) with cultural notes explaining the choices, followed by monologue pairings showing how the smuggler and detective read the same text differently. + +Environmental text is not decoration. It is world-state that the player reads through their character's perspective. The same sign on the same wall tells two different stories. + +--- + +## 1. Bar Menu — The Last Shift + +Mounted behind the bar counter. Hand-lettered on a metal panel in Lera's handwriting. Prices in station credits. Menu changes rarely — when an item runs out, Lera crosses it off and writes the replacement below. + +### The Text + +``` +LERA'S + +Grain spirit (Sova-brewed) 4 +Grain spirit, double 7 +Station lager 5 +Imported lager (Krenn Prime) 12 +Synth ale (cold) 3 + +Fried protein + bread 6 +Stew (ask what's in it) 5 +Bread + spread 3 + +No tabs. No arguments. +Last call 01:30. +``` + +### Cultural Notes + +- **Pricing tells a story.** Imported lager at 12 credits — five shifts' disposable income for a logistics worker earning 200 credits margin per month. Ordering one is a status display. The smuggler knows who can afford it and who's showing off. The detective notes the financial tell. +- **"Ask what's in it"** — Krenn directness. Lera doesn't pretend the stew is gourmet. The regulars don't care. This is food for people who need to eat, not a dining experience. +- **"No tabs. No arguments."** — Lera has been burned. The two-rule footer is social infrastructure: it prevents the awkward conversation where a colleague can't pay, which would damage the bar's function as a place where status is temporarily suspended. +- **Hand-lettered** — not Meridian-displayed. This is deliberate. A printed menu could be updated remotely. A hand-lettered one means Lera stood here and wrote it. It says: this is mine. +- **No cocktails, no wine, no elaboration.** The menu matches the clientele: shift workers who want a drink, food, and to be left alone. Complexity would be pretension. + +### Monologue Pairings + +**Smuggler** (on entering The Last Shift, sees menu): +> Same menu. Same prices. Lera hasn't changed the stew description in three years. + +*Tags: [environmental, atmospheric]. Trigger: enter_location. This is comfort. Sameness is safety.* + +**Detective** (on entering The Last Shift, sees menu): +> Imported lager at twelve credits. On these wages, that's a weekly luxury. Note who orders it. + +*Tags: [environmental, investigation]. Trigger: enter_location. The detective reads the menu as economic data.* + +**Smuggler** (on observing Torek ordering imported lager): +> Torek's buying the good stuff again. That's three times this week. + +*Tags: [npc, torek, concern]. Trigger: observe_npc. The smuggler sees financial exposure — Torek's spending beyond what his official income explains.* + +**Detective** (on observing Torek ordering imported lager): +> Lintar, T. Third imported lager this rotation. Spending pattern inconsistent with pay grade. + +*Tags: [npc, torek, investigation, evidence]. Trigger: observe_npc. Same observation, institutional framing. Surnames, initials, pay grade — the language of a case file.* + +--- + +## 2. Safety Notice — The Terminal + +Mounted on the wall near Scanner Bay 3. Concordat Standard official text with Krenn vernacular annotation added by a worker in marker. The notice is slightly peeling at the bottom-left corner. Nobody has replaced it in months. + +### The Text + +**[Official — Concordat Standard, printed]** + +``` +SOVA TRANSIT LOGISTICS — BAY 7-C +SCANNER BAY 3: OPERATIONAL ADVISORY + +Spectral calibration drift detected (Report #ST-4471). +Maintenance scheduled. Refer non-critical cargo +to Bays 1 or 2 pending recalibration. + +— Station Maintenance Division +``` + +**[Annotation — hand-written in marker below the notice]** + +``` +"scheduled" — four months ago. still waiting. +``` + +### Cultural Notes + +- **Institutional vs. vernacular** — the two voices on this sign are the two voices of Sova. The printed notice is how the institution talks: passive voice, report numbers, procedures. The marker annotation is how the workers talk: direct, sardonic, lowercase. +- **"Pending recalibration"** is doing heavy narrative work. The calibration drift in Bay 3 is real — it produces less reliable scan results. Station maintenance hasn't fixed it because it's low-priority. The ring routes flagged containers through Bay 3 precisely because of this drift. An institutional failure becomes criminal infrastructure. +- **The peeling corner** — nobody maintains the notice because nobody cares about the notice. The institutional voice has lost authority through inaction. The hand-written annotation has more social force than the printed text. +- **Report #ST-4471** — bureaucratic specificity that makes the notice feel real and gives the detective something to query. + +### Monologue Pairings + +**Smuggler** (passing Scanner Bay 3): +> Bay 3 still drifting. Four months and counting. Works for us. + +*Tags: [environmental, operational]. Trigger: enter_location. The smuggler reads institutional failure as operational advantage. "Works for us" — possessive, casual, no guilt.* + +**Detective** (examining the safety notice): +> Report ST-4471. Four months, no resolution. Cross-reference with scan rejection rates. + +*Tags: [environmental, investigation]. Trigger: observe_anomaly. The detective reads the same failure as a lead. The report number is actionable data — pull it, check which containers went through Bay 3, look for patterns.* + +**Detective** (after correlating scan data — knowledge-gated): +> Bay 3 scan reliability: 73%. Every flagged container in my dataset was routed here. Not coincidence. + +*Tags: [investigation, evidence, breakthrough]. Trigger: time_idle. Prerequisites: fact_id: scanner_drift_pattern, min_confidence: knows_of. This is the payoff — the safety notice becomes evidence.* + +--- + +## 3. News Ticker Cycle — Meridian Feed at The Last Shift + +Displayed on the Meridian feed screen mounted above the bar. Scrolling text, standard news format. The cycle repeats every 8-10 minutes. Nobody watches it directly — it's ambient information, absorbed peripherally. Occasionally a headline makes someone look up. + +### The Cycle (6 Headlines) + +``` +1. KRENN PRIME SURFACE DEPOT: FREIGHT BACKLOG ENTERING THIRD DAY. + TRANSIT AUTHORITY CITES SCHEDULING DISPUTES. + +2. CONCORD ASSEMBLY SESSION 1147: LATTICE STANDARDIZATION + AMENDMENT PASSES SECOND READING. IMPLEMENTATION TBD. + +3. SOVA STATION: VENTILATION UPGRADE FOR SECTORS 2-4 + APPROVED IN NEXT FISCAL CYCLE. TIMELINE NOT CONFIRMED. + +4. MEDICAL SUPPLY ADVISORY: NEURAL INTERFACE REPLACEMENT + COMPONENTS ON 6-WEEK BACKORDER. CONTACT YOUR PROVIDER. + +5. COMMISSION ADVISORY: ROUTINE COMPLIANCE ASSESSMENT + SCHEDULED FOR KRENN SYSTEM STATIONS. DATES TO FOLLOW. + +6. KRENN PRIME DOCKWORKERS LEAGUE VS. ORBITAL 3 UNITED: + MATCH DAY 7. BROADCAST 19:00 MERIDIAN STANDARD. +``` + +### Cultural Notes + +- **Headline 1 (freight backlog)** — affects every worker in the room. Backlog means overtime or schedule disruption. It's the one headline people actually respond to. Lera turns up the volume when freight news scrolls. +- **Headline 2 (lattice standardization)** — Assembly politics. Most workers ignore it. But "lattice standardization" has a chill to it: tighter standards mean tighter inspections, which means the grey market gets harder. The smuggler hears threat. The detective hears institutional support. +- **Headline 3 (ventilation upgrade)** — the universal safe topic. "Approved in next fiscal cycle" means "probably never." Workers have been complaining about ventilation for months. This headline generates eye-rolls and muttered commentary that fills conversational space. +- **Headline 4 (neural interface backorder)** — the one that matters most and says least. Neural interface replacements are essential medical supplies. A 6-week backorder on legitimate channels is exactly why the smuggling ring exists: people need these components, the legal supply chain can't deliver, and someone fills the gap. The headline is the ring's business case, printed on a news ticker. +- **Headline 5 (Commission assessment)** — "routine" is a word that means nothing and everything. Routine for the Commission. Not routine for a district that hasn't had a liaison in three months and has been operating in the gap. "Dates to follow" means: start worrying now. +- **Headline 6 (sports)** — normalcy. The match is what most people in the bar actually care about. It's the headline that makes Sova feel like a place where people live, not just a setting for a crime story. + +### Monologue Pairings + +**Smuggler** (headline 4 scrolls — medical backorder): +> Six weeks. Six weeks without replacement parts, and they wonder why people come to us. + +*Tags: [environmental, moral, operational]. Trigger: observe_anomaly. The smuggler sees validation. The ring isn't criminal — it's necessary.* + +**Detective** (headline 4 scrolls — medical backorder): +> Neural interface components on backorder. Supply gap creates demand for unlicensed alternatives. Motive. + +*Tags: [environmental, investigation]. Trigger: observe_anomaly. Same headline, institutional analysis. "Motive" — the detective is building a case, not feeling sympathy.* + +**Smuggler** (headline 5 scrolls — Commission assessment): +> Routine assessment. Right. Nothing routine about Commission attention when we've had three months clear. + +*Tags: [environmental, concern, caution]. Trigger: observe_anomaly. Fear disguised as sarcasm. Three months without oversight was the operational window. It's closing.* + +**Detective** (headline 5 scrolls — Commission assessment): +> Compliance assessment incoming. Good. Institutional pressure may loosen cooperation. + +*Tags: [environmental, investigation, operational]. Trigger: observe_anomaly. The detective sees leverage. An announced inspection makes people nervous, and nervous people talk.* + +--- + +## 4. Corridor Graffiti — Maintenance Corridors + +Found at three points along Corridor B-7. The graffiti exists in layers: old maintenance worker marks (decades old, institutional), informal worker tags (years old, social), and recent ring-related marks (weeks to months old, operational). The layers tell the corridor's history. + +### The Text + +**Location: Near south entry (Terminal break room hatch), on the right wall** + +``` +[Marker, faded, ~30 years old:] +VNT-7 JUNCTION 40M → + +[Scratched into the wall, ~15 years old:] +kosse was here. day 1171. + +[Chalk, recent, small, low on the wall:] +—||— +``` + +**Location: Junction room (midpoint), on the overhead cable tray support** + +``` +[Marker, faded, institutional:] +CAUTION: OVERHEAD CLEARANCE 2.1M + +[Paint pen, ~10 years old, on the cable tray itself:] +N.T. + someone who deserved better +``` + +**Location: Near ventilation hub (90m from south entry), wall niche** + +``` +[Scratched, old, barely legible:] +shift 3 crew '94 + +[Chalk, recent, deliberate — three short vertical lines:] +||| +``` + +### Cultural Notes + +- **VNT-7 JUNCTION** — institutional remnant. This corridor used to be on the maintenance map. The directional marking is from the era when workers were dispatched here officially. It's a ghost of the corridor's legitimate past. +- **"kosse was here. day 1171."** — a maintenance worker who counted their shifts. Krenn naming convention (compact, consonant-heavy). Day 1171 is roughly 3.2 years of shift cycles. Someone who spent long enough in these corridors to mark their territory. Kosse is probably retired or transferred. The name persists. +- **"N.T. + someone who deserved better"** — a small human moment in infrastructure space. The initials could be anyone. The sentiment is universal. It humanizes the corridor — people have always come here for privacy, long before the ring did. +- **The chalk marks** — `—||—` and `|||` — are ring operational markers. They're meaningless to anyone who doesn't know the system. The double-bar mark near the south entry indicates "route active." The three vertical lines near the ventilation hub indicate a count — possibly dead drop cycles, possibly something else. The ring's internal signaling is deliberately ambiguous: even if you find the marks, you can't read them without context. +- **Chalk, not marker** — the ring uses chalk because it can be wiped. Marker is permanent. The choice of medium is operational security. +- **Low on the wall** — at shin height. You'd have to be looking for it. Standing upright, your eyes pass over it. Crouching to inspect the corridor — as a detective might — you find it. + +### Monologue Pairings + +**Smuggler** (passing the chalk mark near south entry): +> Mark's fresh. Route's active. Renn was through here recently. + +*Tags: [environmental, operational]. Trigger: enter_location. The smuggler reads the chalk like a message — because it is one. No emotional response. It's a status indicator.* + +**Detective** (discovering the chalk mark near south entry): +> Chalk mark. Recent, deliberate placement, low visibility. Not maintenance notation — wrong format. + +*Tags: [environmental, investigation, evidence]. Trigger: observe_anomaly. The detective notices the mark is wrong: wrong height, wrong material, wrong format for institutional use. The anomaly IS the evidence.* + +**Detective** (discovering "kosse was here" scratch): +> Personal marking, years old. Workers used this corridor regularly before it dropped off the map. + +*Tags: [environmental, investigation]. Trigger: observe_anomaly. The detective reads history. If workers used this corridor before, someone remembers it. Someone could still use it.* + +**Smuggler** (passing "N.T. + someone who deserved better"): +> Still there. Been there longer than most of us. + +*Tags: [environmental, atmospheric]. Trigger: enter_location. A moment of human recognition. The smuggler has seen this graffiti dozens of times. It's part of the corridor's texture — familiar, not investigated.* + +**Detective** (finding the three chalk lines near ventilation hub — knowledge-gated): +> Three marks. Three operations since the last Commission liaison rotated out. They're counting. + +*Tags: [investigation, evidence, breakthrough]. Trigger: observe_anomaly. Prerequisites: fact_id: ring_operational_timing, min_confidence: suspects. The detective connects the marks to a timeline. Three marks, three months without oversight. The graffiti becomes a logbook.* + +--- + +## Writing Principles for Environmental Text + +1. **The text exists before the player arrives.** It was written by someone for a reason that has nothing to do with the player. Write it for the character who put it there, not the character who reads it. + +2. **Krenn voice is direct.** No flourishes, no unnecessary words, no corporate warmth. "No tabs. No arguments." not "We kindly request that all patrons settle their accounts at time of service." + +3. **Institutional text and vernacular text coexist.** The tension between them IS the setting. The printed notice says what the institution wants. The hand-written annotation says what the workers know. + +4. **Environmental text creates monologue triggers.** Every piece of readable text in the world should produce a different internal response from each character. If it doesn't, it's decoration, not world-building. + +5. **Layers tell history.** Graffiti, notices, menus — they accumulate over time. A wall with one mark is a surface. A wall with three marks from three eras is a story. + +6. **The player reads through their character.** The text doesn't change. The interpretation does. Design the text so both readings are valid, and neither is complete. + +--- + +**Cross-References:** +- [Monologue Authoring Guide](monologue-guide.md) — Monologue formatting and tag reference +- [The Last Shift](../star-systems/krenn/sova/transit/the-last-shift.md) — Bar location profile +- [The Terminal](../star-systems/krenn/sova/transit/the-terminal.md) — Logistics hub profile +- [Maintenance Corridors](../star-systems/krenn/sova/transit/maintenance-corridors.md) — Corridor B-7 profile +- [Sova Transit District](../star-systems/krenn/sova/transit/index.md) — District overview +- D-016: Internal monologue as primary narrative system +- D-032: Separate monologue pools per character +- D-036: Sova Transit District as v0.1 setting + +--- + +**Status:** Canonical +**Created:** 2026-02-13 +**Updated:** 2026-02-13 diff --git a/docs/wiki/authoring/monologue-guide.md b/wiki/authoring/monologue-guide.md similarity index 99% rename from docs/wiki/authoring/monologue-guide.md rename to wiki/authoring/monologue-guide.md index 7105fc087..1461f2508 100644 --- a/docs/wiki/authoring/monologue-guide.md +++ b/wiki/authoring/monologue-guide.md @@ -1,3 +1,15 @@ +--- +title: "Monologue Authoring Guide" +slug: monologue-guide +category: authoring-guide +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tags: [] +decision_refs: [D-032, D-035] +cross_refs: [] +--- + # Monologue and Dialogue Authoring Guide How to write tagged monologue and dialogue content for The Settled Reach. Read the knowledge system docs first — this guide assumes you know what a FactId is and how RelationshipState works. diff --git a/docs/wiki/npcs/devra.md b/wiki/characters/devra.md similarity index 96% rename from docs/wiki/npcs/devra.md rename to wiki/characters/devra.md index d513d794c..17e455d9d 100644 --- a/docs/wiki/npcs/devra.md +++ b/wiki/characters/devra.md @@ -1,3 +1,23 @@ +--- +title: "Devra Talsen" +slug: devra +canonical_id: "npc:devra" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "THRESHOLD" +motivation: "HANDLER" +social_sites: [] +entanglement: "Entangled" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Devra Talsen **Tier 2 NPC** | Smuggling Ring + The Last Shift (Bar) | Entangled diff --git a/docs/wiki/npcs/drin.md b/wiki/characters/drin.md similarity index 97% rename from docs/wiki/npcs/drin.md rename to wiki/characters/drin.md index 401facff5..eebc56cce 100644 --- a/docs/wiki/npcs/drin.md +++ b/wiki/characters/drin.md @@ -1,3 +1,23 @@ +--- +title: "Drin Rosta" +slug: drin +canonical_id: "npc:drin" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "SYSTEM" +motivation: "TURNCOAT" +social_sites: [] +entanglement: "Mundane" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Drin Rosta **Tier 2 NPC** | Logistics Hub (The Terminal) | Mundane diff --git a/docs/wiki/npcs/harek.md b/wiki/characters/harek.md similarity index 96% rename from docs/wiki/npcs/harek.md rename to wiki/characters/harek.md index 1cd950398..8846afa3b 100644 --- a/docs/wiki/npcs/harek.md +++ b/wiki/characters/harek.md @@ -1,3 +1,23 @@ +--- +title: "Harek Valde" +slug: harek +canonical_id: "npc:harek" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "ANCHOR" +motivation: "HANDLER" +social_sites: [] +entanglement: "Mundane" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Harek Valde **Tier 2 NPC** | The Last Shift (Bar) + Logistics Hub | Mundane diff --git a/docs/wiki/npcs/index.md b/wiki/characters/index.md similarity index 98% rename from docs/wiki/npcs/index.md rename to wiki/characters/index.md index 0b963140c..72c2f7002 100644 --- a/docs/wiki/npcs/index.md +++ b/wiki/characters/index.md @@ -1,3 +1,13 @@ +--- +title: "NPC Roster — Sova Transit District" +slug: npc-index +category: index +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tags: [v0.1] +--- + # NPC Roster — Sova Transit District 18 NPCs across 3 social sites (Logistics Hub, The Last Shift, Smuggling Ring). Tier 1 = full production depth (THE FRIEND), Tier 2 = working profile, Tier 3 = sketch, Off-Stage = present through mediated references only. diff --git a/docs/wiki/npcs/kael-davan.md b/wiki/characters/kael-davan.md similarity index 98% rename from docs/wiki/npcs/kael-davan.md rename to wiki/characters/kael-davan.md index f8140ee36..2050631a2 100644 --- a/docs/wiki/npcs/kael-davan.md +++ b/wiki/characters/kael-davan.md @@ -1,3 +1,23 @@ +--- +title: "Kael Davan" +slug: kael-davan +canonical_id: "npc:kael-davan" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 1 +pattern: "FRIEND" +motivation: "OPERATOR" +social_sites: [] +entanglement: "Entangled" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Kael Davan — THE FRIEND (Smuggler) **Tier 1 Production-Level NPC** | Logistics Hub + Smuggling Ring | Entangled diff --git a/docs/wiki/npcs/lera-sessik.md b/wiki/characters/lera-sessik.md similarity index 96% rename from docs/wiki/npcs/lera-sessik.md rename to wiki/characters/lera-sessik.md index 1d107dfe4..51015c470 100644 --- a/docs/wiki/npcs/lera-sessik.md +++ b/wiki/characters/lera-sessik.md @@ -1,3 +1,23 @@ +--- +title: "Lera Sessik" +slug: lera-sessik +canonical_id: "npc:lera-sessik" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "ANCHOR" +motivation: "OPERATOR" +social_sites: [] +entanglement: "Mundane" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Lera Sessik **Tier 2 NPC** | The Last Shift (Bar) | Mundane diff --git a/docs/wiki/npcs/maret-korr.md b/wiki/characters/maret-korr.md similarity index 96% rename from docs/wiki/npcs/maret-korr.md rename to wiki/characters/maret-korr.md index 0d55c148c..42b5a9a8e 100644 --- a/docs/wiki/npcs/maret-korr.md +++ b/wiki/characters/maret-korr.md @@ -1,3 +1,23 @@ +--- +title: "Maret Korr" +slug: maret-korr +canonical_id: "npc:maret-korr" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "WITNESS" +motivation: "SKEPTIC" +social_sites: [] +entanglement: "Mundane" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Maret Korr **Tier 2 NPC** | Logistics Hub (The Terminal) | Mundane diff --git a/docs/wiki/npcs/naia-tamm.md b/wiki/characters/naia-tamm.md similarity index 96% rename from docs/wiki/npcs/naia-tamm.md rename to wiki/characters/naia-tamm.md index 0f4e4f9ce..da9f99b2e 100644 --- a/docs/wiki/npcs/naia-tamm.md +++ b/wiki/characters/naia-tamm.md @@ -1,3 +1,23 @@ +--- +title: "Naia Tamm" +slug: naia-tamm +canonical_id: "npc:naia-tamm" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "MIRROR" +motivation: "CIVILIAN" +social_sites: [] +entanglement: "Mundane" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Naia Tamm **Tier 2 NPC** | The Last Shift (Bar) | Mundane diff --git a/docs/wiki/npcs/nils-davan.md b/wiki/characters/nils-davan.md similarity index 95% rename from docs/wiki/npcs/nils-davan.md rename to wiki/characters/nils-davan.md index dd13973b7..ea6d7b955 100644 --- a/docs/wiki/npcs/nils-davan.md +++ b/wiki/characters/nils-davan.md @@ -1,3 +1,23 @@ +--- +title: "Nils Davan" +slug: nils-davan +canonical_id: "npc:nils-davan" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 0 +pattern: "GHOST" +motivation: "HANDLER" +social_sites: [] +entanglement: "Entangled" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Nils Davan **Off-Stage NPC** | Smuggling Ring | Entangled diff --git a/docs/wiki/npcs/olin.md b/wiki/characters/olin.md similarity index 92% rename from docs/wiki/npcs/olin.md rename to wiki/characters/olin.md index 2caa7d5ab..024833ae2 100644 --- a/docs/wiki/npcs/olin.md +++ b/wiki/characters/olin.md @@ -1,3 +1,23 @@ +--- +title: "Olin Tavren" +slug: olin +canonical_id: "npc:olin" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 3 +pattern: "CATALYST" +motivation: "CIVILIAN" +social_sites: [] +entanglement: "Flat" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Olin Tavren **Tier 3 NPC** | The Last Shift (Bar) | Flat diff --git a/docs/wiki/npcs/pell.md b/wiki/characters/pell.md similarity index 96% rename from docs/wiki/npcs/pell.md rename to wiki/characters/pell.md index dbdf16a1e..0b895cc71 100644 --- a/docs/wiki/npcs/pell.md +++ b/wiki/characters/pell.md @@ -1,3 +1,23 @@ +--- +title: "Pell Torssen" +slug: pell +canonical_id: "npc:pell" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "CATALYST" +motivation: "TURNCOAT" +social_sites: [] +entanglement: "Entangled" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Pell Torssen **Tier 2 NPC** | Smuggling Ring | Entangled diff --git a/docs/wiki/npcs/renn.md b/wiki/characters/renn.md similarity index 96% rename from docs/wiki/npcs/renn.md rename to wiki/characters/renn.md index 39f142e31..646384db4 100644 --- a/docs/wiki/npcs/renn.md +++ b/wiki/characters/renn.md @@ -1,3 +1,23 @@ +--- +title: "Renn Harsk" +slug: renn +canonical_id: "npc:renn" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "THRESHOLD" +motivation: "OPERATOR" +social_sites: [] +entanglement: "Entangled" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Renn Harsk **Tier 2 NPC** | Smuggling Ring + Logistics Hub | Entangled diff --git a/docs/wiki/npcs/resha.md b/wiki/characters/resha.md similarity index 95% rename from docs/wiki/npcs/resha.md rename to wiki/characters/resha.md index 8af04a164..1971d4d1e 100644 --- a/docs/wiki/npcs/resha.md +++ b/wiki/characters/resha.md @@ -1,3 +1,23 @@ +--- +title: "Resha Neven" +slug: resha +canonical_id: "npc:resha" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "CATALYST" +motivation: "CIVILIAN" +social_sites: [] +entanglement: "Mundane" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Resha Neven **Tier 2 NPC** | Logistics Hub (The Terminal) | Mundane diff --git a/docs/wiki/npcs/sabel.md b/wiki/characters/sabel.md similarity index 92% rename from docs/wiki/npcs/sabel.md rename to wiki/characters/sabel.md index 45cb6a32b..d525419e5 100644 --- a/docs/wiki/npcs/sabel.md +++ b/wiki/characters/sabel.md @@ -1,3 +1,23 @@ +--- +title: "Sabel Hersk" +slug: sabel +canonical_id: "npc:sabel" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 3 +pattern: "GHOST" +motivation: "OPERATOR" +social_sites: [] +entanglement: "Flat" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Sabel Hersk **Tier 3 NPC** | Smuggling Ring (Off-Station) | Flat diff --git a/docs/wiki/npcs/sera-venn.md b/wiki/characters/sera-venn.md similarity index 99% rename from docs/wiki/npcs/sera-venn.md rename to wiki/characters/sera-venn.md index 77e707c0f..0b0bd7f5a 100644 --- a/docs/wiki/npcs/sera-venn.md +++ b/wiki/characters/sera-venn.md @@ -1,3 +1,23 @@ +--- +title: "Sera Venn" +slug: sera-venn +canonical_id: "npc:sera-venn" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 1 +pattern: "FRIEND" +motivation: "WITNESS" +social_sites: [] +entanglement: "Mundane" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Sera Venn — THE FRIEND (Detective) **Tier 1 Production-Level NPC** | The Last Shift (Bar) + Commission | Mundane diff --git a/docs/wiki/npcs/sess.md b/wiki/characters/sess.md similarity index 91% rename from docs/wiki/npcs/sess.md rename to wiki/characters/sess.md index a96a88c47..5c6563a6c 100644 --- a/docs/wiki/npcs/sess.md +++ b/wiki/characters/sess.md @@ -1,3 +1,23 @@ +--- +title: "Sess Kolvur" +slug: sess +canonical_id: "npc:sess" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 3 +pattern: "ANCHOR" +motivation: "CIVILIAN" +social_sites: [] +entanglement: "Flat" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Sess Kolvur **Tier 3 NPC** | The Last Shift (Bar) | Flat diff --git a/docs/wiki/npcs/tav.md b/wiki/characters/tav.md similarity index 92% rename from docs/wiki/npcs/tav.md rename to wiki/characters/tav.md index 9b92c28e5..7c5c53eed 100644 --- a/docs/wiki/npcs/tav.md +++ b/wiki/characters/tav.md @@ -1,3 +1,23 @@ +--- +title: "Tav Merik" +slug: tav +canonical_id: "npc:tav" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 3 +pattern: "SYSTEM" +motivation: "CIVILIAN" +social_sites: [] +entanglement: "Flat" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Tav Merik **Tier 3 NPC** | Smuggling Ring + Logistics Hub | Flat diff --git a/docs/wiki/npcs/torek-lintar.md b/wiki/characters/torek-lintar.md similarity index 95% rename from docs/wiki/npcs/torek-lintar.md rename to wiki/characters/torek-lintar.md index 8a670abf1..5eb6c06ef 100644 --- a/docs/wiki/npcs/torek-lintar.md +++ b/wiki/characters/torek-lintar.md @@ -1,3 +1,23 @@ +--- +title: "Torek Lintar" +slug: torek-lintar +canonical_id: "npc:torek-lintar" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "CATALYST" +motivation: "CIVILIAN" +social_sites: [] +entanglement: "Mundane" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Torek Lintar **Tier 2 NPC** | The Last Shift (Bar) + Logistics Hub | Mundane diff --git a/docs/wiki/npcs/voss.md b/wiki/characters/voss.md similarity index 96% rename from docs/wiki/npcs/voss.md rename to wiki/characters/voss.md index 962a710f3..32a2c6775 100644 --- a/docs/wiki/npcs/voss.md +++ b/wiki/characters/voss.md @@ -1,3 +1,23 @@ +--- +title: "Arvo Voss" +slug: voss +canonical_id: "npc:voss" +category: character +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +tier: 2 +pattern: "SYSTEM" +motivation: "OPERATOR" +social_sites: [] +entanglement: "Mundane" +triangles: [] +home_district: transit +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Arvo Voss **Tier 2 NPC** | Logistics Hub (The Terminal) | Mundane diff --git a/wiki/concepts/.gitkeep b/wiki/concepts/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/wiki/knowledge/entity-attributes.md b/wiki/concepts/entity-attributes.md similarity index 98% rename from docs/wiki/knowledge/entity-attributes.md rename to wiki/concepts/entity-attributes.md index f90b26bd7..d7dc47a0e 100644 --- a/docs/wiki/knowledge/entity-attributes.md +++ b/wiki/concepts/entity-attributes.md @@ -1,3 +1,16 @@ +--- +title: "Entity Knowledge Attributes" +slug: entity-attributes +category: concept +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +concept_type: mechanical +tags: [] +decision_refs: [D-041] +cross_refs: [] +--- + # Entity Knowledge Attributes Canonical keys for the `EntityKnowledge.known_attributes` BTreeMap (defined in `server/src/knowledge/types.rs`). These keys structure what one entity knows about another. diff --git a/docs/wiki/knowledge/fact-catalog.md b/wiki/concepts/fact-catalog.md similarity index 52% rename from docs/wiki/knowledge/fact-catalog.md rename to wiki/concepts/fact-catalog.md index d6ea78b36..9835a3965 100644 --- a/docs/wiki/knowledge/fact-catalog.md +++ b/wiki/concepts/fact-catalog.md @@ -1,3 +1,16 @@ +--- +title: "Knowledge Fact Catalog" +slug: fact-catalog +category: concept +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +concept_type: mechanical +tags: [] +decision_refs: [D-041] +cross_refs: [] +--- + # Knowledge Fact Catalog Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.topic` format defined in `server/src/knowledge/types.rs`. @@ -6,6 +19,7 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to - **FactId**: String identifier (e.g., `"contraband.ring_exists"`) - **Progression**: Text descriptions at each KnowledgeConfidence level +- **Smuggler Perspective**: Where the smuggler's knowledge path differs from the detective's, smuggler-voiced progression text is provided with starting confidence level - **Mechanical Purpose**: What this fact gates in dialogue, monologue, or investigation --- @@ -17,10 +31,14 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Suspects**: "Something's going on with the cargo schedules. Too many off-manifest deliveries." **KnowsOf**: "There's a smuggling operation running through the logistics hub." **KnowsDetails**: "The ring moves unlicensed lattice components during shift transitions. Voss manages the timing." -**Direct**: N/A (abstract knowledge — never directly observed) +**Direct**: N/A (abstract knowledge -- never directly observed) **Mechanical Purpose**: Gates investigation dialogue trees. Required for ring-specific monologue. The detective starts at Suspects and escalates. The smuggler (if playing the ring member path) starts at KnowsDetails. +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "Our operation. Nils runs coordination, Voss covers the schedule, Kael and I handle cargo. Two years now. Runs like clockwork when everyone hits their marks." + --- ### `contraband.lattice_components` @@ -32,28 +50,44 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Contraband identification. Detective needs KnowsOf to correctly interpret manifest discrepancies. Smuggler needs KnowsDetails to handle cargo safely. +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "Lattice mods. Aftermarket stuff, no Commission cert. Medical replacements too, from the Syndic pipeline. I don't open the sealed ones -- I route them." +**Direct**: "This crate right here. No cert stamps, twice the declared mass. Standard shipment." + --- ### `contraband.medical_grade` **Suspects**: "Some of this cargo doesn't feel like luxury goods." **KnowsOf**: "Medical-grade lattice replacements. For people whose lattices are degrading and who can't afford Syndic pricing." -**KnowsDetails**: "The ring moves medical replacements for people locked out of the institutional system. It's not just profit — it's healthcare." +**KnowsDetails**: "The ring moves medical replacements for people locked out of the institutional system. It's not just profit -- it's healthcare." **Direct**: N/A (conceptual understanding) **Mechanical Purpose**: Moral complexity gate. Smuggler monologue shifts tone when this reaches KnowsDetails. Detective dialogue with humanitarian-focused NPCs requires KnowsOf. +**Smuggler Starting Level**: KnowsOf +**Smuggler Perspective**: +**KnowsOf**: "Some of this cargo's for people who can't get replacements through the Syndics. Not just luxury mods. Real need." +**KnowsDetails**: "People whose lattices are failing. Months-long wait through legitimate channels, if they can even afford it. We're not running guns -- we're running healthcare the system won't provide." + --- ### `contraband.severance_tech` **Suspects**: "Sealed containers Nils won't discuss. Heavier than lattice components." **KnowsOf**: "Severance equipment. Counter-surveillance tech. Illegal across most of the Reach." -**KnowsDetails**: "Guardians of Severance supply chain. This isn't local — it's connected to something bigger." +**KnowsDetails**: "Guardians of Severance supply chain. This isn't local -- it's connected to something bigger." **Direct**: N/A (not directly visible in v0.1) **Mechanical Purpose**: Contamination seed for storyteller expansion. The thing that makes the smuggler question how deep the ring goes. +**Smuggler Starting Level**: Suspects +**Smuggler Perspective**: +**Suspects**: "Sealed containers Nils won't talk about. Different markings, heavier than lattice mods. He said don't ask. So I don't ask." +**KnowsOf**: "Severance gear. Counter-surveillance equipment. Whoever Nils is supplying, it's not just local lattice demand." +**KnowsDetails**: "Guardians of Severance supply chain. Nils has been using us as a distribution point for something I didn't sign up for. This is bigger than Sova." + --- ### `contraband.supply_chain` @@ -65,6 +99,11 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Investigation depth. Detective at KnowsDetails can map the full chain. Smuggler at KnowsDetails understands their position in the network. +**Smuggler Starting Level**: KnowsOf +**Smuggler Perspective**: +**KnowsOf**: "Cargo comes through Sabel, off-station. Sabel handles the incoming shipments, we handle local. What happens upstream, I don't ask." +**KnowsDetails**: "Syndic-adjacent manufacturers, freight networks, Sabel, then Nils or Devra, then us. I'm a link in a chain I can't see the end of." + --- ## Location Facts @@ -78,6 +117,11 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Spatial knowledge. Required for investigation progression (detective) and operational planning (smuggler). Direct confidence gates monologue about current surroundings. +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "B-7. Between the old and new panels. Service hatch from the break room gets you in. No Meridian, no cameras. Our corridor." +**Direct**: "In B-7 right now. Stale air, maintenance lighting. The usual." + --- ### `location.smuggling_route` @@ -89,17 +133,27 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Investigation mechanics. Detective needs KnowsOf to predict NPC movements. Smuggler needs KnowsDetails for operational participation. +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "Freight bay to service corridor to temp storage to Lera's back room. Twenty-minute window during shift change. The route runs itself when everyone hits their marks." +**Direct**: "Watching the handoff. Renn's moving through the service hatch now. Clean." + --- ### `location.surveillance_gaps` **Suspects**: "Some areas feel less monitored than others." **KnowsOf**: "Meridian coverage degrades in older sections. Maintenance corridors have minimal surveillance." -**KnowsDetails**: "Corridor B-7, break room service hatch, bar back room — all Meridian dead spots. The ring exploits these systematically." +**KnowsDetails**: "Corridor B-7, break room service hatch, bar back room -- all Meridian dead spots. The ring exploits these systematically." **Direct**: "Checking my lattice overlay now. Zero Meridian signal in this section." **Mechanical Purpose**: Stealth and observation mechanics. Detective's augmented lattice can detect coverage gaps (requires KnowsOf). Smuggler uses gaps operationally (requires KnowsDetails). +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "B-7, the break room hatch, Lera's back room -- all dead spots. Old construction left the gaps. We just learned the map." +**Direct**: "No signal here. Same as always." + --- ### `location.dead_drop_location` @@ -111,6 +165,11 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Discovery mechanic. Detective can discover through observation (Suspects -> KnowsOf). Smuggler knows from background (starts at KnowsDetails). +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "Locker 47. Break room. Registered to someone who left a year and a half ago. Small items, messages, keys. Don't use it for actual cargo." +**Direct**: "47's open. Sealed packet. Not mine -- someone else has been using it." + --- ## Investigation Facts @@ -120,10 +179,14 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Suspects**: "Cargo manifests have inconsistencies. Weight doesn't match volume." **KnowsOf**: "Systematic manifest doctoring. Someone with freight scheduler access is altering records." **KnowsDetails**: "Maret Korr processes manifests. She's noticed the discrepancies but hasn't reported them. She's either complicit or terrified." -**Direct**: "Comparing the manifest right now. Container 4471 — logged weight 240kg, actual weight closer to 310kg." +**Direct**: "Comparing the manifest right now. Container 4471 -- logged weight 240kg, actual weight closer to 310kg." **Mechanical Purpose**: Core investigation mechanic. Detective's analytical lattice flags discrepancies at Suspects. Full understanding requires KnowsDetails. Smuggler knows Maret's position from background. +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "Maret handles the manifests. She adjusts the numbers for us -- or at least doesn't flag them. Whether she's on board or just scared, the result's the same." + --- ### `investigation.shift_mismatch` @@ -131,10 +194,14 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Suspects**: "Night shift schedules don't align with freight volume." **KnowsOf**: "Voss adjusts shift schedules to create coverage gaps. Deliberate understaffing during high-risk windows." **KnowsDetails**: "Shift mismatches occur every third rotation. Coincides exactly with off-station shipment arrivals. Voss takes a cut." -**Direct**: "Checking the current schedule. Night shift is short two workers — again." +**Direct**: "Checking the current schedule. Night shift is short two workers -- again." **Mechanical Purpose**: Pattern recognition. Detective needs KnowsOf to connect schedule to smuggling. Smuggler knows the pattern operationally. +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "Voss thins the rotation every third cycle. Two short on nights, right when Sabel's shipment comes in. Not a coincidence -- it's the plan. Voss takes his cut." + --- ### `investigation.cargo_anomaly` @@ -146,16 +213,20 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Observation-based discovery. Detective builds case from Suspects upward. Smuggler knows the workflow (starts KnowsDetails). +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "Container arrives, sits in temp during A shift, gets repackaged during B transition, moves out during C startup. Nils handles the timing. I handle the routing. Clockwork." + --- ### `investigation.evidence_collected` -**Suspects**: N/A (binary fact — you either have evidence or you don't) +**Suspects**: N/A (binary fact -- you either have evidence or you don't) **KnowsOf**: "I have documented manifest discrepancies, shift schedule anomalies, and witness testimony from Drin." **KnowsDetails**: "Full case file: manifest logs, Drin's testimony under pressure, Maret's reluctant cooperation, surveillance footage from observation gallery showing Corridor B-7 access." **Direct**: N/A (abstract accumulation) -**Mechanical Purpose**: Investigation state tracker. Gates confrontation dialogue. Detective-specific — smuggler doesn't collect evidence against themselves. +**Mechanical Purpose**: Investigation state tracker. Gates confrontation dialogue. Detective-specific -- smuggler doesn't collect evidence against themselves. (Smuggler equivalent: `progress.operation_compromised`.) --- @@ -170,17 +241,28 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Moral framing. Smuggler at KnowsDetails has ideological justification. Detective at KnowsDetails understands why the ring has community support. +**Smuggler Starting Level**: KnowsOf +**Smuggler Perspective**: +**KnowsOf**: "Commission cert costs more than most of us make in six months. Wait times are a joke. Of course people go aftermarket." +**KnowsDetails**: "The system's built to fail people like us. Medical replacements behind a six-month queue. Fines for mods you can't afford to get certified. The ring exists because the Commission made it necessary." + --- ### `world.syndic_supply_chain` **Suspects**: "The cargo originates from Syndic-controlled systems." **KnowsOf**: "Syndics manufacture medical-grade lattice components. Diverted shipments end up on the black market." -**KnowsDetails**: "Specific Syndic: unclear, but the serial number patterns suggest two sources. The ring doesn't control the supply chain — they're downstream distributors." +**KnowsDetails**: "Specific Syndic: unclear, but the serial number patterns suggest two sources. The ring doesn't control the supply chain -- they're downstream distributors." **Direct**: N/A (network knowledge) **Mechanical Purpose**: Political context. Detective at KnowsDetails realizes the ring is small-scale. Smuggler at KnowsDetails understands their position in the larger economy. +**Smuggler Starting Level**: Suspects +**Smuggler Perspective**: +**Suspects**: "Cargo's not local. Different seals, different packaging. Someone manufacturing off-station." +**KnowsOf**: "Syndic supply chain. Medical-grade lattice parts diverted from legitimate production. Sabel's our connection point." +**KnowsDetails**: "Two sources, based on the serial patterns. The Syndics aren't partners -- they're wholesalers. We're downstream, and we're replaceable." + --- ### `world.sova_district_layout` @@ -192,6 +274,11 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Navigation and investigation. Detective needs KnowsDetails to find hidden spaces. Smuggler starts with KnowsOf (knows layout from living here). +**Smuggler Starting Level**: KnowsOf +**Smuggler Perspective**: +**KnowsOf**: "Forty-year-old prefab, retrofitted to hell. The hub, Lera's, residential blocks. I know every corridor by feel. Meridian's patchy in the old sections." +**KnowsDetails**: "Hidden spaces between old walls in Section 3. Service corridors from original construction, not on any current map. The ring uses what the builders left behind." + --- ### `world.shift_schedule` @@ -203,6 +290,11 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Temporal mechanics. Required for NPC routine prediction and investigation timing. Smuggler starts KnowsDetails. Detective learns through observation. +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "A shift: 06:00 to 14:00. B shift: 14:00 to 22:00. C shift: 22:00 to 06:00. Thirty-minute transitions. That's when the oversight thins and the route opens. Voss keeps it thin." +**Direct**: "Transition's active. Twenty minutes of open corridor. Time to move." + --- ## Relationship Facts @@ -216,6 +308,11 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Social knowledge. Detective builds this through investigation. Smuggler knows from shared membership (if on that path) or observation. +**Smuggler Starting Level**: KnowsDetails +**Smuggler Perspective**: +**KnowsDetails**: "Nils coordinates from off-site. Devra handles messages. Voss covers the schedule. Kael and I handle cargo. Renn's the courier. Lera runs the handoff point. Pell's been shaky lately -- that worries me." +**Direct**: "Watching Kael work a shipment. We've done this a hundred times. Smooth." + --- ### `relationship.kael_naia_connection` @@ -227,6 +324,11 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Emotional leverage. Detective can use Naia as pressure point. Smuggler (if Kael's friend) must protect Naia from knowledge. +**Smuggler Starting Level**: KnowsOf +**Smuggler Perspective**: +**KnowsOf**: "Naia's Kael's partner. Good person. Worries about him working late. Doesn't know about the ring -- at least that's what Kael says." +**KnowsDetails**: "Naia's been talking to Sera. Sera's Commission. If Naia shares too much and Sera connects the dots, Kael's problem becomes everyone's problem." + --- ### `relationship.trust_network` @@ -238,6 +340,11 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Social manipulation mechanics. Detective at KnowsDetails can exploit trust fractures. Smuggler at KnowsDetails knows whom to protect. +**Smuggler Starting Level**: KnowsOf +**Smuggler Perspective**: +**KnowsOf**: "Kael trusts Nils -- blood. Lera's reliable, keeps her mouth shut. Drin's compromised somehow. Voss is solid as long as the money flows." +**KnowsDetails**: "Full picture: Kael to Nils is blood. Kael to Naia is heart. Naia to Sera is friendship. Drin owes Harek. Voss follows whoever's paying. Pull one thread, the whole thing comes apart." + --- ### `relationship.faction_allegiance` @@ -249,6 +356,11 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **Mechanical Purpose**: Access tier logic. Explains why NPCs treat characters differently. Detective at KnowsDetails understands institutional barriers. +**Smuggler Starting Level**: KnowsOf +**Smuggler Perspective**: +**KnowsOf**: "Sera's Commission. Torek's Commission-adjacent but lives here, so who knows where he really stands. The new investigator is Commission, full stop. Everyone else is us or civilian." +**KnowsDetails**: "Lines aren't simple. Drin's civilian but compromised. Maret's civilian but knows too much. The detective is Commission sent to investigate. Commission versus ring versus people caught in between -- and nobody gets to be just one thing." + --- ## Progress Facts (Arc State Tracking) @@ -266,7 +378,7 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to ### `progress.active_investigation` -**Suspects**: N/A (binary — investigation is active or it isn't) +**Suspects**: N/A (binary -- investigation is active or it isn't) **KnowsOf**: "I'm building a case. Evidence collected, witnesses identified, patterns mapped." **KnowsDetails**: "Case file: manifest logs, Drin testimony, Maret's reluctant cooperation, surveillance data, NPC behavioral analysis. Ready to escalate." **Direct**: N/A (meta-knowledge) @@ -282,7 +394,7 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to **KnowsDetails**: "Full case built. Can confront the ring, turn an informant, or escalate to Commission enforcement." **Direct**: N/A (meta-knowledge) -**Mechanical Purpose**: Detective endgame gate. Smuggler equivalent: `progress.operation_compromised` (not listed here — detective-specific arc). +**Mechanical Purpose**: Detective endgame gate. (Smuggler equivalent: `progress.operation_compromised`.) --- @@ -297,15 +409,88 @@ Canonical FactIds for the v0.1 vertical slice. All facts follow the `category.to --- +## Smuggler-Specific Progress Facts + +These facts track the smuggler's operational arc. They are the smuggler's equivalent of the detective's investigation progress facts. + +### `progress.operation_compromised` + +**Suspects**: "Something feels wrong today. Voss is tenser than usual. Kael's distracted." +**KnowsOf**: "There's pressure on the ring. Someone's asking questions about manifests. The Commission presence isn't routine." +**KnowsDetails**: "The detective isn't here for compliance review. They're building a case. Maret's nervous, Drin might crack, and Kael's doing something unauthorized that makes everything worse." +**Direct**: N/A (meta-knowledge) + +**Mechanical Purpose**: Smuggler arc state. Gates operational monologue, defensive decision-making, and ring NPC dialogue. The smuggler's analog to `progress.initial_suspicion` + `progress.active_investigation`. Escalation triggers: detective asking questions about manifests, ring members reporting close calls, Kael's behavioral shift, Maret's visible anxiety. + +**Discoverable by**: smuggler only. + +--- + +### `progress.cover_threatened` + +**Suspects**: "That was a close call. The detective looked at me a beat too long." +**KnowsOf**: "I'm on someone's radar. The detective, or Torek, or both. Need to be more careful." +**KnowsDetails**: "They know. Maybe not everything, but enough. My routine's being watched. My associates flagged. My cargo containers noted." +**Direct**: N/A (meta-knowledge) + +**Mechanical Purpose**: Smuggler cover integrity tracker. Gates paranoia monologue, behavioral adaptation (the smuggler starts changing their own routine to avoid tells), and access tier shifts with ring members. When cover_threatened reaches KnowsDetails, the ring may start limiting the smuggler's access to operational information -- the insider access tier starts eroding from the smuggler's own side. + +**Discoverable by**: smuggler only. + +--- + +### `progress.detective_tracking` + +**Suspects**: "New Commission liaison. Showed up a few days ago. Voss mentioned it." +**KnowsOf**: "The detective is investigating freight irregularities. They've been requesting manifests, talking to Maret and Drin. This isn't routine." +**KnowsDetails**: "The detective has evidence. Don't know how much, but enough to make Maret sweat and Drin avoid eye contact. They're close." +**Direct**: N/A (meta-knowledge) + +**Mechanical Purpose**: Smuggler's tracking of the detective's investigation. Inverse of the detective's evidence tracking. The smuggler's monologue shifts from operational confidence to defensive awareness as this fact escalates. Gates ring-related dialogue: at KnowsOf, ring members start discussing countermeasures; at KnowsDetails, Nils may order the smuggler to change routines or go dark. + +**Discoverable by**: smuggler only. + +--- + ## Usage Notes - **FactId strings** must match exactly. `"contraband.ring_exists"` not `"contraband.ring_exist"` or `"Ring Exists"`. - **Confidence levels** are ordered: Suspects < KnowsOf < KnowsDetails < Direct. Use `KnowledgeConfidence::decayed()` for time-based degradation. -- **Direct confidence** is perception-system-managed. Content authors rarely set this manually — it's automatically assigned when an entity/location is in the observer's LOS. -- **Abstract facts** (e.g., `contraband.ring_exists`, `world.commission_regulations`) never reach Direct — they're conceptual, not observable. +- **Direct confidence** is perception-system-managed. Content authors rarely set this manually -- it's automatically assigned when an entity/location is in the observer's LOS. +- **Abstract facts** (e.g., `contraband.ring_exists`, `world.commission_regulations`) never reach Direct -- they're conceptual, not observable. - **Spatial facts** (e.g., `location.corridor_b7_restricted`) can reach Direct when the observer is physically present. - **Progression text** is for content authoring reference, not runtime display. Monologue lines reference these facts as prerequisites; they don't display the progression text directly. +- **Smuggler perspective text** follows the smuggler voice register (see [Smuggler Voice Card](../../docs/design/smuggler-voice-card.md)): fragments, first names, feeling-first, concrete, operational. Where the detective discovers facts through investigation, the smuggler often starts with operational knowledge and discovers threats to the operation. + +### Smuggler Starting Level Summary + +| FactId | Smuggler Start | Detective Start | Notes | +|--------|---------------|-----------------|-------| +| `contraband.ring_exists` | KnowsDetails | Suspects | Insider knowledge | +| `contraband.lattice_components` | KnowsDetails | Suspects | Handles the cargo | +| `contraband.medical_grade` | KnowsOf | Suspects | Knows the cargo, reckons with meaning later | +| `contraband.severance_tech` | Suspects | Suspects | Nils won't discuss -- both characters discover | +| `contraband.supply_chain` | KnowsOf | Suspects | Knows Sabel, not full upstream | +| `location.corridor_b7_restricted` | KnowsDetails | Suspects | Uses it regularly | +| `location.smuggling_route` | KnowsDetails | Suspects | Works the route | +| `location.surveillance_gaps` | KnowsDetails | Suspects | Knows them operationally | +| `location.dead_drop_location` | KnowsDetails | Suspects | Uses Locker 47 | +| `investigation.manifest_discrepancy` | KnowsDetails | Suspects | Creates the discrepancies | +| `investigation.shift_mismatch` | KnowsDetails | Suspects | Part of the operation | +| `investigation.cargo_anomaly` | KnowsDetails | Suspects | Knows the workflow | +| `investigation.evidence_collected` | N/A | Suspects | Detective-only | +| `world.commission_regulations` | KnowsOf | Suspects | Lives under them | +| `world.syndic_supply_chain` | Suspects | Suspects | Knows cargo's off-station, not source | +| `world.sova_district_layout` | KnowsOf | Suspects | Born here, knows lived layout | +| `world.shift_schedule` | KnowsDetails | Suspects | Works the shifts | +| `relationship.ring_membership` | KnowsDetails | Suspects | Is a member | +| `relationship.kael_naia_connection` | KnowsOf | Suspects | Knows Kael's partner through Kael | +| `relationship.trust_network` | KnowsOf | Suspects | Knows who's who from living there | +| `relationship.faction_allegiance` | KnowsOf | Suspects | Knows the social landscape | +| `progress.operation_compromised` | Suspects | N/A | Smuggler-only arc state | +| `progress.cover_threatened` | Suspects | N/A | Smuggler-only arc state | +| `progress.detective_tracking` | Suspects | N/A | Smuggler-only -- tracking the investigator | --- -**Total FactIds**: 24 (5 contraband, 4 location, 4 investigation, 4 world, 4 relationship, 4 progress). Sufficient for v0.1 vertical slice. Expandable by adding new categories or topics within existing categories. +**Total FactIds**: 27 (5 contraband, 4 location, 4 investigation, 4 world, 4 relationship, 3 detective progress, 3 smuggler progress). 21 existing facts received smuggler-perspective text. 3 new smuggler-specific progress facts added. Sufficient for v0.1 vertical slice. Expandable by adding new categories or topics within existing categories. diff --git a/docs/wiki/knowledge/relationship-states.md b/wiki/concepts/relationship-states.md similarity index 98% rename from docs/wiki/knowledge/relationship-states.md rename to wiki/concepts/relationship-states.md index c2a875211..e198043e8 100644 --- a/docs/wiki/knowledge/relationship-states.md +++ b/wiki/concepts/relationship-states.md @@ -1,3 +1,16 @@ +--- +title: "Relationship States and Transitions" +slug: relationship-states +category: concept +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +concept_type: mechanical +tags: [] +decision_refs: [D-041] +cross_refs: [] +--- + # Relationship States and Transitions How `RelationshipState` (defined in `server/src/knowledge/types.rs`) evolves during gameplay, with specific patterns for THE FRIEND contradictions and KnowledgeState integration. diff --git a/docs/wiki/contraband/lattice-components.md b/wiki/contraband/lattice-components.md similarity index 97% rename from docs/wiki/contraband/lattice-components.md rename to wiki/contraband/lattice-components.md index c88cad109..748b0f637 100644 --- a/docs/wiki/contraband/lattice-components.md +++ b/wiki/contraband/lattice-components.md @@ -1,3 +1,15 @@ +--- +title: "Lattice Components" +slug: lattice-components +category: contraband +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +risk_level: moderate +decision_refs: [D-037] +cross_refs: [] +--- + # Lattice Components (Contraband) **Type:** Primary Contraband diff --git a/docs/wiki/contraband/medical-grade-replacements.md b/wiki/contraband/medical-grade-replacements.md similarity index 97% rename from docs/wiki/contraband/medical-grade-replacements.md rename to wiki/contraband/medical-grade-replacements.md index 977cab53a..7e26ef9fb 100644 --- a/docs/wiki/contraband/medical-grade-replacements.md +++ b/wiki/contraband/medical-grade-replacements.md @@ -1,3 +1,15 @@ +--- +title: "Medical-Grade Replacements" +slug: medical-grade-replacements +category: contraband +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +risk_level: moderate +decision_refs: [D-037] +cross_refs: [] +--- + # Medical-Grade Replacements (Contraband) **Type:** Secondary Contraband diff --git a/docs/wiki/contraband/severance-equipment.md b/wiki/contraband/severance-equipment.md similarity index 97% rename from docs/wiki/contraband/severance-equipment.md rename to wiki/contraband/severance-equipment.md index b5d3f77d4..5d1db4f6b 100644 --- a/docs/wiki/contraband/severance-equipment.md +++ b/wiki/contraband/severance-equipment.md @@ -1,3 +1,15 @@ +--- +title: "Severance Equipment" +slug: severance-equipment +category: contraband +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +risk_level: high +decision_refs: [D-037] +cross_refs: [] +--- + # Severance Equipment (Contraband) **Type:** Tertiary Contraband diff --git a/wiki/cultural-groups/.gitkeep b/wiki/cultural-groups/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/wiki/factions/concord-assembly.md b/wiki/factions/concord-assembly.md similarity index 96% rename from docs/wiki/factions/concord-assembly.md rename to wiki/factions/concord-assembly.md index 08edf2bea..55e8fe8ae 100644 --- a/docs/wiki/factions/concord-assembly.md +++ b/wiki/factions/concord-assembly.md @@ -1,3 +1,17 @@ +--- +title: "The Concord Assembly" +slug: concord-assembly +category: faction +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +scope: reach-wide +faction_type: political +tags: [v0.1] +decision_refs: [] +cross_refs: [] +--- + # The Concord Assembly **Type:** Faction — Legislative Government diff --git a/docs/wiki/factions/guardians-of-autonomy.md b/wiki/factions/guardians-of-autonomy.md similarity index 97% rename from docs/wiki/factions/guardians-of-autonomy.md rename to wiki/factions/guardians-of-autonomy.md index 41b957597..4d41bb04d 100644 --- a/docs/wiki/factions/guardians-of-autonomy.md +++ b/wiki/factions/guardians-of-autonomy.md @@ -1,3 +1,17 @@ +--- +title: "Guardians of Autonomy" +slug: guardians-of-autonomy +category: faction +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +scope: reach-wide +faction_type: cultural +tags: [v0.1] +decision_refs: [] +cross_refs: [] +--- + # Guardians of Autonomy **Type:** Faction — Counter-Institutional Resistance Movement diff --git a/docs/wiki/factions/lattice-commission.md b/wiki/factions/lattice-commission.md similarity index 97% rename from docs/wiki/factions/lattice-commission.md rename to wiki/factions/lattice-commission.md index 0d7480f6b..c9ce1586e 100644 --- a/docs/wiki/factions/lattice-commission.md +++ b/wiki/factions/lattice-commission.md @@ -1,3 +1,17 @@ +--- +title: "The Lattice Commission" +slug: lattice-commission +category: faction +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +scope: reach-wide +faction_type: regulatory +tags: [v0.1] +decision_refs: [] +cross_refs: [] +--- + # The Lattice Commission **Type:** Faction — Regulatory Institution diff --git a/docs/wiki/factions/syndics.md b/wiki/factions/syndics.md similarity index 97% rename from docs/wiki/factions/syndics.md rename to wiki/factions/syndics.md index 69c841dd8..fe8fca263 100644 --- a/docs/wiki/factions/syndics.md +++ b/wiki/factions/syndics.md @@ -1,3 +1,17 @@ +--- +title: "The Syndics" +slug: syndics +category: faction +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +scope: reach-wide +faction_type: economic +tags: [v0.1] +decision_refs: [] +cross_refs: [] +--- + # The Syndics **Type:** Faction — Commercial Network diff --git a/docs/wiki/factions/the-ring.md b/wiki/factions/the-ring.md similarity index 97% rename from docs/wiki/factions/the-ring.md rename to wiki/factions/the-ring.md index ab7b43516..be509c084 100644 --- a/docs/wiki/factions/the-ring.md +++ b/wiki/factions/the-ring.md @@ -1,3 +1,17 @@ +--- +title: "The Ring (Sova Smuggling Operation)" +slug: the-ring +category: faction +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +scope: local +faction_type: criminal +tags: [v0.1] +decision_refs: [D-037] +cross_refs: [] +--- + # The Ring (Sova Smuggling Operation) **Type:** Faction — Informal Criminal Network diff --git a/docs/wiki/factions/the-unbound.md b/wiki/factions/the-unbound.md similarity index 97% rename from docs/wiki/factions/the-unbound.md rename to wiki/factions/the-unbound.md index 0fd6886a9..69ed801e4 100644 --- a/docs/wiki/factions/the-unbound.md +++ b/wiki/factions/the-unbound.md @@ -1,3 +1,17 @@ +--- +title: "The Unbound" +slug: the-unbound +category: faction +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +scope: reach-wide +faction_type: cultural +tags: [v0.1] +decision_refs: [] +cross_refs: [] +--- + # The Unbound **Type:** Faction — Cultural Movement diff --git a/docs/wiki/factions/veil-institute.md b/wiki/factions/veil-institute.md similarity index 97% rename from docs/wiki/factions/veil-institute.md rename to wiki/factions/veil-institute.md index 27477ece3..04f27719e 100644 --- a/docs/wiki/factions/veil-institute.md +++ b/wiki/factions/veil-institute.md @@ -1,3 +1,17 @@ +--- +title: "The Veil Institute" +slug: veil-institute +category: faction +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +scope: reach-wide +faction_type: cultural +tags: [v0.1] +decision_refs: [] +cross_refs: [] +--- + # The Veil Institute **Type:** Faction — Research Institution diff --git a/docs/wiki/index.md b/wiki/index.md similarity index 51% rename from docs/wiki/index.md rename to wiki/index.md index 135581a15..0dd3be077 100644 --- a/docs/wiki/index.md +++ b/wiki/index.md @@ -1,3 +1,12 @@ +--- +title: "The Settled Reach — Game Wiki" +slug: wiki-index +category: index +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +--- + # The Settled Reach — Game Wiki **Project:** The Settled Reach (top-down immersive sim) @@ -15,22 +24,44 @@ This wiki serves three audiences: **Cross-reference format:** Wiki entries link to decision documents where relevant. Example: Neural lattice tiers implement D-017 (perception modes as character build). -**Status levels:** `canonical` (confirmed), `draft` (in review), `proposed` (under consideration). Only use canonical entries as truth. +**Status levels:** `canonical` (confirmed), `draft` (in review), `proposed` (under consideration). Only use canonical entries as truth. See [GOVERNANCE.md](GOVERNANCE.md) for full contribution rules. --- ## Wiki Structure -### World (Spatial Hierarchy) -- [Krenn System](world/krenn-system.md) — Mid-Reach G3V system, ~180 years settled -- [Station Sova](world/station-sova.md) — Logistics hub, ~12k population -- [Sova Transit District](world/sova-transit-district.md) — v0.1 setting, freight logistics district +### Star Systems (Spatial Hierarchy: system > station > district > location) +- [Krenn System](star-systems/krenn/index.md) — Mid-Reach G3V system, ~180 years settled + - [Station Sova](star-systems/krenn/sova/index.md) — Logistics hub, ~12k population + - [Sova Transit District](star-systems/krenn/sova/transit/index.md) — v0.1 setting, freight logistics district + - [The Terminal](star-systems/krenn/sova/transit/the-terminal.md) — Logistics hub (workplace social site) + - [The Last Shift](star-systems/krenn/sova/transit/the-last-shift.md) — Bar / "Lera's" (social venue) + - [Maintenance Corridors](star-systems/krenn/sova/transit/maintenance-corridors.md) — Smuggling spaces, Corridor B-7 -### Locations (Physical Spaces — nested by system) -- **Krenn System:** - - [The Terminal](locations/krenn-system/the-terminal.md) — Logistics hub (workplace social site) - - [The Last Shift](locations/krenn-system/the-last-shift.md) — Bar / "Lera's" (social venue) - - [Maintenance Corridors](locations/krenn-system/maintenance-corridors.md) — Smuggling spaces, Corridor B-7 +### Characters (Named NPCs) +- [Character Index](characters/index.md) — Full roster with tier assignments + triangle diagram +- **Tier 1 (FRIEND NPCs):** + - [Kael Davan](characters/kael-davan.md) — Smuggler's FRIEND (dock worker, ring member) + - [Sera Venn](characters/sera-venn.md) — Detective's FRIEND (Commission field tech) +- **Tier 2 (Triangle NPCs):** + - [Voss](characters/voss.md) — Shift supervisor + - [Lera Sessik](characters/lera-sessik.md) — Bar owner + - [Torek Lintar](characters/torek-lintar.md) — Dock worker / bar regular + - [Devra](characters/devra.md) — Ring coordinator + - [Maret Korr](characters/maret-korr.md) — Freight scheduler + - [Resha](characters/resha.md) — New hire + - [Harek](characters/harek.md) — Off-duty security + - [Naia Tamm](characters/naia-tamm.md) — Kael's partner + - [Renn](characters/renn.md) — Courier (ring + hub bridge) + - [Pell](characters/pell.md) — Wavering ring member + - [Drin](characters/drin.md) — Maintenance tech / dock inspector +- **Tier 3 (Flat NPCs):** + - [Sess](characters/sess.md) — Bartender + - [Olin](characters/olin.md) — Drifter/new arrival + - [Sabel](characters/sabel.md) — Off-station supplier + - [Tav](characters/tav.md) — Lookout/runner +- **Off-Stage:** + - [Nils Davan](characters/nils-davan.md) — Ring coordinator (off-station) ### Factions (Political & Institutional) - [Concord Assembly](factions/concord-assembly.md) — Reach-wide representative government @@ -41,29 +72,6 @@ This wiki serves three audiences: - [Veil Institute](factions/veil-institute.md) — Founder Gate research institution - [The Unbound](factions/the-unbound.md) — Anti-lattice cultural movement -### NPCs (Named Characters) -- [NPC Index](npcs/index.md) — Full roster with tier assignments + triangle diagram -- **Tier 1 (FRIEND NPCs):** - - [Kael Davan](npcs/kael-davan.md) — Smuggler's FRIEND (dock worker, ring member) - - [Sera Venn](npcs/sera-venn.md) — Detective's FRIEND (Commission field tech) -- **Tier 2 (Triangle NPCs):** - - [Voss](npcs/voss.md) — Shift supervisor - - [Lera Sessik](npcs/lera-sessik.md) — Bar owner - - [Torek Lintar](npcs/torek-lintar.md) — Dock worker / bar regular - - [Devra](npcs/devra.md) — Ring coordinator - - [Maret Korr](npcs/maret-korr.md) — Freight scheduler - - [Resha](npcs/resha.md) — New hire - - [Harek](npcs/harek.md) — Off-duty security - - [Naia Tamm](npcs/naia-tamm.md) — Kael's partner (referenced) - - [Renn](npcs/renn.md) — Courier (ring + hub bridge) - - [Pell](npcs/pell.md) — Wavering ring member -- **Tier 3 (Flat NPCs):** - - [Drin](npcs/drin.md) — Maintenance tech - - [Sess](npcs/sess.md) — Bartender - - [Olin](npcs/olin.md) — Drifter/new arrival - - [Sabel](npcs/sabel.md) — Off-station supplier - - [Tav](npcs/tav.md) — Lookout/runner - ### Technology (Systems & Devices) - [Neural Lattice](technology/neural-lattice.md) — Universal brain-computer interface, tiered - [Meridian](technology/meridian.md) — Information network @@ -72,15 +80,30 @@ This wiki serves three audiences: - [Clone Transfer](technology/clone-transfer.md) — Death, backup, body economics - [Severance Tech](technology/severance-tech.md) — Counter-surveillance technology +### Cultural Groups +- *(No entries yet — use [template](_templates/cultural-group.md) to create)* + ### Contraband (Illegal/Restricted Goods) - [Lattice Components](contraband/lattice-components.md) — Primary contraband in v0.1 - [Medical-Grade Replacements](contraband/medical-grade-replacements.md) — Diverted healthcare - [Severance Equipment](contraband/severance-equipment.md) — Counter-surveillance gear -### Knowledge Systems (Mechanical Reference) -- [Fact Catalog](knowledge/fact-catalog.md) — FactId entries with confidence levels -- [Entity Attributes](knowledge/entity-attributes.md) — EntityKnowledge key definitions -- [Relationship States](knowledge/relationship-states.md) — State transitions + contradictions +### Institutions +- *(No entries yet — use [template](_templates/institution.md) to create)* + +### Species +- *(No entries yet — use [template](_templates/species.md) to create)* + +### Lore (History & Events) +- *(No entries yet — use [template](_templates/lore.md) to create)* + +### Concepts (Mechanical Reference) +- [Fact Catalog](concepts/fact-catalog.md) — FactId entries with confidence levels +- [Entity Attributes](concepts/entity-attributes.md) — EntityKnowledge key definitions +- [Relationship States](concepts/relationship-states.md) — State transitions + contradictions + +### Triangles (Relationship Structures) +- [Hub Power](triangles/hub-power.md) — Voss / Kael / Nils (entangled) ### Authoring Guides (For Content Team) - [Monologue Guide](authoring/monologue-guide.md) — Prerequisites, triggers, examples (Mellanie's domain) @@ -89,7 +112,7 @@ This wiki serves three audiences: ## Quick Reference -**v0.1 Scope:** 1 star system, 1 station, 1 district, 3 social sites, 17 NPCs, 5 triangles, 2 playable characters (smuggler + detective) +**v0.1 Scope:** 1 star system, 1 station, 1 district, 3 social sites, 18 NPCs, 5 triangles, 2 playable characters (smuggler + detective) **Setting mood:** Quotidian-with-undertow — comfortable enough to be complacent, tight enough that extra income is tempting @@ -101,8 +124,22 @@ This wiki serves three audiences: --- +## Templates & Governance + +All wiki entries use YAML frontmatter and follow category-specific templates. See: + +- [GOVERNANCE.md](GOVERNANCE.md) — Ownership, status lifecycle, contribution rules +- [_templates/](_templates/) — One template per category (11 categories + 3 spatial types) + +**Categories:** `star-system`, `station`, `district`, `location`, `character`, `faction`, `technology`, `cultural-group`, `contraband`, `institution`, `species`, `lore`, `concept`, `triangle` + +--- + ## Cross-References to Decision Documents +- **D-017:** Perception modes as character-build system +- **D-024:** NPC 10-axis model +- **D-025:** Social site as atomic template unit - **D-027:** Vertical slice definition (smuggler + detective two-character proof) - **D-028:** Dialogue architecture (four relational layers) - **D-032:** Separate monologue pools per character @@ -116,6 +153,6 @@ See `decisions/README.md` for full decision domain index. --- -**Status:** Canonical reference as of 2026-02-12 -**Maintained by:** Paula (narrative), Miri (worldbuilding), team contributions -**Source:** Workshops, decision rounds, canonical type definitions in `server/src/knowledge/types.rs` +**Status:** Canonical reference as of 2026-02-13 +**Maintained by:** Miri (structure), Paula (narrative), team contributions +**Governance:** [GOVERNANCE.md](GOVERNANCE.md) diff --git a/wiki/institutions/.gitkeep b/wiki/institutions/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/wiki/lore/.gitkeep b/wiki/lore/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/wiki/species/.gitkeep b/wiki/species/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/docs/wiki/world/krenn-system.md b/wiki/star-systems/krenn/index.md similarity index 91% rename from docs/wiki/world/krenn-system.md rename to wiki/star-systems/krenn/index.md index d9cd22b1e..88f1f9618 100644 --- a/docs/wiki/world/krenn-system.md +++ b/wiki/star-systems/krenn/index.md @@ -1,3 +1,21 @@ +--- +title: "Krenn System" +slug: krenn +category: star-system +status: canonical +created: 2026-02-11 +updated: 2026-02-13 +stellar_class: G3V +settlement_age: 180 +population: 2400000 +reach_position: mid-reach +stations: [sova] +gate_connections: [] +tags: [v0.1, first-system] +decision_refs: [D-036] +cross_refs: [sova, transit] +--- + # Krenn System **Type:** Star System @@ -89,7 +107,7 @@ The Commission's presence in Krenn is intermittent by design: established enough ## Key Locations in System - **Krenn Prime:** Primary world, 2M population, light manufacturing -- **Station Sova:** Logistics hub, 12k population, freight-primary ([see Station Sova profile](station-sova.md)) +- **Station Sova:** Logistics hub, 12k population, freight-primary ([see Station Sova profile](sova/index.md)) - **Orbital Manufacturing Platforms:** 3 major, component assembly - **Belt Facilities:** Depleted mining infrastructure, some repurposed for storage @@ -123,8 +141,8 @@ This is the substrate that makes Sova Transit District narratively plausible. --- **Cross-References:** -- [Station Sova](station-sova.md) — Primary v0.1 location -- [Sova Transit District](sova-transit-district.md) — v0.1 playable space +- [Station Sova](sova/index.md) — Primary v0.1 location +- [Sova Transit District](sova/transit/index.md) — v0.1 playable space - D-036: Sova Transit District / Krenn System as v0.1 setting --- diff --git a/docs/wiki/world/station-sova.md b/wiki/star-systems/krenn/sova/index.md similarity index 87% rename from docs/wiki/world/station-sova.md rename to wiki/star-systems/krenn/sova/index.md index de9cdadc8..49d83e3fa 100644 --- a/docs/wiki/world/station-sova.md +++ b/wiki/star-systems/krenn/sova/index.md @@ -1,8 +1,24 @@ +--- +title: "Station Sova" +slug: sova +category: station +status: canonical +created: 2026-02-11 +updated: 2026-02-13 +parent_system: krenn +population: 12000 +station_type: logistics +districts: [transit] +tags: [v0.1] +decision_refs: [D-036] +cross_refs: [krenn, transit] +--- + # Station Sova **Type:** Space Station **Status:** Canonical -**System:** [Krenn System](krenn-system.md) +**System:** [Krenn System](../index.md) **Classification:** Logistics Hub **Population:** ~12,000 **Construction Era:** Mid-settlement (~140 years ago) @@ -32,7 +48,7 @@ This layered construction creates architectural secrets: spaces between wall lay - **Residential/Commercial:** Ring 2 (middle), mixed-use districts - **Operations/Services:** Ring 3 (innermost), administration and maintenance -[Sova Transit District](sova-transit-district.md) occupies a section of Ring 1 — freight bay retrofitted for logistics operations + worker amenities. +[Sova Transit District](transit/index.md) occupies a section of Ring 1 — freight bay retrofitted for logistics operations + worker amenities. --- @@ -81,7 +97,7 @@ This economic reality drives three social patterns: **Law Enforcement Gaps:** This is critical for v0.1 narrative: Sova has *security* (prevent accidents, respond to violence) but minimal *law enforcement* (investigate contraband). The Commission sends liaisons for lattice compliance inspections, but those visits are scheduled and infrequent. -The detective's arrival in [Sova Transit District](sova-transit-district.md) represents an unusual enforcement presence — something has flagged the district for investigation, and institutional attention is now focused where it usually isn't. +The detective's arrival in [Sova Transit District](transit/index.md) represents an unusual enforcement presence — something has flagged the district for investigation, and institutional attention is now focused where it usually isn't. --- @@ -89,7 +105,7 @@ The detective's arrival in [Sova Transit District](sova-transit-district.md) rep Station Sova has 7 named districts. Only **Sova Transit District** is developed for v0.1. -1. **Sova Transit District** — Freight logistics, worker amenities, bar district ([full profile](sova-transit-district.md)) +1. **Sova Transit District** — Freight logistics, worker amenities, bar district ([full profile](transit/index.md)) 2. **Central Spindle District** — Administration, station operations 3. **Residential Radial A** — Long-term housing, schools, medical 4. **Residential Radial B** — Short-term housing, transient workers @@ -147,10 +163,10 @@ This coverage gradient is load-bearing for smuggling: off-Meridian coordination ## Key Locations (v0.1 Scope) -See [Sova Transit District](sova-transit-district.md) for full v0.1 location details: -- [The Terminal](../locations/krenn-system/the-terminal.md) (logistics hub) -- [The Last Shift](../locations/krenn-system/the-last-shift.md) (bar) -- [Maintenance Corridor B-7](../locations/krenn-system/maintenance-corridors.md) (smuggling space) +See [Sova Transit District](transit/index.md) for full v0.1 location details: +- [The Terminal](transit/the-terminal.md) (logistics hub) +- [The Last Shift](transit/the-last-shift.md) (bar) +- [Maintenance Corridor B-7](transit/maintenance-corridors.md) (smuggling space) --- @@ -179,8 +195,8 @@ See [Sova Transit District](sova-transit-district.md) for full v0.1 location det --- **Cross-References:** -- [Krenn System](krenn-system.md) — Star system profile -- [Sova Transit District](sova-transit-district.md) — v0.1 playable district +- [Krenn System](../index.md) — Star system profile +- [Sova Transit District](transit/index.md) — v0.1 playable district - D-036: Sova as v0.1 setting --- diff --git a/docs/wiki/world/sova-transit-district.md b/wiki/star-systems/krenn/sova/transit/index.md similarity index 76% rename from docs/wiki/world/sova-transit-district.md rename to wiki/star-systems/krenn/sova/transit/index.md index ed190297f..5a912a889 100644 --- a/docs/wiki/world/sova-transit-district.md +++ b/wiki/star-systems/krenn/sova/transit/index.md @@ -1,9 +1,29 @@ +--- +title: "Sova Transit District" +slug: transit +category: district +status: canonical +created: 2026-02-11 +updated: 2026-02-13 +parent_station: sova +parent_system: krenn +population: 800 +age: 40 +construction: mixed +locations: [the-terminal, the-last-shift, maintenance-corridors] +social_sites: [logistics-hub, bar, smuggling-ring] +npc_count: 17 +tags: [v0.1, vertical-slice] +decision_refs: [D-036, D-027] +cross_refs: [krenn, sova, the-ring] +--- + # Sova Transit District **Type:** Station District **Status:** Canonical -**Station:** [Station Sova](station-sova.md) -**System:** [Krenn System](krenn-system.md) +**Station:** [Station Sova](../index.md) +**System:** [Krenn System](../../index.md) **District Age:** ~40 years (most recent major retrofit) **Population:** ~800 (workers + residents) **Construction:** Prefab-modular base with layered retrofits @@ -31,11 +51,11 @@ Comfortable enough to be complacent. Tight enough that an extra income source is 4. **Ongoing maintenance:** Continuous patching, creating architectural complexity **Spatial Structure:** -- **Level 1 (lowest):** Freight bay floor, cargo handling, span gate access, logistics hub ([The Terminal](../locations/krenn-system/the-terminal.md)) +- **Level 1 (lowest):** Freight bay floor, cargo handling, span gate access, logistics hub ([The Terminal](locations/the-terminal.md)) - **Level 2 (middle):** Worker amenities (bar, food vendors, small retail), residential pods - **Level 3 (highest):** Observation gallery (overlooks freight bay), administrative offices, Commission kiosk (unmanned most of the time) -**Between the Levels:** Maintenance corridors, service hatches, spaces between old and new construction. This is where the smuggling infrastructure lives. [Corridor B-7](../locations/krenn-system/maintenance-corridors.md) is the primary off-books route. +**Between the Levels:** Maintenance corridors, service hatches, spaces between old and new construction. This is where the smuggling infrastructure lives. [Corridor B-7](locations/maintenance-corridors.md) is the primary off-books route. --- @@ -45,25 +65,25 @@ The district contains three **social sites** — clusters of NPCs who regularly ### 1. The Terminal (Logistics Hub) **Type:** Workplace -**NPCs:** 5 ([Voss](../npcs/voss.md), [Kael Davan](../npcs/kael-davan.md), [Resha](../npcs/resha.md), [Torek Lintar](../npcs/torek-lintar.md), [Drin](../npcs/drin.md)) +**NPCs:** 5 ([Voss](../../../../characters/voss.md), [Kael Davan](../../../../characters/kael-davan.md), [Resha](../../../../characters/resha.md), [Torek Lintar](../../../../characters/torek-lintar.md), [Drin](../../../../characters/drin.md)) **Function:** Cargo sorting, scheduling, inspection, paperwork **Hours:** 24-hour operation, three 8-hour shifts -**[Full profile ->](../locations/krenn-system/the-terminal.md)** +**[Full profile ->](locations/the-terminal.md)** ### 2. The Last Shift (Bar) **Type:** Social Venue -**NPCs:** 6 ([Lera Sessik](../npcs/lera-sessik.md), [Harek](../npcs/harek.md), [Maret Korr](../npcs/maret-korr.md), [Sera Venn](../npcs/sera-venn.md), [Sess](../npcs/sess.md), [Olin](../npcs/olin.md)) +**NPCs:** 6 ([Lera Sessik](../../../../characters/lera-sessik.md), [Harek](../../../../characters/harek.md), [Maret Korr](../../../../characters/maret-korr.md), [Sera Venn](../../../../characters/sera-venn.md), [Sess](../../../../characters/sess.md), [Olin](../../../../characters/olin.md)) **Function:** After-shift drinks, social hub, information exchange **Hours:** 14:00 - 02:00 station time **Informal Name:** "Lera's" (used by regulars) -**[Full profile ->](../locations/krenn-system/the-last-shift.md)** +**[Full profile ->](locations/the-last-shift.md)** ### 3. Smuggling Spaces (The Ring's Infrastructure) **Type:** Criminal operation / repurposed infrastructure -**NPCs:** 5 ([Devra](../npcs/devra.md), [Renn](../npcs/renn.md), [Pell](../npcs/pell.md), [Sabel](../npcs/sabel.md), [Tav](../npcs/tav.md)) +**NPCs:** 5 ([Devra](../../../../characters/devra.md), [Renn](../../../../characters/renn.md), [Pell](../../../../characters/pell.md), [Sabel](../../../../characters/sabel.md), [Tav](../../../../characters/tav.md)) **Function:** Contraband transfer, off-books meetings, dead drops -**Locations:** [Maintenance Corridor B-7](../locations/krenn-system/maintenance-corridors.md), back room at The Last Shift, storage area in logistics hub -**[Full profile ->](../locations/krenn-system/maintenance-corridors.md)** +**Locations:** [Maintenance Corridor B-7](locations/maintenance-corridors.md), back room at The Last Shift, storage area in logistics hub +**[Full profile ->](locations/maintenance-corridors.md)** --- @@ -171,11 +191,11 @@ This is why the community tolerates the ring: everyone benefits indirectly. The **Total NPCs in District:** 17 (15 standard + 2 FRIEND-tier) **Population Distribution (D-029 Entanglement Ratio: 30/50/20):** -- **Flat NPCs (3, ~18%):** [Drin](../npcs/drin.md), [Sess](../npcs/sess.md), [Olin](../npcs/olin.md) — routines, greetings, atmosphere -- **Triangle NPCs, Mundane (7, ~41%):** [Voss](../npcs/voss.md), [Maret Korr](../npcs/maret-korr.md), [Torek Lintar](../npcs/torek-lintar.md), [Lera Sessik](../npcs/lera-sessik.md), [Harek](../npcs/harek.md), [Resha](../npcs/resha.md), [Sera Venn](../npcs/sera-venn.md) -- **Triangle NPCs, Entangled (7, ~41%):** [Kael Davan](../npcs/kael-davan.md), [Devra](../npcs/devra.md), [Renn](../npcs/renn.md), [Pell](../npcs/pell.md), [Sabel](../npcs/sabel.md), [Tav](../npcs/tav.md), [Naia Tamm](../npcs/naia-tamm.md) (referenced) +- **Flat NPCs (3, ~18%):** [Drin](../../../../characters/drin.md), [Sess](../../../../characters/sess.md), [Olin](../../../../characters/olin.md) — routines, greetings, atmosphere +- **Triangle NPCs, Mundane (7, ~41%):** [Voss](../../../../characters/voss.md), [Maret Korr](../../../../characters/maret-korr.md), [Torek Lintar](../../../../characters/torek-lintar.md), [Lera Sessik](../../../../characters/lera-sessik.md), [Harek](../../../../characters/harek.md), [Resha](../../../../characters/resha.md), [Sera Venn](../../../../characters/sera-venn.md) +- **Triangle NPCs, Entangled (7, ~41%):** [Kael Davan](../../../../characters/kael-davan.md), [Devra](../../../../characters/devra.md), [Renn](../../../../characters/renn.md), [Pell](../../../../characters/pell.md), [Sabel](../../../../characters/sabel.md), [Tav](../../../../characters/tav.md), [Naia Tamm](../../../../characters/naia-tamm.md) (referenced) -**The Five Triangles:** See [NPC Index](../npcs/index.md) for full triangle diagram. +**The Five Triangles:** See [NPC Index](../../../../characters/index.md) for full triangle diagram. --- @@ -183,14 +203,14 @@ This is why the community tolerates the ring: everyone benefits indirectly. The **Structure:** Informal network, no official name. NPCs refer to it obliquely ("the arrangement," "the side work," "helping out"). -**What They Move:** [Unlicensed lattice components](../contraband/lattice-components.md) (primary), [medical-grade neural replacements](../contraband/medical-grade-replacements.md), [Severance counter-surveillance tech](../contraband/severance-equipment.md) +**What They Move:** [Unlicensed lattice components](../../../../contraband/lattice-components.md) (primary), [medical-grade neural replacements](../../../../contraband/medical-grade-replacements.md), [Severance counter-surveillance tech](../../../../contraband/severance-equipment.md) **How It Works:** 1. Contraband arrives in legitimate freight shipments (mixed with legal cargo) -2. [Torek Lintar](../npcs/torek-lintar.md) (compromised inspector) looks away during inspection -3. [Kael Davan](../npcs/kael-davan.md) and others route flagged containers to holding area -4. [Renn](../npcs/renn.md) (courier) transfers contraband to [Corridor B-7](../locations/krenn-system/maintenance-corridors.md) -5. [Devra](../npcs/devra.md) coordinates off-station contact ([Sabel](../npcs/sabel.md)) +2. [Torek Lintar](../../../../characters/torek-lintar.md) (compromised inspector) looks away during inspection +3. [Kael Davan](../../../../characters/kael-davan.md) and others route flagged containers to holding area +4. [Renn](../../../../characters/renn.md) (courier) transfers contraband to [Corridor B-7](locations/maintenance-corridors.md) +5. [Devra](../../../../characters/devra.md) coordinates off-station contact ([Sabel](../../../../characters/sabel.md)) 6. Product distributed through informal networks **Operational Timing:** Night shifts (lowest oversight), shift transitions (confusion/distraction), post-inspection windows (2-3 days after scheduled Commission sweep) @@ -244,9 +264,9 @@ This is why the community tolerates the ring: everyone benefits indirectly. The --- **Cross-References:** -- [Krenn System](krenn-system.md) — Star system profile -- [Station Sova](station-sova.md) — Station profile -- [NPC Index](../npcs/index.md) — Full character roster +- [Krenn System](../../index.md) — Star system profile +- [Station Sova](../index.md) — Station profile +- [NPC Index](../../../../characters/index.md) — Full character roster - D-036: Sova Transit District as v0.1 setting - D-027: Vertical slice definition diff --git a/docs/wiki/locations/krenn-system/maintenance-corridors.md b/wiki/star-systems/krenn/sova/transit/maintenance-corridors.md similarity index 91% rename from docs/wiki/locations/krenn-system/maintenance-corridors.md rename to wiki/star-systems/krenn/sova/transit/maintenance-corridors.md index ce8c49695..915341d2e 100644 --- a/docs/wiki/locations/krenn-system/maintenance-corridors.md +++ b/wiki/star-systems/krenn/sova/transit/maintenance-corridors.md @@ -1,10 +1,29 @@ +--- +title: "Maintenance Corridors" +slug: maintenance-corridors +category: location +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +parent_district: transit +parent_station: sova +parent_system: krenn +social_site: smuggling-ring +sightlines: severely-limited +ambient_sound: ventilation-hum +npcs_present: [devra, renn, pell, sabel, tav] +tags: [v0.1, criminal-infrastructure] +decision_refs: [D-025, D-036] +cross_refs: [the-terminal, the-last-shift] +--- + # Maintenance Corridors (Smuggling Spaces) **Type:** Location — Criminal Infrastructure / Repurposed Space **Status:** Canonical -**District:** [Sova Transit District](../../world/sova-transit-district.md) -**Station:** [Station Sova](../../world/station-sova.md) -**System:** [Krenn System](../../world/krenn-system.md) +**District:** [Sova Transit District](index.md) +**Station:** [Station Sova](../index.md) +**System:** [Krenn System](../../index.md) **Level:** Between levels (interstitial construction) **Key Location:** Corridor B-7 **Access:** Restricted (service hatch from Terminal break room, maintenance access from Level 2) @@ -85,11 +104,11 @@ The ring didn't build this space. They found it. | NPC | Role | Corridor Use | Frequency | |-----|------|-------------|-----------| -| [Devra](../../npcs/devra.md) | Ring Coordinator | Meetings at ventilation hub, coordination | 2-3x per week | -| [Renn](../../npcs/renn.md) | Courier | Primary cargo transfer through B-7 | Every ring operation (night shift cycle) | -| [Pell](../../npcs/pell.md) | Wavering Ring Member | Nervous presence, dead drop pickups | Irregular, increasingly reluctant | -| [Sabel](../../npcs/sabel.md) | Fence/Buyer (external) | Rare in-person meetings at junction room | Monthly, high-stakes | -| [Tav](../../npcs/tav.md) | Lookout/Runner | Watches entry points during operations | Every ring operation | +| [Devra](../../../../characters/devra.md) | Ring Coordinator | Meetings at ventilation hub, coordination | 2-3x per week | +| [Renn](../../../../characters/renn.md) | Courier | Primary cargo transfer through B-7 | Every ring operation (night shift cycle) | +| [Pell](../../../../characters/pell.md) | Wavering Ring Member | Nervous presence, dead drop pickups | Irregular, increasingly reluctant | +| [Sabel](../../../../characters/sabel.md) | Fence/Buyer (external) | Rare in-person meetings at junction room | Monthly, high-stakes | +| [Tav](../../../../characters/tav.md) | Lookout/Runner | Watches entry points during operations | Every ring operation | ### Non-Ring NPC Access @@ -177,11 +196,11 @@ The space between the walls is where the game's moral questions live. --- **Cross-References:** -- [Sova Transit District](../../world/sova-transit-district.md) — Parent district +- [Sova Transit District](index.md) — Parent district - [The Terminal](the-terminal.md) — Connected via break room service hatch (south entry) - [The Last Shift](the-last-shift.md) — Back room connects to ring infrastructure -- [NPC Index](../../npcs/index.md) — Full character roster -- [Severance Equipment](../../contraband/severance-equipment.md) — Used during Devra's meetings +- [NPC Index](../../../../characters/index.md) — Full character roster +- [Severance Equipment](../../../../contraband/severance-equipment.md) — Used during Devra's meetings - D-036: Sova Transit District as v0.1 setting - D-037: Contraband specification (what moves through B-7) diff --git a/docs/wiki/locations/krenn-system/the-last-shift.md b/wiki/star-systems/krenn/sova/transit/the-last-shift.md similarity index 86% rename from docs/wiki/locations/krenn-system/the-last-shift.md rename to wiki/star-systems/krenn/sova/transit/the-last-shift.md index 702749095..e33ab4778 100644 --- a/docs/wiki/locations/krenn-system/the-last-shift.md +++ b/wiki/star-systems/krenn/sova/transit/the-last-shift.md @@ -1,14 +1,33 @@ +--- +title: "The Last Shift" +slug: the-last-shift +category: location +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +parent_district: transit +parent_station: sova +parent_system: krenn +social_site: bar +sightlines: open-with-alcoves +ambient_sound: conversation-music +npcs_present: [lera-sessik, sera-venn, naia-tamm, sess, olin] +tags: [v0.1, social-venue] +decision_refs: [D-025, D-028, D-036] +cross_refs: [the-terminal, maintenance-corridors] +--- + # The Last Shift (Bar) **Type:** Location — Social Venue **Status:** Canonical -**District:** [Sova Transit District](../../world/sova-transit-district.md) -**Station:** [Station Sova](../../world/station-sova.md) -**System:** [Krenn System](../../world/krenn-system.md) +**District:** [Sova Transit District](index.md) +**Station:** [Station Sova](../index.md) +**System:** [Krenn System](../../index.md) **Level:** 2 (middle — worker amenities) **Operating Hours:** 14:00-02:00 station time **Informal Name:** "Lera's" (used by regulars) -**Owner:** [Lera Sessik](../../npcs/lera-sessik.md) +**Owner:** [Lera Sessik](../../../../characters/lera-sessik.md) **Capacity:** ~30 --- @@ -82,21 +101,21 @@ The bar is the district's social heart. Information flows through here faster th | NPC | Role | Typical Hours | Function | |-----|------|---------------|----------| -| [Lera Sessik](../../npcs/lera-sessik.md) | Bar Owner | 13:30-02:00 (daily) | Social hub, observes everything, willful ignorance | -| [Sera Venn](../../npcs/sera-venn.md) | Commission Field Tech (THE FRIEND) | Evenings, irregular | Detective's social anchor, bar regular | -| [Naia Tamm](../../npcs/naia-tamm.md) | Teacher (Kael's partner) | Evenings, 2-3x/week | Worried, confides in Sera | -| [Sess](../../npcs/sess.md) | Bartender | 14:00-02:00 (shifts with Lera) | Flat, observant, discreet | -| [Olin](../../npcs/olin.md) | Drifter / New Arrival | Irregular, evenings | Ambiguous intent, asks questions | +| [Lera Sessik](../../../../characters/lera-sessik.md) | Bar Owner | 13:30-02:00 (daily) | Social hub, observes everything, willful ignorance | +| [Sera Venn](../../../../characters/sera-venn.md) | Commission Field Tech (THE FRIEND) | Evenings, irregular | Detective's social anchor, bar regular | +| [Naia Tamm](../../../../characters/naia-tamm.md) | Teacher (Kael's partner) | Evenings, 2-3x/week | Worried, confides in Sera | +| [Sess](../../../../characters/sess.md) | Bartender | 14:00-02:00 (shifts with Lera) | Flat, observant, discreet | +| [Olin](../../../../characters/olin.md) | Drifter / New Arrival | Irregular, evenings | Ambiguous intent, asks questions | ### Bridge NPCs (Present at The Last Shift + Other Sites) | NPC | Home Site | Bar Role | Bridge Function | |-----|-----------|----------|-----------------| -| [Torek Lintar](../../npcs/torek-lintar.md) | The Last Shift / [The Terminal](the-terminal.md) | Regular, big spender | Spending beyond means — financial tell | -| [Harek](../../npcs/harek.md) | The Last Shift / [The Terminal](the-terminal.md) | Off-duty security, card games | Sees things in both contexts, holds debt leverage on Drin | -| [Maret Korr](../../npcs/maret-korr.md) | [The Terminal](the-terminal.md) | Occasional visitor | Worried, processes what she's seen at work | -| [Devra](../../npcs/devra.md) | Smuggling Ring | Corner booth meetings | Legitimate front conceals ring coordination | -| [Kael Davan](../../npcs/kael-davan.md) | [The Terminal](the-terminal.md) | After-shift regular | Ring member unwinding, partner Naia sometimes present | +| [Torek Lintar](../../../../characters/torek-lintar.md) | The Last Shift / [The Terminal](the-terminal.md) | Regular, big spender | Spending beyond means — financial tell | +| [Harek](../../../../characters/harek.md) | The Last Shift / [The Terminal](the-terminal.md) | Off-duty security, card games | Sees things in both contexts, holds debt leverage on Drin | +| [Maret Korr](../../../../characters/maret-korr.md) | [The Terminal](the-terminal.md) | Occasional visitor | Worried, processes what she's seen at work | +| [Devra](../../../../characters/devra.md) | Smuggling Ring | Corner booth meetings | Legitimate front conceals ring coordination | +| [Kael Davan](../../../../characters/kael-davan.md) | [The Terminal](the-terminal.md) | After-shift regular | Ring member unwinding, partner Naia sometimes present | **Total NPC presence:** Up to 10 at peak (5 regulars + 5 bridge), minimum 2-3 (Lera, Sess, and a straggler) @@ -186,10 +205,10 @@ But what SUSTAINS The Last Shift as a gameplay space across hours of play is the --- **Cross-References:** -- [Sova Transit District](../../world/sova-transit-district.md) — Parent district +- [Sova Transit District](index.md) — Parent district - [The Terminal](the-terminal.md) — Workers come from here - [Maintenance Corridors](maintenance-corridors.md) — Back room connects to ring infrastructure -- [NPC Index](../../npcs/index.md) — Full character roster +- [NPC Index](../../../../characters/index.md) — Full character roster - D-036: Sova Transit District as v0.1 setting - D-028: Dialogue architecture (bar as primary social dialogue site) - D-034: THE FRIEND (Sera Venn present at bar, detective's anchor) diff --git a/docs/wiki/locations/krenn-system/the-terminal.md b/wiki/star-systems/krenn/sova/transit/the-terminal.md similarity index 87% rename from docs/wiki/locations/krenn-system/the-terminal.md rename to wiki/star-systems/krenn/sova/transit/the-terminal.md index e7b581d47..d50b1ecfa 100644 --- a/docs/wiki/locations/krenn-system/the-terminal.md +++ b/wiki/star-systems/krenn/sova/transit/the-terminal.md @@ -1,10 +1,29 @@ +--- +title: "The Terminal" +slug: the-terminal +category: location +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +parent_district: transit +parent_station: sova +parent_system: krenn +social_site: logistics-hub +sightlines: partitioned +ambient_sound: cargo-machinery +npcs_present: [voss, kael-davan, maret-korr, resha, drin] +tags: [v0.1, workplace] +decision_refs: [D-025, D-036] +cross_refs: [the-last-shift, maintenance-corridors] +--- + # The Terminal (Logistics Hub) **Type:** Location — Workplace Social Site **Status:** Canonical -**District:** [Sova Transit District](../../world/sova-transit-district.md) -**Station:** [Station Sova](../../world/station-sova.md) -**System:** [Krenn System](../../world/krenn-system.md) +**District:** [Sova Transit District](index.md) +**Station:** [Station Sova](../index.md) +**System:** [Krenn System](../../index.md) **Level:** 1 (lowest) **Operating Hours:** 24-hour, three 8-hour shifts **Capacity:** ~60 workers per shift @@ -85,19 +104,19 @@ The name is informal. Officially it's "Sova Transit Logistics Hub, Bay 7-C." Nob | NPC | Role | Shift | Function | |-----|------|-------|----------| -| [Voss](../../npcs/voss.md) | Shift Supervisor | Morning (06:00-14:00) | Authority figure, manages schedules, sightline from office | -| [Kael Davan](../../npcs/kael-davan.md) | Dock Worker (THE FRIEND) | Morning (06:00-14:00) | Ring member, cargo handler, smuggler's closest colleague | -| [Maret Korr](../../npcs/maret-korr.md) | Freight Scheduler | Morning (06:00-14:00) | Processes manifests, notices discrepancies, hasn't reported | -| [Resha](../../npcs/resha.md) | New Hire Dock Worker | Morning (06:00-14:00) | Asks questions, hasn't learned to mind their business | -| [Drin](../../npcs/drin.md) | Maintenance Tech | Rotating | Fixes things, notices things, says nothing | +| [Voss](../../../../characters/voss.md) | Shift Supervisor | Morning (06:00-14:00) | Authority figure, manages schedules, sightline from office | +| [Kael Davan](../../../../characters/kael-davan.md) | Dock Worker (THE FRIEND) | Morning (06:00-14:00) | Ring member, cargo handler, smuggler's closest colleague | +| [Maret Korr](../../../../characters/maret-korr.md) | Freight Scheduler | Morning (06:00-14:00) | Processes manifests, notices discrepancies, hasn't reported | +| [Resha](../../../../characters/resha.md) | New Hire Dock Worker | Morning (06:00-14:00) | Asks questions, hasn't learned to mind their business | +| [Drin](../../../../characters/drin.md) | Maintenance Tech | Rotating | Fixes things, notices things, says nothing | ### Bridge NPCs (Present at The Terminal + Other Sites) | NPC | Home Site | Terminal Role | Bridge Function | |-----|-----------|---------------|-----------------| -| [Torek Lintar](../../npcs/torek-lintar.md) | [The Last Shift](the-last-shift.md) | Off-shift dock worker | Compromised inspector, looks away during inspection | -| [Renn](../../npcs/renn.md) | Smuggling Ring | Courier | Transfers cargo from bay to Corridor B-7 | -| [Harek](../../npcs/harek.md) | [The Last Shift](the-last-shift.md) | Off-duty security | Occasionally patrols, holds debt leverage on Drin | +| [Torek Lintar](../../../../characters/torek-lintar.md) | [The Last Shift](the-last-shift.md) | Off-shift dock worker | Compromised inspector, looks away during inspection | +| [Renn](../../../../characters/renn.md) | Smuggling Ring | Courier | Transfers cargo from bay to Corridor B-7 | +| [Harek](../../../../characters/harek.md) | [The Last Shift](the-last-shift.md) | Off-duty security | Occasionally patrols, holds debt leverage on Drin | **Total NPC presence:** 8 (5 primary, 3 bridge) @@ -177,10 +196,10 @@ The honest truth is that every workplace has these vulnerabilities. What makes T --- **Cross-References:** -- [Sova Transit District](../../world/sova-transit-district.md) — Parent district +- [Sova Transit District](index.md) — Parent district - [Maintenance Corridors](maintenance-corridors.md) — Connected via break room service hatch - [The Last Shift](the-last-shift.md) — Where workers go after shift -- [NPC Index](../../npcs/index.md) — Full character roster +- [NPC Index](../../../../characters/index.md) — Full character roster - D-036: Sova Transit District as v0.1 setting - D-027: Vertical slice definition diff --git a/docs/wiki/technology/clone-transfer.md b/wiki/technology/clone-transfer.md similarity index 97% rename from docs/wiki/technology/clone-transfer.md rename to wiki/technology/clone-transfer.md index d5a26697d..2efc39071 100644 --- a/docs/wiki/technology/clone-transfer.md +++ b/wiki/technology/clone-transfer.md @@ -1,3 +1,16 @@ +--- +title: "Clone Transfer" +slug: clone-transfer +category: technology +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +prevalence: restricted +tags: [] +decision_refs: [] +cross_refs: [] +--- + # Clone Transfer **Type:** Core Technology diff --git a/docs/wiki/technology/founder-gates.md b/wiki/technology/founder-gates.md similarity index 97% rename from docs/wiki/technology/founder-gates.md rename to wiki/technology/founder-gates.md index d4821a64d..007f7527d 100644 --- a/docs/wiki/technology/founder-gates.md +++ b/wiki/technology/founder-gates.md @@ -1,3 +1,16 @@ +--- +title: "Founder Gates" +slug: founder-gates +category: technology +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +prevalence: rare +tags: [] +decision_refs: [] +cross_refs: [] +--- + # Founder Gates **Type:** Interstellar Transit Infrastructure diff --git a/docs/wiki/technology/meridian.md b/wiki/technology/meridian.md similarity index 97% rename from docs/wiki/technology/meridian.md rename to wiki/technology/meridian.md index 0bfdb796d..26bdb2568 100644 --- a/docs/wiki/technology/meridian.md +++ b/wiki/technology/meridian.md @@ -1,3 +1,16 @@ +--- +title: "Meridian" +slug: meridian +category: technology +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +prevalence: universal +tags: [] +decision_refs: [] +cross_refs: [] +--- + # Meridian **Type:** Infrastructure Technology diff --git a/docs/wiki/technology/neural-lattice.md b/wiki/technology/neural-lattice.md similarity index 98% rename from docs/wiki/technology/neural-lattice.md rename to wiki/technology/neural-lattice.md index a26085a23..1edad0080 100644 --- a/docs/wiki/technology/neural-lattice.md +++ b/wiki/technology/neural-lattice.md @@ -1,3 +1,16 @@ +--- +title: "Neural Lattice" +slug: neural-lattice +category: technology +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +prevalence: universal +tags: [] +decision_refs: [D-017] +cross_refs: [] +--- + # Neural Lattice **Type:** Core Technology diff --git a/docs/wiki/technology/severance-tech.md b/wiki/technology/severance-tech.md similarity index 98% rename from docs/wiki/technology/severance-tech.md rename to wiki/technology/severance-tech.md index d78699bf2..eae0bd785 100644 --- a/docs/wiki/technology/severance-tech.md +++ b/wiki/technology/severance-tech.md @@ -1,3 +1,16 @@ +--- +title: "Severance Technology" +slug: severance-tech +category: technology +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +prevalence: rare +tags: [] +decision_refs: [] +cross_refs: [] +--- + # Severance Technology **Type:** Counter-Surveillance Technology diff --git a/docs/wiki/technology/span-gates.md b/wiki/technology/span-gates.md similarity index 97% rename from docs/wiki/technology/span-gates.md rename to wiki/technology/span-gates.md index ef7179ba0..c92347a20 100644 --- a/docs/wiki/technology/span-gates.md +++ b/wiki/technology/span-gates.md @@ -1,3 +1,16 @@ +--- +title: "Span Gates" +slug: span-gates +category: technology +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +prevalence: common +tags: [] +decision_refs: [] +cross_refs: [] +--- + # Span Gates **Type:** Transit Infrastructure diff --git a/docs/wiki/triangles/triangle-1-hub-power.md b/wiki/triangles/hub-power.md similarity index 98% rename from docs/wiki/triangles/triangle-1-hub-power.md rename to wiki/triangles/hub-power.md index e21fc0cfb..fa2dd8206 100644 --- a/docs/wiki/triangles/triangle-1-hub-power.md +++ b/wiki/triangles/hub-power.md @@ -1,3 +1,18 @@ +--- +title: "Hub Power" +slug: hub-power +category: triangle +status: canonical +created: 2026-02-12 +updated: 2026-02-13 +members: [voss, kael-davan, nils-davan] +triangle_type: entangled +social_sites: [the-terminal] +tags: [v0.1] +decision_refs: [D-024] +cross_refs: [] +--- + # Triangle 1: Hub Power — Volume Escalation Fork **Triangle**: Voss - Kael - Nils