Three-round design workshop (Miri, Burnelli-Sheldon, Paula; documented by Qatux, ticketed by SI) that produced D-237. Includes per-agent round outputs, round notes, the independent scout critique, and the final workshop-outcomes.md with the consolidated schema, 27-value economic vocabulary, cultural + faction vocabularies, deterministic-varied fallback spec, must-pin table, and CI guardrails. Clerk-Skip: workshop discussion docs, no D-record surface (D-237 filed separately) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 KiB
Round 2 Notes — System Economic-Specialization Workshop
Documenter: Qatux | Date: 2026-05-31 Updated: Paula addendum (cultural axis quality argument) incorporated.
Source files:
docs/workshops/system-economic-specialization/miri-round2.mddocs/workshops/system-economic-specialization/burnelli-sheldon-round2.mddocs/workshops/system-economic-specialization/paula-round2.md(includes addendum on cultural axis)
0. User Checkpoint Decisions Entering Round 2
For the record — these three forks were resolved before Round 2 began:
| Fork | Resolution |
|---|---|
| Fork 1 (primary field form) | Two orthogonal axes confirmed: (a) economic axis → D-233 built form, (b) cultural axis → D-232 template weights + cultural services |
Fork 2 (dominant_faction) |
Authored for named systems in this pass, same TOML source file |
Fork 3 (dominant_production_scale) |
No separate column; scale encoded inside the economic field's vocabulary values |
1. Confirmed Field Set (all three participants agree)
Three fields authored in this pass. No fourth field. economy_size permanently out.
| Field | Scope | DB home | Source | Active consumers |
|---|---|---|---|---|
economic_specialization |
New column on system_economy |
system_economy |
wiki/economics/system_specialization.toml |
D-233 (BulkClass × ProductionUbiquity → block fill, coverage, operations surface) |
Cultural axis (cultural_register) |
New column (Burnelli, Miri) OR existing system_culture table (Paula original) — FORK UPDATED below |
Disputed (see §4B) | wiki/economics/system_specialization.toml per Paula addendum |
D-232 trait template draw (Phase 4); Phase 6 cultural services |
dominant_faction |
FORK — see §4C below | Disputed | Same TOML file | D-214 (PoliticalArchetype), D-232 (template weight modifier), D-174 (shadow economy intensity), D-172 (currency zone validation) |
All three agree the source TOML file is wiki/economics/system_specialization.toml. All three agree on the consumers for each axis. The disputes are about schema location, not function.
2. Economic Axis Vocabulary: Near-Convergence
Points of agreement
All three participants propose a curated named-value vocabulary above the commodity catalog (not raw commodity IDs). The vocabulary maps each name to (BulkClass, ProductionUbiquity), encoding both commodity identity and local production concentration. Production scale is handled inside vocabulary values, not in a separate column.
The vocabulary respects Miri's equal-or-higher concentration rule: a vocabulary value may only assign equal or higher concentration than the underlying commodity's global production_ubiquity. This is a CI hard error.
Vocabulary size divergence
| Participant | Count | Approach |
|---|---|---|
| Burnelli-Sheldon | 33 values across 6 clusters (agricultural, extraction, energy, manufacturing, high-tech, services) | Compiled from specialization_vocabulary.toml — each value maps to (commodity_id, production_ubiquity_override) |
| Miri | 16 values | Direct (BulkClass, ProductionUbiquity) mapping per value; focused on lore-critical distinctions |
| Paula | 9 values (Round 1 proposal, not substantially changed in Round 2) | Abstract categories, some of which Miri identifies as carrying BulkClass errors |
The 33 vs 16 difference is mostly in agricultural sub-types (Burnelli has terroir_spirits, marine_farming, food_processing_hub separately; Miri collapses some of these) and extraction sub-types. For the must-pin hero systems, the values are compatible — they converge on the same (BulkClass, ProductionUbiquity) output for every pinned system. The granularity question is a synthesis decision for Round 3.
The BulkClass correction to Paula's Round 1 vocabulary
Miri identifies a structural error in Paula's 9-value enum: manufacturing_hub was mapped to PrecisionDense × Common. Heavy industry systems (Cygni B, shipyards) are BulkSolid, not PrecisionDense. Burnelli's vocabulary correctly separates shipbuilding (BulkSolid × Common) from vehicle_production (BulkSolid × Specialist) from precision_tech (PrecisionDense × ...). Paula's abstract categories had the right ProductionUbiquity intuition but the wrong BulkClass for heavy manufacturing systems. This is resolved in the converged vocabulary.
Agreed vocabulary values for must-pin systems
The following are agreed by at least two of three participants and have no substantive remaining disagreement on D-233 output:
| System | D-233 output | Agreed vocabulary label(s) | Notes |
|---|---|---|---|
| Ran | Perishable × Specialist | breadbasket (Burnelli, Miri) |
Paula's agricultural_base maps Perishable × Ubiquitous — wrong for Ran; breadbasket is correct |
| Groombridge | NonPhysical × [see §4A] | financial_hub (Miri) or clearing_house (Burnelli) |
BulkClass agreed; ProductionUbiquity = Specialist vs MonopolySource unresolved |
| Prometheus | NonPhysical × MonopolySource | longevity_monopoly (Burnelli, Miri) |
All three agree on the output |
| Cygni B | BulkSolid × Common | shipbuilding (Burnelli) / heavy_manufacturing (Miri) |
D-233 output agreed; label unresolved |
| Renaissance | BulkSolid × MonopolySource | gate_fabrication (Burnelli) / precision_monopoly (Miri) |
D-233 output agreed; label unresolved |
| Gateway | NonPhysical × Common | transit_hub (all three) |
Full agreement |
| Sirius | NonPhysical × Specialist | governance_center (all three) |
Full agreement |
| Ran, Ostmark | Perishable × Specialist | breadbasket |
Full agreement |
| Calloway Reach, VGV, Braemar | Perishable/BulkSolid × MonopolySource | terroir_farm / terroir_spirits / terroir_organics |
All agree on MonopolySource; label varies by sub-type |
| Nyrheim | BulkSolid × MonopolySource | extraction_colony / marble_monopoly |
D-233 output agreed |
| Keid | NonPhysical × Specialist | research_station (Miri + Paula) |
Miri self-corrects from Round 1. See §3A. |
| Dài Lộ | NonPhysical × Common | transit_hub (Miri resolves) |
See §3C. |
| Zenzele | PrecisionDense × Specialist | specialist_manufacturing (Miri resolves) |
See §3D. |
| Parallax | NonPhysical × Specialist | media_culture / media_center |
Agreement on output; label varies |
| Vuurkloof | BulkLiquid × Specialist | geothermal_hub / energy_hub |
Agreement on output |
| Bastion | BulkSolid × Specialist | military_station / military_bastion |
Agreement on output |
| Arbour | Perishable × Ubiquitous | estate_farm / estate_farming |
Agreement on output; Arbour deliberately NOT breadbasket |
3. Resolved Disagreements from Round 1
3A. Keid: research_station (resolved 2-of-3)
Round 1: Miri tourism/monopolistic, Paula research_station.
Round 2 outcome: Miri self-corrects. Direct quote:
"My Round 1
tourismpin was wrong. I was conflating 'one-of-a-kind, cannot be purchased elsewhere' with the tourism commodity. The scarcity is about research access, not leisure access. The Conservancy's leverage is scientific exclusivity, not tourism revenue. Resolution: Keid =research_station. Paula is correct."
Burnelli's position (OQ-2): Burnelli proposed biosphere_tourism for Keid with cultural=ecological, and raised this as an open question. With Miri's self-correction, the vote is now 2-of-3 for research_station. Burnelli's OQ-2 is noted below as a residual question.
Resolved: Keid = research_station, NonPhysical × Specialist, cultural axis = scholarly.
3B. Cygni B: BulkSolid × Common (resolved, label pending)
Round 1: Miri freight_haulers, Paula manufacturing_hub (PrecisionDense × Common).
Round 2 outcome: Miri introduces heavy_manufacturing (BulkSolid × Common) and identifies Paula's BulkClass as wrong for shipyard-scale heavy fabrication. Burnelli's shipbuilding (BulkSolid × Common) reaches the same D-233 output. All three now converge on BulkSolid × Common. The label (shipbuilding vs heavy_manufacturing) is a synthesis choice for Round 3.
Resolved for D-233 purposes: Cygni B = BulkSolid × Common.
3C. Dài Lộ (GJ 136): transit_hub (Miri resolves from GTTR)
Round 1: Paula flagged; her instinct was precision_industry based on Takamori Lattice Works HQ.
Round 2 outcome: Miri reviews GTTR directly. Finding: "Nothing in the GTTR describes tourism as an industry. The GTTR describes a transit and supply hub at the frontier edge." The Takamori HQ adds body-level weighting toward lattice_grade_material but does not override a 400-year transit identity. GTTR prose is authoritative per the workshop's founding principle.
Resolved: Dài Lộ = transit_hub, NonPhysical × Common. Cultural axis = cosmopolitan.
3D. Zenzele (GJ 1111): specialist_manufacturing (Miri resolves from GTTR)
Round 1: Paula flagged; instinct was manufacturing_hub.
Round 2 outcome: Miri reviews GTTR. Finding: "Purpose-built shielding components...technical consultation...expertise-based advantage from necessity." This is PrecisionDense (precision engineering, specialist components, not bulk heavy fabrication) × Specialist (expertise-based concentration, not a geographic monopoly — other systems could develop this expertise).
Resolved: Zenzele = specialist_manufacturing, PrecisionDense × Specialist. Cultural axis = industrial.
4. Remaining Forks for the Synthesis Checkpoint
4A. Groombridge: financial_hub vs clearing_house
| Economic label | D-233 output | Rationale | |
|---|---|---|---|
| Miri | financial_hub |
NonPhysical × Specialist | Financial district, not the ONLY clearing node |
| Burnelli-Sheldon | clearing_house preferred |
NonPhysical × MonopolySource | "Where the money lives" — MonopolySource concentration rule applies; the clearing house IS the settlement |
Burnelli's OQ-1 asks explicitly: "Is Groombridge's clearing house SO dominant that everything else is support?" MonopolySource vs Specialist determines whether D-233 produces "dense exchange district in a varied settlement" (Specialist) or "the exchange IS the settlement" (MonopolySource). Different built form.
Status: Open. One question for the user.
4B. Cultural axis: quality argument + scope + location (UPDATED by Paula addendum)
Paula's addendum reverses her Round 2 opening position. Her original proposal was to fill system_culture.cultural_register (existing table, no new column). The addendum argues on quality grounds that this matters for Phase 4, not Phase 6, and that the source location should be system_specialization.toml alongside the economic and faction fields.
The quality argument (Paula addendum)
The cultural axis is not metadata for Phase 6. It breaks D-232 template draws in Phase 4 for systems where founding heritage diverges from the corridor baseline. D-232's trait template draw uses the corridor as a soft prior. Without an authored cultural register, systems inherit the wrong corridor template:
| System | Corridor baseline (what D-232 draws without a pin) | Actual cultural heritage | What breaks |
|---|---|---|---|
| Confluent (GJ 395) | Germanic/Scandinavian (west_reach) | French founding families, Loire viticulture | Settlement looks like a Compact German agricultural town, not a Loire estate town |
| Dài Lộ (GJ 136) | Korean/Japanese (east_reach) | Vietnamese (400 years transit culture) | Vietnamese character lost entirely |
| Calloway Reach (GJ 3325) | British/Australian (north_reach) | Scottish Highland distillery culture | Close but wrong — generic British instead of specifically Highland |
| Dagat (GJ 482A) | East_reach corridor baseline | Filipino/Tagalog heritage | Founding character erased |
| Vuurkloof (GJ 35) | South_reach corridor baseline | Afrikaans (South African Boer heritage) | Engineering community character lost |
Paula's direct quote: "These aren't Phase 6 concerns. They affect what D-232 generates RIGHT NOW when the trait template draw runs. Without authored cultural pins for these systems, the generator pulls the wrong templates."
Revised scope (Paula addendum)
Not ~30–40 hero bodies. The authoring criterion is: "Does this system's actual cultural heritage match what the corridor baseline would produce? If no → author it." Estimated scope: ~60–100 GTTR-named divergent-heritage systems, not just hero bodies.
The atlas_body_trait_bias hero body pins (per D-232) and the system cultural register work together: the system cultural register is the baseline for ALL bodies in the system; the hero body pins are overrides for specific bodies. Without the system baseline, even correctly-pinned hero bodies are surrounded by wrong-character context.
Location: Paula's reversal
Paula (addendum) now advocates for cultural_register as an optional field IN system_specialization.toml, same file as economic and faction fields:
[GJ-395] # Confluent
dominant_commodity_id = "agricultural_produce"
economic_specialization = "terroir_farm"
dominant_faction = "compact_sympathetic"
cultural_register = "french_heritage" # founding families Loire tradition
This reverses her opening Round 2 position. She now agrees with Burnelli and Miri that the cultural axis belongs in the same TOML file — on quality grounds (authoring coherence: the author writing Confluent should see all three identity signals in one place) and on correctness grounds (D-232 Phase 4 consumer).
Updated position summary
| Participant | Cultural axis source | New schema column? | Scope |
|---|---|---|---|
| Burnelli-Sheldon | system_specialization.toml |
YES — new cultural_specialization on system_economy; 12-value vocabulary |
~30-40 hero pins + heuristic fallback |
| Miri | system_specialization.toml (implicitly) |
YES — new cultural_character column |
~30-40 hero pins + corridor default |
| Paula (addendum) | system_specialization.toml |
Leans yes — optional field same TOML; populates system_culture.cultural_register |
~60-100 divergent-heritage named systems |
Remaining fork (narrowed): All three now agree on the TOML source file. The remaining questions are: (a) column name and which table it lives in (system_economy new column vs system_culture.cultural_register existing column), and (b) scope: Burnelli+Miri say ~30-40 hero pins; Paula says ~60-100 divergent-heritage systems. The scope difference matters for authoring burden and for what counts as "missing" in CI.
Status: Substantially converged on source location; still open on scope and column placement.
4C. dominant_faction column location
| Participant | Proposal |
|---|---|
| Burnelli-Sheldon | New column system_economy.dominant_faction (populated from same TOML) |
| Paula | Existing system_factions table; dominant_faction field already exists there; just needs authoring for named systems |
| Miri | Field used throughout; table location not specified |
The question is whether the generator reads from system_economy (one-stop-shop for all generation inputs) or from system_factions (the semantically correct home). D-199's minimum read-set already includes dominant_faction — wherever it lives, it's in the read-set.
Status: Probably minor; architecture decision for the implementation team (Burnelli's pipeline). Note for completeness.
4D. lattice_commission faction value: in or out?
| Participant | Position |
|---|---|
| Paula (Round 2) | DROP lattice_commission from faction vocabulary. The Commission regulates across the Reach; it doesn't govern systems. Systems with Commission presence get concord_assembly or independent as applicable. |
| Miri (Round 2 table) | Uses lattice_commission for ACB (GJ 559B) and Bastion (GJ 570A) |
Paula's argument: Commission never governs a system in the way a faction does. Bastion is Assembly-administered (flag officers); ACB is Commission-funded but Assembly-governed.
Miri's usage: ACB is presented as "Commission IS the presence here" and Bastion as fleet administration. If the Commission provides direct institutional governance rather than mere regulatory presence, lattice_commission may be meaningful.
Status: Open. Small vocabulary question but touches two specific pins (ACB, Bastion).
4E. media_culture on economic axis — structural note (not a fork, but flagged)
Miri raises a self-question about media_culture: it produces NonPhysical × Specialist, same as governance_center and research_station. The built-form distinction for Parallax lives in D-229 ObjectTag vocabulary (production studios vs. government offices), not in BulkClass × ProductionUbiquity.
This is not a blocking fork — Miri keeps media_culture on the economic axis because the physical content IS different, even if the coverage fraction is the same. But the observation is worth recording: three economic values (governance_center, research_station, media_culture) produce identical D-233 coverage and vocabulary and are only distinguished downstream by cultural axis and faction.
5. Vocabulary Comparison: Economic Axis Values
The following table maps the agreed must-pin systems to the proposed vocabulary across all three participants. Where labels differ but D-233 outputs agree, the D-233 column shows the converged output.
| System | Miri value | Burnelli value | D-233 (agreed) |
|---|---|---|---|
| Ran | breadbasket |
breadbasket |
Perishable × Specialist |
| Groombridge | financial_hub |
clearing_house (preferred) |
NonPhysical × [Specialist or MonopolySource — open] |
| Prometheus | longevity_monopoly |
longevity_monopoly |
NonPhysical × MonopolySource |
| Keid | research_station |
biosphere_tourism (OQ-2) |
NonPhysical × Specialist (2-of-3) |
| Cygni B | heavy_manufacturing |
shipbuilding |
BulkSolid × Common |
| Renaissance | precision_monopoly |
gate_fabrication |
BulkSolid × MonopolySource |
| Sirius | governance_center |
governance_center |
NonPhysical × Specialist |
| Gateway | transit_hub |
transit_hub |
NonPhysical × Ubiquitous (Burnelli) / Common (Miri) |
| Bastion | military_bastion |
military_station |
PrecisionDense × Specialist |
| Nova Roma | specialist_manufacturing |
vehicle_production |
BulkSolid × Specialist |
| Sindri | mining_district |
company_mining |
BulkSolid × Specialist |
| Parallax | media_culture |
media_center |
NonPhysical × Specialist |
| Vuurkloof | energy_hub |
geothermal_hub |
BulkLiquid × Specialist |
| Arbour | estate_farm |
estate_farming |
Perishable × Ubiquitous |
| Lu Ban | specialist_manufacturing |
consumer_goods_bazaar |
BulkSolid × Specialist |
| Calloway Reach | terroir_farm |
terroir_spirits |
BulkSolid × MonopolySource |
| VGV (Confluent) | terroir_farm |
terroir_agriculture |
Perishable × MonopolySource |
| Braemar | terroir_farm |
terroir_organics |
BulkSolid × MonopolySource |
| Nyrheim | extraction_colony |
marble_monopoly |
BulkSolid × MonopolySource |
| Ostmark | breadbasket |
breadbasket |
Perishable × Specialist |
| Dài Lộ | transit_hub |
(not specified) | NonPhysical × Common |
| Zenzele | specialist_manufacturing |
(not specified) | PrecisionDense × Specialist |
| Altmark | transit_hub |
(not specified) | NonPhysical × Common |
| Tessera | research_station |
legal_archive |
NonPhysical × Specialist |
6. Cultural Axis: Vocabulary Comparison
Both Burnelli and Miri propose cultural vocabularies. Paula defers entirely to system_culture.cultural_register (existing table).
| Burnelli label (12 values) | Miri label (7 values) | Representative systems |
|---|---|---|
scholarly |
scholarly |
Tessera, Keid |
artistic |
media |
Parallax |
institutional |
civic |
Sirius, Gateway (administrative systems), Bastion |
commercial |
mercantile |
Altmark, Gateway (transit character) |
agrarian |
agrarian |
Ran, Ostmark, Calloway Reach |
industrial_heritage |
industrial |
Cygni B, Sindri, Nova Roma, Vuurkloof |
medical_elite |
(absorbed into civic) |
Prometheus |
ecological |
(absorbed into scholarly) |
Keid |
military |
(absorbed into civic) |
Bastion |
financial_technocratic |
mercantile |
Groombridge |
cosmopolitan |
cosmopolitan |
Gateway, Altmark, Dài Lộ |
compact_cooperative |
(not separately named) | All Compact member systems |
The core 6 values align across both vocabularies (scholarly, artistic/media, civic/institutional, mercantile/commercial, agrarian, industrial). Burnelli's 12 adds finer distinctions (medical_elite, ecological, military, compact_cooperative) that Miri collapses into broader categories. The synthesis question is vocabulary granularity, not substance.
7. dominant_faction Vocabulary: Near-Convergence
Paula's Round 2 locks the faction vocabulary. lattice_commission dropped in favor of mixed. ACB and Bastion reassigned to concord_assembly (resolved at checkpoint — OQ-4).
Final vocabulary (7 values, post-checkpoint):
concord_assembly | compact | compact_sympathetic | syndic_dominant | veil_institute | independent | disputed | mixed
(Note: 8 listed above; lattice_commission was the value dropped, leaving 7 active values. mixed is the replacement for multi-polar systems.)
Key CI guardrails from Paula (cross-referenced with Burnelli):
compact+currency_zone = tractus_primary→ hard flag (D-172 compliance)compact+extraction_colonyeconomic pin → flag for review (self-sufficiency doctrine)syndic_dominantwith no Tier-1 corp HQ incorp_presence→ flag (missing data anchor)compact_sympathetic+mark_primarycurrency → flag (may be full member)
8. Implicit Decisions Observed (not formally stated, but treated as settled)
| Observation | Basis |
|---|---|
specialization_vocabulary.toml is a new source file, separate from system_specialization.toml |
Burnelli §Q2; names two distinct files |
| The content pass is ~60-80 economic pins + ~60-100 cultural register pins (divergent-heritage scope, OQ-3 resolved) + ~40-60 faction pins | All three + checkpoint |
atlas_body_trait_bias hero pins (~30-40 bodies) are in this pass as a co-authoring activity |
Round 1 consensus held; no challenge in Round 2 |
| D-233 will be re-amended by this workshop's outcome | Assumed throughout |
9. Summary: Fully Resolved (carry to Round 3 synthesis)
All workshop open questions are now closed. No remaining forks.
Schema (all three fields in system_specialization.toml → system_economy table):
economic_specialization— vocabulary-based, ~20-25 merged values (Burnelli base, collapse duplicates); scale encoded in valuecultural_register— co-located insystem_specialization.toml; scope ~60-100 divergent-heritage systems; D-232 Phase 4 consumerdominant_faction— 7 values (Paula's 8 minuslattice_commission); same TOML
Must-pin resolutions (all closed):
- Keid =
research_station, NonPhysical × Specialist - Cygni B = BulkSolid × Common (label merge in Round 3)
- Dài Lộ =
transit_hub, NonPhysical × Common - Zenzele =
specialist_manufacturing, PrecisionDense × Specialist - Groombridge =
financial_hubSpecialist + GSH as MonopolySource hero-element landmark - ACB (GJ 559B), Bastion (GJ 570A) →
dominant_faction = concord_assembly
Permanently out: economy_size, separate dominant_production_scale column, lattice_commission faction value
Checkpoint resolutions (2026-05-31)
All 5 open questions closed by user. Do not reopen.
| # | Topic | RESOLUTION |
|---|---|---|
| OQ-1 | Groombridge | MIDDLE answer. economic_specialization = financial_hub at Specialist (dense cluster of financial buildings throughout the settlement). GSH (the Reach's clearing house) is a MonopolySource hero-element landmark inside the cluster — a single dominant building rather than the settlement's organizing principle. Groombridge is not "the exchange IS the settlement" (MonopolySource) nor a generic financial district (pure Specialist) — it is a financial cluster with one physically singular institution at its center. |
| OQ-2 | Keid biosphere_tourism vs research_station |
CLOSED: research_station. Burnelli's biosphere_tourism overruled 2-of-3. Keid's economic identity is research and conservation access, not tourism. |
| OQ-3 | Cultural axis: column placement + scope | RESOLVED. cultural_register is a co-located structured field in system_specialization.toml, compiled to a new column on system_economy (NOT the separate system_culture table). Scope: ~60-100 divergent-heritage systems (Paula's quality scope) — criterion is systems where founding heritage diverges from the corridor baseline, not just hero bodies. |
| OQ-4 | lattice_commission in/out |
DROPPED. The value is removed from the dominant_faction vocabulary. ACB (GJ 559B) and Bastion (GJ 570A) are both reassigned to concord_assembly. |
| OQ-5 | Economic vocabulary size (16 vs 33) | MERGE RULE. Start from Burnelli's richer 33-value set. Collapse only values that are identical in BOTH (BulkClass, ProductionUbiquity) AND cultural character. Expected result: ~20-25 economic values. Round 3 synthesis will produce the final merged list. |
Round 2 fully documented. All 5 forks resolved at human checkpoint. Pre-synthesis — no D-records filed. Round 3 synthesis awaiting scout-round2.md critique, then D-record re-amendment + ticket set.
Source files read: miri-round2.md, burnelli-sheldon-round2.md, paula-round2.md (including Paula's addendum on cultural axis quality argument).
Qatux — 2026-05-31