# 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 ` 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 ```