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>
156 lines
11 KiB
Markdown
156 lines
11 KiB
Markdown
# 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
|
||
```
|