# Sprint 3: Content Foundation — Joint Tasks **Goal:** Coordinate cross-team dependencies for content infrastructure and interaction systems. **Branches:** Work happens on separate branches, coordinates through main. ## Cross-Team Dependencies Sprint 3 has a tight dependency chain between copy and server teams: ``` Copy team: #384 (content directory structure doc) ↓ Server team: #385 (create content/ directory skeleton) ↓ #386 (content schema definitions) ↓ #392 (make validate-content CLI) Server team: #404 (proximity detection + InteractionOptions) ↓ Client team: #405 (interaction prompt system) ``` ## Critical Path Management **#384 → #385 → #386 → #392 pipeline:** This is the critical path for all v0.1 content work. The copy team's content structure design doc (#384) must complete before server can build the directory skeleton (#385) or write schema files (#386). All content authoring is blocked until this pipeline completes. **Coordination points:** - Copy team: prioritize #384 early in sprint - Server team: ready to start #385 immediately when #384 is complete - Server team: #386 can start in parallel with #385 (both depend on #384) - Server team: #392 depends on #386 completing **#404 → #405 handoff:** Server team builds proximity detection + `InteractionOptions` component with `verbs[]` array. Client team builds interaction prompt UI that reads from ObserverSnapshot v3. Server work must complete first. **Coordination points:** - Server team: #404 includes ObserverSnapshot v2 → v3 protocol extension - Client team: cannot start #405 until server publishes v3 protocol changes - Copy team: #402 (verb spec) is soft dependency — provides verb taxonomy for #404 ## Key Decisions - `decisions/architecture.md` — D-020 (IPC protocol), D-010 (client-server separation), D-030 (testability) - `decisions/content.md` — D-024 (NPC model), D-035 (tag taxonomy) - Content scoping: v0.1 Content Scoping Workshop outputs (parent epic #369) ## Sprint Completion Proof Sprint 3 is complete when: 1. **Content infrastructure exists:** - `content/` directory structure is documented and created - YAML schemas define content contracts - `make validate-content` CLI validates content files 2. **Interaction mechanics work:** - Server detects proximity and sends `InteractionOptions` to client - Client displays context-sensitive interaction prompt - Player can press E to trigger interaction (even if handlers are stubs) 3. **Cross-team handoffs succeeded:** - Copy team delivered #384 on time for server dependencies - Server team delivered ObserverSnapshot v3 for client integration - No team was blocked waiting for another team's output This sprint establishes the content production pipeline and basic player interaction — foundation for all v0.1 gameplay. ## Notes **Content pipeline coordination:** The #384 → #385 → #386 → #392 pipeline is sequential work across two teams. To minimize idle time: - Copy team should communicate #384 progress to server team daily - Server team can prepare #385 and #386 implementation plans while #384 is in progress - Server team can start #392 design (CLI interface, validation rules) while #386 is being written **Interaction system coordination:** The #404 → #405 handoff is cleaner — less interdependency once the protocol extension is defined. Server team should publish the ObserverSnapshot v3 schema early (even before implementation is complete) so client team can prepare UI layer. **Parallel work:** While critical path tickets are in progress, both teams have parallel work: - Copy team: character specs (#380, #381, #382), wiki maintenance (#371, #372, #375, #376), pattern mapping (#396) - Server team: pause system (#406, independent of all other work) - Client team: only one ticket this sprint (#405), blocked by server #404 The copy team has the most parallel work available — 14 tickets total, only 3 are blocked at sprint start.