Files
settled-reach/docs/sprints/sprint-22/planning.md
T
jpmschweitzerandClaude Opus 4.6 bccdcfcdcb docs(docs): add frontmatter to all sprint briefings
Standardized YAML frontmatter on all 115 sprint briefing files across
sprints 1-26 with title, description, type, status, sprint number, and
team fields.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 00:15:45 +01:00

61 lines
3.8 KiB
Markdown

---
title: "Sprint 22 — Planning Briefing"
description: "MobileChunk Idle state documentation, storyteller module activation scoping"
type: sprint
status: archived
sprint: 22
team: "planning"
---
# Sprint 22: Wire — Planning Tasks
**Goal:** Fix the fog regression, wire the authored Sova content into a production population and triangle set, and activate the contamination pacing layer that gives the vertical slice its 30-minute shape.
**Branch:** `planning` (documentation only — no code branch)
**Agents:** Gestalt (systems), Paula (narrative), SI (project manager)
## New Tickets
| # | Title | Blocked by |
|---|-------|------------|
| #566 | Document MobileChunk Idle state as stationary installation primitive | — |
| #162 | Storyteller module activation — scope and assign | — |
Use `tooling/db/ticket show <id>` for full details.
## Notes
**#566 — Document MobileChunk Idle state as stationary installation primitive**
- Decision D-111 (pending formal filing): the MobileChunk `Idle` movement state is the canonical primitive for player-owned stationary installations — space stations, orbital platforms, parked vessels used as bases. No code change.
- Deliverable: add a note to `decisions/architecture.md` under the D-108 (MobileChunk Specification) entry. Text: "The `Idle` movement state is the canonical primitive for player-owned stationary installations (space stations, orbital platforms, parked vessels as permanent bases). A MobileChunk in `Idle` with no `scheduled_departure` is architecturally equivalent to a static chunk from the simulation's perspective — it participates in the same tile/zone system. This design prevents future over-engineering of a separate 'player installation' system."
- Also update any relevant briefing files if MobileChunk is referenced in a way that omits this distinction.
- Acceptance: `decisions/architecture.md` updated. No compiler output needed.
**#162 — Storyteller module activation — scope and assign for Sprint 23**
- This ticket is currently unassigned with an underdeveloped description. Sprint 22 planning task: scope it for Sprint 23 implementation.
- The StorytellerPlugin in `server/src/storyteller/mod.rs` will have a contamination stub after #254 lands (Sprint 22). Sprint 23 needs to extend it into the full proximity/engagement-based activation model from D-023.
- D-023: "The storyteller activates Tier 1 modules based on player proximity and engagement, not timers." This is the post-contamination layer: after contamination fires, the storyteller decides which triangle escalates, when, and how — based on what the player has engaged with.
- Sprint 22 planning deliverable: update ticket #162's description with the concrete Sprint 23 scope:
1. `StorytellerPlugin` reads `ContaminationActive` (from #254) to gate activation.
2. Proximity query: identify Active-tier NPCs within the player's last-N-tick path.
3. Engagement scoring: weight NPCs by conversation count, observation time, and monologue triggers.
4. Module selection: among active `TriangleState` forks, activate the fork containing the highest-engagement NPC.
5. Activation event: emit `TriangleActivated { triangle_id }` for downstream systems (tells, NPC behavior shifts, monologue hooks).
- Assign #162 to the server team for Sprint 23.
- Acceptance: ticket #162 description updated, team assigned to `server`, priority confirmed as `high`.
## Dependency Chain
```
#566 (MobileChunk Idle doc) — standalone documentation
#162 (storyteller scope) — standalone planning, produces Sprint 23 server ticket
```
## PR Workflow
Planning outputs land on main directly (decisions/*.md updates) or via a planning branch PR:
```bash
tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "docs(decisions): Sprint 22 planning — D-111 MobileChunk Idle doc, #162 scope" --description "body" --base main --head planning
```