Generator spike sprint. 5 tickets across copy and server teams: - #609 zone identity spec (copy) - #610 Krenn culture profile (copy) - #611 NpcBlueprint struct design (server) - #612 Template assembly generator (server) - #613 NPC generation pipeline (server) Sprint proof: throwaway render — rural Krenn village from minimal input (zone type + culture profile, no per-location spec). Closed #586 (tile data model epic — child #594 done). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
61 lines
3.8 KiB
Markdown
61 lines
3.8 KiB
Markdown
# Sprint 25: Emerge — Copy Tasks
|
|
|
|
**Goal:** Prove the generator can extrapolate from minimal input — a rural Krenn village from zone type and culture profile alone, no per-location spec.
|
|
|
|
**Branch:** `copy`
|
|
**Agents:** Miri (worldbuilding lead), Mellanie (voice/dialogue review)
|
|
|
|
## New Tickets
|
|
|
|
| # | Title | Blocked by |
|
|
|---|-------|------------|
|
|
| #609 | Zone identity spec | — |
|
|
| #610 | Krenn culture profile | — |
|
|
|
|
Use `tooling/db/ticket show <id>` for full details.
|
|
|
|
## Key Decisions
|
|
|
|
- `decisions/scope.md` — D-114 (generator-first proof-of-life), D-119 (generator spike critical path)
|
|
- `decisions/content.md` — D-121 (voice is culture-driven, job as modifier), D-122 (all NPCs generated), D-128 (culture implicit in starting location), D-129 (NPC personality: traits + behavior first)
|
|
- `decisions/architecture.md` — D-012 (chunk-based map, borderless generation future)
|
|
|
|
## Notes
|
|
|
|
**#609 — Zone identity spec**
|
|
|
|
- Output: a YAML or Markdown document defining zone type taxonomy for the Settled Reach's social vocabulary.
|
|
- What each zone TYPE means (not a specific location): urban residential, rural agricultural, industrial transit, informal/fringe, commercial, etc. What does each feel like? Who lives or works there? What emotional register does it carry? What is the density, pace, noise level?
|
|
- This is a general taxonomy — NOT a spec for a specific village. The generator needs the zone types as input parameters so it can extrapolate any location.
|
|
- Downstream consumers: Tyre (generator zone template parameters for #611/#612), Araminta (zone visual grammar), Mellanie (culture-primary voice cards).
|
|
- File location: `content/global/zone-identity-spec.md` (or YAML if preferred — coordinate with Tyre on what format #611 needs to ingest).
|
|
- Krenn System context: check `decisions/content.md` D-036 amendment and D-128. Station Sova's districts (D-093) are an example of zone types in action but the spec must generalize beyond Sova.
|
|
|
|
**#610 — Krenn culture profile**
|
|
|
|
- Output: one full culture profile for Krenn System / Station Sova, usable as generator input constraints and AI content templating prompt seeds.
|
|
- Must encode: naming conventions and phonemes, speech patterns and registers (formal/informal), economic values and class markers, attitudes toward work/leisure/authority, sensory palette (what Krenn space looks/smells/sounds like), social norms and taboos, dress and appearance codes.
|
|
- D-128: culture is implicit in starting location. This profile IS the cultural context for every generated NPC in the Krenn System — not just flavor text.
|
|
- D-121: voice is culture-driven, job modifies. The culture profile must be specific enough that Tyre can use it to constrain generated NPC voice parameters.
|
|
- D-123: this profile feeds the AI content templating pipeline. Culture vectors = prompt constraints. The profile must be concrete enough to function as a constraint, not just atmospheric description.
|
|
- File location: `content/global/culture-krenn.md` (or YAML — coordinate with Tyre).
|
|
- Existing Sova atmosphere notes live in `decisions/content.md` D-036 (amended post-workshop). Pull from those but go deeper on cultural mechanics.
|
|
|
|
## Dependency Chain
|
|
|
|
```
|
|
#609 (zone identity spec) ──┐
|
|
├──> server #611 (NpcBlueprint struct)
|
|
#610 (Krenn culture profile)┘ └──> #612 (template gen) ──> #613 (NPC pipeline)
|
|
```
|
|
|
|
Copy deliverables (#609, #610) are prerequisites for all server work in this sprint. Both can be written in parallel — they are independent of each other.
|
|
|
|
## PR Workflow
|
|
|
|
When ready to submit, create a PR with `tea` CLI. All flags are required to avoid TTY prompts (see CLAUDE.md "Gitea access" section):
|
|
|
|
```bash
|
|
tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(copy): zone identity spec and Krenn culture profile" --description "body" --base main --head copy
|
|
```
|