Files
settled-reach/docs/sprints/sprint-25/copy.md
T
jpmschweitzer 23d9ff0a58 Merge remote-tracking branch 'origin/main' into planning
# 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
2026-03-14 00:24:53 +01:00

4.3 KiB

title, description, type, status, sprint, team
title description type status sprint team
Sprint 25 — Copy Briefing Zone identity spec, Krenn culture profile sprint archived 25 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):

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