Standardized YAML frontmatter on all 16 files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 KiB
title, description, type, status, workshop, agent, round, created
| title | description | type | status | workshop | agent | round | created |
|---|---|---|---|---|---|---|---|
| v0.1 GAP Analysis Workshop Brief | Workshop brief defining four analysis tracks: concept proof, fun/wow factor, completeness gaps, and testability deep-dive | workshop | archived | v01-gap-analysis | 0 | 2026-02-11 |
v0.1 GAP Analysis Workshop Brief
Goal: Stress-test the full v0.1 plan against concept proof, fun delivery, and completeness Participants: Jeroen (lead), full team as needed Ticket scope: 232 tickets across 7 initiatives v0.1 target: D-027 vertical slice — smuggler + detective, 30-min playable, fundamentally different playthroughs
Workshop Tracks
Track 1: Strength of Concept Proof
The vertical slice must prove these claims about The Settled Reach:
| Claim | How the v0.1 proves it | Which tickets deliver it | Risk |
|---|---|---|---|
| Asymmetric information is the core mechanic | Smuggler and detective see the same world differently | #138-142 (info boundaries), #182-183 (divergent knowledge/relationships) | ? |
| Fog of perception creates tension | Player doesn't know what they can't see | #110-113 (shadowcasting → fog rendering) | ? |
| NPCs feel alive without player attention | Routines continue, relationships shift off-screen | #88 (daily routines), #93-99 (simulation tiers), #101 (routine execution) | ? |
| Observation is a mechanic, not a cutscene | Player deduces from watching, overhearing, noticing | #115 (NPC vision), #124-128 (sound model), #119-122 (internal monologue) | ? |
| Same world, different story | Two playthroughs are mechanically distinct, not just narratively | #179-183 (character builds), #196-199 (success criteria) | ? |
| Social triangles create emergent drama | NPC relationships produce situations the designers didn't script | #106-109 (triangle generation), #175-176 (entanglement ratio) | ? |
Questions for the team:
- Does the ticket catalog actually deliver on each claim, or are there gaps?
- Which claims are weakest in the current plan?
- What's the minimum bar for each claim at v0.1? (We don't need perfection, but we need proof.)
- Are there claims the game should be making that aren't listed here?
Track 2: Fun & Wow Factor
A concept proof that isn't fun to play is a failed concept proof. Evaluate the plan against player experience:
First 5 minutes:
- What does the player see when they start? (Ticket coverage?)
- Is there an immediate hook — a reason to keep playing?
- Does the UI communicate the asymmetric information concept without a tutorial?
The "aha" moment:
- When does the player first realize they're seeing a different world than the other character would?
- When do they first catch an NPC doing something suspicious through observation?
- When does the internal monologue first surprise them?
- Are these moments in the ticket plan, or are we hoping they emerge?
The 30-minute arc:
- What's the shape of a play session? Is there rising tension, discovery, payoff?
- The D-027 success criteria say "30-min daily life runway" — is daily life interesting enough to sustain 30 minutes without a scripted event?
- Where does the storyteller kick in? (ticket #162 is low priority — is that right?)
Missing wow moments:
- Sound: Three-range model (#124-128) is specced — but is there a moment where the player hears something through a wall and has to decide whether to investigate?
- Internal monologue: Is there a moment where the character's thoughts contradict what the player sees?
- NPCs: Is there a moment where an NPC the player trusted turns out to be lying?
Questions for the team (especially Ozzie, Gestalt):
- What's the single most exciting thing that can happen in the first 30 minutes?
- Are we front-loading the fun, or does the player need to grind through systems before experiencing the core loop?
- Which tickets contribute to wow, and which are pure infrastructure?
- Is there a "demo moment" — something we could show someone in 2 minutes to sell the concept?
Track 3: Things We May Have Forgotten
Systematic check for gaps in the 232-ticket plan:
Player agency:
- Player can move, look, listen — but what can they DO?
- Is there an interaction system? (Talk to NPC, examine object, pick up item, use door)
- Are action verbs captured in tickets? I see dialogue (#168-174) but not physical interaction
- Where's the player's inventory/journal/notes system?
Game state:
- Save/load system — not captured anywhere?
- Session management — how does a 30-min play session start and end?
- Game over / failure states — what happens when things go wrong?
Feedback loops:
- How does the player know their actions had consequences?
- How does the player know they missed something?
- Is there a reputation/standing feedback mechanism beyond the NPC relationship system?
Content volume:
- 20-30 NPCs with 10-axis data models, daily routines, relationship triangles — is this achievable for v0.1?
- Three social sites with full content packs — what's the actual writing volume for Mellanie?
- Are placeholder/stub levels defined for systems that are specced but too deep for v0.1?
Technical gaps:
- Pathfinding — NPCs need to navigate the station district, but there's no pathfinding ticket
- Collision — player and NPC movement needs collision detection
- Z-levels — #114 is low priority, but does the station district have multiple levels?
- Time system — Q-009 is open, but daily routines (#88) depend on it
- Audio engine — sound propagation is specced (#124-128) but is there a basic audio playback system?
- Asset pipeline — #133 covers placeholder art, but what format? What resolution? What's the sprite spec?
Process gaps:
- No definition of "done" for v0.1 beyond D-027's four success criteria
- No playtest protocol — who tests, how, what feedback is captured?
- No art direction decision (Q-003 still open) — affects every visual ticket
Track 4: Testability Deep-Dive
Ticket #214 — Refinement discussion (critical, blocks #215-217)
#34 [initiative] Testability Infrastructure (high)
│
├── #64 [epic] Testability Architecture Refinement (critical)
│ ├── #214 [story] Refinement discussion - Multi-agent (critical) ← NEEDS WORKSHOP
│ ├── #215 [story] Testing pattern documentation (high) — blocked by #214
│ ├── #216 [story] Tooling requirements spec (high) — blocked by #214
│ └── #217 [story] Production code constraints (high) — blocked by #214
│
├── #61 [epic] Rust/bevy_ecs Test Infrastructure (high)
│ ├── #200 [story] Test module organization (high)
│ ├── #201 [story] Deterministic replay system (high)
│ ├── #202 [story] ECS state inspection (high)
│ ├── #203 [story] Behavior validation framework (medium)
│ └── #204 [story] Performance benchmarks (medium)
│
├── #62 [epic] Godot Client Test Infrastructure (high)
│ ├── #205 [story] GDScript test framework setup (high)
│ ├── #206 [story] Scene testing utilities (high)
│ ├── #207 [story] Input simulation (medium)
│ ├── #208 [story] Rendering verification (medium)
│ └── #209 [story] UI validation framework (medium)
│
└── #63 [epic] Integration Test Framework (medium)
├── #210 [story] IPC protocol tests (high)
├── #211 [story] Sync verification tests (high)
├── #212 [story] Full playthrough automation (medium)
└── #213 [story] Performance profiling (low)
Core design constraint: Test harness attaches externally as modules. Minimal production code pollution.
Key questions (Tyre, Hoshe, Troblum):
- Rust: External test crate vs
#[cfg(test)]vs hybrid? - Godot: GUT vs gdUnit4? Can Claude Code run
godot --headless? - Integration: Mock subprocess or real IPC for tests?
- What test output format works best for agent consumption?
- Where's the line between acceptable seam and test pollution?
- Test runners as simple bash commands (like
db/connectors/sqlite-*)?
Full v0.1 Ticket Catalog
All 232 tickets organized by initiative. Reference for all workshop tracks.
Initiative: Engine Architecture — Godot + Rust IPC (#28, critical, D-020)
| ID | Type | Title | Priority |
|---|---|---|---|
| 35 | epic | Rust Simulation Server Foundation | critical |
| 65 | story | Project structure setup | critical |
| 66 | story | ECS world initialization | critical |
| 67 | story | Deterministic tick system | critical |
| 68 | story | Basic entity components | critical |
| 69 | story | Standalone CLI test harness | high |
| 218 | task | Create simulation/ directory structure | critical |
| 219 | task | Initialize Cargo workspace | critical |
| 220 | task | Configure project metadata | critical |
| 221 | task | Create main.rs entry point | critical |
| 222 | task | Set up CI placeholder | low |
| 36 | epic | Godot Client Foundation | critical |
| 70 | story | Godot project initialization | critical |
| 71 | story | Tilemap rendering system | critical |
| 72 | story | Entity sprite system | critical |
| 73 | story | Input capture system | critical |
| 74 | story | Basic UI framework | high |
| 223 | task | Create client/ directory structure | critical |
| 224 | task | Initialize Godot 4 project | critical |
| 225 | task | Create main scene hierarchy | critical |
| 226 | task | Configure camera settings | critical |
| 227 | task | Set up project settings | high |
| 37 | epic | IPC Bridge & Protocol | critical |
| 75 | story | Protocol message definitions | critical |
| 76 | story | MessagePack serialization - Rust | critical |
| 77 | story | MessagePack serialization - GDScript | critical |
| 78 | story | LocalBridge implementation - Rust | critical |
| 79 | story | LocalBridge implementation - GDScript | critical |
| 80 | story | NetworkBridge stub | low |
| 228 | task | Create protocol/ directory | critical |
| 229 | task | Define ObserverSnapshot structure | critical |
| 230 | task | Define PlayerInput structure | critical |
| 231 | task | Define entity data structures | critical |
| 232 | task | Create protocol versioning scheme | high |
| 38 | epic | Client-Server Integration | critical |
| 81 | story | End-to-end connection test | critical |
| 82 | story | Tick loop synchronization | critical |
| 83 | story | Moving character proof | critical |
| 84 | story | Multiple entity sync | high |
| 85 | story | Error handling & recovery | high |
Initiative: Core Simulation — NPCs & Tiers (#29, critical, D-024/D-026)
| ID | Type | Title | Priority |
|---|---|---|---|
| 39 | epic | NPC Data Model | critical |
| 86 | story | Core NPC components | critical |
| 87 | story | Relationship system | critical |
| 88 | story | Daily routine system | critical |
| 89 | story | Information inventory | high |
| 90 | story | Personality & tell system | high |
| 91 | story | Skill system & combat flag | medium |
| 92 | story | NPC generation pipeline | high |
| 40 | epic | Simulation Tier System | critical |
| 93 | story | Tier marker components | critical |
| 94 | story | Active tier simulation | critical |
| 95 | story | Background tier state machines | high |
| 96 | story | State serialization system | high |
| 97 | story | Timestamp-based eviction | high |
| 98 | story | Scope tag system | high |
| 99 | story | Tier transition logic | high |
| 100 | story | Ungenerated to instantiation | medium |
| 41 | epic | NPC Behavior Systems | high |
| 101 | story | Routine execution system | high |
| 102 | story | Mood system | medium |
| 103 | story | Relationship dynamics | medium |
| 104 | story | Job performance simulation | low |
| 105 | story | Tolerance threshold triggers | medium |
| 42 | epic | Triangle Generation | high |
| 106 | story | Triangle definition schema | high |
| 107 | story | Intra-template triangle generation | high |
| 108 | story | Cross-template triangle generation | medium |
| 109 | story | Triangle validation | medium |
Initiative: Rendering & Perception System (#30, critical, D-011/D-015/D-016/D-017/D-018/D-019)
| ID | Type | Title | Priority |
|---|---|---|---|
| 43 | epic | Fog of Perception - Vision System | critical |
| 110 | story | Shadowcasting algorithm - server | critical |
| 111 | story | Vision cone implementation | critical |
| 112 | story | Observer visibility query | critical |
| 113 | story | Fog rendering - client | critical |
| 114 | story | Multi-z-level LOS | low |
| 115 | story | NPC vision system | high |
| 44 | epic | Camera System | critical |
| 116 | story | Camera lock to character | critical |
| 117 | story | Smooth camera movement | high |
| 118 | story | Camera rotation stub | low |
| 45 | epic | Internal Monologue System | high |
| 119 | story | Monologue event generation - server | high |
| 120 | story | Monologue line pool system | high |
| 121 | story | Character voice variation | medium |
| 122 | story | Monologue display - client | high |
| 123 | story | Unreliable narrator mechanics | low |
| 46 | epic | Sound Propagation Model | high |
| 124 | story | Sound event system - server | high |
| 125 | story | Close-range stereo audio - client | high |
| 126 | story | Medium-range visual indicators | medium |
| 127 | story | Long-range insert notifications | low |
| 128 | story | Sound propagation physics | low |
| 47 | epic | Top-down Renderer | critical |
| 129 | story | Tile rendering engine | critical |
| 130 | story | Entity sprite management | critical |
| 131 | story | Fog overlay rendering | critical |
| 132 | story | Lighting system | medium |
| 133 | story | Placeholder art pipeline | high |
| 48 | epic | Perception Mode Framework | medium |
| 134 | story | Observer query abstraction | medium |
| 135 | story | Natural vision mode | high |
| 136 | story | Perception mode selector - client | low |
| 137 | story | Additional mode stubs | low |
Initiative: Map & Navigation (#31, high, D-010/D-012/D-013/D-014)
| ID | Type | Title | Priority |
|---|---|---|---|
| 49 | epic | Information Boundary System | critical |
| 138 | story | Information tag schema | critical |
| 139 | story | Component-level access control | critical |
| 140 | story | Entity visibility filtering | critical |
| 141 | story | Knowledge-based information gating | high |
| 142 | story | NPC information boundaries | high |
| 50 | epic | Chunk-based Map System | high |
| 143 | story | Chunk data structure | high |
| 144 | story | Chunk generation system | high |
| 145 | story | Chunk loading/unloading | high |
| 146 | story | Chunk serialization | medium |
| 147 | story | Borderless expansion stub | low |
| 51 | epic | Diegetic Insert/Minimap | high |
| 148 | story | POI data model | high |
| 149 | story | POI discovery system | high |
| 150 | story | Character-specific POI filtering | medium |
| 151 | story | Minimap rendering - client | high |
| 152 | story | POI manipulation mechanics | low |
| 52 | epic | Station District Map - v0.1 Revision | high |
| 153 | story | Station district layout design | critical |
| 154 | story | Functional cluster spatial specs | high |
| 155 | story | Hand-crafted location authoring | high |
| 156 | story | Procedural district filler | medium |
| 157 | story | Gate corridor template | high |
Initiative: Content Architecture (#32, high, D-023/D-025/D-028/D-029)
| ID | Type | Title | Priority |
|---|---|---|---|
| 53 | epic | Three-Tier Content Pipeline | high |
| 158 | story | Tier 1 drama module schema | medium |
| 159 | story | Tier 2 template definition format | high |
| 160 | story | Tier 3 procedural generator | medium |
| 161 | story | Template instantiation engine | high |
| 162 | story | Storyteller module activation | low |
| 54 | epic | Social Site Template System | high |
| 163 | story | Role definition schema | high |
| 164 | story | Spatial requirement specification | high |
| 165 | story | Single-ownership model | high |
| 166 | story | Template-to-instance mapping | high |
| 167 | story | Cross-template reference system | medium |
| 55 | epic | Dialogue System Architecture | high |
| 168 | story | Tagged line pool structure | high |
| 169 | story | Layer 1: Access tier filtering | high |
| 170 | story | Layer 2: Relationship history | high |
| 171 | story | Layer 3: Trust-gated gossip | medium |
| 172 | story | Layer 4: Unprompted disclosure | medium |
| 173 | story | Trait modifier system | medium |
| 174 | story | Dialogue UI - client | high |
| 56 | epic | Population Management | medium |
| 175 | story | Entanglement ratio configuration | medium |
| 176 | story | NPC pool generation | medium |
| 177 | story | Module attachment logic | low |
| 178 | story | Seed-based variation | low |
Initiative: Vertical Slice Content (#33, critical, D-027)
| ID | Type | Title | Priority |
|---|---|---|---|
| 57 | epic | Playable Characters - Smuggler & Detective | critical |
| 179 | story | Character definition schema | critical |
| 180 | story | Smuggler character build | critical |
| 181 | story | Detective character build | critical |
| 182 | story | Divergent starting knowledge | high |
| 183 | story | Divergent relationships | high |
| 58 | epic | Station District Content | critical |
| 184 | story | Workplace template - logistics hub | critical |
| 185 | story | Social venue template - bar | critical |
| 186 | story | Smuggling ring template | critical |
| 187 | story | Shared NPC coordination | high |
| 188 | story | Triangle instantiation | high |
| 59 | epic | Vertical Slice Authoring | high |
| 189 | story | Cultural generation guide - Miri | critical |
| 190 | story | Workplace content pack - Mellanie | critical |
| 191 | story | Bar content pack - Mellanie | critical |
| 192 | story | Smuggling ring content pack - Mellanie | critical |
| 193 | story | Line previewer CLI - Tyre | critical |
| 194 | story | Generation pass expansion | high |
| 60 | epic | Success Criteria Validation | high |
| 195 | story | Test plan creation - Hoshe | high |
| 196 | story | Criterion 1: 30-min daily life runway | high |
| 197 | story | Criterion 2: Fundamentally different playthroughs | high |
| 198 | story | Criterion 3: Emotional NPC attachment | high |
| 199 | story | Criterion 4: Emergent observation mechanics | high |
Initiative: Testability Infrastructure (#34, high)
| ID | Type | Title | Priority |
|---|---|---|---|
| 64 | epic | Testability Architecture Refinement | critical |
| 214 | story | Refinement discussion - Multi-agent | critical |
| 215 | story | Testing pattern documentation | high |
| 216 | story | Tooling requirements spec | high |
| 217 | story | Production code constraints | high |
| 61 | epic | Rust/bevy_ecs Test Infrastructure | high |
| 200 | story | Test module organization | high |
| 201 | story | Deterministic replay system | high |
| 202 | story | ECS state inspection | high |
| 203 | story | Behavior validation framework | medium |
| 204 | story | Performance benchmarks | medium |
| 62 | epic | Godot Client Test Infrastructure | high |
| 205 | story | GDScript test framework setup | high |
| 206 | story | Scene testing utilities | high |
| 207 | story | Input simulation | medium |
| 208 | story | Rendering verification | medium |
| 209 | story | UI validation framework | medium |
| 63 | epic | Integration Test Framework | medium |
| 210 | story | IPC protocol tests | high |
| 211 | story | Sync verification tests | high |
| 212 | story | Full playthrough automation | medium |
| 213 | story | Performance profiling | low |
Legacy Seed Initiatives (D-001 through D-019)
Auto-seeded from early decisions. Superseded by structured initiatives above. Retained for traceability.
| ID | Title | Decision |
|---|---|---|
| 1 | Custom game, not a mod | D-001 |
| 2 | The Settled Reach as first campaign | D-003 |
| 3 | Single character first-person story generator | D-005 |
| 4 | Prototype scenario — Institute/Armstrong City/Guardians | D-006 |
| 5 | Five pillars of game design | D-007 |
| 6 | Action pillar design principles | D-008 |
| 7 | Multiplayer — design for it, build single-player first | D-009 |
| 8 | Multiplayer-ready architectural baseline | D-010 |
| 9 | Fog of perception non-negotiable | D-011 |
| 10 | Chunk-based map architecture | D-012 |
| 11 | Diegetic insert/POI navigation | D-013 |
| 12 | v0.1 map specification | D-014 |
| 13 | Camera locked to character | D-015 |
| 14 | Internal monologue system | D-016 |
| 15 | Perception modes as character build | D-017 |
| 16 | Three-range sound model | D-018 |
| 17 | Top-down with 3D cutscenes | D-019 |
Open Questions (unparented stories)
| ID | Title | Ref | Status |
|---|---|---|---|
| 18 | Game engine selection | Q-001 | ready |
| 19 | v0.1 prototype scope | Q-002 | backlog |
| 20 | Art direction | Q-003 | backlog |
| 21 | One campaign or separate eras | Q-004 | backlog |
| 22 | Prototype scale | Q-005 | backlog |
| 23 | Target platforms | Q-007 | backlog |
| 24 | Licensing/distribution | Q-008 | backlog |
| 25 | Time system | Q-009 | backlog |
| 26 | Storyteller AI design | Q-010 | backlog |
| 27 | Character selection roster | Q-011 | backlog |
Dependency Map
Engine Foundation:
#65 Project structure → #66 ECS world init → #67 Deterministic tick → #68 Basic entity components
#35 Rust Server Foundation ──┐
#36 Godot Client Foundation ─┤→ #38 Client-Server Integration
#37 IPC Bridge & Protocol ───┘
IPC Chain:
#75 Protocol messages ──┬→ #76 MsgPack Rust → #78 LocalBridge Rust ──┐
└→ #77 MsgPack GDS → #79 LocalBridge GDS ──┤→ #81 E2E test → #82 Tick sync → #83 Moving char proof
NPC Pipeline:
#39 NPC Data Model ──┬→ #40 Simulation Tiers
├→ #41 NPC Behavior Systems
├→ #42 Triangle Generation
└→ #54 Social Site Templates → #53 Three-Tier Pipeline
Perception Chain:
#110 Shadowcasting → #111 Vision cone → #112 Observer query → #113 Fog rendering
#43 Fog of Perception → #47 Top-down Renderer
NPC Components:
#86 Core NPC components → #92 NPC generation pipeline
#87 Relationship system → #101 Routine execution
#89 Information inventory → #90 Personality & tell system
Content Pipeline:
#158 Tier 1 drama schema → #159 Tier 2 template format
#55 Dialogue System → #59 Vertical Slice Authoring
#189 Cultural guide (Miri) ──┬→ #190 Workplace pack (Mellanie)
#193 Line previewer (Tyre) ──┤→ #191 Bar pack (Mellanie)
└→ #192 Smuggling ring pack (Mellanie)
Station District:
#153 Layout design ────────┐
#185 Bar template ─────────┤
#186 Smuggling template ───┤→ #188 Triangle instantiation
#187 Shared NPC coord ─────┘
Vertical Slice Validation:
#57 Playable Characters ─┐
#58 Station Content ─────┤→ #60 Success Criteria Validation
#59 Authoring ───────────┘
Testability:
#214 Refinement discussion ──┬→ #215 Testing pattern docs
├→ #216 Tooling requirements
└→ #217 Production code constraints
Workshop Outputs Expected
- Concept proof scorecard — each claim rated for ticket coverage and risk
- Fun/wow gap list — missing moments, front-loaded vs back-loaded experience concerns
- Missing ticket list — new stories for forgotten systems (interaction, save/load, pathfinding, etc.)
- Priority adjustments — tickets that should be promoted or demoted based on analysis
- Testability decisions — Rust patterns, Godot framework, production code boundaries
- Open question resolutions — which Q-items block v0.1 and need decisions now
- Updated dependency map — new dependencies from discovered gaps