Files
settled-reach/docs/sprints/sprint-27/joint.md
T
jpmschweitzerandClaude Sonnet 4.6 2fddf8b6ca chore(meta): plan Sprint 27: Scale
9 tickets assigned. Teams: server (5), copy (3), planning (1).
Sprint goal: extend zone-type template library from 2 to 31 zone types,
wire server structs for D-142, eliminate Clippy debt.

New ticket #676 created: assign teams to v0.2 story backlog (#614-#626).
Tickets #669 and #672 reassigned from maintenance to server.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 22:47:55 +01:00

4.5 KiB
Raw Blame History

title, description, type, status, sprint, team
title description type status sprint team
Sprint 27 — Joint Briefing Cross-team coordination, integration points, sprint completion proof sprint active 27 joint

Sprint 27: Scale — Joint

Goal: Extend the zone-type template library from 2 to 31 zone types, wire the server to load them, and eliminate Clippy debt — clearing the path to the NPC legibility sprint.

Pre-Sprint Checks

Item Owner Status
Sprint 26 all done (15/15) SI confirmed
content/global/zone-types/ has rural_agricultural.ron and industrial_freight.ron copy/server confirmed
validate-ron currently accepts zone spec format server needs update (#663)
Sprint 27 created in planning status SI confirmed (ID: 27)

Cross-Team Dependencies

Dependency Upstream Downstream Notes
#669 (move content/) completes server server (#663 loader paths) #663 loader should target server/content/ from the start — coordinate on timing
#663 (ZoneTypeTemplate structs) merges server copy (#662 validate-ron) Copy team can author in parallel; full validate-ron pass requires #663 merged
#663 struct design server copy (#662 authoring) Server team: share the new struct field names before copy team starts batch authoring so RON files are aligned from the start

Action required — sprint start: Server team (#663 agent) to post the finalized ZoneTypeTemplate struct layout (field names and types) as a comment on #663 before copy team begins batch authoring. Copy team is authoring to the existing RON format (which IS the schema per D-142's "Rust structs match the RON files" contract) — but if the struct rename changes any field names, copy team needs to know before producing 29 files.

Sprint Completion Proof

Sprint 27 is done when all of the following are observable:

Server:

  • cargo clippy -- --deny warnings passes with zero warnings on the server branch.
  • cargo audit runs as make audit and reports the RUSTSEC-2025-0141 advisory as ignored (expected), with no new advisories failing.
  • tooling/validate-ron content/global/zone-types/rural_agricultural.ron zone_type passes against the new ZoneTypeTemplate struct.
  • cargo run --bin generator_spike -- --zone-type rural_agricultural --seed 42 --from-files produces legible NPC output (eyeball test: you can tell it's a rural agricultural zone from the behaviors).

Copy:

  • content/global/zone-types/ contains all 31 RON files (2 existing + 29 new).
  • All 31 files pass tooling/validate-ron content/global/zone-types/<zone_type>.ron zone_type (requires #663 merged).
  • Each file has at least 3 roles with at least 12 OnShift primitives and 3 Social primitives per role.
  • content/npc-conversations/overheard.yaml.deprecated exists; replacement RON file exists with 10+ entries.

Planning:

  • All 12 v0.2 story tickets (#614#626) have a team assigned in the DB.
  • Q-WTF-039 and Q-WTF-040 are marked resolved in decisions/questions-content.md.
  • Any required split tickets created with blockers wired.

Test Plan Alignment

Sprint 27 is a content + infrastructure sprint. No new ECS systems, no new IPC protocol changes. Test surface:

  • #663 struct changes: Unit test deserializing rural_agricultural.ron into the new ZoneTypeTemplate. Existing spike integration test (make generator-spike-test or equivalent) must still pass. No regressions in existing blueprint deserialization tests.
  • #635 Clippy: cargo clippy -- --deny warnings is the test. Zero warnings = done.
  • #669 content/ move: make test must pass after the move. All fixture paths verified.
  • #662 zone-type files: tooling/validate-ron pass for all 31 files is the acceptance criterion.
  • #664 overheard replacement: New RON file deserializes without errors. Old YAML archived (not deleted).

Sprint Retro Trigger

If any of these conditions are hit mid-sprint, flag to SI immediately:

  • Server struct changes in #663 force RON file format changes that break the copy team's partially-authored files. (Mitigation: struct field names should be locked before copy batch authoring begins — see cross-team dependencies above.)
  • Copy batch authoring produces more than 5% of primitives with cultural encoding (failing standalone readability). (Mitigation: reviewer agent pass at end of each batch.)
  • #669 (content/ move) breaks more than 3 test files. (Mitigation: run make test after each subdirectory move, not at the end.)