Files
settled-reach/wiki/economics/specialization_vocabulary.toml
jpmschweitzerandClaude Fable 5 e63caeb620 fix(db): PR #177 review round — H1/H2/T1/T2/M1
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>
2026-07-16 13:00:03 +02:00

314 lines
16 KiB
TOML

# ==========================================================================
# Settled Reach — Economic Specialization Vocabulary (D-237, extended D-242)
# Source of truth. Compiled to systems.db specialization_vocabulary by
# import_economics.py.
#
# Each value names an economic-specialization identity and projects to the
# (BulkClass, ProductionUbiquity) pair D-233 consumes for block fill.
# SCALE is encoded in the value itself (breadbasket vs estate_farming vs
# terroir_agriculture) — there is no separate scale column.
#
# SHARED VOCABULARY (D-242, T-1074): this id-space is used by TWO axes —
# system_economy.economic_specialization (D-237, the original per-SYSTEM
# authored identity) and corporations.corp_specialization (D-242, the
# per-CORP HQ-placement key; see corp_hq_placement.toml). A corp's
# specialization is authored directly in its wiki-page frontmatter
# (wiki/corporations/*.md, key: corp_specialization), not in a separate
# per-corp TOML — one value in this table, two authored sources reading it.
# The 4-value "Services extension" block near the end of the Services
# section was added for corp_specialization coverage (corp-only gaps the
# original 27 system-scale values didn't need to cover); nothing stops a
# future system from adopting them too if the fit is right.
#
# Fields per entry:
# commodity_id FK -> commodities.commodity_id (the anchor
# commodity; also drives body-level draws)
# production_ubiquity_override catalog-level term that overrides the
# commodity's global production_ubiquity for
# THIS specialization's local built form;
# "" = use the commodity's catalog default.
# (catalog scale: ubiquitous < common < regional
# < concentrated < monopolistic)
# bulk_class_projected D-233 BulkClass: BulkSolid | BulkLiquid |
# PrecisionDense | Perishable | NonPhysical
# production_ubiquity_projected D-233 ProductionUbiquity: Ubiquitous | Common |
# Specialist | MonopolySource (AUTHORITATIVE —
# the value D-233 reads; hand-set to lore intent)
# description one-line identity description
#
# OVERRIDE-vs-PROJECTED note (lead, 2026-05-31, #1012):
# The workshop's "equal-or-higher" rule (D-237: a local override may only be
# >= the commodity's global concentration) holds for production/extraction
# values. It does NOT fit HUB specializations, where being THE hub makes a
# good MORE COMMON locally than its global average — `shipbuilding`
# (freight_haulers is globally `regional`, but Cygni B's 7 competing combines
# read locally as Common) and `transit_hub` (commission_certification is
# globally `concentrated`, but a transit settlement reads Common). For these,
# `production_ubiquity_projected` is authoritative and intentionally lower
# than the catalog-derived value; `production_ubiquity_override` is left empty
# to signal "not a simple scale bump." FLAG for #1015: V-SES-03 must NOT hard-
# fail projected < catalog for hub values — only Miri's incoherent case
# (a monopolistic-global good claimed locally ubiquitous) should error.
# `gate_fabrication` was given an explicit `monopolistic` override (Gate Corp
# IS a monopoly — lore-consistent) so its MonopolySource projection derives
# cleanly.
#
# Decisions: D-237 (this vocabulary), D-233 (consumer), D-184 (commodity
# catalog). Workshop: docs/workshops/system-economic-specialization/
# workshop-outcomes.md §2.
# ==========================================================================
# -------------------------------------------------------------------------
# Agricultural (5)
# -------------------------------------------------------------------------
[estate_farming]
commodity_id = "agricultural_produce"
production_ubiquity_override = "" # catalog default (ubiquitous)
bulk_class_projected = "Perishable"
production_ubiquity_projected = "Ubiquitous"
description = "Estate / amenity agriculture — scattered, ornamental; produce secondary to luxury character (Arbour)."
[breadbasket]
commodity_id = "agricultural_produce"
production_ubiquity_override = "concentrated"
bulk_class_projected = "Perishable"
production_ubiquity_projected = "Specialist"
description = "Industrial-scale food surplus; the settlement IS the agricultural engine (Ran, Ostmark)."
[terroir_agriculture]
commodity_id = "agricultural_produce"
production_ubiquity_override = "monopolistic"
bulk_class_projected = "Perishable"
production_ubiquity_projected = "MonopolySource"
description = "Geographically locked agriculture; cannot be reproduced elsewhere (Confluent/VGV — F8V spectral lock, D-177)."
[terroir_spirits]
commodity_id = "processed_food"
production_ubiquity_override = "monopolistic"
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "MonopolySource"
description = "Terroir-locked distillery/spirits; aging pipeline + origin lock (Calloway Reach, D-177)."
[terroir_organics]
commodity_id = "organic_compounds"
production_ubiquity_override = "monopolistic"
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "MonopolySource"
description = "Biologically locked organics; herd/ecosystem origin monopoly (Braemar brach fiber, Dagat kelp/dye, D-177)."
# -------------------------------------------------------------------------
# Energy (2)
# -------------------------------------------------------------------------
[fuel_production]
commodity_id = "fusion_fuel"
production_ubiquity_override = "" # catalog default (common)
bulk_class_projected = "BulkLiquid"
production_ubiquity_projected = "Common"
description = "Generic fuel refinery world; fuel is produced but not the singular settlement identity."
[geothermal_hub]
commodity_id = "fusion_fuel"
production_ubiquity_override = "concentrated"
bulk_class_projected = "BulkLiquid"
production_ubiquity_projected = "Specialist"
description = "Geothermal extraction infrastructure IS the settlement; conduits + exchange stations dominate (Vuurkloof)."
# -------------------------------------------------------------------------
# Extraction (5)
# -------------------------------------------------------------------------
[ore_extraction]
commodity_id = "metallic_ore"
production_ubiquity_override = "" # catalog default (common)
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "Common"
description = "Generic mining world; ore among several local activities."
[company_mining]
commodity_id = "metallic_ore"
production_ubiquity_override = "concentrated"
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "Specialist"
description = "Company-town extraction; a corporation controls the seam and the settlement (Sindri / DSMC)."
[marble_monopoly]
commodity_id = "stone"
production_ubiquity_override = "monopolistic"
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "MonopolySource"
description = "Geological monopoly on a prestige stone; hard volume ceiling (Nyrheim / Kvitfjell, D-177)."
[rare_mineral_extraction]
commodity_id = "rare_minerals"
production_ubiquity_override = "" # catalog default (concentrated)
bulk_class_projected = "PrecisionDense"
production_ubiquity_projected = "Specialist"
description = "Specialist rare-mineral world; concentrated high-value extraction. (No confirmed hero pin; content-pass value.)"
[lattice_material_source]
commodity_id = "lattice_grade_material"
production_ubiquity_override = "" # catalog default (monopolistic)
bulk_class_projected = "PrecisionDense"
production_ubiquity_projected = "MonopolySource"
description = "Strategic lattice-grade material source; east-reach anchor. (Hero GJ pin TBD — content pass #1016.)"
# -------------------------------------------------------------------------
# Manufacturing (6)
# -------------------------------------------------------------------------
[general_industrial]
commodity_id = "refined_metals"
production_ubiquity_override = "" # catalog default (common)
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "Common"
description = "Generic manufacturing world; fabrication among several local activities."
[shipbuilding]
commodity_id = "freight_haulers"
production_ubiquity_override = "" # HUB: projected below catalog (regional) by intent — see header note
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "Common"
description = "Large-frame shipbuilding; multiple competing combines, not a monopoly (Cygni B — 7 combines)."
[vehicle_production]
commodity_id = "transport_vehicles"
production_ubiquity_override = "concentrated"
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "Specialist"
description = "Vehicle/rolling-stock manufacturing identity (Nova Roma / MVG)."
[consumer_goods_bazaar]
commodity_id = "consumer_goods"
production_ubiquity_override = "concentrated"
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "Specialist"
description = "Dense bazaar of many independent manufacturers (Lu Ban — 300 workshops)."
[gate_fabrication]
commodity_id = "gate_components"
production_ubiquity_override = "monopolistic" # Gate Corp monopoly (lore) — derives MonopolySource cleanly
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "MonopolySource"
description = "Span-gate component fabrication monopoly (Renaissance / Gate Corp)."
[military_industrial]
commodity_id = "heavy_equipment"
production_ubiquity_override = "concentrated"
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "Specialist"
description = "Fleet yards, depots, fortified installations; military-administered industry (Bastion). Merges former military_production + military_station."
# -------------------------------------------------------------------------
# High-tech (2)
# -------------------------------------------------------------------------
[precision_tech]
commodity_id = "electronics"
production_ubiquity_override = "concentrated"
bulk_class_projected = "PrecisionDense"
production_ubiquity_projected = "Specialist"
description = "Expertise-based precision components; concentrated technical advantage (Zenzele — EM hardening). Subsumes former specialist_manufacturing."
[marine_farming]
commodity_id = "organic_compounds"
production_ubiquity_override = "concentrated"
bulk_class_projected = "BulkSolid"
production_ubiquity_projected = "Specialist"
description = "Marine/aquaculture production at specialist scale (non-monopoly cases). (No confirmed hero pin; content-pass value — confirmed D-177 cases use terroir_organics.)"
# -------------------------------------------------------------------------
# Services (7) — all NonPhysical
# -------------------------------------------------------------------------
[financial_hub]
commodity_id = "financial_services"
production_ubiquity_override = "concentrated"
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Specialist"
description = "Dense financial district (clearing, credit, actuarial); singular clearing-house landmark via D-222/D-232 (Groombridge / GSH)."
[governance_center]
commodity_id = "commission_certification"
production_ubiquity_override = "concentrated"
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Specialist"
description = "Institutional/governance seat; commission offices, assembly halls (Sirius, ACB)."
[transit_hub]
commodity_id = "commission_certification"
production_ubiquity_override = "" # HUB: projected below catalog (concentrated) by intent — see header note
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Common"
description = "Gate/transit throughput defines the economy; customs + flow infrastructure (Gateway, Wolf 359, Altmark, Dài Lộ)."
[research_station]
commodity_id = "commission_certification"
production_ubiquity_override = "concentrated"
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Specialist"
description = "Research/conservation mandate; unique-environment access lock (Keid Conservancy)."
[legal_archive]
commodity_id = "legal_services"
production_ubiquity_override = "concentrated"
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Specialist"
description = "Legal/archival institution; interpretive registry, document infrastructure (Tessera)."
[media_center]
commodity_id = "entertainment"
production_ubiquity_override = "concentrated"
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Specialist"
description = "Narrative/cultural production; news syndicates, studios, content archives (Parallax)."
[longevity_monopoly]
commodity_id = "medical_services"
production_ubiquity_override = "monopolistic"
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "MonopolySource"
description = "The single licensed longevity/re-embodiment facility; access-controlled (Prometheus)."
# -------------------------------------------------------------------------
# Services extension (4) — added D-242/T-1074 for corp_specialization reuse
# (first three), extended with licensed_clinical_services per PR #177 M1.
#
# The categorization pass that backfilled corp_specialization for all 165
# corporations (T-1074) found ~10% of wiki corps whose actual business
# — moving/selling already-made goods, running hospitality/tourism
# properties, general professional advisory, or licensed multi-site
# clinical care — had no honest fit among the original 27 system-authored
# values above. Per D-242's amendment ("prefer reusing/extending the
# existing vocabulary over inventing a parallel taxonomy"), these values
# extend the shared vocabulary rather than spawn a corp-only one. All four
# are NonPhysical (services; CityTenant HQ placement per
# corp_hq_placement.toml) even though trade_distribution's anchor commodity
# is itself physical — the SPECIALIZATION is the logistics/service
# activity, not manufacture, which is exactly the distinction that made
# these corps ungroupable in the first place (a distributor's HQ is an
# office/depot, not a factory).
# -------------------------------------------------------------------------
[trade_distribution]
commodity_id = "consumer_goods"
production_ubiquity_override = "" # catalog default (ubiquitous) — distribution touches everything
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Common"
description = "Wholesale/retail trade and freight distribution — moves goods at scale, does not manufacture them (Mercado Travessia, Eastbay Trading)."
[hospitality_hub]
commodity_id = "hospitality"
production_ubiquity_override = "" # catalog default (regional)
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Specialist"
description = "Lodging, resort, spa, and recovery-stay operators; tourism/hospitality is the settlement's economic identity (Alcazar Hospitality, Thalassa Resort Group)."
[professional_services]
commodity_id = "insurance"
production_ubiquity_override = "" # catalog default (regional)
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Common"
description = "General business/strategy/operational advisory — risk, consulting, arbitration outside the dedicated legal_archive/financial_hub identities (Saigon Consulting, Lusaka Advisory)."
[licensed_clinical_services]
commodity_id = "medical_services"
production_ubiquity_override = "concentrated"
bulk_class_projected = "NonPhysical"
production_ubiquity_projected = "Specialist"
description = "Licensed multi-site clinical network — Assembly-certified medical/re-embodiment operators, one of several (Somatic Futures, 40+ clinics); the non-monopoly counterpart to longevity_monopoly (Prometheus, THE sole facility)."