feat(docs): restructure wiki taxonomy with templates and Krenn System entry (#301, #319)

Move wiki from docs/wiki/ to root wiki/. Add 14 category templates with
YAML frontmatter, governance model, hierarchical spatial structure
(system > station > district > location). Populate Krenn System entry
as first concrete star system. Update cross-references in workshop and
sprint docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-13 00:58:45 +01:00
co-authored by Claude Opus 4.6
parent baa348a70a
commit b672b9c269
82 changed files with 2600 additions and 221 deletions
@@ -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.
@@ -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. |
@@ -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
@@ -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 |
@@ -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 |
@@ -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