Workshop #796 produced 13 D-records (D-171–D-183) defining the Phase 2 economics layer: three-currency system, commodity taxonomy, shadow economy, corporation tiers, productivity seeding, simulation architecture, TOML data pipeline. Workshop #801 added D-184–D-187: commodity catalog (36 types), brands are not commodities, gate transmission levels (mass+data+energy), fusion fuel as intermediate (8:1 water yield). R-011 filed (single currency rejected). Burnelli-Sheldon agent added. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
149 lines
12 KiB
Markdown
149 lines
12 KiB
Markdown
# Workshop #796 — Economics Layer Design
|
||
## Round 2 Proposals + Lead Feedback Summary
|
||
**Date:** 2026-04-05
|
||
**Sprint:** 32 (planning branch)
|
||
**Status:** Round 2 complete. Round 3 (convergence) pending.
|
||
|
||
---
|
||
|
||
## Round 2 Proposals Summary
|
||
|
||
**Gestalt (Mechanics):**
|
||
- `EconomicEvent` interface: `affected_nodes`, `commodities`, `supply/demand multipliers`, `duration`, `information_state: Public|Private`. Private events propagate at trade speed; Public events propagate instantly. This protects the inspect verb.
|
||
- Corporation taxonomy: 3 behavioral tiers — Syndic (price anchors, slow response), Mid-tier (regional competitors, can fail), Sub-Syndic local (price-takers, not individually simulated).
|
||
- 6 signal types per node: `price_current`, `price_trend`, `trade_flow_volume`, `corporate_presence`, `stockpile_weeks`, `production_vs_baseline`. Visibility layered from Public to Private.
|
||
- Production chain principles: geographic anchor, 3-tier max depth, substitutable inputs at intermediate level, cultural identity encoded in final goods.
|
||
- Political pressure is structural: currency zone, bloc affiliation, preferred currency baked into corporation profiles — not applied as external modifiers.
|
||
|
||
**Tyre (Technical):**
|
||
- Schema additions: `gate_links` table (335 edges from star-map.json), `commodities` table (22 types), `production_chains` + `chain_inputs`, `currency_zone` column on star_systems, corporation extensions + `corp_presence` table.
|
||
- Transport graph: gate edges (5-12%/hop) + orbital edges (1-3%), Floyd-Warshall for ~760 active nodes at startup (~0.5s).
|
||
- Market node tiering: ~760 active (full markets), ~240 passive producers (feed nearest station), ~2,700 inert (no economic footprint).
|
||
- `economy_sim` CLI: `--seed`, `--years`, `--watch`, `--stability-check` modes.
|
||
- `generate_corporations` binary with coverage rules: 3+ corps per major commodity, 1+ per inhabited system >100K pop.
|
||
- Phased implementation: 2a (data) → 2b (simulation) → 2c (integration design, D-records only).
|
||
|
||
**Paula (Political Drama):**
|
||
- 4 per-body structural flags: `currency_zone`, `trade_bloc`, `commission_presence`, `assembly_assessment_compliance`.
|
||
- 4 per-commodity structural flags: `commission_certification`, `syndic_supply_chain`, `gate_corp_floor`, `cultural_corridor_id`.
|
||
- *Currency geography proposed (now corrected by lead — see below):* Sol (hops 0-2), Mark (hops 2-5), Tractus (hop 6+ and Compact).
|
||
- Corporation texture plan: 25 tier-1 textured (13 upgraded + 12 new), ~175 tier-2 skeletons. Gaps: financial services, re-embodiment, Sova Logistics, Compact distributor, east reach anchors, information brokerage.
|
||
- 6 sharp events + 5 slow accumulation drifts (wage compression, market consolidation, currency zone drift, infrastructure neglect, reputation decay).
|
||
|
||
**Nigel (Replayability):**
|
||
- Productivity seed: 4 dimensions — `extraction_rate`, `processing_throughput`, `transit_capacity`, `service_throughput`. Log-normal distribution, 0.4-1.8× for standard, 0.7-1.4× for monopolies, corridor correlation ~0.6.
|
||
- Exchange rates emerge from aggregate productivity differentials, not seeded directly. Volatility per currency: Sol lowest, Mark mid, Tractus highest.
|
||
- Observable signals for investor screen: price gradient map, trade flow visualization, currency ticker with volatility trail.
|
||
- Event input port: `EconEvent { target, effect, visibility }`. `Visibility: Global | Proximate(hops) | Disclosed(nodes) | Hidden`. Hidden events create real effects with no actor knowing the cause.
|
||
|
||
**Burnelli-Sheldon (Economics):**
|
||
- Formal model: ~760 nodes, Leontief production with seeded capacity, damped tâtonnement (α=0.03, β=0.4).
|
||
- 22 commodity types: 7 raw, 8 intermediate, 7 final. Full input/output recipes.
|
||
- Exchange rates: Sol/Mark managed peg (political), Mark/Tractus managed float (trade-balance driven, γ=0.02, δ=0.4), Sol/Tractus derived. 3% conversion friction on cross-zone trade. *(Note: peg direction needs re-examination under corrected political framing — Tractus/Mark peg, Assembly→Compact, is more politically coherent than Sol/Mark. Sol has no issuer to manage a peg.)*
|
||
- 6 corporate archetypes: Monopolist, Distributor, Producer, Specialist, Cooperative, Intermediary.
|
||
- 4 stability criteria: cold-start convergence (±5% in 100 days), long-run stability (±2% over 1,000 days), shock response, cross-zone trade balance.
|
||
- Standalone `econ-sim` binary in `tooling/`, reads systems.db + `commodities.toml` + `production_profiles.toml`, outputs CSV timeseries.
|
||
|
||
**Miri (Lore):**
|
||
- Currency lore: Sol (Earth legacy, finite pool, no issuer, appreciating), Mark (described as Concord institutional — *since corrected: Mark is Compact of Westphalia*), Tractus (daily commercial, what people are paid in — *since corrected: Tractus is the Concord Assembly/establishment currency, not a frontier coin*).
|
||
- Van Maanen's Star economic profile: Station Sova as freight hub, 4 tycoon business types, economic pressures. *(Out of Phase 2 scope per lead — noted below.)*
|
||
- 28 corporation archetypes across extraction (5), agriculture (6), manufacturing (6), trade/logistics (4), services (6), intelligence (1).
|
||
- East reach: 5 new archetypes — deep ocean fishery, precision instruments, fermentation cooperative, maritime salvage, textile/craft guild.
|
||
- Productivity constraint table: aging pipelines (Calloway 12-20y, VGV 5y+), hard ceilings (Kvitfjell 800t/y), capital goods lead times (Stalownia 1-3y, Cygni B 2-5y).
|
||
|
||
---
|
||
|
||
## Lead Corrections (Jeroen — verbatim → interpreted)
|
||
|
||
### (a) Currency framing — corrected
|
||
|
||
**The political mapping was inverted.** Correct framing:
|
||
|
||
| Currency | Issuer | Role | Notes |
|
||
|----------|--------|------|-------|
|
||
| **Tractus** | Concord Assembly (Sirius / Groombridge) | Main Reach currency — the establishment currency | Poor exchange rates in Compact, but accepted everywhere else |
|
||
| **Mark** | Compact of Westphalia | Breakaway currency — created to disconnect from Tractus | Mostly not accepted outside the Compact |
|
||
| **Sol** | Sol system (no active issuer, finite pool) | Niche, untraceable — crime and premium Earth goods | Appreciating due to finite supply; used where anonymity matters |
|
||
|
||
*Currency correction applied 2026-04-05: Mark is Compact of Westphalia currency, not Concord. "Concord" in Jeroen's original directive referred to the Compact. Political framing: Assembly = Tractus (establishment), Compact = Mark (breakaway).*
|
||
|
||
### (b) Services and luxury services needed
|
||
|
||
The commodity model must include:
|
||
- **Professional services:** legal, banking/credit, insurance, logistics management
|
||
- **Luxury services:** tourism, music, holo-content, experiences, cultural exports
|
||
|
||
These were hinted by Paula but not formally included in the 22-commodity list. Required for the commodity table to be complete.
|
||
|
||
### (c) Crime and smuggling required
|
||
|
||
A shadow economy layer is required. Geographic variance: nearly absent in Commission-heavy systems, rampant in Compact frontier, continuous spectrum between. D-037 (Sova contraband: lattice components) is a canonical example. The economics layer needs to model shadow activity without a formal system — likely implemented as per-body flags (`commission_presence`, `unbound_density`) that influence effective market access.
|
||
|
||
### (d) Productivity seeding — endorsed
|
||
|
||
Nigel and Miri's productivity seeding proposals are solid. No correction. Log-normal seeding of `extraction_rate`, `processing_throughput`, `transit_capacity`, `service_throughput` proceeds.
|
||
|
||
### (e) Tycoon profile — out of Phase 2 scope
|
||
|
||
Van Maanen's Star economic profile (OQ-7 from Round 1 report) is not a Phase 2 deliverable. Miri's detailed tycoon business profile is deferred. The simulation doesn't need a specific system profiled for Phase 2 — it needs coverage rules, not narrative anchors.
|
||
|
||
### (f) Corporations as prerequisite — confirmed
|
||
|
||
Corporation/brand population comes FIRST. Simulation runs on real corporate data, not placeholders. This is Phase 1 content work (D-166 applies). The `generate_corporations` binary should target real archetypes from Miri's 28-archetype catalog, not procedurally generated shells. How many corporations is "enough" remains an open question (see below).
|
||
|
||
### (g) Database architecture — hybrid confirmed
|
||
|
||
**TOML/YAML as source of truth** (diffable, in git). `make economy-db` builds the dev `.db`. The `.db` is a queryable artifact, always on disk, rebuilt when source changes. For production: same build step, copy into save directory on new game, sim mutates live. Rollback = rebuild from source files.
|
||
|
||
Source files location: `content/economics/` (TOML files for corporations, commodities, production chains, etc.)
|
||
|
||
### (h) Iterative development cycle — confirmed
|
||
|
||
skeleton → data → test → skeleton tweaks → data tweaks → test → repeat. Not waterfall phases. Sim binary and data population happen in tandem.
|
||
|
||
---
|
||
|
||
## Open Questions Entering Round 3
|
||
|
||
| # | Question | Status | Notes |
|
||
|---|----------|--------|-------|
|
||
| OQ-1 | Currency names — final canonical names for Tractus, Mark, Sol | **Partially resolved** — names confirmed by lead; lore detailing TBD by Miri |
|
||
| OQ-2 | Corporation density threshold — how many to make simulation credible? | **Open** | Coverage rules proposed (3+ per commodity, 1+ per inhabited system) but total count not confirmed |
|
||
| OQ-3 | East Reach economic identity | **Partially resolved** — Miri provided 5 archetypes; full profile still thin |
|
||
| OQ-4 | Exchange rate model — fixed peg, managed float, or derived? | **Partially resolved** — Burnelli-Sheldon's model (managed peg Sol/Mark, managed float Mark/Tractus) subject to confirmation given currency framing correction |
|
||
| OQ-5 | Corp creation sequencing vs. simulation start | **Confirmed** — corps come first (directive f) |
|
||
| OQ-6 | Compact economics — Compact accepts Tractus at bad rates? Uses Mark? Uses Sol? | **New open question** from currency correction |
|
||
| OQ-7 | Van Maanen's Star profile | **Deferred** — out of Phase 2 scope |
|
||
| OQ-8 | Services/luxury commodity types — formal list | **New** — must be defined before commodity table is complete |
|
||
| OQ-9 | Shadow economy mechanics — per-body flags or separate system? | **New** |
|
||
| OQ-10 | Active/passive/inert threshold — what makes a node "active"? | **Tyre's proposal** — 760 active / 240 passive / 2,700 inert — needs confirmation |
|
||
|
||
---
|
||
|
||
## What Round 3 Must Lock
|
||
|
||
For D-records to be written, Round 3 must produce confirmed answers on:
|
||
|
||
1. **Three currency canonical definitions** — names, issuer, acceptance geography, role
|
||
2. **Commodity type list** — final count (22 + services + luxury = ~30?), full categorization
|
||
3. **Corporate coverage rules** — density threshold per commodity, per system, per corridor
|
||
4. **Per-body data flags** — confirm Paula's 8 flags + shadow economy flag
|
||
5. **Market node tiering** — confirm 760/240/2,700 split or revise
|
||
6. **Database source file location** — `content/economics/` TOML confirmed?
|
||
7. **Productivity seed dimensions** — confirm Nigel's 4 dimensions + log-normal distribution
|
||
8. **Development sequence** — confirm skeleton → data → test cycle as the process D-record
|
||
|
||
---
|
||
|
||
## Record implications (Qatux)
|
||
|
||
- **Round 1 report correction:** The currency bloc table in `workshop-796-round1.md` listed "Earth / Concord / Assembly" as bloc labels — this was based on agents' Round 1 proposals and is now superseded. The corrected framing is Tractus (Assembly/Sirius main), Mark (Concord rebellious), Sol (Sol system niche/crime).
|
||
- **D-037 cross-reference:** Shadow economy in the simulation will need to cite D-037 (Sova contraband) as the canonical example of shadow market mechanics.
|
||
- **R-NNN pending:** Burnelli-Sheldon's single-currency recommendation is confirmed rejected. Rejection rationale: three currencies create structural economic bloc tension without event generation. Will be filed as R-NNN in Round 3.
|
||
- **Architecture D-record:** TOML + built .db hybrid needs a D-record. Closest existing decision is D-010 (deterministic simulation) and the general architecture — economics DB is new territory. Will file in `decisions/architecture.md`.
|
||
- **Process D-record:** Iterative skeleton→data→test cycle for economics may belong in `decisions/process.md` rather than `decisions/economics.md`.
|
||
|
||
---
|
||
|
||
*Compiled by Qatux. Round 3 convergence pending.*
|