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
+12 -12
View File
@@ -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. |
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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 |
|----------|------|