Files
settled-reach/docs/sprints/sprint-35/copy.md
T
jpmschweitzerandClaude Sonnet 4.6 521c682175 chore(meta): plan Sprint 35: Atlas
Phase 3 launch sprint. 13 tickets across server, client, copy.
Atlas generation pipeline (terrain_reference, generate_atlas.py, Gemma naming),
brand layer DB schema, Atlas implant panel (3 levels + heightmap viewer + overlays),
hand-authored templates for Lendel + 4 core systems, brand corp TOML,
brand_templates.toml (120-130 archetypes), wiki glossary, world seed wiring.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 22:01:42 +02:00

156 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sprint 35: Atlas — Copy Tasks
**Goal:** Launch Phase 3 — hand-author the atlas quality bar for Lendel and 4-5 core systems, seed the brand layer with canonical brand corp TOML entries and 120-130 archetype templates, and create the wiki glossary as a canonical noun reference for all future authoring.
**Branch:** `sprint-35/copy`
**Agents:** Mellanie (author), Miri (worldbuilding)
## New Tickets
| # | Title | Blocked by |
|---|-------|------------|
| #840 | Wiki glossary — canonical proper nouns, factions, locations, terminology | — |
| #830 | Add Calloway, VGV, thrds, Bífröst Marmor to tier1.toml | — |
| #831 | Author brand_templates.toml — 120-130 archetypes with corridor naming patterns | — |
| #837 | Hand-author atlas templates — Lendel and 4-5 core systems | — |
| #838 | Review and hand-refine generated atlas content across all inhabited bodies | #832 (server), #833 (server) |
## Key Decisions
- `decisions/economics.md` — D-189 (brand layer architecture — section 4 naming patterns, section 1 taxonomy, section 11 named brand corps table), D-190 (brand volume calibration — population-relative scale; apply when writing wiki volume figures), D-185 (brands are not commodities — brand corps register as commodity demand nodes), D-175 (corp taxonomy — Tier 1 TOML record fields), D-182 (TOML pipeline — sync rule: wiki corp entries and TOML records must match)
- `decisions/architecture.md` — D-191 (Atlas Phase 3 — markers.json schema, settlement data model, Gemma naming patterns the hand-authored templates must match)
- `decisions/content.md` — D-036 (Sova/Krenn as canonical v0.1 setting), D-093 (Sova district spatial layout), D-095 (Horizon stations)
## Notes
### #840 — Wiki glossary
**Start here.** This ticket is the most urgent: it was triggered by a Sprint 34 copy review incident where "Gatebuilder" was used instead of the canonical "Founders." That kind of drift will recur in Phase 3 authoring at scale.
Create `wiki/glossary.md`. Canonical sections:
- **Factions:** Concord Assembly, Compact of Westphalia, Commission (full name: ?), Gate Corporation, Syndicate
- **Precursor terms:** Founders (canonical), NOT Gatebuilders (obsolete), NOT Builders, NOT Precursors without qualification
- **Currencies:** Tractus (Assembly), Mark (Compact), Sol (shadow/untracked)
- **Corridors:** inner_corridor, north_reach, east_reach, west_reach, south_reach, frontier — include canonical descriptions
- **Key locations:** Sirius (GJ 244A / S-067, Concord Assembly seat), Groombridge (GJ 380, financial clearing), Lendel (GJ 380c, inner core capital), Sova Transit District (Krenn System, canonical v0.1 setting)
- **Economics terms:** tâtonnement (not tatonnement or tâtonnement), Leontief (capitalized), tractus (currency lowercase when written in prose)
- **Wiki terminology:** planet_class (not biome_summary — D-188 rename), system_id format (GJ catalog strings)
Format: simple alphabetical list with the canonical form bolded and "NOT [wrong form]" notes where drift has been observed. Keep it practical — this is a quick-reference tool for authors, not an encyclopedia.
### #830 — Add Calloway, VGV, thrds, Bífröst Marmor to tier1.toml
The 4 canonical brand corps exist in wiki pages but are missing from `wiki/economics/corporations/tier1.toml`. Add full TOML records for each, per the field schema at the top of that file.
Key fields to get right (cross-reference D-189 section 11 for confirmed details):
- **Calloway Distillery:** `terroir`, `north_reach`, `premium_spirits` as primary commodity input, `shadow_connections = false`, `gate_energy_dependent = true`
- **Vins de Grand Vide (VGV):** `terroir`, `west_reach`, requires F8V stellar spectrum per D-177 (terroir_locked = true in brand_products — note this constraint here), `premium_spirits`
- **thrds:** `heritage_craft`, `north_reach`, `luxury_textiles` as primary commodity input
- **Bífröst Marmor:** `terroir`, `north_reach` / Compact affiliation, `bloc_affiliation = compact`, `geological_material` as commodity input
The server team (#827) will author the `brand_products` TOML entries for these corps. Your task is the `tier1.toml` records (corporation identity, behavioral archetype, primary commodities as inputs). Coordinate with Dudley to avoid duplicating data: `tier1.toml` = corp identity; `brands.toml` (server creates) = product records.
The D-182 sync constraint requires wiki corp pages and TOML records to match. Check that each of the four corps has a wiki page; flag any discrepancy in the PR description.
### #831 — Author brand_templates.toml
Create `wiki/economics/archetypes/brand_templates.toml` with approximately 35-40 archetypes × 3 sub-variants = 120-130 template definitions.
Each template defines (per D-189):
- `brand_category` (one of 8: terroir, heritage_craft, tech_premium, cultural, service_premium, commodity_branded, design_heritage, platform_catalogue)
- `commodity_inputs` with quantity ranges
- `premium_range`
- `scarcity_class` (capped / constrained / scalable / unlimited)
- `value_trajectory` (appreciating / depreciating / timeless)
- `scale_tier` (local / regional / reach-wide)
- `naming_pattern` — corridor-specific per D-189 section 4:
- `north_reach` → British/Australian inflection (surnames, place names, compound nouns)
- `east_reach` → Korean/Japanese patterns
- `west_reach` → German/Dutch/Nordic patterns
- `south_reach` → Portuguese/Swahili patterns
- `inner_corridor` → pan-corridor neutral (no strong cultural inflection)
- `frontier` → founder surname + noun (e.g., "Vasquez Feeds", "Okafor Fabrication")
These templates feed the server's `generate_brands` pipeline (#829, Sprint 36). The templates are authored content — they define the cultural texture of 10,000 generated minor brands. Quality here directly affects world texture density.
Archetypes to cover: at minimum 4-5 per `brand_category`, distributed across corridors. Aim for balance: each corridor should have at least 10 templates that feel culturally native. Sub-variants within an archetype should vary on `scale_tier` and `value_trajectory` (e.g., a local terroir brand vs. a regional one vs. a reach-wide budget version of the same category).
**Volume calibration:** When specifying production volumes or market penetration in template descriptions, apply D-190 population-relative scale. "40M units" without a reference population is not meaningful at Reach scale. Annotate as "40M (west_reach corridor, ~10B addressable)" or similar.
### #837 — Hand-author atlas templates: Lendel and 4-5 core systems
Hand-author complete `markers.json` content for Lendel (GJ 380c) and 4-5 other high-visibility systems. These are the quality bar templates — they define what the generator should produce, serve as few-shot examples for Gemma 2 naming prompts, and establish the authoring conventions for Phase 3.
**markers.json schema** (per D-191 section 8):
```json
{
"cities": [
{
"name": "...",
"lat": ..., "lon": ...,
"population_tier": 1-6,
"primary_function": "capital|trade|industrial|port|...",
"gate_terminal": true|false,
"continent_id": "..."
}
],
"roads": [{"path": [[lat, lon], ...], "connects": ["city_a", "city_b"]}],
"railroads": [{"path": [[lat, lon], ...], "connects": ["city_a", "city_b"]}],
"pois": [{"name": "...", "kind": "...", "lat": ..., "lon": ...}],
"rivers": [...existing geometry..., "name": "..."],
"oceans": [...existing geometry..., "name": "..."],
"mountain_ranges": [...existing geometry..., "name": "..."]
}
```
The `rivers`, `oceans`, and `mountain_ranges` arrays already exist in `markers.json` from the planet-gen pipeline — they have geometry but `name: null`. Fill the names and add the cities/roads/rail/POIs.
**Authoring rules:**
- Validate city placements visually against the heightmap PNG — not in water, not on mountains, reasonable distribution across habitable terrain
- Roads/rail should follow terrain corridors (valleys, coastal plains), not cross water without reason
- Names must be culturally appropriate to the system's corridor (Lendel is inner_corridor/inner_core — pan-corridor neutral)
- Gate terminal: largest city unless lore suggests otherwise
- City count: use `floor(log10(pop / 1_000_000))` as baseline; modify for narrative weight of the system
**Priority systems to author** (suggest Lendel plus 4 from): Sova (Krenn System — canonical setting, D-036), the Sirius system (Concord Assembly seat, D-144), one Compact system (Mark-zone texture), one frontier system (sparse/rough). Miri to select the remaining 4 based on wiki depth and lore importance.
These hand-authored files should be checked into `wiki/star-systems/` alongside the heightmap PNGs before the sprint ends — they are consumed by the heightmap viewer (#835) and the Gemma 2 naming pipeline (#833) as few-shot examples.
### #838 — Review and hand-refine generated atlas content
**Blocked by #832 and #833 (server).** Begin only after `make atlas-generate` has run and produced `markers.json` output for inhabited bodies.
Review pass across all 273 inhabited bodies. Focus areas:
- City placements: not in water, not on mountains, reasonable geographic distribution
- Names: culturally appropriate to corridor, no Earth-name leaks (blocklist should catch most, review the rest), no duplicates within a body
- Roads/rail: follow terrain, don't cross water without a logical reason (major trade route, bridge)
- Lore consistency: key systems should have city names that match wiki canon where specified
Refinements go directly into `markers.json` files. Track which bodies needed correction and what kind — this feedback informs generator tuning for Sprint 36.
Uninhabited bodies (no cities) get geographic feature names only; focus review effort on the 273 inhabited bodies.
This ticket may complete in sprint or carry to Sprint 36 depending on pipeline timing — #832 and #833 completing early in the sprint is the prerequisite.
## Dependency Chain
```
#840 (glossary) — start here, standalone, unblocks all future authoring
#830 (brand corps in tier1.toml) — standalone, parallel
#831 (brand_templates.toml) — standalone, parallel
#837 (hand-author atlas templates) — standalone, unblocked; complete before #833 runs (few-shot examples)
#832 (server) + #833 (server) → #838 (review generated content)
```
`#840`, `#830`, `#831`, and `#837` are all unblocked and can run in parallel. Complete `#837` before the server team runs `#833` (the Gemma naming pass uses the hand-authored templates as few-shot examples). `#838` is the end-of-sprint pass once generation completes.
## PR Workflow
```bash
tea pr create --repo jpmschweitzer/settled-reach --login schweitz \
--title "content(atlas): hand-authored templates, brand TOML, wiki glossary" \
--description "Sprint 35 copy work: Lendel atlas templates, brand corps tier1, brand_templates.toml, glossary" \
--base main --head sprint-35/copy
```