Files
settled-reach/docs/sprints/sprint-5/joint.md
T
jpmschweitzer 23d9ff0a58 Merge remote-tracking branch 'origin/main' into planning
# Conflicts:
#	CHANGELOG.md
#	content/_meta/README.md
#	content/_meta/npc-authoring-style-guide.md
#	wiki/_templates/cultural-group.md
#	wiki/_templates/institution.md
#	wiki/_templates/star-system.md
#	wiki/characters/devra.md
#	wiki/characters/drin.md
#	wiki/characters/harek.md
#	wiki/characters/lera-sessik.md
#	wiki/characters/maret-korr.md
#	wiki/characters/naia-tamm.md
#	wiki/characters/nils-davan.md
#	wiki/characters/pell.md
#	wiki/characters/renn.md
#	wiki/characters/resha.md
#	wiki/characters/sabel.md
#	wiki/characters/sera-venn.md
#	wiki/characters/torek-lintar.md
#	wiki/characters/voss.md
#	wiki/star-systems/krenn/index.md
2026-03-14 00:24:53 +01:00

10 KiB

title, description, type, status, sprint, team
title description type status sprint team
Sprint 5 — Joint Briefing Content-focused sprint coordination, FRIEND NPC packs, copy-heavy workload sprint archived 5 joint

Sprint 5: Live — Joint Integration

Goal: Content at scale — FRIEND packs, PC-as-NPC authoring, NPC style guide

Teams: Copy, Client, CI Agents: All implementation agents

Sprint Overview

Sprint 5 is content-focused with light infrastructure support. The copy team carries the heaviest load — authoring production-level FRIEND NPC content that exercises every content pipeline at full depth. Client and CI teams provide integration and quality assurance.

Team Distribution

Team Ticket Count Load
Copy 6 tickets Heavy (2 FRIEND packs ~75-100 lines each + style guide + voice patterns)
Client 2 tickets Light (1 carry-over + 1 joint integration)
CI 1 ticket Light (pre-commit validation hook)
Server 0 tickets No work (Sprint 4 delivered content loading infrastructure)

Pre-Sprint Requirements

