# v0.1 Gap Analysis Workshop — Ticket Changes **Processed by:** Si (Project Manager) **Date:** 2026-02-11 **Source:** Round 2 workshop outputs (Gestalt, Tyre, Ozzie, Paula, Nigel, Gore) **Ticket count before:** 232 | **After:** 273 (+41) --- ## Summary The v0.1 gap analysis workshop identified significant gaps in the ticket catalog: missing infrastructure (collision, pathfinding, time system), a missing experience layer (observation pipeline, interaction verbs), and underpriced tickets across social, dialogue, and replayability systems. **Changes made:** - 15 priority promotions on existing tickets - 3 new epics created - 38 new stories created - 21 dependency records added - 1 existing ticket renamed and reparented (#25) --- ## 1. Priority Promotions (15 tickets) ### MEDIUM → HIGH (11 tickets) | ID | Title | Old | New | Agents Recommending | Rationale | |----|-------|-----|-----|--------------------|-----------| | #103 | Relationship dynamics | medium | **high** | Gestalt, Paula, Ozzie | Required for triangle activation, NPC attachment, social propagation | | #105 | Tolerance threshold triggers | medium | **high** | Gestalt, Paula, Ozzie | Only triangle activation mechanism; without it, triangles are backstory | | #171 | Trust-gated gossip (Layer 3) | medium | **high** | Ozzie, Paula | Where daily life becomes interesting; 30-min sustainer | | #172 | Unprompted disclosure (Layer 4) | medium | **high** | Ozzie, Paula, Gestalt | NPC-initiated story moments; off-screen event narration | | #173 | Trait modifier system | medium | **high** | Paula | Required for seed-variation narrative depth; makes each seed's NPCs distinct | | #175 | Entanglement ratio configuration | medium | **high** | Nigel | D-029 anti-metagaming requires implementation | | #176 | NPC pool generation | medium | **high** | Nigel | Per-seed NPC assignment foundational for variation | | #121 | Character voice variation | medium | **high** | Ozzie, Gore, Paula | Must be interpretive framing, not just tonal; thesis-proving system | | #126 | Medium-range visual indicators | medium | **high** | Ozzie, Gestalt | Fog-edge tension — hearing things you can't see | ### LOW → HIGH (2 tickets) | ID | Title | Old | New | Agents Recommending | Rationale | |----|-------|-----|-----|--------------------|-----------| | #162 | Storyteller module activation | low | **high** | Ozzie, Gestalt, Gore | Without it, no arc; 30-min runway has no endpoint | | #178 | Seed-based variation | low | **high** | Nigel (emphatic), all | Replay ceiling = 2 without it; the replayability engine | ### HIGH → CRITICAL (3 tickets) | ID | Title | Old | New | Agents Recommending | Rationale | |----|-------|-----|-----|--------------------|-----------| | #201 | Deterministic replay system | high | **critical** | Hoshe, Tyre | Core architectural principle (D-010); blocks sync tests (#211), divergence tests (#197) | | #182 | Divergent starting knowledge | high | **critical** | Nigel | Core character differentiator; Gore's "different realities" starts here | | #183 | Divergent relationships | high | **critical** | Nigel | Inverted emotional landscape per character; non-negotiable for two-reality proof | ### Renamed + Promoted (1 ticket) | ID | Old Title | New Title | Old Priority | New Priority | Notes | |----|-----------|-----------|-------------|-------------|-------| | #25 | Time system | **Game clock and day-phase system** | medium | **high** | Resolves Q-009. Reparented under new epic #233. 10 tps, 4 day phases, diegetic clock display. | --- ## 2. New Epics (3) | ID | Title | Parent | Priority | Description | |----|-------|--------|----------|-------------| | #233 | **Movement & Collision** | #29 Core Simulation | critical | Tile collision, pathfinding, NPC movement. Hard blockers — nothing spatial works without these. | | #234 | **Observation & Interaction** | #30 Rendering & Perception | critical | Unified observation pipeline and player interaction. The experience layer connecting perception to gameplay. | | #235 | **Game State Management** | #28 Engine Architecture | high | Save/load and session management for playable v0.1 sessions. | --- ## 3. New Stories (38) ### CRITICAL (3 stories) | ID | Title | Epic | Source | |----|-------|------|--------| | #236 | Tile collision system | #233 Movement & Collision | Tyre R1, Gestalt R2 (C-1) | | #239 | Observation event generator | #234 Observation & Interaction | Ozzie, Paula, Gestalt merged (C-4) | | #240 | Player interaction system and dispatcher | #234 Observation & Interaction | Gestalt, Tyre merged (C-5) | ### HIGH (24 stories) | ID | Title | Epic | Source | |----|-------|------|--------| | #237 | Tile-based A* pathfinding | #233 Movement & Collision | Tyre R1, Gestalt R2 (C-2a) | | #238 | NPC path following and movement | #233 Movement & Collision | Tyre R1 (C-2b) | | #241 | Follow mechanic | #234 Observation & Interaction | Gestalt R2 (H-1) | | #242 | Examine mechanic | #234 Observation & Interaction | Gestalt R2 (H-2) | | #243 | Routine deviation detection | #234 Observation & Interaction | Ozzie R1+R2, Paula R1 | | #244 | NPC player-awareness behavior | #234 Observation & Interaction | Gestalt R2 (H-5) | | #247 | NPC-to-NPC conversation system | #41 NPC Behavior | Gestalt R2 (H-4) | | #248 | Character goal/pressure framework | #41 NPC Behavior | Gestalt R2, Paula R2 (H-8) | | #249 | Player-action social propagation | #41 NPC Behavior | Paula R1+R2, Nigel R2 (H-6) | | #250 | Triangle escalation system | #42 Triangle Generation | Gestalt, Paula, Ozzie (H-3) | | #251 | Tell visual/behavioral expression | #47 Top-down Renderer | Paula R1+R2, Ozzie R2 (H-7) | | #252 | Placeholder art specification | #47 Top-down Renderer | Tyre R1 (H-13) | | #253 | Monologue content architecture | #45 Internal Monologue | Gestalt, Paula, Gore (H-10) | | #254 | Contamination activation mechanic | #53 Three-Tier Content | Gestalt R2 (H-11) | | #255 | Client audio manager | #46 Sound Propagation | Tyre R1 (H-12) | | #256 | Save state data model | #235 Game State Management | Tyre R1 (H-14) | | #259 | First 5 minutes experience design | #59 Vertical Slice Authoring | Gestalt R2, Ozzie R1+R2 (H-9) | | #260 | Opening hook content per character | #59 Vertical Slice Authoring | Gestalt R2, Ozzie R2, Nigel R2 | | #261 | Dual Lens Authoring Guide | #59 Vertical Slice Authoring | Gore R2, Paula R2, Ozzie R2 | | #269 | CauseChain component | #49 Information Boundary | Hoshe R1, Tyre R2 (T-2) | | #270 | Test runner bash scripts | #61 Rust Test Infra | Tyre R1+R2 | | #271 | IPC serialization fixture files | #61 Rust Test Infra | Hoshe R1, Tyre R2 | | #272 | Information boundary negative test suite | #63 Integration Test Framework | Hoshe R1, Tyre R2 (T-1) | ### MEDIUM (10 stories) | ID | Title | Epic | Source | |----|-------|------|--------| | #245 | Wait/time-skip mechanic | #234 Observation & Interaction | Gestalt R2 (M-1) | | #246 | Basic environmental interaction | #234 Observation & Interaction | Gestalt R2 (M-2) | | #257 | Save/load game flow | #235 Game State Management | Tyre R1 (M-5) | | #258 | Game session management | #235 Game State Management | Tyre R1 (M-6) | | #262 | Environmental text content | #59 Vertical Slice Authoring | Gestalt R2 (M-3) | | #263 | Time display on insert HUD | #51 Diegetic Insert/Minimap | Tyre R1 (M-7) | | #264 | Knowledge/journal display | #51 Diegetic Insert/Minimap | Tyre R1 (M-4) | | #265 | Demo scenario specification | #60 Success Criteria | Ozzie R1+R2 (M-8) | | #266 | Same-character-different-seed validation | #60 Success Criteria | Nigel R2 (M-10) | | #267 | Playtest protocol definition | #60 Success Criteria | Hoshe R1 (M-11) | ### LOW (1 story) | ID | Title | Epic | Source | |----|-------|------|--------| | #273 | Test output formatter CLI | #64 Testability Arch Refinement | Hoshe R1 (T-3) | ### MEDIUM (population — 1 more) | ID | Title | Epic | Source | |----|-------|------|--------| | #268 | False positive NPC design | #56 Population Management | Nigel R1+R2 (M-9) | --- ## 4. Dependencies Added (21 records) ### Critical Path: Movement Foundation ``` #236 Tile collision ──blocks──→ #237 A* pathfinding ──blocks──→ #238 NPC path following ──blocks──→ #101 Routine execution #236 Tile collision ──blocks──→ #83 Moving character proof #25 Game clock ──blocks──→ #88 Daily routine system ``` ### Critical Path: Observation Pipeline ``` #239 Observation event generator ──blocks──→ #119 Monologue event generation #240 Interaction dispatcher ──blocks──→ #168 Tagged line pool structure (dialogue) #240 Interaction dispatcher ──blocks──→ #241 Follow mechanic #240 Interaction dispatcher ──blocks──→ #242 Examine mechanic #88 Daily routine system ──blocks──→ #243 Routine deviation detection ``` ### Critical Path: Triangle Activation ``` #103 Relationship dynamics ──blocks──→ #250 Triangle escalation system #105 Tolerance threshold triggers ──blocks──→ #250 Triangle escalation system ``` ### Content Pipeline ``` #261 Dual Lens Authoring Guide ──blocks──→ #190 Workplace content pack #261 Dual Lens Authoring Guide ──blocks──→ #191 Bar content pack #261 Dual Lens Authoring Guide ──blocks──→ #192 Smuggling ring content pack #259 First 5 min experience ──blocks──→ #260 Opening hook content ``` ### Infrastructure ``` #252 Placeholder art spec ──blocks──→ #133 Placeholder art pipeline #255 Client audio manager ──blocks──→ #124 Sound event system #255 Client audio manager ──blocks──→ #125 Close-range stereo audio #269 CauseChain component ──blocks──→ #199 Criterion 4: Emergent observation #256 Save state data model ──blocks──→ #257 Save/load game flow ``` --- ## 5. Updated Ticket Catalog Summary | Priority | Final Count | |----------|-------------| | Critical | 83 | | High | 117 | | Medium | 58 | | Low | 15 | | **Total** | **273** | **Changes:** +41 new tickets (3 epics, 38 stories). 15 existing tickets promoted. 21 new dependency records (65 total). --- ## 6. Critical Path for v0.1 The workshop revealed a clear dependency chain that must be sequenced: **Sprint 1: Foundation (make it run)** - #236 Tile collision (critical) → #237 Pathfinding (high) → #238 NPC movement (high) - #25 Game clock (high) → unblocks #88 Daily routines - #65-68 Rust server setup (critical, existing) - #70-73 Godot client setup (critical, existing) - #75-79 IPC bridge (critical, existing) **Sprint 2: Integration (make it work)** - #81-83 Client-server integration (critical, existing) - #239 Observation event generator (critical) - #240 Player interaction dispatcher (critical) - #86-89 NPC data model (critical-high, existing) - #110-113 Fog of perception (critical, existing) **Sprint 3: Experience (make it feel)** - #241-244 Observation verbs and deviation detection (high) - #247-250 NPC conversation, goals, propagation, triangle escalation (high) - #119-122 Internal monologue + #253 content architecture (high) - #253 Monologue content architecture (high) - #269 CauseChain component (high) **Sprint 4: Content (make it mean something)** - #261 Dual Lens Authoring Guide (high) → blocks all content packs - #259-260 First 5 minutes + opening hooks (high) - #190-192 Content packs (critical, existing) - #251 Tell visual/behavioral expression (high) **Sprint 5: Validation (prove it works)** - #195-199 Success criteria validation (high, existing) - #265 Demo scenario (medium) - #266 Seed validation test (medium) - #267 Playtest protocol (medium) --- ## 7. Decisions Confirmed by Workshop The following decisions should be recorded (pending team lead confirmation): 1. **Godot test framework = gdUnit4** (Tyre reversed GUT recommendation after Hoshe's analysis) 2. **IPC testing = three-layer architecture** (fixture, protocol mock, real integration) 3. **CauseChain is a production component**, not test pollution 4. **Time system: 10 tps, 4 day phases, diegetic clock** (resolves Q-009) 5. **Deterministic replay is architectural requirement**, not just test infrastructure 6. **Dual Lens Authoring Guide must precede content authoring**