Ticket #1011. system_economy gains economic_specialization + cultural_specialization (TEXT, NULL = heuristic fallback); new specialization_vocabulary table (specialization_id PK, commodity_id FK->commodities, production_ubiquity_override, projected BulkClass + ProductionUbiquity for D-233, description) + commodity index. Columns mirrored into COLUMN_MIGRATIONS for idempotent migration; table rides systems-schema.sql. dominant_faction already exists on system_factions (populate-only). Validated: importer parses; schema applies to scratch DB; idempotent migration ran 2x on a copy of live systems.db, 301 rows preserved. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
255 lines
12 KiB
TOML
255 lines
12 KiB
TOML
# ==========================================================================
|
|
# Settled Reach — Economic Specialization Vocabulary (D-237)
|
|
# 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.
|
|
#
|
|
# 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)."
|