# Tyre — Round 2 Converged Proposal *cracks knuckles* — I've cross-read all four Round 1 outputs. Here's the converged technical proposal addressing all five lead directives. --- ## 1. Resolving the Luxury Goods Tension (Directive b) The lead identified the core problem: if "luxury goods" is one abstract commodity, how does Calloway whisky (12-20y aging, terroir ceiling), Kvitfjell marble (800t/y geological ceiling), and VGV wine (F8V stellar lock) coexist in the simulation with their radically different constraints? **Solution: three-layer separation.** | Layer | What it knows | Example | |-------|--------------|---------| | **Commodity catalog** | One entry: `luxury_goods`. Abstract category. | `luxury_goods`, tier=final, elasticity=highly_elastic | | **Production chains** | Multiple recipes produce the same output from different inputs. | `luxury_from_agriculture`, `luxury_from_stone`, `luxury_from_textiles` | | **Corporation data** | Per-corp production constraints: location lock, capacity ceiling, aging pipeline, terroir. | Calloway operates `luxury_from_agriculture` at Calloway Reach, 12-20y aging, terroir-locked | This works because: - The commodity stays abstract (directive a — brands are not commodities) - D-173's structural substitution: multiple chains → same output is already in the spec - D-176 attaches productivity seeds to corporation×site pairs, not to commodities - D-177's hard ceilings (Kvitfjell 800t/y, brach fiber herd, F8V stellar lock) live in corporation constraint data - The 987% luxury margin B-S identified IS the brand premium, expressed through Specialist/Monopolist archetype pricing behavior in the corporate agent layer - New luxury producers are added by creating a corp and assigning it a chain — zero commodity catalog changes **Three luxury production chains:** ```toml [luxury_from_agriculture] output = "luxury_goods" output_quantity = 1.0 inputs = [ { commodity = "agricultural_produce", quantity = 2.0 }, { commodity = "chemicals", quantity = 0.3 }, ] description = "Spirits, wines, premium food. Terroir/aging constraints per corporation." [luxury_from_stone] output = "luxury_goods" output_quantity = 0.5 inputs = [ { commodity = "stone", quantity = 3.0 }, ] description = "Decorative stone, luxury marble. Geological ceiling per corporation." [luxury_from_textiles] output = "luxury_goods" output_quantity = 1.0 inputs = [ { commodity = "textiles", quantity = 1.5 }, { commodity = "organic_compounds", quantity = 0.5 }, ] description = "Premium garments, technical craft goods. Fiber supply ceiling per corp." ``` Each chain has independent failure modes: a rare minerals shortage doesn't touch luxury goods. A timber shortage doesn't affect wine production. The scarcity cascades are input-specific, and the corporation layer maps which corps operate which chains where. --- ## 2. Unified TOML Schema ### Updated field set I'm merging the best from all four proposals. My Round 1 had 8 fields. The converged schema has 12. Each addition creates distinct simulation behavior. **From B-S (new):** - `production_ubiquity` — guides `generate_corporations` in distributing production across the map. Without it, the initialization binary has no guidance on geographic spread. 5 tiers from B-S: ubiquitous → monopolistic. - `demand_model` — determines tâtonnement behavior: `market` (standard), `utility` (population-driven floor, never hits zero), `compliance` (regulation-driven, tracks Commission presence). This is what makes water/fuel behave differently from consumer goods under the same supply shock. **From Gestalt (replaces my `political_sensitivity` boolean):** - `commission_certified` — requires Commission certification for formal sale. The cost of certification IS the shadow economy incentive. - `compact_contested` — Compact officially contests Commission authority. Creates the political friction. - `shadow_viable` — shadow market routinely exists. Flags where the shadow economy bites. Three booleans instead of one gives the sim three independent political signals per commodity. A commodity can be Commission-certified but NOT Compact-contested (e.g., food safety certification — everyone accepts it). Or Compact-contested but NOT shadow-viable (e.g., vehicle registration — contested in principle, but impractical to shadow-market a starship). **Retained from my Round 1 (no change):** - `tier`, `elasticity`, `base_price`, `unit`, `description` **Refined from my Round 1:** - `bulk_class` — expanded from 4 to 7 values, incorporating B-S's transport cost analysis and Gestalt's oversized/perishable insights ### Complete TOML record format ```toml # wiki/economics/commodities.toml # # Source of truth for the simulation's commodity vocabulary. # Compiled to systems.db via `make economy-db`. # # Fields: # name — display name (Title Case) # tier — raw | intermediate | final | service_professional | service_luxury # elasticity — perfectly_inelastic | inelastic | unit_elastic | elastic | highly_elastic # base_price — equilibrium price in Tractus (float, must be > 0) # bulk_class — bulk | liquid | standard | compact | precision | oversized | non_physical # unit — tonnes | units | contracts # production_ubiquity — ubiquitous | common | regional | concentrated | monopolistic # demand_model — market | utility | compliance # commission_certified — bool; requires Commission certification for formal sale # compact_contested — bool; Compact contests Commission authority over this # shadow_viable — bool; shadow market routinely exists for this commodity # description — optional flavor text (for wiki/UI, not consumed by sim) ``` ### Updated bulk_class (7 values) | Class | Transport multiplier | Rationale | |-------|---------------------|-----------| | `bulk` | 1.2x | Heavy, low-value-density. Ore, stone, timber, agricultural produce | | `liquid` | 1.3x | Requires containment. Water, chemical feedstock, fusion fuel | | `standard` | 1.0x | Normal cargo. Refined metals, panels, processed food, textiles | | `compact` | 0.8x | High-value, low-mass. Electronics, consumer goods, drive cores | | `precision` | 0.6x | Very high value, special handling. Rare minerals, implant hardware, luxury goods | | `oversized` | 2.0x+ | Physically awkward, partial assembly. Heavy equipment, vehicles, habitat modules | | `non_physical` | ∞ | Cannot traverse gates. All services | B-S's transport cost analysis (section 5 of his Round 1) shows these multipliers produce 3:1–4:1 ratios for bulk goods and 1.5:1–2:1 for precision goods across the Reach diameter. This is the right range for meaningful geographic specialization without absurd price extremes. Gestalt's `oversized` class is the key addition: heavy equipment, vehicles, freight haulers, and habitat modules at 2.0x+ creates durable manufacturing hub economics. You can't arbitrage away Stalownia's advantage by shipping finished rigs — the transport cost is too high. This is what makes manufacturing centers structural rather than transient. ### Elasticity labels (5 values) | Label | ε range | Behavior | Examples | |-------|---------|----------|---------| | `perfectly_inelastic` | 0.0–0.1 | Price absorbs all adjustment. Dramatic spikes | water (on stations), fusion_fuel, medical_services | | `inelastic` | 0.2–0.4 | Modest demand reduction, significant price effect | agricultural_produce, processed_food, chemicals, legal_services, financial_services | | `unit_elastic` | 0.8–1.2 | Proportional adjustment | metallic_ore, structural_panels, electronics, consumer_goods, habitat_modules | | `elastic` | 1.5–2.5 | Buyers defer/substitute | heavy_equipment, vehicles, freight_haulers, entertainment, drive_cores | | `highly_elastic` | 3.0+ | Market collapses to essential buyers | luxury_goods, gate_components, implant_hardware, tourism | B-S's panic mechanism (stockpile-target hoarding) is a sim-runtime behavior, not a commodity property. The sim derives it from elasticity + stockpile thresholds. This keeps the TOML clean and the panic behavior configurable without re-authoring commodity data. --- ## 3. Unified Commodity List ### Raw Materials (8) D-173 said ~7. The 8th (chemical_feedstock) serves distinct chains from organic_compounds — geological/gas extraction vs. biosphere harvesting. They are not substitutable. | ID | Name | Bulk | Ubiquity | Demand | Elasticity | Base (T) | Commission | Compact | Shadow | |----|------|------|----------|--------|------------|----------|------------|---------|--------| | `metallic_ore` | Metallic Ore | bulk | common | market | unit_elastic | 10 | no | no | no | | `rare_minerals` | Rare Minerals | precision | concentrated | market | unit_elastic | 80 | no | no | partial | | `timber` | Timber/Biomass | bulk | regional | market | unit_elastic | 15 | no | no | no | | `agricultural_produce` | Agricultural Produce | bulk | ubiquitous | utility | inelastic | 5 | partial | no | no | | `water` | Water/Volatiles | liquid | ubiquitous | utility | perfectly_inelastic | 2 | no | no | no | | `organic_compounds` | Organic Compounds | standard | regional | market | unit_elastic | 35 | no | no | no | | `stone` | Stone/Aggregate | bulk | common | market | unit_elastic | 8 | no | no | no | | `chemical_feedstock` | Chemical Feedstock | liquid | common | market | unit_elastic | 12 | yes (hazmat) | yes | yes | Notes: - `water` is raw. `fusion_fuel` is intermediate — directive (c). - `rare_minerals` subsumes Gestalt's "lattice-grade material" and Miri's "precision-grade minerals" at the abstract level. The lore texture (east_reach lattice substrates, exotic crystals) lives in corporation data. - `chemical_feedstock` is Commission-certified (hazmat) and Compact-contested (Compact views hazmat certification as tariff by another name — Gestalt's analysis, section 4). - `agricultural_produce` has `demand_model = utility` because populations need food regardless of economic conditions (B-S's point about demand floors). ### Intermediate Goods (9) D-173 said ~8. The 9th (fusion_fuel) is mandated by directive (c). | ID | Name | Bulk | Ubiquity | Demand | Elasticity | Base (T) | Commission | Compact | Shadow | |----|------|------|----------|--------|------------|----------|------------|---------|--------| | `refined_metals` | Refined Metals | standard | common | market | inelastic | 30 | no | no | no | | `advanced_alloys` | Advanced Alloys | standard | regional | market | unit_elastic | 100 | no | no | no | | `fusion_fuel` | Fusion Fuel | liquid | common | utility | perfectly_inelastic | 20 | yes (safety) | yes | yes | | `processed_food` | Processed Food | standard | ubiquitous | utility | inelastic | 15 | partial | no | no | | `electronics` | Electronics/Components | compact | regional | market | unit_elastic | 120 | no | no | no | | `chemicals` | Chemicals/Pharmaceuticals | standard | regional | market | inelastic | 60 | yes | yes | yes | | `textiles` | Textiles/Composites | standard | regional | market | unit_elastic | 50 | no | no | no | | `structural_panels` | Structural Panels | standard | regional | market | unit_elastic | 45 | no | no | no | | `drive_cores` | Drive Cores | compact | concentrated | market | elastic | 200 | no | no | no | Notes: - `fusion_fuel` from water with low yield per directive (c). `demand_model = utility` because every station needs continuous power. Commission-certified (fissile safety), Compact-contested (energy independence is a Compact political project — Gestalt section 4), shadow-viable (frontier fuel without certification). - `chemicals` is Commission-certified, Compact-contested, shadow-viable — same pattern as chemical_feedstock. The certification chain cascades. ### Final Goods (8) D-173 said ~7. The 8th (freight_haulers) has a different demand function from vehicles — B-S's argument that freight hauler demand = f(trade_volume, fleet_age) while vehicle demand = f(population, wealth) is compelling. They respond to different economic signals. | ID | Name | Bulk | Ubiquity | Demand | Elasticity | Base (T) | Commission | Compact | Shadow | |----|------|------|----------|--------|------------|----------|------------|---------|--------| | `heavy_equipment` | Heavy Equipment | oversized | regional | market | elastic | 250 | no | no | no | | `vehicles` | Vehicles/Craft | oversized | regional | market | elastic | 350 | yes (safety) | partial | partial | | `freight_haulers` | Freight Haulers | oversized | concentrated | market | elastic | 300 | yes (safety) | partial | partial | | `consumer_goods` | Consumer Goods | compact | ubiquitous | market | unit_elastic | 80 | no | no | partial | | `luxury_goods` | Luxury Goods | precision | monopolistic | market | highly_elastic | 500 | partial | no | yes | | `implant_hardware` | Implant Hardware | precision | concentrated | market | highly_elastic | 400 | yes (medical) | HIGH | HIGH | | `gate_components` | Gate Components | oversized | monopolistic | market | highly_elastic | 800 | yes (strategic) | extreme | high | | `habitat_modules` | Habitat Modules | oversized | regional | market | unit_elastic | 150 | no | no | no | Notes: - `luxury_goods` at `production_ubiquity = monopolistic` because premium luxury production is location-locked (terroir, geological ceilings). Generic luxury goods might be produced more widely, but the high-margin stuff is rare. Multiple production chains handle the variety (section 1). - `implant_hardware` is THE political flashpoint — Commission certification + Compact rejection. D-037 canonical contraband territory. Both `compact_contested` and `shadow_viable` are maximally true. - `gate_components` is the Commission's ultimate leverage tool. Monopoly pricing (Gate Corp) + Commission certification = maximum structural extraction. Gestalt nailed this in section 4. - `freight_haulers` with `demand_model = market` but demand function driven by trade volume (the sim derives this from trade flow signals, not population). B-S's separation from vehicles is correct. ### Professional Services (7) D-173 said ~5. Directive (e): more is richer. | ID | Name | Ubiquity | Demand | Elasticity | Base (T) | Commission | Compact | Shadow | |----|------|----------|--------|------------|----------|------------|---------|--------| | `legal_services` | Legal Services | common | compliance | inelastic | 100 | yes | partial | partial | | `financial_services` | Financial Services | common | market | inelastic | 120 | no | no | no | | `medical_services` | Medical/Re-embodiment | regional | utility | perfectly_inelastic | 200 | yes (medical) | partial | HIGH | | `insurance` | Insurance/Risk | regional | market | unit_elastic | 75 | no | no | no | | `information_brokerage` | Information Brokerage | regional | market | unit_elastic | 50 | no | no | partial | | `commission_certification` | Commission Certification | concentrated | compliance | inelastic | 100 | inherent | extreme | N/A | | `habitation` | Habitation/Berths | common | utility | inelastic | 40 | no | no | no | Notes: - `information_brokerage` consolidates "intelligence" and "information brokerage" per directive (d). Adams & Ford, Ferreira Monteiro, Mercado all provide intelligence products through this service. One service, multiple corporate providers. - `commission_certification` is separate from `legal_services` per Miri's argument: the Commission's own regulatory process is the mechanism that creates the shadow economy. Its cost, availability, and Tractus-denomination is what makes the Compact's alternative economy rational. This is the most politically charged "commodity" in the simulation. - `habitation` covers Gestalt's "rent" verb from D-131 and creates station-capacity pressure. A booming node runs out of berths → caps service growth → creates real estate price signal → forces expansion or migration. Mechanically important. - `medical_services` subsumes Miri's separate "re-embodiment" service. Re-embodiment is the premium tier within medical services, not a separate service. The corporation providing it (Prometheus-adjacent) determines whether re-embodiment is available at a given node. - Logistics management dropped per Gestalt: redundant with transport cost model. ### Luxury/Experiential Services (3) | ID | Name | Ubiquity | Demand | Elasticity | Base (T) | Commission | Compact | Shadow | |----|------|----------|--------|------------|----------|------------|---------|--------| | `tourism` | Tourism | concentrated | market | highly_elastic | 100 | no | no | no | | `entertainment` | Entertainment/Holo-content | common | market | elastic | 30 | no | no | no | | `hospitality` | Fine Dining/Hospitality | regional | market | elastic | 60 | no | no | no | --- ## 4. Complete Production Chain Set ### Raw → Intermediate | Chain ID | Output | Inputs | Notes | |----------|--------|--------|-------| | `smelt_ore` | refined_metals (1.0) | metallic_ore (2.0) | High volume, simple processing | | `alloy_fabrication` | advanced_alloys (1.0) | metallic_ore (1.5), rare_minerals (0.3) | Rare minerals are bottleneck | | `fuel_refining` | fusion_fuel (1.0) | water (5.0) | Low yield — directive (c). 5:1 ratio makes fuel expensive despite cheap input | | `food_processing` | processed_food (1.0) | agricultural_produce (1.5), water (0.2) | Ubiquitous, low margin | | `electronics_fabrication` | electronics (1.0) | rare_minerals (0.5), refined_metals (0.3) | Rare minerals are scarcity driver | | `chemical_processing` | chemicals (1.0) | chemical_feedstock (1.0), water (0.3) | Industrial chemistry | | `chemical_from_organics` | chemicals (0.8) | organic_compounds (1.0), water (0.3) | **Substitution route**: biochem path to same output, lower yield | | `textile_production` | textiles (1.0) | organic_compounds (0.8), chemicals (0.2) | Includes brach fiber processing pathway | | `panel_milling` | structural_panels (1.0) | timber (1.0), refined_metals (0.5) | Timber-dependent — forest world proximity matters | | `drive_core_assembly` | drive_cores (1.0) | rare_minerals (0.4), advanced_alloys (0.8) | Double rare_minerals dependency (direct + via alloys) | ### Intermediate → Final | Chain ID | Output | Inputs | Notes | |----------|--------|--------|-------| | `heavy_equipment_assembly` | heavy_equipment (1.0) | refined_metals (1.0), electronics (0.3), drive_cores (0.2) | Stalownia's recipe | | `vehicle_manufacturing` | vehicles (1.0) | advanced_alloys (0.8), electronics (0.3), drive_cores (0.3) | MVG uses alloys, not base metal | | `freight_hauler_construction` | freight_haulers (1.0) | refined_metals (1.5), drive_cores (0.5), electronics (0.3) | Metal and drive-core intensive | | `consumer_goods_assembly` | consumer_goods (1.0) | processed_food (0.3), textiles (0.3), electronics (0.2) | Broad input mix — diversified | | `luxury_from_agriculture` | luxury_goods (1.0) | agricultural_produce (2.0), chemicals (0.3) | Spirits, wines, premium food. Aging/terroir per corp | | `luxury_from_stone` | luxury_goods (0.5) | stone (3.0) | Decorative stone, marble. Geological ceiling per corp | | `luxury_from_textiles` | luxury_goods (1.0) | textiles (1.5), organic_compounds (0.5) | Premium garments, craft goods. Fiber ceiling per corp | | `implant_fabrication` | implant_hardware (1.0) | electronics (0.5), chemicals (0.3), advanced_alloys (0.2) | Electronics-dependent — rare mineral cascade | | `gate_component_assembly` | gate_components (1.0) | advanced_alloys (1.0), drive_cores (0.5), electronics (0.4) | Most input-intensive final. Triple rare_minerals dependency | | `habitat_module_assembly` | habitat_modules (1.0) | structural_panels (1.5), electronics (0.4), chemicals (0.3) | Panel-heavy — timber scarcity cascades here | ### Substitution Routes (structural, per D-173) Two substitution routes in the intermediate tier: 1. **chemicals**: two recipes (`chemical_processing` from chemical_feedstock, `chemical_from_organics` from organic_compounds). Different yields, same output. A node near biosphere worlds uses the organic path; a node near gas extraction uses the chemical path. Both produce chemicals. 2. **luxury_goods**: three recipes from different raw inputs (agriculture, stone, textiles). Each has independent failure modes and geographic anchors. ### Scarcity Cascade Analysis (from B-S, validated) B-S's cascade analysis holds with the unified list. The critical cascades: | Raw shortage | Direct impact | Downstream | Severity | |-------------|--------------|------------|----------| | **rare_minerals** | electronics ↓, advanced_alloys ↓, drive_cores ↓ | implant_hardware ↓↓, gate_components ↓↓↓, vehicles ↓↓ | **CRITICAL** — entire high-tech sector | | **metallic_ore** | refined_metals ↓, advanced_alloys ↓ | heavy_equipment ↓↓, freight_haulers ↓↓, habitat_modules ↓ | Construction + heavy industry halt | | **water** | fusion_fuel ↓↓, processed_food ↓, chemicals ↓ | Nearly everything downstream | **CRITICAL** — water is the hidden universal dependency | | **timber** | structural_panels ↓ | habitat_modules ↓↓ | Narrow but politically explosive (no new stations) | | **organic_compounds** | textiles ↓, chemicals (partial) ↓ | luxury_goods ↓, consumer_goods ↓ | Quality of life degradation | | **agricultural_produce** | processed_food ↓, luxury_goods ↓ | consumer_goods ↓ | Short chain but inelastic — massive price effect | **New cascade from directive (c): water → fusion_fuel.** Every system needs fuel. The 5:1 yield ratio means a water disruption creates a 5x amplified fuel shortage. Water-poor stations far from ice sources have permanently elevated operating costs AND energy costs. This is a structural double-whammy that creates real geographic disadvantage for bare-rock frontier stations. Elegant. --- ## 5. Service Demand Model (Gestalt integration) Services don't participate in production chains (D-173). They are demand sinks on the physical commodity chain. Gestalt's goods-demand multiplier model (section 5 of his Round 1) is the right approach: | Service | Goods consumed | Mechanism | |---------|---------------|-----------| | legal_services | fusion_fuel (office power) | Tractus velocity (fees accelerate currency circulation) | | financial_services | — | Tractus velocity; affects cross-zone trade friction | | medical_services | chemicals, electronics | Hospital/clinic consumables | | insurance | — | Affects trade volume through risk pricing | | information_brokerage | — | Affects signal visibility (improves `official_coverage_ratio`) | | commission_certification | — | Tractus sink (certification fees); inverse of shadow economy | | habitation | consumer_goods, fusion_fuel | Station life support and amenities | | tourism | luxury_goods, consumer_goods | Destination consumption | | entertainment | electronics (production hardware), fusion_fuel | Content creation infrastructure | | hospitality | agricultural_produce, processed_food | Kitchen/restaurant inputs | This means a high-tourism node pulls increased luxury goods demand. A high-medical-services node increases chemicals demand. These are emergence-generating interactions without explicit service transaction modeling. The service's throughput seed (D-176) determines volume; the goods-demand multiplier creates the supply chain link. --- ## 6. Updated SQL Schema (for #804) ```sql CREATE TABLE commodities ( commodity_id TEXT PRIMARY KEY, name TEXT NOT NULL, tier TEXT NOT NULL CHECK(tier IN ( 'raw', 'intermediate', 'final', 'service_professional', 'service_luxury' )), elasticity TEXT NOT NULL CHECK(elasticity IN ( 'perfectly_inelastic', 'inelastic', 'unit_elastic', 'elastic', 'highly_elastic' )), base_price REAL NOT NULL CHECK(base_price > 0), bulk_class TEXT NOT NULL CHECK(bulk_class IN ( 'bulk', 'liquid', 'standard', 'compact', 'precision', 'oversized', 'non_physical' )), unit TEXT NOT NULL CHECK(unit IN ('tonnes', 'units', 'contracts')), production_ubiquity TEXT NOT NULL CHECK(production_ubiquity IN ( 'ubiquitous', 'common', 'regional', 'concentrated', 'monopolistic' )), demand_model TEXT NOT NULL CHECK(demand_model IN ( 'market', 'utility', 'compliance' )), commission_certified INTEGER NOT NULL DEFAULT 0, compact_contested INTEGER NOT NULL DEFAULT 0, shadow_viable INTEGER NOT NULL DEFAULT 0, description TEXT ); CREATE TABLE production_chains ( chain_id TEXT PRIMARY KEY, output_commodity TEXT NOT NULL REFERENCES commodities(commodity_id), output_quantity REAL NOT NULL DEFAULT 1.0 CHECK(output_quantity > 0), location_bound INTEGER NOT NULL DEFAULT 0, description TEXT ); CREATE TABLE chain_inputs ( chain_id TEXT NOT NULL REFERENCES production_chains(chain_id) ON DELETE CASCADE, commodity_id TEXT NOT NULL REFERENCES commodities(commodity_id), quantity REAL NOT NULL CHECK(quantity > 0), PRIMARY KEY (chain_id, commodity_id) ); CREATE INDEX idx_commodities_tier ON commodities(tier); CREATE INDEX idx_commodities_ubiquity ON commodities(production_ubiquity); CREATE INDEX idx_chains_output ON production_chains(output_commodity); CREATE INDEX idx_chain_inputs_commodity ON chain_inputs(commodity_id); ``` 12 fields per commodity. 1:1 TOML→DB mapping. No computed columns. --- ## 7. Updated Validation Rules All Round 1 rules remain. Additions for new fields: ### New hard failures | Rule | Rationale | |------|-----------| | All `production_ubiquity` values must match enum | Typo protection | | All `demand_model` values must match enum | Typo protection | | All `bulk_class` values must match enum (7 values now) | Expanded from 4 | | Services must have `bulk_class = "non_physical"` | Services can't be transported | | `demand_model = "utility"` commodities must have `elasticity` ∈ {perfectly_inelastic, inelastic} | Utility goods can't be highly elastic — people need them | | `demand_model = "compliance"` commodities must have `commission_certified = true` | Compliance demand requires a certifying authority | | `fusion_fuel` must appear as an intermediate, not raw | Directive (c) constraint | ### New soft warnings | Rule | Rationale | |------|-----------| | Commodities with `shadow_viable = true` SHOULD have `commission_certified = true` OR `compact_contested = true` | Shadow markets arise from regulatory friction — if there's no friction, why shadow? | | `production_ubiquity = "monopolistic"` commodities SHOULD have `elasticity` ∈ {elastic, highly_elastic} | Monopolistic supply + inelastic demand = runaway prices with no equilibrium | --- ## 8. Complete Example TOML Records ### Raw material example ```toml [water] name = "Water/Volatiles" tier = "raw" elasticity = "perfectly_inelastic" base_price = 2.0 bulk_class = "liquid" unit = "tonnes" production_ubiquity = "ubiquitous" demand_model = "utility" commission_certified = false compact_contested = false shadow_viable = false description = "Water ice, atmospheric gases. Life support critical. Fusion fuel feedstock." ``` ### Intermediate example (directive c — the new water→fuel chain) ```toml [fusion_fuel] name = "Fusion Fuel" tier = "intermediate" elasticity = "perfectly_inelastic" base_price = 20.0 bulk_class = "liquid" unit = "tonnes" production_ubiquity = "common" demand_model = "utility" commission_certified = true compact_contested = true shadow_viable = true description = "Deuterium/tritium refined from water. Low yield. Continuous consumption." ``` ### Final good example (the politically charged one) ```toml [implant_hardware] name = "Implant Hardware" tier = "final" elasticity = "highly_elastic" base_price = 400.0 bulk_class = "precision" unit = "units" production_ubiquity = "concentrated" demand_model = "market" commission_certified = true compact_contested = true shadow_viable = true description = "Neural interfaces, lattice components. Commission-certified. THE Compact flashpoint." ``` ### Production chain example (with substitution) ```toml [chemical_processing] output = "chemicals" output_quantity = 1.0 inputs = [ { commodity = "chemical_feedstock", quantity = 1.0 }, { commodity = "water", quantity = 0.3 }, ] description = "Industrial chemistry from geological/gas feedstock." [chemical_from_organics] output = "chemicals" output_quantity = 0.8 inputs = [ { commodity = "organic_compounds", quantity = 1.0 }, { commodity = "water", quantity = 0.3 }, ] description = "Biochemical processing. Lower yield, different source. Substitution route." ``` ### Service example ```toml [commission_certification] name = "Commission Certification" tier = "service_professional" elasticity = "inelastic" base_price = 100.0 bulk_class = "non_physical" unit = "contracts" production_ubiquity = "concentrated" demand_model = "compliance" commission_certified = true compact_contested = true shadow_viable = false description = "Commission regulatory certification. Tractus-denominated. Availability inverse to shadow economy." ``` (Shadow-viable is false for certification itself — you can't shadow-market the Commission's own stamp. You shadow-market the GOODS that skip certification.) --- ## 9. Totals and Delta from D-173 | Category | D-173 target | This proposal | Delta | Justification | |----------|-------------|---------------|-------|---------------| | Raw materials | ~7 | 8 | +1 | chemical_feedstock distinct from organic_compounds | | Intermediate goods | ~8 | 9 | +1 | fusion_fuel per directive (c) | | Final goods | ~7 | 8 | +1 | freight_haulers per B-S demand function analysis | | Professional services | ~5 | 7 | +2 | commission_certification (shadow economy mechanism), habitation (rent verb) | | Luxury services | ~3 | 3 | 0 | — | | **Total** | **~30** | **35** | **+5** | Each addition creates distinct simulation behavior | D-173 said "approximately 30." Five additions, each with a clear mechanical justification. None are brand-level splits (directive a). None are gratuitous duplication (directive d). The count follows from what the civilization needs (task framing). --- ## 10. Difficulty Assessment (unchanged) - **TOML schema**: Tier 1 (straightforward). More fields per record, same flat structure. - **Build step**: Tier 2 (moderate). ~250 lines now (was ~200), extra validation for new fields. - **Schema alignment**: Tier 1 (straightforward). 12-column table, direct mapping. - **Validation rules**: Tier 2 (moderate). Cross-field consistency checks added. Total: feasible, well-bounded. The risk remains content completeness, not technical complexity. --- ## 11. Open Questions for the Team 1. **B-S:** Is the 5:1 water→fuel yield ratio right for the economic dynamics you want? Lower ratio = fuel cheaper, less geographic pressure. Higher ratio = more frontier economic stress. 2. **Gestalt:** The service goods-demand multipliers (section 5) — should these be authored in a TOML file, or hardcoded in the sim? If TOML, we need a `service_demand.toml` schema alongside commodities and chains. 3. **Miri:** The `description` field — placeholder quality for now, or should Mellanie do a pass before the TOML ships? (This is orthogonal to the schema question but affects the authoring timeline.) 4. **All:** Is 35 commodities the right count, or should any of my 5 additions be collapsed? I can defend all five, but I'm not attached to chemical_feedstock if it truly collapses into organic_compounds.