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>
20 KiB
Paula — Round 2: Faction Lock + Axis Delineation
System Economic Specialization Workshop — 2026-05-31
Opening: What Changed in the Checkpoint
FORK 2 is closed in favor of authoring dominant_faction for named systems. FORK 3 closes the dominant_production_scale second column — scale encoded inside the single economic field's vocabulary instead. My Round 2 job is to lock dominant_faction down and draw clean boundaries between the three axes that are now confirmed to be authored in this pass: economic, faction, and cultural.
1. dominant_faction Vocabulary — Locked
One revision from Round 1: Drop lattice_commission. The Commission never governs a system — it regulates across the Reach. No system's civic identity is Commission-governed in the way that Groombridge is Syndic-governed or Ostmark is Compact-governed. Commission presence is a weight in D-232's template eligibility, not a governance classification. Replace with mixed for systems where no single faction dominates (Gateway, Altmark).
Final vocabulary (8 values):
concord_assembly — governed by or strongly Assembly-affiliated
compact — formal Compact of Westphalia signatory
compact_sympathetic — Compact-aligned but not formal signatories (hop 5–6, MIXED currency)
syndic_dominant — Syndic interests functionally govern civic and economic life
veil_institute — Institute has effective overriding authority (rare; research/containment mandates)
independent — self-governing non-affiliated bodies
disputed — contested or fractured governance
mixed — multiple significant factions with no single dominant (multi-polar systems)
Default derivation for unautored systems (heuristic): Core hop 0–3 → concord_assembly; mid-reach hop 4–5 → concord_assembly; outer west_reach hop 6+ with MARK_PRIMARY currency → compact; outer west_reach hop 5–6 with MIXED currency → compact_sympathetic; other corridors hop 7+ → independent. Corporations with behavioral_archetype = monopolist and dominant presence → syndic_dominant consideration. This heuristic runs only for unnamed systems; every GTTR-named system is authored.
2. Named System Faction Pins — Authoritative List
Corrections from Round 1 applied (Bastion is concord_assembly, not lattice_commission; Miri's Round 1 adds Nova Roma and Sindri; veil_institute used for Keid is revised to independent since the Conservancy governs, not the Institute).
| System | GJ ID | dominant_faction |
Basis |
|---|---|---|---|
| Sirius | GJ 244A | concord_assembly |
Assembly IS the system; governs directly |
| Gateway | GJ 71 | mixed |
Assembly + Veil Institute + Syndics; no single dominant |
| ACB | GJ 559B | concord_assembly |
Commission offices here, Assembly-funded |
| Ran | GJ 144 | concord_assembly |
Syndic agricultural combines under Assembly legal framework |
| Groombridge | GJ 380 | syndic_dominant |
Financial syndics govern; Institute pointedly absent; Assembly has no real authority |
| Prometheus | GJ 702B | independent |
Prometheus Labs sole authority; Commission carve-out; single aperture ensures independence |
| Keid | GJ 166A | independent |
Keid Conservancy governs; Institute is a long-term tenant, not the landlord |
| Bastion | GJ 570A | concord_assembly |
Assembly administers directly via flag officers; military administrative framework |
| Cygni B | GJ 820B | concord_assembly |
Seven combines, functional Assembly relation; "unaffectionate but functional" |
| Renaissance | GJ 251 | syndic_dominant |
Gate Corporation IS the civic economy; "combines have never needed to be anything else" |
| Arbour | GJ 338B | independent |
Perpetual-class estates governance; "by invitation" — private, not Assembly |
| Tessera | GJ 3877 | concord_assembly |
Assembly Interpretive Registry; legal-archival identity |
| Parallax | GJ 280A | independent |
Adams & Ford independent publishing; no dominant institutional faction |
| Lu Ban | GJ 15A | concord_assembly |
Hop-3 inner system; 300 manufacturers, Assembly-adjacent despite bazaar character |
| Nova Roma | GJ 764 | syndic_dominant |
MVG assembly-lines employ the population; Mastroianni family runs the city de facto |
| Sindri | GJ 3522 | syndic_dominant |
DSMC mining monopoly controls system access; "Do Not Descend" = DSMC territory |
| Wolf 359 | GJ 406 | concord_assembly |
Assembly regional transit office; pure institutional transit hub |
| Vuurkloof | GJ 35 | concord_assembly |
South_reach hop-6; no contrary lore signal; Assembly default applies |
| Braemar | GJ 475 | independent |
Distillers' Council + herders' association; cooperative self-governance |
| Calloway Reach | GJ 3325 | independent |
Distillers' Council governs; Syndic acquisition approaches declined |
| Altmark | GJ 357 | independent |
Explicitly refuses to formally align with either Assembly or Compact; the financial sector finished the conversation |
| Ostmark | GJ 601A | compact |
Compact founding member; helped draft the framework; 500 years self-governance |
| Nyrheim | GJ 3737 | compact |
Compact affiliate; founded by Freiholt bloc |
| Confluent | GJ 395 | compact_sympathetic |
VGV uses Mark currency + Compact distribution; governance not formally Compact |
| Dagat | GJ 482A | independent |
Archipelago Council; no strong Assembly or Compact signal |
| Dài Lộ | GJ 136 | independent |
Tham Quan governs; Assembly "acknowledged in principle" = polite fiction |
| Changwon | GJ 860B | independent |
Bicameral civic/operators council; self-governing junction |
| All formal Compact members (~30–40 west_reach) | various | compact |
Apply self-sufficiency review rule from Round 1 |
3. Critical Delineation: Three Orthogonal Axes
The honest truth: all three axes were latent in Round 1's proposals. What the user checkpoint has clarified is that all three genuinely exist in the data (including the cultural axis, which lives in the existing system_culture table per Miri), and all three get authoring attention in this pass.
What each axis IS and is NOT
Economic axis (dominant_commodity_id or equivalent): What the system produces/exports. Answers: "If I generate a building here, what function does it have?" Drives D-233 (BulkClass × ProductionUbiquity → coverage, vocabulary, operations surface).
Faction axis (dominant_faction): Who governs and how power is structured. Answers: "How is the settlement spatially organized — planned, corporate, organic, fortified, academic, industrial?" Drives D-214 (PoliticalArchetype → settlement layout), D-232 (template weight modifier), D-174 (shadow economy intensity), D-172 (currency zone validation).
Cultural axis (system_culture.cultural_register — existing table): Where the culture came from and what it celebrates. Answers: "What does a museum here display? What does the entertainment scene look like? What do NPCs sound like?" Feeds Phase 6 content generators (museums, entertainment, NPC voice D-121, D-123, D-128). This table already exists per Miri's Round 1 — no new schema column needed.
Does dominant_faction subsume the cultural axis?
No. They are orthogonal. The proof is in the cross-axis combinations that the lore demands:
| System | Faction | Cultural register | Why they must be separate |
|---|---|---|---|
| Dài Lộ | independent |
Vietnamese-dominant | A Vietnamese culture system that happens to be self-governing. Faction says nothing about culture here. |
| Confluent | compact_sympathetic |
French-heritage | Compact political alignment; French founding families. Neither derives from the other. |
| Sirius | concord_assembly |
Institutional-cosmopolitan | Assembly governance; but the cultural register is bureaucratic-cosmopolitan, NOT Germanic or any corridor heritage. |
| Calloway Reach | independent |
Scottish Highland pastoral | Self-governance; Scottish heritage. Faction doesn't touch culture. |
| Ostmark | compact |
Germanic-historical | Compact founding member; Germanic heritage. The Compact doctrine SHAPES how the Germanic heritage expresses itself (community-first, pragmatic, self-reliant) but doesn't replace it. |
The faction shapes HOW culture expresses itself politically — it doesn't determine the underlying heritage. An Ostmark museum would feature 500 years of self-governance history (faction = compact → Compact doctrine celebrated) AND Germanic engineering and agricultural heritage (cultural register = germanic_historical). Both inputs are needed. Neither subsumes the other.
Which generators consume which axis
| Axis | Current consumers (Phase 4+) | Future consumers (Phase 6) |
|---|---|---|
Economic (dominant_commodity_id) |
D-233 FillChunk (BulkClass × ProductionUbiquity → building vocabulary, coverage), D-229 BuildingPropertyTag | — |
Faction (dominant_faction) |
D-214 PoliticalArchetype (settlement spatial layout), D-232 template weight modifier, D-174 shadow economy intensity, D-172 currency zone validation | NPC faction relations |
Cultural (system_culture.cultural_register) |
— (no current Phase 4 consumer) | Phase 6: museum content, entertainment type, NPC voice (D-121, D-123, D-128), cultural dialogue templates |
The consumer boundary is clean. Faction has active Phase 4 consumers and must be authored now. Cultural axis has only Phase 6 consumers — BUT the user's direction is to fill it in this pass while we're touching all 300 systems, not to wait for Phase 6 and do it again under time pressure.
My recommendation on the cultural axis
The cultural axis is the system_culture table, which already exists. The content pass should fill cultural_register (and optionally cultural_register_secondary) for ~30–40 hero systems. Default for unnamed systems = corridor assignment (already implicit). No new schema column.
Authoring responsibility: Miri (already knows the GTTR cultural characterizations). My faction contributions to cultural expression: for Compact systems, I flag that compact faction + west_reach corridor produces a specific sub-flavor (Germanic community-cohesion + Compact self-sufficiency doctrine), which Miri should encode in the cultural_register authoring.
4. CI Guardrails for dominant_faction
Hard errors:
| ID | Rule | Rationale |
|---|---|---|
| V-FAC-01 | Every inhabited named system (has GTTR entry) MUST have dominant_faction authored |
Guarantees D-214/D-232 have clean authored inputs |
| V-FAC-02 | dominant_faction value must be in vocabulary |
Typo prevention |
Soft warnings:
| ID | Rule | Rationale |
|---|---|---|
| W-FAC-01 | dominant_faction = compact AND currency_zone = tractus_primary → flag |
D-172: Compact members should be mark_primary or mixed. Assembly currency in a Compact member is a lore contradiction. |
| W-FAC-02 | dominant_faction = compact AND system_specialization = extraction_colony → flag for review |
Compact self-sufficiency doctrine means no Compact member is purely extractive. Confirm before committing. |
| W-FAC-03 | dominant_faction = syndic_dominant AND no Tier-1 corp HQ present in corp_presence → flag |
Syndic dominance without a Syndic presence anchor is ungrounded. Either the HQ is missing from the TOML or the pin is wrong. |
| W-FAC-04 | dominant_faction = compact_sympathetic AND currency_zone = mark_primary → flag |
Sympathetic systems are defined as NOT having Mark as primary (that's formal membership). If they're Mark-primary, they may be full members who should be compact. |
| W-FAC-05 | dominant_faction = independent AND a Tier-1 corp with behavioral_archetype = monopolist is the sole HQ → flag |
Independence claim vs monopolist-corp governance is a tension requiring confirmation. |
5. Anti-Scope-Creep Test
dominant_faction:
- ✅ Changes how a system reads: Groombridge with
syndic_dominantgets Corporate PoliticalArchetype (campus grid) vsconcord_assembly's Commission archetype (radial core). Different streets, different district distribution, different city shape. - ✅ Degrades to a default: corridor + hop heuristic provides plausible values for unnamed systems.
- ✅ Has active consumers NOW: D-214 (current phase), D-232 (current phase), D-174 (current phase).
- ✅ Resolves an existing compliance gap: D-172 says currency zones derive from political affiliation, not hop distance. Authored
dominant_factionis the correct source for Compact membership. - PASSES.
Cultural axis (as filling system_culture.cultural_register for hero systems):
- ✅ Changes how a system reads — in Phase 6. Dài Lộ with Vietnamese cultural register generates different museum/entertainment content than a Korean east_reach system.
- ✅ Degrades to a default: corridor provides the cultural baseline for unnamed systems.
- ⚠️ No current Phase 4 consumer: honest about this. User has explicitly directed this pass to cover both axes, and the data is far cheaper to author NOW (while we have all 300 systems open) than LATER (under Phase 6 time pressure).
- ✅ No new schema column:
system_culturealready exists; filling it is content, not architecture. - ✅ Authoring burden ~30–40 entries for hero systems: within the same scope as
atlas_body_trait_bias. - PASSES the scope test as a content-fill action, not as a new field.
What still doesn't pass:
- Any new schema column for the cultural axis: unnecessary (table exists)
economy_size: closed (confirmed out, three-way unanimous)- Per-system
dominant_production_scaleas a separate column: closed (Fork 3 resolved; scale encoded in the primary field's vocabulary)
Summary: Three Axes, Three Sources, Clean Boundaries
| Axis | Field | Source | Current consumers | Default for unautored |
|---|---|---|---|---|
| Economic | system_economy.dominant_commodity_id (or equivalent) |
wiki/economics/system_specialization.toml |
D-233 (built form) | Heuristic: role + planet_class + corp HQ |
| Faction | system_economy.dominant_faction (new column) |
same TOML file, second field per record | D-214, D-232, D-174, D-172 | Corridor + hop heuristic |
| Cultural | system_culture.cultural_register (existing table) |
Existing system_culture TOML source |
Phase 6 content generators | Corridor baseline |
These three fields in system_specialization.toml:
[GJ-601A] # Ostmark — Compact founding member
dominant_commodity_id = "agricultural_produce"
dominant_faction = "compact"
# cultural_register filled in system_culture.toml by Miri:
# cultural_register = "germanic_compact_historical"
The TOML source for the cultural axis lives in the system_culture TOML (Miri's domain), not in system_specialization.toml. This keeps the faction and economic fields together (one file per system) while the cultural register stays in its own table/source (one concern per file).
Filed: 2026-05-31. Paula (Narrative & Political Depth). Workshop: system-economic-specialization, Round 2.
Addendum: The Cultural Axis on Quality Grounds
My Round 2 document made the right call on the delineation — faction and cultural ARE distinct, they're orthogonal, neither subsumes the other. But I justified the cultural axis by saying "it's cheap" rather than "it's worth it." The quality re-steer is correct, so let me make the quality case directly.
What breaks without authored cultural identity:
The cultural axis isn't metadata for Phase 6 that we're banking as an investment. It breaks things in Phase 4 and earlier if it's missing for systems that already have authored identity in the GTTR. Here's how:
D-232's trait template draw is weighted by corridor as a soft prior. The corridor for the west_reach corridor is Germanic/Scandinavian baseline. Confluent (GJ 395) is in the west_reach at hop 10. Without an explicit cultural pin, the trait template draw for Confluent pulls from the Germanic baseline — which is wrong: Confluent has French founding families and four centuries of viticulture culture. The settlement should look like a Loire Valley estate town, not a Germanic Compact agricultural community.
The same problem applies to every system where the founding heritage diverges from the corridor baseline:
- Confluent (GJ 395): French in a Germanic corridor
- Dài Lộ (GJ 136): Vietnamese in an east_reach Korean/Japanese corridor
- Calloway Reach (GJ 3325): Scottish in a north_reach British/Australian corridor (close but distinct — the distillery aesthetic is specifically Highland, not generic British)
- Dagat (GJ 482A): Filipino/Tagalog heritage in a broader east_reach corridor
- Vuurkloof (GJ 35): Afrikaans (South African Boer heritage) in a south_reach corridor with a different baseline
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.
What the cultural axis is, precisely:
It is not a Phase 6 flourish. It is the authored override that prevents D-232's corridor-baseline draw from producing wrong architectural character. In the trait template system, the atlas_body_trait_bias provides per-body pins. The cultural register in system_culture provides the per-SYSTEM cultural identity that shapes the DEFAULT draw for every body in the system.
These two work together:
system_culture.cultural_register= the cultural baseline FOR THIS SYSTEM's trait template drawatlas_body_trait_bias= the specific template pin for a hero body that further overrides the system baseline
Without the system cultural register, the hero body trait pins do all the work but the surrounding systems have wrong cultural character. Confluent's vineyard estates would be pinned correctly via atlas_body_trait_bias, but the town center, the worker housing, the freight infrastructure would still pull from the Germanic corridor baseline.
Revised scope of the cultural axis fill:
Not 30-40 hero bodies. Every GTTR-named system where the founding heritage diverges from the corridor baseline must be authored. That's probably 60-100 systems out of the named set, not just the hero bodies. The authoring question is: "Does this system's actual cultural heritage match what the corridor baseline would produce?" If no → author it. If yes → corridor default is fine.
Where it lives:
I previously said the cultural register stays in the system_culture TOML (Miri's domain). The quality argument actually pushes the other direction: for the ~60-100 systems where cultural register diverges from corridor, the authoring coherence is better if it's visible alongside the economic and faction fields in system_specialization.toml. An author writing Confluent's entry should see:
[GJ-395] # Confluent
dominant_commodity_id = "agricultural_produce"
dominant_production_scale = "monopolistic" # F8V terroir lock
dominant_faction = "compact_sympathetic"
cultural_register = "french_heritage" # founding families Loire tradition
...all in one place, rather than split between two files where the cultural register can drift from the economic and faction signals.
This pushes toward adding cultural_register as an optional field IN system_specialization.toml, not as a cross-table concern. It's one more field in the same TOML, authored at the same time, for systems where corridor alone would produce wrong output.
The actual quality bar:
For systems where corridor would produce the RIGHT architectural character → no cultural register needed. For systems where corridor would produce the WRONG architectural character (founding heritage diverges) → author it, and the quality cost of NOT authoring it shows up in D-232 draws in Phase 4.
This is not scope creep for tidiness. This is authoring the data D-232 actually needs to produce correct output.
— Paula, addendum to Round 2, 2026-05-31