Economics simulation sprint — skeleton binary through corporate agents. 13 tickets across server/copy/client/ci. Stability tests (D-179) are the sprint exit condition. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
8.6 KiB
Sprint 33: Pecunia — Copy Tasks
Goal: Full economics simulation running — Leontief production, spatial price equilibrium, currency zones, corporate behavioral agents across all three corporation tiers, stability tests passing.
Branch: sprint-33/copy
Agents: Mellanie (author), Miri (worldbuilding), Paula (narrative)
New Tickets
| # | Title | Blocked by |
|---|---|---|
| #820 | Author MARK_PRIMARY currency zone assignments for Compact systems | — |
| #803 | Define shadow economy intensity ranges | — |
| #799 | Generate ~150 Tier-2 regional corporations | #798 (DONE) |
| #800 | Build corporation generation pipeline for Tier-3 | #798 (DONE) |
| #812 | Wiki commodity copy pass | — |
Use tooling/db/ticket show <id> for full ticket details.
Key Decisions
decisions/economics.md— D-171 (three-currency system: Tractus/Mark/Sol), D-172 (currency zone initialization: affiliation-based, NOT hop-distance), D-173 (commodity taxonomy), D-174 (shadow economy layer: Compact shadow is principled economic resistance, not frontier lawlessness), D-175 (corporation taxonomy: Tier 1/2/3 structure, prerequisite for Phase 2), D-182 (TOML source of truth), D-183 (iterative development cycle), D-184 (36-type commodity catalog), D-185 (brands not commodities)decisions/architecture.md— D-166 (Phase 2 deliverable: economics simulation with runtime-tweakable parameters)
Notes
#820 — Author MARK_PRIMARY currency zone assignments for Compact systems
- The
currency_zonecolumn exists onstar_systems(defaultTRACTUS_PRIMARY). Sol (GJ 0) is alreadyMIXED. All other systems are currentlyTRACTUS_PRIMARY. - Per D-172: zone assignment derives from political affiliation (Compact membership, Commission presence) — NOT from hop distance. Hop distance correlates with Compact membership but is not the rule. A hop-5 Assembly system stays
TRACTUS_PRIMARY; a hop-8 Compact member isMARK_PRIMARY. - Output: a TOML or JSON data file (e.g.,
wiki/economics/currency_zones.toml) that lists each Compact-member system_id and its zone flag (MARK_PRIMARYorMIXED). Systems not listed default toTRACTUS_PRIMARY. - Miri owns the lore: which systems are Compact of Westphalia members? Cross-reference
wiki/factions/compact-of-westphalia.mdand system wiki pages.MIXEDis for Compact-sympathetic systems where both currencies are accepted but neither dominates — use it for border/transitional systems. - The import pipeline (
tooling/economy-db/import_economics.pyfunctionset_currency_zones) already has a placeholder comment: "Future: Compact systems → MARK_PRIMARY (requires authored Compact membership data)." Your output feeds directly into that pipeline extension (server team #805 will wire it up). - Compact members default to
gate_energy_connected = falseper D-186 — your zone assignments also drive that default, so precision matters.
#803 — Define shadow economy intensity ranges
- Output:
wiki/economics/shadow_economy.tomlwith per-system-type intensity ranges. - Geographic bands from D-174: core systems 0.0–0.2, mid-reach 0.3–0.6, Compact and frontier 0.6–0.9.
- Seeding inputs (additive, D-174): Commission presence (inverse — high Commission = low shadow), Compact membership (elevated independently of distance), hop distance from Core, gate topology (dead-end systems higher than transit nodes).
- Critical framing (D-174): The Compact's shadow economy is principled economic resistance to Assembly currency friction on enforcement costs — not frontier lawlessness. This distinction must be legible in the intensity value commentary and any associated narrative notes. Compact members at hop 6+ can have high intensity (0.7–0.8) while remaining culturally coherent citizens.
- The
official_coverage_ratiosignal (D-181 signal 7) is derived from this data — it is the gap between what the lattice audit trail sees and the real economic activity. Write the TOML so it is queryable by system_type and by specific system_id overrides. - Paula owns the narrative framing. Miri owns geographic distribution. Mellanie owns the file structure and prose flavor.
#799 — Generate ~150 Tier-2 regional corporations
- #798 (archetype taxonomy) is DONE.
wiki/economics/archetypes/lore.toml(28 lore-taxonomy archetypes: extraction, agriculture, manufacturing, trade/logistics, services, intelligence, east-reach) andwiki/economics/archetypes/behavioral.toml(6 behavioral archetypes) are the templates. - Output: TOML records in
wiki/economics/corporations/tier2/— one file per corporation or one file per corridor/sector (your call, but keep it reviewable in git). - Each record needs: name, sector (lore archetype), corridor, backstory, distinct character, behavioral archetype. Plus:
products[]— 2–5 branded product names based on primary commodity and cultural corridor. Brands are authored, not templated (D-185). - Distribution: across all corridors including east reach. East reach was flagged as a gap in D-175 — ensure coverage there. Coverage rule: every commodity type must have at least one Tier-2 producer; every major corridor must have at least one Tier-2 firm.
- These corporations are the regional competitors — the ones that can fail, grow, or be acquired. Give them distinct character: each should feel like a real business with a particular personality, not a slot-filler. A Cooperative in Braemar behaves and speaks differently from an Intermediary in the Compact zone.
- The Tier-2 corpus feeds #809 (server corporate agents) — server team will read
behavioral_archetypefrom these records to instantiate simulation parameters. Keep that field clean.
#800 — Build corporation generation pipeline for Tier-3
- Note: this ticket is assigned to the server team (it is a Rust binary). The copy team's dependency is upstream: the archetype TOML files in
wiki/economics/archetypes/must be finalized before the pipeline runs. Verify with server team thatlore.tomlandbehavioral.tomlschemas are stable before Sprint 33 mid-point. - Copy team action for this ticket: review and sign off on the generated output (
generated_corporations.toml) for lore consistency. The Tier-3 instances stock brands from Tier-1 and Tier-2 corporations in the same supply chain corridor — Paula should verify the brand attribution feels geographically coherent.
#812 — Wiki commodity copy pass
- 36 commodity stub pages exist at
wiki/economics/commodities/— currently auto-generated field tables only (no flavor text). - Output: flesh out each stub with flavor text, lore context, and production chain descriptions.
- Reference:
wiki/economics/commodities/index.mdfor the full list. Reference:wiki/economics/commodities.tomlandwiki/economics/production_chains.tomlfor the technical data to translate into prose. - Voice: these pages appear in the implant wiki (GTTR equivalent for economic data). Write them as objective technical/commercial entries — not marketing copy, not academic dry. The voice of an economic intelligence briefing that a trader would actually read.
- Key commodities to handle with care:
fusion_fuel— intermediate, not raw; 8:1 water yield ratio (D-187); utility demand at every node; frontier premium is structural, not event-driven.- Services (
commission_certification,financial_services,medical_reembodiment,insurance,entertainment,hospitality) — location-bound, non-transportable through gates; they consume goods but do not produce them. - Brands are NOT commodities (D-185) — do not create stub pages for Calloway whisky, VGV wine, etc. The catalog terminates at abstract generic finals (e.g., "premium spirits").
- Mellanie owns the writing. Paula reviews for narrative voice consistency. Miri flags any lore collisions.
Dependency Chain
#820 (Compact zone assignments) → feeds server #805 corp pipeline
#803 (shadow economy ranges) → feeds server #808 currency zones ticket
#799 (Tier-2 corps) ──────────────────────────────→ #809 (server: corporate agents)
#800 (Tier-3 pipeline, server executes) ──────────→ #809 (server: corporate agents)
#812 (commodity copy) → standalone, no code blockers
#799 and #803 are the sprint-critical outputs — server team cannot close #808 and #809 without them. Start these first.
PR Workflow
When ready to submit, create a PR with tea CLI. All flags are required to avoid TTY prompts (see CLAUDE.md "Gitea access" section):
tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(copy): description" --description "body" --base main --head sprint-33/copy