--- title: "Sprint 25 — Joint Briefing" description: "Generator proof-of-life coordination, zone spec handoff, throwaway render test" type: sprint status: archived sprint: 25 team: "joint" --- # Sprint 25: Emerge — Joint **Confidence: 15%.** This sprint is exploratory — we learn whether the approach works, not whether we can ship it. Declare what we learned, not victory. **Goal:** Prove the generator can extrapolate from minimal input — a rural Van Maanen's Star area AND an industrial Van Maanen's Star zone from zone type and culture profile alone, no per-location spec. Two zone types, one culture, side-by-side comparison. ## Pre-Sprint | Item | Owner | Blocks | |------|-------|--------| | Tyre shares example YAML schema from #611 with Miri | Tyre | #609, #610 | | Agree on file paths for zone spec and culture YAML | Tyre + Miri | #609, #610, #612 | The critical coordination handoff: #611 defines the Rust structs and writes example YAML showing the schema. That YAML goes to Miri immediately. Copy fills the schema with real content. Server builds Phase 1 of #612 with hardcoded stubs in parallel — does not wait for copy. ## Sprint Completion Proof — Throwaway Render **This is not a test suite. It is an eyeball test.** **Commands:** ```bash cargo run --bin generator-spike -- --zone rural --seed 42 cargo run --bin generator-spike -- --zone industrial --seed 42 cargo run --bin generator-spike -- --zone rural --seed 43 ``` **Expected output per invocation:** - Zone type and summary (block count, social site list) - NPC roster: name, role, 2-3 traits, one observable behavior - Relationship pairs: "A knows B as [type] ([valence])" **Pass condition — three comparisons:** Cross-type (rural vs industrial, seed 42): - Different output shape — social site mix, NPC role distribution, density all differ - Both feel Van Maanen's Star — shared naming conventions and cultural markers - Zone taxonomy does visible work (outputs distinguishable by zone type alone) Intra-type (rural seed 42 vs rural seed 43): - Both recognizably rural — same zone shape, similar role distribution - Different people — different names, traits, relationship pairs - Tests coherence within a type and variance across seeds Culture (both zone types): - Culture profile does visible work — output feels Van Maanen's Star, not generic space-village - NPC relationships are **readable** from text — not inferred, read **Fail condition:** - Both outputs look the same with different labels (zone taxonomy not doing work) - Neither feels Van Maanen's Star (culture profile not doing work) - NPC traits unreadable from text (D-129 legibility gate not met) This sprint **discovers** the right spec — it does not implement a known one. If the output is light and not fully deep, that is expected. The proof is in the pudding: run it, read it, judge it. ## Tickets by Team | Team | # | Title | |------|---|-------| | server | #611 | NpcBlueprint struct design | | copy | #609 | Zone identity spec | | copy | #610 | Van Maanen's Star culture profile | | server | #612 | Template assembly generator (includes NPC pipeline + stdout output) | ## Dependency Chain ``` #611 (structs + schema) ──> #609 (zone spec YAML) ──┐ ──> #610 (culture YAML) ──┴──> #612 Phase 2 (integrate real YAML) #611 ──────────────────────────────────────────────────> #612 Phase 1 (hardcoded stubs, build in parallel) ``` #611 first. #609 and #610 in parallel after schema arrives. #612 builds in two phases — Phase 1 with stubs runs alongside copy, Phase 2 integrates real YAML. ## Open Questions | ID | Question | Blocking | |----|----------|---------| | Q-WTF-033 | AI templating: Claude API, local ollama, or manual for v0.2? | #623 (deferred) | | Q-WTF-039 | Character creation screen: portrait render or tile-scale preview? | Sprint 26+ | | Q-WTF-040 | Do creation choices trace into the generated apartment? | Sprint 26+ | Q-WTF-033 does not block this sprint. Design #612 so AI templating slots in later without a rewrite — the culture profile's speech markers are already the prompt constraint structure. ## Deferred to Future Sprints - Tycoon bookmark (#605, #614-617) — needs generator output proven first - Character creation screen (#606, #618-620) — client work, post-generator - NPC legibility systems (#607, #621-622) — downstream of generator - AI content templating (#623) — Q-WTF-033 unresolved - World feel systems (#608, #624-626) — downstream of everything - Visual rendering of generated world — out of scope for this spike ## What This Sprint Does NOT Do - No client work (no rendering of generated content) - No new content beyond the zone spec and culture profile YAML files - No AI templating implementation (design for it, don't build it) - No playable session from the generated world - No ECS entity spawning into a running bevy world (#613 absorbed into #612 as stdout-only proof)