Long-term content strategy workshop: 300-world generator model, cultural ingredients menu, three-system NPC architecture (9 patterns x 6 motivations), Sacred/Profane/Middle Kingdom framework. 9 agents across 4 rounds plus lead interview establishing the production path from hand-authored Sova to generated 300 worlds. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
22 KiB
Wiki Review Workshop — Round 1 Tracking Document
Compiled by: Qatux (Documenter) Date: 2026-02-12 Status: Round 1 complete. Cataloging proposals, tensions, and open questions for Round 2.
Proposal Registry
Topic 1: Direction Check
| # | Proposal | Author | Support | Status |
|---|---|---|---|---|
| P-01 | Name the theme: the game is about complicity, not just asymmetric information. Add thematic framing to wiki index. | Gore | — | For Round 2 |
| P-02 | Add "Thematic Question" field to NPC profiles — each character's answer to "Is this enough?" Authoring guidance, not mechanical. | Gore | — | For Round 2 |
| P-03 | Elevate contaminated trust as the normal condition of community life, not just a post-arc endpoint. | Gore | — | For Round 2 |
| P-04 | Strengthen Triangle 1 (Hub Power) — add concrete smuggler decision moment (Nils volume escalation: side with Nils / side with Voss / split the difference). | Gestalt | Paula (flagged T1/Nils as weak) | For Round 2 |
| P-05 | Make Torek's ring connection randomizable per seed in Triangle 3 (Bar Tensions). | Gestalt | Nigel (general randomization advocacy) | For Round 2 |
| P-06 | Consider making Nils partially present in v0.1 — even one comm call would strengthen T1. | Gestalt | Paula (wants Nils stub page) | For Round 2 |
| P-07 | Add smuggler-specific entity attribute keys to achieve parity with detective investigation vocabulary: operational_reliability, exposure_risk, loyalty_assessment, leverage_held, social_debt. |
Paula | Gore (smuggler lens = complicity) | High priority |
| P-08 | Create stub wiki pages for off-stage referenced NPCs (Nils at minimum). | Paula | Gestalt (Nils presence) | Medium priority |
| P-09 | Normalize Tier 2 depth — all 10 Tier 2 NPCs should hit the same quality bar. | Paula | Ozzie (Tier 3 soul gap) | Medium priority |
| P-10 | Flesh out Olin with actual backstory and motivation to strengthen Triangle 3. | Paula | Gestalt (T3 ambiguity is load-bearing) | Medium priority |
| P-11 | Write smuggler-perspective FactId progression text for facts where smuggler starts at KnowsDetails. | Paula | — | Medium priority |
| P-12 | Sera needs one unprompted composure-crack moment early — a half-sentence where control slips. | Ozzie | — | For Round 2 |
| P-13 | Tier 3 NPCs (Renn, Tav, Drin) need more emotional presence — "furniture that talks" currently. | Ozzie | — | For Round 2 |
| P-14 | Style guide must mandate a "gut-check line" per NPC — one voice sample that makes you pause when read aloud. | Ozzie | — | For Round 2 |
Topic 2: Style Guides
| # | Proposal | Author | Support | Status |
|---|---|---|---|---|
| P-15 | Hard mechanical requirements table (10 constraints) for NPC profiles — engine will break without these. | Gestalt | — | High priority |
| P-16 | Structured YAML routine block alongside prose in wiki for engine consumption. | Gestalt | — | For Round 2 |
| P-17 | Per-tier validation checklist (Tier 1: 7 items, Tier 2: 7 items, Tier 3: 5 items). | Gestalt | Paula (template formalization) | High priority |
| P-18 | Formalized Tier 1/2/3 templates as standalone style guide documents. | Paula | Gestalt (checklist) | High priority |
| P-19 | 7 implicit conventions made explicit (voice mood count, dual-lens format, cross-refs, relationship depth, contradiction arc scope, header format, monologue counts). | Paula | Mellanie (similar gaps found) | High priority |
| P-20 | Location shortcode table — one canonical ID prefix per location, enforced in YAML. | Mellanie | — | High priority |
| P-21 | Freeform tag vocabulary — living list, reviewed, prevents divergent naming. | Mellanie | — | High priority |
| P-22 | Standardize dual-lens note format — one sentence per character, imperative voice. | Mellanie | Paula (format varies) | Medium priority |
| P-23 | Extract voice cards per character — 5-10 reference lines showing register, vocabulary, sentence length. | Mellanie | — | Medium priority |
| P-24 | Prerequisite validation in content pipeline — schema check against fact catalog. | Mellanie | Tyre (validation pipeline) | High priority |
| P-25 | Standardize mood list usage — simultaneous emotional states only, not alternatives. | Mellanie | — | Medium priority |
Topic 3: Regional Style Guide + Krenn System
| # | Proposal | Author | Support | Status |
|---|---|---|---|---|
| P-26 | Regional style guide template (6 sections: Heritage Profile, Naming Conventions, Language Echoes, Aesthetic Markers, Social Structure, 180-Year Drift). | Miri | — | Ready for adoption |
| P-27 | Krenn System regional brief — Nordic-Baltic heritage, fully specified for v0.1. | Miri | — | Ready for adoption |
| P-28 | Cultural identity as mechanical resistance — regional style guides must include social norms toward authority, privacy expectations, loyalty structures, shared silence. | Gore | Miri (social structure section aligns) | Consensus forming |
| P-29 | All NPCs get canonical full names — stored in Core Identity, surface in institutional contexts. | Paula | Miri (family name heritage pool provided) | Consensus forming |
| P-30 | Document phonological naming rules — syllable count, consonant preferences, vowel preferences, family name patterns. | Paula | Miri (phonetic signature defined) | Ready to merge |
| P-31 | Break name-as-tier-signal — surface full names for 2-3 lower-tier NPCs in natural contexts. | Paula | — | Medium priority |
| P-32 | Environmental text type catalog — 8 types, ~65-90 items for v0.1. | Mellanie | — | For Round 2 |
| P-33 | "Regional brief first" gating workflow — no content for new regions until cultural brief approved. | Miri | Mellanie (brief was blocking dependency) | For Round 2 |
Topic 4: Wiki Taxonomy
| # | Proposal | Author | Support | Status |
|---|---|---|---|---|
| P-34 | Max 2 levels of spatial nesting for locations: locations/{system}/{slug}.md. |
Tyre | — | For Round 2 |
| P-35 | NPCs flat until collision — disambiguate with -{district} suffix only when needed. |
Tyre | — | For Round 2 |
| P-36 | World hierarchy flat with cross-references — spatial hierarchy in content, not directory. | Tyre | — | For Round 2 |
| P-37 | Filesystem is navigation, not identity — unique identity in YAML frontmatter, not paths. | Tyre | Miri (canonical_id convention) | Consensus forming |
| P-38 | canonical_id convention in wiki frontmatter for collision-safe cross-referencing (e.g., krenn.sova.transit.the-terminal). |
Miri | Tyre (identity in frontmatter) | Consensus forming |
| P-39 | Add cultural-groups/ section to wiki index + create krenn-system.md as first entry. |
Miri | — | Ready for adoption |
Topic 5: Content Directory + Moddability
| # | Proposal | Author | Support | Status |
|---|---|---|---|---|
| P-40 | Three-layer content stack: base content/ → content/dlc/ → mods/. |
Tyre | — | For Round 2 |
| P-41 | content/ directory structure with global/ and districts/ top-level split. |
Tyre | Gestalt (similar, used _global/) |
For Round 2 — see Tension T-02 |
| P-42 | Three overlay operations: ADD (new file), REPLACE (entity), MERGE (line pools). | Tyre | — | For Round 2 |
| P-43 | Schema per content type (_schema/ directory), not one monolithic schema. |
Tyre | Gestalt (validation checklist aligns) | Consensus forming |
| P-44 | Validation at three points: author-time CLI, CI, load-time. | Tyre | Mellanie (prerequisite validation) | Consensus forming |
| P-45 | Hot-reload for line pools (dev-only, notify crate, #[cfg(feature = "dev")]). |
Tyre | — | v0.2 scope |
| P-46 | pool_eligible field on NPCs — randomizer can include/exclude per seed. |
Nigel | — | For Round 2 |
| P-47 | Template role slots (N regulars, M staff, K outsiders per social site) — modders fill slots, randomizer draws from pools. | Nigel | Gestalt (template model) | For Round 2 |
| P-48 | Content pack manifest structure with extends, adds, overrides declarations. |
Nigel | Tyre (manifest.yaml) | Consensus forming |
Topic 6: Randomizer, PC Briefs, Proc-gen
| # | Proposal | Author | Support | Status |
|---|---|---|---|---|
| P-49 | THE FRIEND is never procedurally generated. Write authored pool, randomize selection. | Gore | Nigel (pool concept) | Consensus — see T-01 for pool size |
| P-50 | PC-as-NPC requires authored relationship stubs — Tier 2 minimum for all connections, Tier 1 for FRIEND. | Gore | Gestalt (reverse knowledge), Paula (conversion checklist) | High priority |
| P-51 | Proc-gen varies context, not content. Authored emotional core stays fixed; surroundings shift. | Gore | — | For Round 2 |
| P-52 | Full PC-as-NPC upgrade pipeline — 16-axis data transfer table, 8 generated-at-upgrade fields, reverse knowledge entries. | Gestalt | Paula (conversion process aligns) | High priority |
| P-53 | Starting FactId confidence table + Starting RelationshipState table required for PC-upgradable NPCs. | Gestalt | Paula (starting knowledge) | High priority |
| P-54 | Reverse knowledge entries — what each related NPC knows about the PC, read bidirectionally from relationship data. | Gestalt | — | Critical insight |
| P-55 | Three randomization axes: (1) WHO is FRIEND, (2) WHAT is contraband, (3) WHO is compromised. | Nigel | — | For Round 2 |
| P-56 | Contraband moral shuffle — primary contraband varies per seed from pool (lattice / medical / severance / mixed). | Nigel | — | For Round 2 — see T-06 |
| P-57 | Network shuffle — conspiracy roles (compromised inspector, schedule manipulator, etc.) assigned to different NPCs per seed. | Nigel | — | For Round 2 |
| P-58 | NPC-format briefs for both v0.1 PCs (smuggler + detective). | Paula | Gestalt (upgrade pipeline needs this) | High priority |
| P-59 | "PC Upgrade" appendix on every Tier 1/Tier 2 NPC profile template. | Paula | Gestalt (archetype templates) | High priority |
| P-60 | NPC → PC conversion checklist for content authors. | Paula | Gestalt (pipeline spec) | High priority |
| P-61 | Never tell backstory directly — discover through NPC reactions, monologue, environmental knowledge, social knowledge. | Ozzie | — | Design principle |
| P-62 | First 60 seconds must feel like "walking into Cheers" — NPCs greet PC with warmth, history, inside jokes. | Ozzie | Gore (authored relationship stubs) | Design principle |
Key Tensions Requiring Round 2 Resolution
T-01: FRIEND Pool Size and v0.1 Scope
Agents: Gore, Nigel, Gestalt
The tension:
- Gore proposes 4-6 FRIEND-eligible NPCs per district, all at Tier 1 authored depth. Each ~70-100 lines. Selection randomized, content never generated.
- Nigel proposes 2-3 FRIEND candidates per character at launch, with architecture supporting more.
- Gestalt maps the upgrade pipeline with bidirectional knowledge but doesn't specify pool size.
- Unresolved: Does v0.1 ship with 1 FRIEND per character (Kael + Sera, as currently authored) with pool architecture ready? Or do we author additional FRIEND candidates for v0.1?
- Content cost: Each additional FRIEND = ~70-100 authored lines at Tier 1 depth. 2 additional FRIENDs = ~140-200 lines = significant Sprint 3 scope.
Consensus: THE FRIEND is always authored, never proc-gen. Pool-based selection is the architecture. Pool size and v0.1 scope need a decision.
T-02: Content Directory Naming (global/ vs _global/, lines/ vs separate dirs)
Agents: Tyre, Gestalt
The tension:
- Tyre:
global/(no prefix),_schema/and_meta/with underscore for infra.lines/subdirectory for dialogue+monologue. - Gestalt:
_global/with underscore prefix. Separatedialogue/andmonologue/directories. - Both agree on
districts/as atomic content unit. - Minor naming difference, but affects tooling paths, mod documentation, and every content reference.
Needs: One decision, either works. Tyre's global/ is more conventional; Gestalt's _global/ sorts infrastructure to top.
T-03: Kael/Hael Sonic Collision
Agents: Paula, Miri
The tension:
- Paula flags Kael/Hael as one letter apart — potential confusion in dialogue, monologue, and player memory.
- Miri's Krenn naming brief includes both names as valid Krenn phonology (short, consonant-heavy, -el ending).
- Changing either name has cascade effects (Kael appears in ~10+ files, Hael in ~5+).
- Unresolved: Is this a real usability problem, or acceptable cultural texture? If a problem, which name changes?
T-04: Smuggler Lens Gap
Agents: Paula, Gore, Gestalt
The tension:
- Paula: Wiki is detective-shaped. Investigation attributes are well-defined; smuggler operational attributes are not.
- Paula proposes 5 new smuggler-specific entity attribute keys.
- Gore frames this thematically: smuggler lens = complicity, detective lens = judgment.
- Gestalt hasn't yet mapped these proposed attributes to the ECS data model.
- Needs Round 2: Gestalt to validate Paula's proposed attributes map cleanly to EntityKnowledge, or propose alternatives.
T-05: Triangle 1 (Hub Power) and the Nils Problem
Agents: Gestalt, Paula
The tension:
- Both independently flag T1 as the weakest triangle.
- Gestalt: smuggler role is passive ("wants everyone to calm down" is not a decision). Proposes Nils volume escalation as concrete fork.
- Paula: Nils referenced in 5+ profiles but has no wiki page. Risk of contradictory characterizations.
- Gestalt also proposes making Nils partially present (comm call).
- Needs Round 2: Agree on T1 strengthening approach. Nils stub page seems consensus. Comm call presence and decision moment need design validation.
T-06: Randomizer Scope for v0.1
Agents: Nigel, Gore, Tyre, Gestalt
The tension:
- Nigel proposes three randomization axes (FRIEND identity, contraband type, compromised NPCs) with evidence placement variation.
- Gore endorses FRIEND pool but says proc-gen must vary context not content.
- Tyre scopes v0.1 content pipeline as "directory structure + YAML parser + basic schema validation (1 sprint)." No mod overlay, no hot-reload. Randomization support is implicit but not specified.
- The question: Does v0.1 implement seed-based variation, or just build the architecture that supports it? Nigel's proposals are mechanically exciting but significantly expand v0.1 scope if implemented immediately.
- Nigel's contraband moral shuffle is particularly scope-heavy — different contraband types require different FactId progressions, different dialogue flavor, different NPC attitudes.
T-07: Wiki Structure vs Content Directory Structure
Agents: Tyre, Miri, Gestalt
The tension:
- Miri proposes wiki restructure to
star-systems/{system}/station-X/.../deep nesting withcharacters/flat. - Tyre proposes wiki keeps current shallow structure (
locations/{system}/slug.md,npcs/flat). - Both agree content directory (
content/) usesdistricts/as atomic unit. - Current wiki already has:
locations/krenn-system/,npcs/,world/— closer to Tyre's proposal. - Miri's proposal references D-040 (which I note doesn't exist in the current decisions directory — this may be a forward reference or error).
- Needs clarification: Is Miri proposing a wiki restructure or describing a future state? Does D-040 exist?
T-08: Tier 3 Emotional Depth vs Scope
Agents: Ozzie, Paula, Gestalt
The tension:
- Ozzie: Renn, Tav, Drin are "furniture that talks" — need soul.
- Paula: Tier 3 is defined as sketch/minimal (3 axes, 1 voice hint, 10-15 lines). Olin specifically needs backstory.
- D-023/D-029: Tier 3 is explicitly "procedural filler with systemic hooks." ~30% of NPCs are truly flat.
- The question: Can Tier 3 NPCs have emotional presence without becoming Tier 2? Or should some current Tier 3s be promoted? Drin is already doing Tier 2 narrative work (Triangle 2, Triangle 5, compromised by Harek).
- Ozzie's "gut-check line" proposal (P-14) is a low-cost middle ground — one memorable line doesn't require full Tier 2 depth.
Emerging Consensus (Likely Decisions)
| # | Topic | Consensus | Confidence | Supporters |
|---|---|---|---|---|
| C-01 | THE FRIEND is never proc-gen | Authored pool, randomized selection | High | Gore, Nigel, Gestalt, Paula |
| C-02 | All NPCs need canonical full names | Store in Core Identity, surface in institutional contexts | High | Paula, Miri |
| C-03 | Regional style guide template | Adopt Miri's 6-section template | High | Miri, Gore, Mellanie |
| C-04 | Krenn System regional brief | Adopt Miri's Nordic-Baltic brief as canonical | High | Miri (author), Mellanie (unblocked) |
| C-05 | Formalized tier templates | Paula's Tier 1/2/3 templates + Gestalt's mechanical checklists | High | Paula, Gestalt, Mellanie |
| C-06 | Content directory: global/ + districts/ |
Both Tyre and Gestalt converge on this split | High | Tyre, Gestalt |
| C-07 | Schema per content type | Per-type schemas, not monolithic | High | Tyre, Gestalt |
| C-08 | Identity in frontmatter, not paths | canonical_id or equivalent in YAML frontmatter |
High | Tyre, Miri |
| C-09 | Location shortcode table | One canonical ID per location | High | Mellanie, Tyre |
| C-10 | Smuggler needs own knowledge vocabulary | Parity with detective investigation attributes | High | Paula, Gore |
| C-11 | Triangle 1 needs strengthening | Nils stub page + concrete smuggler decision moment | High | Gestalt, Paula |
| C-12 | PC-as-NPC requires explicit specs | Starting knowledge tables, reverse knowledge, conversion checklist | High | Gestalt, Paula, Gore, Ozzie |
| C-13 | Regional brief gates content creation | No NPC/dialogue/env text until cultural brief approved | High | Miri, Mellanie |
| C-14 | Backstory through discovery, not exposition | NPC reactions + monologue reveal PC history organically | High | Ozzie, Gore |
Open Questions for Round 2
| # | Question | Raised By | Needs Input From |
|---|---|---|---|
| Q-W01 | Does v0.1 ship with 1 FRIEND per character (Kael/Sera) or do we author additional pool candidates? | Gore/Nigel | Project lead (scope decision) |
| Q-W02 | global/ vs _global/ prefix for content directory? |
Tyre vs Gestalt | Project lead (convention call) |
| Q-W03 | Is Kael/Hael sonic collision a real usability problem? Should either name change? | Paula | Mellanie (authoring impact), Ozzie (player confusion) |
| Q-W04 | Does v0.1 implement seed-based randomization or just the architecture for it? | Nigel | Project lead + Tyre (scope) |
| Q-W05 | Does D-040 exist? Miri references it for wiki taxonomy but it's not in current decisions directory. | Qatux | Miri |
| Q-W06 | Should some Tier 3 NPCs be promoted to Tier 2? (Drin does Tier 2 narrative work.) | Ozzie | Gestalt (mechanical impact), project lead |
| Q-W07 | lines/ (Tyre) vs separate dialogue/ + monologue/ (Gestalt) for content subdirectory? |
Tyre vs Gestalt | Project lead (convention call) |
| Q-W08 | What is the district or template atomic content pack unit for modding? |
Tyre | Gestalt, Nigel |
| Q-W09 | Should modder-added line pools have weighting/caps to prevent NPC voice drowning? | Tyre | Gestalt, Nigel |
| Q-W10 | Should location shortcodes match wiki slugs or use abbreviated forms? | Tyre | Mellanie, Paula |
| Q-W11 | Is Torek's ring connection always authored (one answer) or randomizable per seed? | Gestalt | Nigel, project lead |
Per-Agent Proposal Counts
| Agent | Proposals | Topics Addressed | Key Contributions |
|---|---|---|---|
| Gore | 7 (P-01 through P-03, P-49 through P-51, P-28) | 1, 3, 6 | Thematic spine (complicity), FRIEND never proc-gen, cultural identity as mechanical resistance |
| Gestalt | 9 (P-04 through P-06, P-15 through P-17, P-41, P-52 through P-54) | 1, 2, 5, 6 | Triangle analysis, mechanical requirements, content directory, PC upgrade pipeline |
| Paula | 12 (P-07 through P-11, P-18, P-19, P-29 through P-31, P-58 through P-60) | 1, 2, 3, 6 | Smuggler lens gap, tier templates, naming analysis, PC conversion |
| Miri | 5 (P-26, P-27, P-33, P-38, P-39) | 3, 4 | Regional style guide template + Krenn brief, canonical_id, growth planning |
| Ozzie | 5 (P-12 through P-14, P-61, P-62) | 1, 6 | Emotional gut-checks, NPC soul assessment, PC-as-NPC wow moments |
| Mellanie | 8 (P-20 through P-25, P-32, P-25) | 2, 3 | Authoring conventions, location shortcodes, environmental text catalog |
| Nigel | 5 (P-46 through P-48, P-55 through P-57) | 5, 6 | Mod pool_eligible, template role slots, three randomization axes |
| Tyre | 8 (P-34 through P-37, P-40, P-42 through P-45) | 4, 5 | Taxonomy rules, content directory architecture, mod overlay mechanics |
Notable Quotes (For SUMMARY.md)
- Gore on complicity: "Every character in Sova Transit District is complicit in something. [...] The player becomes complicit in whatever they choose. Watching IS participating."
- Gore on Hael: "Hael [...] is the emotional fulcrum of the entire vertical slice. One person who never touches the conspiracy is the person the conspiracy most damages."
- Ozzie on Hael: "Not Kael, not Sera — HAEL. The partner sitting in the bar, checking the door every time it opens. [...] THAT'S the game."
- Paula on detective bias: "The smuggler's content pipeline is systematically under-served compared to the detective's."
- Gestalt on T1: "The smuggler's role is 'caught between' — but what do they DO?"
- Miri on naming drift: "Nobody decided Krenn names should be short and consonant-heavy. But when Finnish, Estonian, and Latvian naming traditions blend in a working-class logistics culture that values directness, compression happens naturally."
- Mellanie on blocking dependency: "I don't have a regional style brief to write against. [...] The brief is my blocking dependency."
- Nigel on mods as replayability: "Mods are replayability we don't have to build."
- Ozzie on the wow moment: "The wow moment isn't 'I read my backstory.' The wow moment is 'I HAVE a backstory and I'm discovering it the way I'd discover a real place — by living in it.'"
- Gore on proc-gen: "Procedural generation amplifies authored content only when the authored content is the emotional core and the procedural content is the context that reframes it."
62 proposals tracked. 8 tensions identified. 11 open questions for Round 2. 14 emerging consensus items.