Files
settled-reach/docs/sprints/sprint-33/copy.md
T
jpmschweitzerandClaude Sonnet 4.6 7270b860cb chore(meta): plan Sprint 33: Pecunia
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>
2026-04-07 08:36:31 +02:00

8.6 KiB
Raw Blame History

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_zone column exists on star_systems (default TRACTUS_PRIMARY). Sol (GJ 0) is already MIXED. All other systems are currently TRACTUS_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 is MARK_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_PRIMARY or MIXED). Systems not listed default to TRACTUS_PRIMARY.
  • Miri owns the lore: which systems are Compact of Westphalia members? Cross-reference wiki/factions/compact-of-westphalia.md and system wiki pages. MIXED is 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.py function set_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 = false per D-186 — your zone assignments also drive that default, so precision matters.

#803 — Define shadow economy intensity ranges

  • Output: wiki/economics/shadow_economy.toml with per-system-type intensity ranges.
  • Geographic bands from D-174: core systems 0.00.2, mid-reach 0.30.6, Compact and frontier 0.60.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.70.8) while remaining culturally coherent citizens.
  • The official_coverage_ratio signal (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) and wiki/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[] — 25 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_archetype from 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 that lore.toml and behavioral.toml schemas 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.md for the full list. Reference: wiki/economics/commodities.toml and wiki/economics/production_chains.toml for 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