System S-057 assigned to real star GJ 35 (Van Maanen's Star, DG white dwarf at 13.9 ly). Renamed across all content, server code, docs, decisions, wiki lore, and config files. 224 files updated. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.8 KiB
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:
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)