H1+H2: headquarters_body is reset+derived every run (DB is never source); optional authored frontmatter override, hard-validated; tiebreak now population DESC -> city-bearing body -> type rank -> body_id, preserving belt tenancies and fixing GJ702B to GJ702Bb. T2: NULL-reset pass for corp_specialization/hq_placement before authored re-apply (poison-tested). T1: wiki/corporations/*.md globbed into IMPORT_ECONOMICS_SOURCES. M1: licensed_clinical_services vocabulary value (31st, NonPhysical->CityTenant) + somatic-futures retag. Fixpoint verified stable across 4 consecutive regens (0 diffs); regen systems.db. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
95 lines
5.6 KiB
TOML
95 lines
5.6 KiB
TOML
# ==========================================================================
|
|
# Settled Reach — Authored NameLocked Settlement Overrides (D-242, T-1075)
|
|
# Source of truth. Compiled by import_economics.py
|
|
# (atlas.populate_settlement_population_class) onto atlas_city_names.settlement_class.
|
|
#
|
|
# D-196 defines four SettlementClass variants. Bake scope (T-1075) only
|
|
# assigns two of them: every pooled city defaults to PopulationBudget (the
|
|
# D-196 population thresholds — >=50k active / <5k ghost — are read from
|
|
# this baked population by a later, not-yet-built GENERATION-time consumer;
|
|
# out of this bake's scope); this file is the small authored override list
|
|
# that PINS a settlement to NameLocked instead — "named in wiki; always
|
|
# active regardless of population" (D-196). EconomicTriggered and
|
|
# OrganicGrowth are simulation-time classes (D-196) — out of bake scope,
|
|
# never written here.
|
|
#
|
|
# Use sparingly. NameLocked exists for settlements whose narrative
|
|
# significance does not depend on (and must survive) whatever population
|
|
# number the rank-size bake happens to produce — capitals and the handful of
|
|
# systems with a singular landmark identity (D-237's must-pin hero systems:
|
|
# docs/workshops/system-economic-specialization/workshop-outcomes.md §7).
|
|
#
|
|
# REVISED 2026-07-16 after the first live make regen-db (T-1074+T-1075
|
|
# integration test): the first draft of this file picked names straight out
|
|
# of the PRE-T-1074 atlas_city_names table (Sirius, Groombridge, Cygni B,
|
|
# Renaissance, Parallax, Prometheus, Nova Roma) — those turned out to be
|
|
# corp-HQ cross-reference ARTIFACTS from the retired D-207
|
|
# populate_atlas_city_names_corps (the corp's authored HQ-city text
|
|
# frequently equalled its system's proper_name, e.g. Gate Corp's
|
|
# "headquarters: Renaissance (GJ 251)"). Once that insert path was removed
|
|
# (D-242's whole point), those names no longer exist in the pure
|
|
# markers.json pool. Every entry below is verified against real, repeated
|
|
# `make regen-db` runs — see the note on each stanza for its actual source
|
|
# row. Note (PR #177 H1/H3): corporations.headquarters_body is RECOMPUTED
|
|
# from source on every run now, so the three corp-named Standalone-HQ pins
|
|
# below (Cygni Combines, The Gate Corporation, Mastroianni Vehicle Group)
|
|
# hold because their HQ bodies carry real authored population — the
|
|
# population-first tiebreak re-derives the same body every run (verified:
|
|
# two consecutive regens, all 8 pins applied, zero placement drift) — not
|
|
# because a stale first-run value is being kept. Prometheus (GJ 702B) is
|
|
# DROPPED from this list — verified live: every one of its 12 bodies has
|
|
# zero authored markers.json city names AND zero population, so there is
|
|
# no settlement to pin at all (a genuine wiki content gap: the Reach's
|
|
# longevity-monopoly hero system has no named city anywhere — T-1115
|
|
# authors the missing names; the bake cannot invent a name to pin).
|
|
#
|
|
# Match key: (body_id, name) against atlas_city_names — NOT the numeric
|
|
# atlas_city_names.id, which is regen-volatile (AUTOINCREMENT, no
|
|
# UNIQUE(body_id, name) — see the atlas_city_names schema comment, D-242).
|
|
# A stanza with no matching row is a silent no-op (logged) rather than an
|
|
# import error, so a future markers.json rename doesn't hard-fail regen-db.
|
|
#
|
|
# Decisions: D-196 (SettlementClass), D-242 (population/class baking scope),
|
|
# D-237 (the hero-system set these are drawn from). Ticket: T-1075.
|
|
# ==========================================================================
|
|
|
|
[[hero]]
|
|
body_id = "GJ144d"
|
|
name = "Kallast"
|
|
note = "Kallast / GJ 144 (Ran) — THE breadbasket; lore-anchored plains body (D-239 §1). Pure markers.json pool name, unaffected by the corp-HQ-artifact issue."
|
|
|
|
[[hero]]
|
|
body_id = "GJ820Bc"
|
|
name = "Cygni Combines"
|
|
note = "Cygni B / GJ 820B — shipbuilding cluster, 7 competing combines (D-237). D-242 Standalone-HQ settlement (general_industrial corp_specialization) — the corp's own settlement IS the hero identity here; the pure pool has only 'Metropolis' (generic)."
|
|
|
|
[[hero]]
|
|
body_id = "GJ251c"
|
|
name = "The Gate Corporation"
|
|
note = "Renaissance / GJ 251 — Gate Corp fabrication monopoly (D-237). D-242 Standalone-HQ settlement (gate_fabrication, MonopolySource) — the pure pool has only 'Tributarium'/'Ruhr' (generic); the monopolist's own company town is the hero place."
|
|
|
|
[[hero]]
|
|
body_id = "GJ764d"
|
|
name = "Mastroianni Vehicle Group"
|
|
note = "Nova Roma / GJ 764 — MVG vehicle production (D-237). D-242 Standalone-HQ settlement (vehicle_production) — pure pool has only 'Mirafiori'/'Fiorino' (generic)."
|
|
|
|
[[hero]]
|
|
body_id = "GJ380c"
|
|
name = "Aldren"
|
|
note = "Groombridge / GJ 380 — financial cluster + GSH clearing-house landmark (D-237). D-237's hero identity is the SERVICES/finance character, not any one CityTenant corp's manufacturing HQ — pinned to the lowest-id pure-pool city (a CityTenant host) rather than a Standalone-HQ settlement, since Groombridge's Standalone HQs (Alcyone Tech, Arclamp, ...) are all general_industrial/precision_tech, not financial_hub."
|
|
|
|
[[hero]]
|
|
body_id = "GJ244Ad"
|
|
name = "Mandate"
|
|
note = "Sirius / GJ 244A — 'the capital' (system_specialization.toml). Lowest-id pure-pool city; the pure pool no longer contains 'Sirius' itself (that was a corp-HQ artifact)."
|
|
|
|
[[hero]]
|
|
body_id = "GJ280Ad"
|
|
name = "Strata"
|
|
note = "Parallax / GJ 280A — news syndicates / cultural production center (D-237). Lowest-id pure-pool city (CityTenant host for the media_center specialization)."
|
|
|
|
[[hero]]
|
|
body_id = "GJ338Bd"
|
|
name = "Viridarium"
|
|
note = "Arbour / GJ 338B — estate amenity agriculture (D-237). Lowest-id pure-pool city; reads as the manor/estate theme D-237 describes."
|