Address review comments from Hoshe, Paula, and Miri: - Update mood vocabulary in 3 docs (line-pool-format.md §6.5, style-guide §11, content-directory-structure.md Appendix B) from pre-Sprint 14 values to current D-035 enum - Fix worked example IDs in line-pool-format.md §3.5 to match actual the-last-shift kael-davan sequence (_015, _024, _026) - Fix Section 5.1 restart note to describe multi-location continuity - Fix style-guide §16 worked example: dock-worker_d_071 → kael-davan_d_076 - Fix stale mood reference in style-guide §16 Step 3 - Fix orphaned the-terminal_d_040 in maintenance-tech.yaml comment - Fix orphaned the-terminal_d_008/018 in smuggler-inventory.yaml - Fix Lera tenure: twelve → eighteen years (bar-owner_d_018) - Fix fact_id: location.surveillance_gaps → investigation.surveillance_gaps in ring-operative.yaml (2 occurrences) - Fix NPC name: Lera Osk → Lera Sessik in bar-owner.yaml comment - Fix mood line format example in style-guide §5 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Content Infrastructure
Directories prefixed with _ are infrastructure, not game content. The server content loader skips directories starting with _ when scanning for content files.
_meta/— Infrastructure metadata (this directory)_schema/— JSON Schema validation files (draft 2020-12)
Directory Hierarchy
Content is organized hierarchically to match the game universe:
content/
content.yaml # Manifest: campaign list, glob discovery patterns
global/ # Cross-campaign shared content (factions, enums, knowledge)
campaigns/
{campaign}/ # e.g., "main"
campaign.yaml
systems/
{system}/ # e.g., "krenn"
system.yaml
stations/
{station}/ # e.g., "sova"
station.yaml
districts/
{district}/ # e.g., "transit"
district.yaml
npcs/
locations/
triangles/
dialogue/
monologue/
routines/
templates/
Canonical ID Derivation
Identity is derived from directory path at load time — no redundant ID fields in YAML.
- District:
{system}.{station}.{district}(e.g.,krenn.sova.transit) - NPC (within district):
npc:{slug}(e.g.,npc:kael-davan) - NPC (cross-district):
npc:{district}.{slug}(e.g.,npc:transit.kael-davan) - Location:
{system}.{station}.{district}.location.{slug}
Content Discovery
The loader reads content.yaml for enabled campaigns and their glob patterns.
District discovery uses systems/**/districts/*/district.yaml — no per-district
manifest entry needed. Adding a district = creating a directory with district.yaml.