# v0.1 Content Gap Analysis Workshop — Summary **Workshop dates:** 2026-02-11 **Participants:** Mellanie, Paula, Araminta, Miri, Gestalt, Ozzie **Facilitator:** Team Leader (Jeroen) **Documenter:** Qatux --- ## Executive Summary The v0.1 Content Gap Analysis Workshop examined 9 content layers across the vertical slice (D-027) to identify what content exists, what's missing, and what blocks production. Six agents delivered independent Round 1 analyses, then synthesized across all outputs in Round 2. The project lead made 9 directive decisions between rounds. **Key outcomes:** - 9 new confirmed decisions (D-032 through D-040) - THE FRIEND NPC pattern established as emotional centerpiece (one production-level NPC per character) - Converged tag taxonomy for line pools (6 structural + 3 selection tags) - Sova Transit District / Krenn System confirmed as first concrete setting - Audio confirmed in v0.1 scope (8 files via Stable Audio Open) - All 6 wow moments promoted to v0.1 scope - Wiki taxonomy structure declared non-negotiable - ~50 new tickets identified across all agents (deduplicated below) - Full dependency chain mapped with critical path: Dual Lens Guide → Voice Kits → THE FRIEND → Validation → Scale --- ## Workshop Structure **Round 1:** Each agent independently analyzed 9 content layers against the vertical slice spec (D-027). Layers: character voice, dialogue, monologue, environmental text, NPC profiles, spatial layout, audio, visual design, wiki/lore. **Between rounds:** Project lead reviewed all 6 outputs and issued 9 directive decisions. **Round 2:** Each agent read all 6 Round 1 outputs plus directives. Synthesis: convergences, disagreements, dependency chains, concrete next steps, missing tickets. **Workshop brief:** `docs/workshops/content-gap-analysis_v0_1/content-gap-analysis-workshop-brief.md` **Round 1 outputs:** `round1-{agent}.md` (6 files) **Round 2 outputs:** `round2-{agent}.md` (6 files) --- ## Project Lead Decisions (Between Rounds) These 9 directives were issued by the project lead after reviewing Round 1 outputs. They are non-negotiable constraints for Round 2 and all downstream work. | # | Directive | Status | |---|-----------|--------| | 1 | Separate monologue pools per character | Confirmed, non-negotiable → D-032 | | 2 | Color = relationship to player | Approved → D-033 | | 3 | Audio included in v0.1 (6-8 files via Stable Audio Open, self-hosted) | Confirmed → D-038 | | 4 | One NPC per character = THE FRIEND, production-level complex | Confirmed → D-034 | | 5 | Wiki taxonomy structure: non-negotiable, must be established NOW | Confirmed → D-040 | | 6 | Sova Transit District / Krenn System: first concrete star system | Confirmed (worldbuilding milestone) → D-036 | | 7 | Detective's FRIEND: Sera Venn (Paula's design) | Confirmed → D-034 | | 8 | All 6 wow moments in scope (Ozzie's 4 essential + 2 nice-to-have all promoted) | Confirmed → D-039 | | 9 | Stable Audio Open licensing confirmed (free commercial under $1M revenue) | Confirmed → D-038 | --- ## Decisions Produced (D-032 through D-040) Full decision text in `decisions/*.md`. Summary: | ID | Title | Domain | Source | |----|-------|--------|--------| | D-032 | Separate monologue pools per character | content.md | Project lead directive #1 | | D-033 | Entity color = relationship to player | perception.md | Araminta R1 proposal, project lead directive #2 | | D-034 | THE FRIEND production-level NPC pattern | content.md | Ozzie R1 concept, project lead directive #4, Paula R2 designs | | D-035 | Converged tag taxonomy for line pools (6+3) | content.md | Gestalt R1/R2 + Mellanie convergence | | D-036 | Sova Transit District / Krenn System as v0.1 setting | content.md | Miri R1, project lead directive #6 | | D-037 | Contraband specification | content.md | Miri R1/R2 proposal, team validation | | D-038 | Audio in v0.1 scope via Stable Audio Open | scope.md | Project lead directives #3, #9; Ozzie R2 spec | | D-039 | v0.1 wow moment scope — all 6 moments | scope.md | Ozzie R1/R2, project lead directive #8 | | D-040 | Wiki taxonomy structure | process.md | Miri R2 proposal, project lead directive #5 | --- ## Key Convergences Areas where multiple agents independently reached the same conclusion: ### Fully aligned (no further discussion needed) - **Dual Lens Guide is the root dependency** — all 6 agents identified this - **Monologue carries the game** — perception, tells, atmosphere, tutorial, character voice (Gestalt, Mellanie, Ozzie) - **YAML for line pools** — Mellanie proposed, Gestalt refined, no disagreement - **5 tell categories for v0.1** — text-via-monologue as renderer (Gestalt, Araminta, Mellanie) - **30/50/20 entanglement ratio works** — validated against 15 NPCs (Paula, Gestalt) - **Spatial layout is load-bearing** — sightlines are gameplay (Araminta, Paula, Ozzie) - **Miri's setting is the substrate** — everyone builds on Sova Transit District ### Converged during Round 2 - **Tag taxonomy**: 6 structural + 3 selection tags per dialogue line; 3 additional for monologue (Gestalt R2 section 1) - **Situation taxonomy**: 13 situations from Gestalt + Mellanie merge - **THE FRIEND mechanical spec**: full pipeline depth test, ~70-100 authored lines per NPC - **Audio architecture**: event-driven with asset registry + visual fallback (Gestalt R2 section 6) - **Line previewer MVP**: Rust CLI sharing pipeline code, 7 must-have features (Gestalt R2 section 7) - **NPC relationship web**: 15 NPCs, 5 triangles (Paula R2 reconciliation) - **Dependency chain**: three parallel tracks converging at content packs (Paula R2 section 2) - **Placeholder art pipeline**: four phases, zero image files for v0.1 (Araminta R2 section 3) ### Minor divergences resolved - **Paula proposed 7 triangles, Gestalt proposed 4** → Paula reconciled to 5 triangles - **Mellanie proposed 8 per-line tags, Gestalt proposed more** → Converged to 6+3 (dropped location and type from per-line, made them directory-level) - **Mellanie wanted to defer audio** → Project lead overruled; audio confirmed - **Araminta wanted to defer audio entirely** → Project lead overruled; visual indicators complement audio - **Detective's FRIEND candidate** → Mellanie proposed Lera (bar owner), Paula proposed Sera Venn (Commission tech) → Project lead confirmed Sera Venn --- ## Open Questions ### Updated existing questions - **Q-003 (Art direction)**: Further resolved. Araminta's v0.1 Visual Grammar proposal covers color palette, entity rendering, fog states, zone palettes. Long-term art direction remains open. - **Q-005 (Prototype scale)**: Further resolved. 15 NPCs, 3 social sites, 1 district (Sova Transit). Full game scale TBD. ### New questions raised during workshop | ID | Question | Owner | Context | |----|----------|-------|---------| | Q-012 | How does the generation expansion pass work? LLM, template-based, or rule-based? | Gestalt, Mellanie | Affects how base lines are authored. LLM needs style-strong anchors; rules need substitution patterns. | | Q-013 | How does the line previewer handle THE FRIEND's temporal progression? | Gestalt, Dudley | Previewer needs sequence mode to simulate multi-visit contradiction arcs. | | Q-014 | Audio timing with monologue — when does the chime fire relative to text? | Gestalt, Ozzie | Affects monologue line writing rhythm (first word shouldn't be the important one if chime precedes). | | Q-015 | Does 4x generation expansion apply to THE FRIEND's custom lines? | Mellanie, Gestalt | Ozzie recommends no expansion on FRIEND lines — every line hand-authored. | | Q-016 | Knowledge hierarchy for monologue prerequisites | Gestalt, Paula | Need `suspects` < `knows_of` < `knows_details` hierarchy, not binary `knows: X`. | | Q-017 | Triangle pressure threshold — what events trigger escalation? | Gestalt, Paula | Need numeric pressure model for `confrontation` situation activation. | --- ## Ticket Inventory (Deduplicated) Tickets identified across all 6 agents, deduplicated and categorized. Cross-referenced against existing tickets where applicable. ### THE FRIEND (Critical — pipeline depth test) | Ticket | Owner | Priority | Notes | |--------|-------|----------|-------| | THE FRIEND: Smuggler (Kael Davan) — full profile + contradiction arc | Paula (profile), Mellanie (voice) | Critical | ~75-100 authored lines | | THE FRIEND: Detective (Sera Venn) — full profile + contradiction arc | Paula (profile), Mellanie (voice) | Critical | ~75-100 authored lines | | Contradiction arc design document (reusable pattern) | Paula | High | Template for future complex NPCs | | THE FRIEND visual treatment spec | Araminta | High | Color transition, earned visual detail | ### Opening Experience (Critical — first impression) | Ticket | Owner | Priority | Notes | |--------|-------|----------|-------| | Opening hook content — smuggler (10-15 monologue lines) | Mellanie | Critical | Diegetic tutorial, sets voice | | Opening hook content — detective (10-15 monologue lines) | Mellanie | Critical | Different emotional register | | First monologue surprise moment (per character) | Mellanie, Paula, Gestalt | High | Core mechanic proof before minute 15 | ### Character & Narrative Architecture (Critical path) | Ticket | Owner | Priority | Notes | |--------|-------|----------|-------| | Character voice speech patterns | Paula + Mellanie | High | Speech-level detail for voice kits | | Access tier shift design document | Paula + Gestalt | High | How access changes during gameplay | | Mirror moment design document | Paula + Mellanie | Medium | 10-12 paired observation triggers | | Flat NPC "almost interesting" pass | Mellanie | High | Investigation noise floor | | Diegetic insert flavor text (per character) | Mellanie | Medium | Character-specific HUD text | | Diegetic tutorial monologue lines (8-10 per character) | Mellanie | Medium | Movement, fog, sound, NPC interaction | | News ticker content — Sova (20-30 lines) | Mellanie + Miri | High | Cheap worldbuilding, high atmosphere | ### Setting & Worldbuilding | Ticket | Owner | Priority | Notes | |--------|-------|----------|-------| | Sova Texture Appendix (slang, idioms, decoration, local complaint) | Miri | Critical | Blocks Mellanie's dialogue authoring | | Krenn System wiki entry (first star system profile) | Miri | High | Sets template for all future systems | | Sova Station Profile | Miri | High | Off-district references in dialogue | | Detective institutional chain of command | Miri + Paula | High | Blocks detective character build | | Meridian coverage map for Sova Transit | Miri | Medium | Investigation mechanics, ring ops | | Off-station connections brief | Miri | Medium | Ring NPC dialogue consistency | | Span gate transit schedule | Miri | Medium | NPC routine design, ring timing | | Observation gallery / viewport description | Miri | Low | Ozzie's "something out the window" | ### Wiki & Taxonomy | Ticket | Owner | Priority | Notes | |--------|-------|----------|-------| | Wiki taxonomy structure + first entries | Miri + Qatux | Critical | Project lead: non-negotiable, NOW | | Tag taxonomy wiki page | Gestalt | High | Reference document for all content authors | | Line pool format specification (standalone doc) | Gestalt | High | Formalize Round 1/2 YAML format | ### Visual & Spatial Design | Ticket | Owner | Priority | Notes | |--------|-------|----------|-------| | v0.1 Visual Grammar document | Araminta | Critical | Root visual dependency | | Entity color system spec | Araminta | Critical | Relationship-to-player color mapping | | Spatial layout: Logistics Hub | Araminta | High | Floor plan, sightlines, NPC positions | | Spatial layout: Bar (The Last Shift) | Araminta | High | Corner booth as key observation position | | Spatial layout: Corridors + Smuggling spaces | Araminta | High | Hidden spaces, maintenance corridors | | Insert/HUD wireframe + dual-character variants | Araminta | High | Smuggler social map vs detective case file | | Monologue display system visual spec | Araminta | High | Typography, animation, stacking rules | | Text display hierarchy spec | Araminta | High | 4 text pipelines, 4 visual treatments | | Sound indicator visual design | Araminta | High | Fog-edge pulse, complementary to audio | | Fog rendering visual spec | Araminta | Medium | 4-state visibility model | | Span gate signature visual element | Araminta | Medium | Rhythmic glow, first-impression anchor | | Visual asset taxonomy (wiki structure) | Araminta | Medium | Future-ready directory structure | | Environmental text visual standards | Araminta | Medium | Bilingual signage, terminal screens | ### Systems / Server (Content-Supporting) | Ticket | Owner | Priority | Notes | |--------|-------|----------|-------| | Dialogue selection pipeline (4-layer filter) | Dudley + Gestalt | Critical | Core runtime: access → situation → trust → weighted | | Monologue trigger system | Dudley + Gestalt | Critical | 9 triggers, character-specific pools, prerequisite gates | | YAML content loader (hot-reload for previewer) | Dudley | High | Parses YAML into indexed line pools | | Sound event system architecture | Dudley + Gestalt | High | Event emitter with audio + visual fallback | | NPC mood state machine | Dudley | High | Drives Layer 4 selection + tell system | | Trust progression system | Dudley | High | Surface → real → secret per NPC pair | | Interaction tracking component | Dudley | High | Per-NPC-pair counters drive Layer 2 | | Knowledge state component | Dudley + Gestalt | High | Gates monologue prerequisites | | Observation event generator | Dudley | Critical | Bridge between simulation and perception | | Tell state derivation system | Dudley | Medium | Reads axes, outputs observable tells | | Line variety tracker | Dudley | Medium | Prevents repeat lines per session | ### Audio | Ticket | Owner | Priority | Notes | |--------|-------|----------|-------| | Audio asset set — 8 files via Stable Audio Open | TBD | High | See Ozzie R2 section 4 for full spec | ### Existing Ticket Scope Updates | Ticket | Update Needed | |--------|---------------| | #90 (Tell system) | Scope to 5 categories; text-via-monologue as v0.1 renderer | | #124 (Sound system) | Include sound event emitter architecture + visual fallback | | #168 (Tag taxonomy) | Reference converged taxonomy (D-035) | | #179 (NPC profiles) | THE FRIEND depth split: 2 production-level, 13 standard | | #189 (Cultural generation guide) | Sova Transit District as first concrete instance | | #190-192 (Template content packs) | Parallel spatial layouts as co-deliverables | | #193 (Line previewer) | Concrete MVP: 7 must-have features, Rust CLI, sequence mode | | #261 (Dual Lens Authoring Guide) | Add: emotional divergence, access tier shifts, authoring checklist, THE FRIEND section | --- ## Dependency Chain (Converged) Three parallel tracks converge at content pack production. Critical path highlighted. ``` TRACK A: Narrative (Paula) TRACK B: Setting (Miri) TRACK C: Systems (Gestalt+Araminta) 1. Dual Lens Guide (#261) ←─ 1. Sova Setting Brief (#189) 1. Line Pool Format Spec **CRITICAL PATH** (Round 1 output = v0.1 draft) 2. Visual Grammar (Araminta) | | 3. Spatial Layouts x3 (Araminta) 2. Character Voice Patterns 2. Wiki Taxonomy + Krenn Entry 4. Line Previewer (#193) | | 3. THE FRIEND profiles (x2) 3. Sova Texture Appendix **CRITICAL PATH** | | 4. Contraband Spec 4. NPC Profiles (Tier 1-3) + Detective Chain of Command | | └────────────┬─────────────────┘ | v 5. Character Voice Kits (Mellanie) ← **CRITICAL PATH** | 6. Opening Hooks (Mellanie) ← **CRITICAL PATH** | └──────────────────────────────────────────────────┘ | v 7. THE FRIEND Content Packs (Mellanie) ← **CRITICAL PATH** | 8. VALIDATION: Previewer test | 9. Content Packs x3 (#190-192) (Mellanie) | 10. Polish: Tell lines, mirror moments, environmental text ``` **Critical path:** Dual Lens Guide → Voice Kits → THE FRIEND Content → Validation → Scale **Parallel work (no dependencies):** - Miri: Wiki taxonomy, Krenn System entry, Sova Texture Appendix, contraband spec - Araminta: Visual Grammar, spatial layouts, insert wireframe - Gestalt: Line pool format spec (formalize), knowledge state vocabulary - Mellanie: Tag taxonomy smoke test (20 lines), environmental text templates, news ticker draft - Audio: Generate station ambient + monologue chime (the two most important files) --- ## Content Volume Estimates (Mellanie R2) | Category | Authored Lines | After Expansion | |----------|---------------|-----------------| | THE FRIEND: Kael Davan (full pack) | 75-100 | Hand-authored only | | THE FRIEND: Sera Venn (full pack) | 75-100 | Hand-authored only | | Template dialogue (3 packs) | 400-500 | ~1,600-2,000 (4x) | | NPC-specific lines (~13 remaining) | 80-140 | ~320-560 (4x) | | Monologue — smuggler | 120-160 | ~240-320 (2x) | | Monologue — detective | 120-160 | ~240-320 (2x) | | Opening hooks (2 characters) | 20-30 | Hand-authored only | | Environmental text | 50-60 | N/A | | News ticker / Meridian feed | 20-30 | N/A | | UI microcopy | 40-50 | N/A | | Tell monologue lines | 30-50 | N/A | | **Total** | **~1,030-1,380** | **~3,200-4,200** | --- ## Per-Agent Next Steps ### Paula (Critical path owner) 1. Dual Lens Authoring Guide — full draft (blocks everything) 2. THE FRIEND: Kael Davan — full production profile 3. THE FRIEND: Sera Venn — full production profile 4. Relationship web formalization (15 NPCs, 5 triangles with Krenn names) 5. NPC Profiles: Tier 1 (4 entangled), Tier 2 (7 mundane), Tier 3 (3 flat) ### Mellanie (Content production) 1. Tag taxonomy smoke test (20 lines in YAML, immediate) 2. Environmental text templates + news ticker draft (unblocked) 3. Voice kits (3 options per character, needs Dual Lens Guide) 4. Opening hooks (needs voice kit validation) 5. THE FRIEND content packs (needs FRIEND profiles) ### Miri (Setting foundation) 1. Contraband Specification (unblocked, immediate) 2. Sova Texture Appendix (slang, idioms — blocks Mellanie) 3. Wiki taxonomy structure + Krenn System entry 4. NPC name finalization (mapping to Paula's web) 5. Detective chain of command ### Gestalt (Systems specification) 1. Lock tag taxonomy + line pool format (formalize as document) 2. Knowledge state vocabulary (blocks monologue prerequisites) 3. Dialogue selection pipeline specification 4. Sound event system architecture 5. Line previewer (#193) MVP scope ### Araminta (Visual design) 1. v0.1 Visual Grammar document (unblocked, immediate) 2. Spatial layouts x3 (needs Visual Grammar + Miri's setting) 3. Insert/HUD wireframe (dual-character variants) 4. Monologue display system spec 5. Sound indicator visual design ### Ozzie (Validation) 1. Review THE FRIEND contradiction arcs (gut check) 2. Audio asset specification finalization 3. Playtest readiness evaluation 4. Wow moment dependency tracking --- ## Workshop Assessment **Strengths:** - Remarkable convergence across 6 independent analyses - THE FRIEND concept evolved from Ozzie's emotional instinct through Paula's structural design to Mellanie's authoring plan in a single workshop - Miri's Sova Transit District gave the entire team a concrete foundation - Tag taxonomy converged without coordination — Mellanie and Gestalt proposed nearly identical structures - Dependency chain was independently identified by Mellanie, Paula, and Gestalt with compatible structures **Risks:** - Dual Lens Guide is a single point of failure — everything downstream blocks on Paula's deliverable - Content volume (~1,030-1,380 lines) is significant for one writer (Mellanie) - 17 content-supporting systems identified, 0 built — server team has substantial work - Generation expansion on monologue risks flattening character voice (Ozzie, Mellanie flag 2x max for monologue vs 4x for dialogue) **Flags for Qatux:** - Mellanie proposed Lera Sessik as detective's FRIEND in Round 2; Paula proposed Sera Venn. Project lead confirmed Sera Venn. Lera remains the bar owner, not THE FRIEND. - Paula reconciled from 7 triangles to 5 triangles in Round 2. The 5-triangle model is canonical. - Miri proposed different NPC name assignments than Paula's Round 2 reconciliation. Paula's Round 2 assignments are canonical (verified by project lead's Sera Venn confirmation). - Gestalt's "17 content needs, 0 built" assessment accurately describes the systems gap. --- *Compiled by Qatux. Workshop outputs archived at `docs/workshops/content-gap-analysis_v0_1/`.* *Decisions recorded in `decisions/*.md` (D-032 through D-040).* *Last updated: 2026-02-11*