# Conflicts: # CHANGELOG.md # content/_meta/README.md # content/_meta/npc-authoring-style-guide.md # wiki/_templates/cultural-group.md # wiki/_templates/institution.md # wiki/_templates/star-system.md # wiki/characters/devra.md # wiki/characters/drin.md # wiki/characters/harek.md # wiki/characters/lera-sessik.md # wiki/characters/maret-korr.md # wiki/characters/naia-tamm.md # wiki/characters/nils-davan.md # wiki/characters/pell.md # wiki/characters/renn.md # wiki/characters/resha.md # wiki/characters/sabel.md # wiki/characters/sera-venn.md # wiki/characters/torek-lintar.md # wiki/characters/voss.md # wiki/star-systems/krenn/index.md
76 lines
4.3 KiB
Markdown
76 lines
4.3 KiB
Markdown
---
|
|
title: "Sprint 25 — Copy Briefing"
|
|
description: "Zone identity spec, Krenn culture profile"
|
|
type: sprint
|
|
status: archived
|
|
sprint: 25
|
|
team: "copy"
|
|
---
|
|
|
|
# Sprint 25: Emerge — Copy Tasks
|
|
|
|
**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.
|
|
|
|
**Branch:** `copy`
|
|
**Agents:** Miri (worldbuilding lead), Mellanie (voice/dialogue review)
|
|
|
|
## New Tickets
|
|
|
|
| # | Title | Blocked by |
|
|
|---|-------|------------|
|
|
| #609 | Zone identity spec | #611 (server defines schema first) |
|
|
| #610 | Van Maanen's Star culture profile | #611 (server defines schema first) |
|
|
|
|
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
|
|
|
|
**How this sprint works for copy**
|
|
|
|
Server starts first. Tyre (#611) defines `ZoneSpec`, `CultureProfile`, and `NpcBlueprint` as Rust structs and writes example RON files showing the expected format. The Rust structs ARE the schema — no separate schema file to maintain. Copy fills real content into that format.
|
|
|
|
Wait for #611 to deliver its example RON before writing the real files. Tyre also ships a **RON validator CLI** (`tooling/validate-content <file.ron>`) that deserializes into the actual Rust structs and prints errors. Use it to lint your files before submitting.
|
|
|
|
Coordinate with Tyre at sprint start to agree on file locations (`content/global/zone-identity-spec.ron` and `content/global/culture-van-maanens-star.ron` are the expected paths, but Tyre's struct design is authoritative).
|
|
|
|
**#609 — Zone identity spec**
|
|
|
|
- Output: RON file the generator deserializes at runtime. Schema defined by Tyre's `ZoneSpec` struct from #611.
|
|
- Minimum two zone types with real content: **rural** and **industrial**. These are the two the sprint proof runs. Remaining types can be stubs with plausible values.
|
|
- The taxonomy must make the generator produce visibly different output per zone type — if rural and industrial look the same, it has failed.
|
|
- Content scope: what varies between zone types (density, pace, social site mix, NPC role distribution). Not prose worldbuilding — structured parameters that the Rust generator can read.
|
|
- Do not invent the schema. Read #611's example RON first.
|
|
|
|
**#610 — Van Maanen's Star culture profile**
|
|
|
|
- Output: RON file the generator deserializes at runtime. Schema defined by Tyre's `CultureProfile` struct from #611.
|
|
- Must provide enough cultural signal that generated NPCs feel Van Maanen's Star, not generic-space-village.
|
|
- Sprint scope: **name lists** (not phoneme generation rules — Tyre's generator picks from lists), speech markers, economic values, social norms.
|
|
- Phoneme-based name generation is explicitly out of scope for this sprint. A curated list of Van Maanen's Star-sounding names is sufficient.
|
|
- Existing Van Maanen's Star atmosphere and naming examples in `decisions/content.md` D-036 (amended post-workshop) are a starting point. Go deeper on concrete values (specific speech markers, actual name examples) not broader on atmospheric description.
|
|
- Do not invent the schema. Read #611's example RON first.
|
|
|
|
## Dependency Chain
|
|
|
|
```
|
|
server #611 (schema + validator) ──> #609 (zone spec RON) ──┐
|
|
├──> server #612 (generator)
|
|
──> #610 (culture RON) ──────┘
|
|
```
|
|
|
|
Server defines the shape. Copy fills it. Both #609 and #610 can be written in parallel once #611 delivers its example RON.
|
|
|
|
## 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 Van Maanen's Star culture profile" --description "body" --base main --head copy
|
|
```
|