diff --git a/server/data/systems.db b/server/data/systems.db index 38920b01f..45007b50f 100644 Binary files a/server/data/systems.db and b/server/data/systems.db differ diff --git a/tooling/economy-db/import_economics.py b/tooling/economy-db/import_economics.py index ab12871f6..727b99781 100755 --- a/tooling/economy-db/import_economics.py +++ b/tooling/economy-db/import_economics.py @@ -1617,14 +1617,31 @@ _CULTURAL_ACTIVITY = { "industrial_heritage", "medical_elite", "ecological", "military", "financial_technocratic", "cosmopolitan", "compact_cooperative", } +# Canonical 47-value heritage taxonomy (#1016, D-237). Source of truth: +# docs/workshops/system-economic-specialization/heritage-taxonomy-draft.md. +# Real-world people/nationality granularity, lowercase_snake. Heritage wins over +# activity values when both apply. Pin only when a system's founding heritage +# DIVERGES from its corridor baseline (D-167/D-232); corridor-typical systems +# stay NULL and take the corridor default. _CULTURAL_HERITAGE = { - "scottish", "french_provencal", "vietnamese", "afrikaans_cape", "zulu", - "chinese", "italian_northern", "tagalog", "norse_compact", "irish", - "portuguese_iberian", "korean", "japanese", "swahili", "hausa", - "bengali", "punjabi", "yoruba", - # MENA / Central-Asian heritage seeded by the #1019 South-African rebalance. - # The full canonical 47-value migration (renames + sector normalisation) is - # #1016; these three are added early so the rebalanced systems validate. + # British Isles & Anglo-diaspora + "anglo", "scottish", "irish", "welsh", + # Iberian, Latin & Lusophone + "portuguese", "brazilian", "afro_brazilian", "cape_verdean", "angolan", + "sao_tomean", "spanish", "canarian", "italian", "french", + # Northern / Central / Eastern European + "german", "dutch", "nordic", "finnish", "polish", "czech", "russian", + "luxembourgish", "hungarian", + # Sub-Saharan African + "afrikaans", "cape_malay", "zulu", "xhosa", "herero", "shona", "swahili", + "igbo", "yoruba", "hausa", "akan", + # South Asian + "indian", "bengali", "punjabi", "konkan", + # East & Southeast Asian + "chinese", "korean", "japanese", "vietnamese", "tagalog", + # Pacific + "maori", + # Middle East / North Africa / Central Asia "arab", "persian", "turkic", } _CULTURAL_VOCAB = _CULTURAL_ACTIVITY | _CULTURAL_HERITAGE diff --git a/wiki/economics/system_specialization.toml b/wiki/economics/system_specialization.toml index 0939be2fb..45f76317d 100644 --- a/wiki/economics/system_specialization.toml +++ b/wiki/economics/system_specialization.toml @@ -43,7 +43,7 @@ dominant_faction = "syndic_dominant" ["GJ 764"] # Nova Roma — MVG vehicle production economic_specialization = "vehicle_production" -cultural_specialization = "italian_northern" +cultural_specialization = "italian" dominant_faction = "concord_assembly" ["GJ 251"] # Renaissance — Gate Corp fabrication @@ -97,7 +97,7 @@ dominant_faction = "concord_assembly" # decision 2026-05-31, overriding the workshop §7 hop-6 concord_assembly # default (which was a pure distance heuristic this layer exists to beat). economic_specialization = "geothermal_hub" -cultural_specialization = "afrikaans_cape" +cultural_specialization = "afrikaans" dominant_faction = "independent" ["GJ 166A"] # Keid — Conservancy research station @@ -127,7 +127,7 @@ dominant_faction = "independent" ["GJ 395"] # Confluent / VGV — terroir viticulture, F8V lock (D-177) economic_specialization = "terroir_agriculture" -cultural_specialization = "french_provencal" +cultural_specialization = "french" dominant_faction = "compact_sympathetic" ["GJ 475"] # Braemar — brach fiber biological monopoly (D-177) @@ -137,7 +137,7 @@ dominant_faction = "independent" ["GJ 3737"] # Nyrheim — Kvitfjell marble (D-177) economic_specialization = "marble_monopoly" -cultural_specialization = "norse_compact" +cultural_specialization = "nordic" dominant_faction = "compact" ["GJ 601A"] # Ostmark — Compact founding member, 5c agricultural base @@ -152,7 +152,7 @@ dominant_faction = "independent" ["GJ 357"] # Altmark — deliberately non-aligned commercial transit hub economic_specialization = "transit_hub" -cultural_specialization = "cosmopolitan" +cultural_specialization = "financial_technocratic" dominant_faction = "independent" ["GJ 136"] # Dài Lộ — Grand Road transit gateway @@ -189,6 +189,7 @@ economic_specialization = "ore_extraction" dominant_faction = "disputed" ["GJ 783A"] +cultural_specialization = "institutional" economic_specialization = "governance_center" dominant_faction = "veil_institute" @@ -197,46 +198,60 @@ economic_specialization = "transit_hub" dominant_faction = "concord_assembly" ["GJ 1235"] +cultural_specialization = "german" economic_specialization = "transit_hub" ["GJ 1267"] +cultural_specialization = "portuguese" dominant_faction = "compact_sympathetic" ["GJ 127A"] +cultural_specialization = "arab" economic_specialization = "research_station" ["GJ 142"] +cultural_specialization = "german" economic_specialization = "research_station" ["GJ 174"] +cultural_specialization = "german" dominant_faction = "compact_sympathetic" ["GJ 189"] +cultural_specialization = "german" dominant_faction = "compact_sympathetic" ["GJ 309"] +cultural_specialization = "german" dominant_faction = "compact_sympathetic" ["GJ 3943"] +cultural_specialization = "afrikaans" economic_specialization = "research_station" ["GJ 428A"] +cultural_specialization = "german" dominant_faction = "independent" ["GJ 482B"] +cultural_specialization = "portuguese" economic_specialization = "transit_hub" dominant_faction = "syndic_dominant" ["GJ 532"] +cultural_specialization = "german" economic_specialization = "general_industrial" ["GJ 556"] +cultural_specialization = "portuguese" dominant_faction = "independent" ["GJ 598"] +cultural_specialization = "german" dominant_faction = "independent" ["GJ 61"] +cultural_specialization = "german" economic_specialization = "research_station" dominant_faction = "independent" @@ -245,9 +260,11 @@ cultural_specialization = "turkic" dominant_faction = "independent" ["GJ 892"] +cultural_specialization = "scholarly" economic_specialization = "research_station" ["GJ 1245A"] +cultural_specialization = "igbo" economic_specialization = "rare_mineral_extraction" ["GJ 1289"] @@ -255,15 +272,19 @@ economic_specialization = "governance_center" dominant_faction = "concord_assembly" ["GJ 1292"] +cultural_specialization = "swahili" dominant_faction = "syndic_dominant" ["GJ 139"] +cultural_specialization = "igbo" economic_specialization = "financial_hub" ["GJ 183"] +cultural_specialization = "afrikaans" economic_specialization = "breadbasket" ["GJ 216B"] +cultural_specialization = "artistic" economic_specialization = "research_station" ["GJ 273"] @@ -271,27 +292,34 @@ economic_specialization = "governance_center" dominant_faction = "concord_assembly" ["GJ 300"] +cultural_specialization = "scottish" economic_specialization = "marine_farming" ["GJ 34A"] +cultural_specialization = "japanese" economic_specialization = "precision_tech" ["GJ 3622"] +cultural_specialization = "nordic" economic_specialization = "breadbasket" ["GJ 3820"] +cultural_specialization = "finnish" economic_specialization = "rare_mineral_extraction" ["GJ 402"] economic_specialization = "ore_extraction" ["GJ 408"] +cultural_specialization = "afrikaans" dominant_faction = "independent" ["GJ 410"] +cultural_specialization = "afrikaans" dominant_faction = "independent" ["GJ 575A"] +cultural_specialization = "konkan" economic_specialization = "terroir_organics" ["GJ 588"] @@ -304,16 +332,20 @@ economic_specialization = "rare_mineral_extraction" economic_specialization = "research_station" ["GJ 661A"] +cultural_specialization = "institutional" economic_specialization = "legal_archive" dominant_faction = "independent" ["GJ 663A"] +cultural_specialization = "nordic" economic_specialization = "company_mining" ["GJ 673"] +cultural_specialization = "nordic" economic_specialization = "company_mining" ["GJ 706"] +cultural_specialization = "maori" economic_specialization = "marble_monopoly" dominant_faction = "independent" @@ -322,99 +354,127 @@ cultural_specialization = "persian" dominant_faction = "independent" ["GJ 75"] +cultural_specialization = "igbo" economic_specialization = "financial_hub" ["GJ 770"] +cultural_specialization = "maori" dominant_faction = "independent" ["GJ 780"] +cultural_specialization = "spanish" economic_specialization = "breadbasket" ["GJ 825"] economic_specialization = "transit_hub" ["GJ 876"] +cultural_specialization = "finnish" economic_specialization = "ore_extraction" ["GJ 879"] +cultural_specialization = "punjabi" economic_specialization = "breadbasket" ["GJ 880"] +cultural_specialization = "nordic" economic_specialization = "terroir_organics" ["GJ 653"] +cultural_specialization = "scottish" economic_specialization = "ore_extraction" ["GJ 667B"] +cultural_specialization = "swahili" economic_specialization = "transit_hub" ["GJ 1005A"] +cultural_specialization = "french" economic_specialization = "transit_hub" ["GJ 105A"] +cultural_specialization = "czech" economic_specialization = "consumer_goods_bazaar" ["GJ 1073"] +cultural_specialization = "tagalog" dominant_faction = "independent" ["GJ 107A"] +cultural_specialization = "vietnamese" economic_specialization = "terroir_organics" ["GJ 1125"] +cultural_specialization = "korean" economic_specialization = "research_station" ["GJ 1128"] economic_specialization = "transit_hub" ["GJ 124"] +cultural_specialization = "vietnamese" economic_specialization = "marine_farming" ["GJ 137"] +cultural_specialization = "russian" economic_specialization = "transit_hub" ["GJ 17"] +cultural_specialization = "vietnamese" economic_specialization = "breadbasket" ["GJ 172"] +cultural_specialization = "vietnamese" economic_specialization = "breadbasket" ["GJ 205"] +cultural_specialization = "japanese" economic_specialization = "general_industrial" ["GJ 268"] +cultural_specialization = "korean" economic_specialization = "transit_hub" ["GJ 3135"] economic_specialization = "transit_hub" ["GJ 325A"] +cultural_specialization = "bengali" economic_specialization = "rare_mineral_extraction" ["GJ 3379"] economic_specialization = "research_station" ["GJ 34B"] +cultural_specialization = "korean" economic_specialization = "transit_hub" ["GJ 3612"] +cultural_specialization = "vietnamese" economic_specialization = "breadbasket" ["GJ 3728B"] +cultural_specialization = "korean" economic_specialization = "breadbasket" ["GJ 412B"] +cultural_specialization = "finnish" economic_specialization = "company_mining" ["GJ 423A"] +cultural_specialization = "tagalog" economic_specialization = "marine_farming" ["GJ 4274"] +cultural_specialization = "chinese" economic_specialization = "research_station" ["GJ 4285"] +cultural_specialization = "vietnamese" economic_specialization = "ore_extraction" ["GJ 432A"] +cultural_specialization = "punjabi" economic_specialization = "research_station" ["GJ 438"] @@ -427,25 +487,30 @@ economic_specialization = "transit_hub" economic_specialization = "transit_hub" ["GJ 541"] +cultural_specialization = "indian" economic_specialization = "research_station" ["GJ 555"] economic_specialization = "general_industrial" ["GJ 566A"] +cultural_specialization = "financial_technocratic" economic_specialization = "financial_hub" dominant_faction = "syndic_dominant" ["GJ 620.1A"] +cultural_specialization = "vietnamese" economic_specialization = "rare_mineral_extraction" ["GJ 625"] +cultural_specialization = "chinese" economic_specialization = "breadbasket" ["GJ 635B"] economic_specialization = "research_station" ["GJ 660A"] +cultural_specialization = "korean" economic_specialization = "geothermal_hub" ["GJ 667C"] @@ -455,27 +520,33 @@ economic_specialization = "research_station" economic_specialization = "transit_hub" ["GJ 682"] +cultural_specialization = "chinese" economic_specialization = "general_industrial" ["GJ 687"] +cultural_specialization = "japanese" economic_specialization = "general_industrial" ["GJ 713A"] economic_specialization = "transit_hub" ["GJ 754"] +cultural_specialization = "korean" economic_specialization = "breadbasket" ["GJ 784"] +cultural_specialization = "hungarian" economic_specialization = "general_industrial" ["GJ 79"] +cultural_specialization = "japanese" economic_specialization = "ore_extraction" ["GJ 848"] economic_specialization = "ore_extraction" ["GJ 860B"] +cultural_specialization = "korean" economic_specialization = "transit_hub" ["GJ 866A"] @@ -485,6 +556,7 @@ economic_specialization = "transit_hub" dominant_faction = "independent" ["GJ 909A"] +cultural_specialization = "vietnamese" economic_specialization = "vehicle_production" ["GJ 1002"] @@ -494,12 +566,15 @@ economic_specialization = "marine_farming" economic_specialization = "research_station" ["GJ 213"] +cultural_specialization = "cape_malay" economic_specialization = "terroir_organics" ["GJ 299"] +cultural_specialization = "brazilian" economic_specialization = "marine_farming" ["GJ 27"] +cultural_specialization = "herero" dominant_faction = "compact_sympathetic" ["GJ 3323"] @@ -509,15 +584,18 @@ economic_specialization = "transit_hub" economic_specialization = "transit_hub" ["GJ 393"] +cultural_specialization = "spanish" economic_specialization = "transit_hub" ["GJ 4053"] +cultural_specialization = "shona" economic_specialization = "ore_extraction" ["GJ 411"] economic_specialization = "transit_hub" ["GJ 423B"] +cultural_specialization = "afro_brazilian" dominant_faction = "independent" ["GJ 54"] @@ -527,22 +605,28 @@ economic_specialization = "breadbasket" economic_specialization = "transit_hub" ["GJ 566B"] +cultural_specialization = "compact_cooperative" economic_specialization = "transit_hub" dominant_faction = "compact_sympathetic" ["GJ 567"] +cultural_specialization = "spanish" economic_specialization = "precision_tech" ["GJ 644A"] +cultural_specialization = "zulu" economic_specialization = "general_industrial" ["GJ 644C"] +cultural_specialization = "angolan" economic_specialization = "terroir_organics" ["GJ 688"] +cultural_specialization = "canarian" economic_specialization = "marine_farming" ["GJ 693"] +cultural_specialization = "swahili" economic_specialization = "terroir_organics" ["GJ 768"] @@ -555,12 +639,15 @@ economic_specialization = "research_station" economic_specialization = "transit_hub" ["GJ 86"] +cultural_specialization = "akan" economic_specialization = "transit_hub" ["GJ 884"] +cultural_specialization = "institutional" economic_specialization = "legal_archive" ["GJ 896A"] +cultural_specialization = "polish" economic_specialization = "general_industrial" ["GJ 1"] @@ -568,15 +655,18 @@ economic_specialization = "breadbasket" dominant_faction = "compact_sympathetic" ["GJ 103"] +cultural_specialization = "dutch" economic_specialization = "marine_farming" ["GJ 1116B"] +cultural_specialization = "polish" economic_specialization = "transit_hub" ["GJ 1232"] dominant_faction = "compact" ["GJ 127B"] +cultural_specialization = "luxembourgish" dominant_faction = "compact" ["GJ 150"] @@ -592,6 +682,7 @@ economic_specialization = "transit_hub" dominant_faction = "independent" ["GJ 229"] +cultural_specialization = "finnish" economic_specialization = "transit_hub" ["GJ 231"] @@ -603,10 +694,12 @@ economic_specialization = "transit_hub" dominant_faction = "compact" ["GJ 320"] +cultural_specialization = "agrarian" economic_specialization = "breadbasket" dominant_faction = "compact" ["GJ 3333"] +cultural_specialization = "dutch" economic_specialization = "breadbasket" dominant_faction = "compact" @@ -620,10 +713,12 @@ economic_specialization = "breadbasket" economic_specialization = "ore_extraction" ["GJ 442A"] +cultural_specialization = "nordic" economic_specialization = "precision_tech" dominant_faction = "compact_sympathetic" ["GJ 453"] +cultural_specialization = "compact_cooperative" economic_specialization = "general_industrial" dominant_faction = "compact" @@ -659,6 +754,7 @@ dominant_faction = "independent" economic_specialization = "marine_farming" ["GJ 628"] +cultural_specialization = "irish" economic_specialization = "ore_extraction" ["GJ 631"] @@ -697,6 +793,7 @@ dominant_faction = "independent" economic_specialization = "financial_hub" ["GJ 1248"] +cultural_specialization = "artistic" dominant_faction = "independent" # --- #1019 South-African heritage rebalance: thin afrikaans systems rewritten @@ -713,3 +810,131 @@ dominant_faction = "independent" ["GJ 1245B"] cultural_specialization = "persian" dominant_faction = "independent" + + +# --- #1016 cultural-write pass: heritage/activity pins from GTTR/name triage --- +["GJ 95"] +cultural_specialization = "scottish" + +["GJ 194B"] +cultural_specialization = "welsh" + +["GJ 473B"] +cultural_specialization = "zulu" + +["GJ 603"] +cultural_specialization = "scottish" + +["GJ 877"] +cultural_specialization = "nordic" + +["GJ 1116A"] +cultural_specialization = "zulu" + +["GJ 1230A"] +cultural_specialization = "finnish" + +["GJ 3991"] +cultural_specialization = "scottish" + +["GJ 197"] +cultural_specialization = "spanish" + +["GJ 412A"] +cultural_specialization = "spanish" + +["GJ 4A"] +cultural_specialization = "cape_verdean" + +["GJ 536"] +cultural_specialization = "brazilian" + +["GJ 67"] +cultural_specialization = "sao_tomean" + +["GJ 737B"] +cultural_specialization = "canarian" + +["GJ 860A"] +cultural_specialization = "xhosa" + +["GJ 905"] +cultural_specialization = "zulu" + +["GJ 282A"] +cultural_specialization = "french" + +["GJ 807"] +cultural_specialization = "french" + +["GJ 3533"] +cultural_specialization = "vietnamese" + +["GJ 49"] +cultural_specialization = "french" + +["GJ 111"] +cultural_specialization = "afrikaans" + +["GJ 138"] +cultural_specialization = "portuguese" + +["GJ 147"] +cultural_specialization = "portuguese" + +["GJ 169"] +cultural_specialization = "portuguese" + +["GJ 204"] +cultural_specialization = "portuguese" + +["GJ 211"] +cultural_specialization = "portuguese" + +["GJ 282B"] +cultural_specialization = "portuguese" + +["GJ 286"] +cultural_specialization = "german" + +["GJ 3442"] +cultural_specialization = "portuguese" + +["GJ 349"] +cultural_specialization = "german" + +["GJ 407"] +cultural_specialization = "afrikaans" + +["GJ 421B"] +cultural_specialization = "xhosa" + +["GJ 501B"] +cultural_specialization = "portuguese" + +["GJ 528A"] +cultural_specialization = "afrikaans" + +["GJ 546"] +cultural_specialization = "afrikaans" + +["GJ 672"] +cultural_specialization = "portuguese" + +["GJ 68"] +cultural_specialization = "dutch" + +["GJ 684A"] +cultural_specialization = "german" + +["GJ 684B"] +cultural_specialization = "portuguese" + +["GJ 7547"] +cultural_specialization = "afrikaans" + +["GJ 707"] +cultural_specialization = "portuguese" + +["GJ 904"] +cultural_specialization = "portuguese"