None. Sprint 5 builds on Sprint 4 deliverables:

  • Content directory structure (#385, done)
  • Content schema definitions (#386, done)
  • YAML content loader Phase 2 (#408, done)
  • Interaction system with multi-verb support (#404, done)
  • Pause system (#406, done)
  • Line previewer CLI (#407, done)

All infrastructure needed for content authoring is in place.

Dependency Graph

Critical path (copy team):
#310 (voice patterns)
  ├─→ #297 (Kael FRIEND pack)
  ├─→ #298 (Sera FRIEND pack)
  └─→ #379 (style guide, parallel but informed by #310)

#297 + #298 (both FRIEND packs complete)
  └─→ #401 (PC-as-NPC authoring)

Parallel tracks:
#405 (interaction prompt, client) → standalone carry-over
#409 (UI microcopy) → copy authors strings, client integrates
#393 (FactId check, CI) → standalone, supports content quality

Cross-Team Integration Points

Copy ↔ Client: UI Microcopy (#409)

Workflow:

  1. Early sprint: Stig (client) and Mellanie (copy) agree on format (YAML vs GDScript constants)
  2. Copy team authors ~50 UI strings
  3. Copy delivers strings to client team (PR or shared file)
  4. Client integrates strings into UI systems
  5. Client tests in-game, provides length/fit feedback if needed
  6. Copy revises if strings don't fit UI constraints
  7. Final integration tested and merged

Coordination channel: Direct agent-to-agent (Stig ↔ Mellanie)

Copy ↔ CI: FactId Validation (#393)

Workflow:

  1. Justine (CI) implements pre-commit FactId check
  2. Copy team reviews canonical FactId list in content/global/knowledge/
  3. CI delivers working hook early in sprint
  4. Copy team uses hook during FRIEND pack authoring (catches typos before commit)
  5. Copy provides feedback on false positives / naming edge cases

Coordination channel: Direct agent-to-agent (Justine ↔ Mellanie/Paula)

Internal Copy: Voice Patterns Blocker

Blocker: #297 and #298 (FRIEND packs) are blocked by #310 (voice patterns)

Resolution: Mellanie must deliver voice patterns document first. Paula and Gestalt can start profile work (10-axis NPCs, relationship arcs, contradiction scenarios) in parallel, but dialogue authoring waits for voice spec.

Parallel work during voice patterns authoring:

  • Paula: 10-axis profiles for Kael and Sera (personality, relationships, wants, secrets, routines)
  • Gestalt: relationship phase mapping (comfort→crack→observation→confrontation for Kael, trust→data→recognition→question→contamination for Sera)
  • Mellanie: voice patterns for both PCs

Once #310 complete, all three agents author FRIEND dialogue using voice spec.

Sprint Completion Proof

At the end of Sprint 5, the following must be observable:

Content Deliverables

  1. Voice patterns document exists at content/campaigns/main/_meta/voice-patterns.md or in wiki

    • Contains speech-level detail for smuggler and detective
    • Covers sentence length, contractions, monologue style, stress markers, vocabulary
  2. NPC Authoring Style Guide exists at content/_meta/npc-authoring-style-guide.md

    • Consolidates tier templates, authoring rules, regional culture, Gestalt constraints
    • Usable by future content authors
  3. Kael Davan FRIEND pack complete

    • Profile YAML at content/campaigns/main/systems/van-maanens-star/sova/sova-transit/npcs/kael-davan.yaml
    • Dialogue files at content/campaigns/main/systems/van-maanens-star/sova/sova-transit/dialogue/kael-davan-*.yaml
    • Monologue at content/campaigns/main/systems/van-maanens-star/sova/sova-transit/monologue/smuggler/kael-*.yaml
    • Total line count: 75-100 hand-authored lines
  4. Sera Venn FRIEND pack complete

    • Profile YAML at content/campaigns/main/systems/van-maanens-star/sova/sova-transit/npcs/sera-venn.yaml
    • Dialogue files at content/campaigns/main/systems/van-maanens-star/sova/sova-transit/dialogue/sera-venn-*.yaml
    • Monologue at content/campaigns/main/systems/van-maanens-star/sova/sova-transit/monologue/detective/sera-*.yaml
    • Total line count: 75-100 hand-authored lines
  5. PC-as-NPC content complete

    • Smuggler routine at content/campaigns/main/systems/van-maanens-star/sova/sova-transit/npcs/pc-smuggler.yaml
    • Detective routine at content/campaigns/main/systems/van-maanens-star/sova/sova-transit/npcs/pc-detective.yaml
    • Cross-character observation monologue in respective pools
    • Total items: ~25 authored pieces
  6. UI microcopy integrated

    • ~50 strings authored and applied to client UI
    • File at client/scripts/constants/ui_strings.gd or content/campaigns/main/_meta/ui-strings.yaml

Infrastructure Deliverables

  1. Interaction prompt system complete (#405)

    • Context-sensitive E prompt working in-game
    • Reads InteractionOptions from server snapshot
    • Tested with multiple interaction types
  2. FactId pre-commit check operational (#393)

    • Hook installed at .config/pre-commit/check-fact-ids.sh or similar
    • Tested with valid and invalid FactIds
    • Catches typos before commit

Validation Tests

Content validation:

# All YAML validates against schema
make validate-content

# Line previewer can load FRIEND pack content
cargo run --bin line-previewer -- content/campaigns/main/systems/van-maanens-star/sova/sova-transit/dialogue/kael-davan-trust.yaml

# FactId check passes on all content
.config/pre-commit/check-fact-ids.sh

Client integration:

# Godot client launches without errors
cd client && godot --headless --quit

# UI strings loaded and visible in-game (manual playtest)

Test Plan Alignment (D-030)

Sprint 5 is content-focused, so test emphasis is on content validation rather than simulation systems:

Phase 1 (infrastructure): Already complete from Sprint 4

  • Content loader tests (cargo test content::loader)
  • YAML schema validation (make validate-content)

Phase 2 (integration): New for Sprint 5

  • Line previewer regression tests (verify FRIEND content loads without errors)
  • FactId cross-reference validation (pre-commit hook)
  • UI string integration tests (gdUnit4 if applicable, or manual validation)

Phase 3 (content quality): Manual validation

  • Voice consistency across FRIEND pack lines (human review by Mellanie)
  • Dual-lens coherence (Paula reviews cross-character references)
  • Tag taxonomy compliance (Gestalt validates tag usage)

Risk Mitigation

Risk: FRIEND packs are massive authoring tasks (~75-100 lines each, all hand-authored). If voice patterns take too long, FRIEND packs might not complete.

Mitigation:

  • #310 (voice patterns) is top priority, starts day 1
  • Paula begins profile work in parallel (doesn't require voice patterns)
  • If FRIEND packs fall behind, #401 (PC-as-NPC) can slip to Sprint 6 without blocking v0.1 wow moments

Risk: UI microcopy might not fit client UI constraints (text too long, tone mismatch).

Mitigation:

  • Early coordination between Stig and Mellanie on format and length limits
  • Iterative feedback loop (copy delivers, client tests, copy revises if needed)
  • Client provides length constraints up front (max characters per label)

Risk: FactId check produces false positives on valid template patterns.

Mitigation:

  • Justine coordinates with copy team on edge cases early in sprint
  • Initial implementation can be lenient (warnings instead of hard failures)
  • Tighten validation after copy team validates against real content

Definition of Done

Sprint 5 is complete when:

  1. All 8 tickets marked done in database
  2. All content files committed to copy branch and validated
  3. All infrastructure code committed to client and ci branches
  4. PRs created for all three teams
  5. Sprint completion proof checklist verified (all 8 observable deliverables present)
  6. Team Leader reviews FRIEND pack content quality (critical for D-027 criterion #3 and D-039 wow moment #3)

PR Coordination

Three team PRs will be created:

  1. Copy team PR (largest):

    • Branch: copy
    • Scope: voice patterns, style guide, FRIEND packs, PC-as-NPC content, UI strings (YAML if applicable)
    • Review focus: content quality, voice consistency, dual-lens coherence
  2. Client team PR:

    • Branch: client
    • Scope: interaction prompt completion, UI microcopy integration
    • Review focus: UI functionality, string integration
  3. CI team PR:

    • Branch: ci
    • Scope: FactId pre-commit validation hook
    • Review focus: validation correctness, performance

All PRs target main branch. Copy team PR is largest and blocks v0.1 wow moments, so gets priority review.

Notes for Team Leader

Sprint 5 is the critical content sprint. FRIEND packs carry:

  • D-027 success criterion #3: "player names an NPC they felt conflicted about"
  • D-039 wow moment #3: THE FRIEND's contradiction
  • D-034 pattern validation: production-level NPC with full pipeline exercise

Quality bar is high. These NPCs must feel real, conflicted, and memorable. Copy team has full sprint to deliver. If FRIEND packs aren't hitting the emotional bar, extend sprint or adjust scope — this content cannot be rushed.