Files
settled-reach/docs/sprints/sprint-33/joint.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

6.0 KiB
Raw Blame History

Sprint 33: Pecunia — Joint Notes

Goal: Full economics simulation running — Leontief production, spatial price equilibrium, currency zones, corporate behavioral agents across all three corporation tiers, stability tests passing.

Sprint Completion Proof

When Sprint 33 is done, you can:

  1. Run economy-sim --stability-check and see all four D-179 tests pass: cold-start convergence (±5% within 100 days), long-run stability (no drift > ±2% over 1,000 days), shock response (recovery within 200 ticks, no negative prices), cross-zone re-stabilization (within 50 ticks).
  2. See Compact systems with MARK_PRIMARY currency zones in server/data/systems.dbSELECT system_id, currency_zone FROM star_systems WHERE currency_zone != 'TRACTUS_PRIMARY' returns a non-trivial list matching Compact membership.
  3. See 150 Tier-2 corporations in wiki/economics/corporations/tier2/ with distinct names, corridors, backstories, and branded product lists.
  4. See generated_corporations.toml with 5,000+ Tier-3 template instances covering all inhabited systems.
  5. Read 36 commodity wiki pages at wiki/economics/commodities/ with full flavor text, lore context, and production chain descriptions.
  6. See wiki/economics/shadow_economy.toml with per-system-type intensity ranges authored and annotated.
  7. See the icon_tint.gdshader in the client with recoloring working on both stroke and fill icon types at all implant theme semantic colors.
  8. Grep for qdrant in the repo and find no references (removal complete).

Phase 2 Context

Phase 2 deliverable (D-166): "Economics spreadsheets/graphs with runtime-tweakable simulation."

Sprint 33 is the first economics implementation sprint. The economics schema (#804, DONE), commodity catalog (wiki/economics/commodities.toml), and production chains (wiki/economics/production_chains.toml) were completed in Sprint 32. The Tier-1 corporation corpus (38 named corporations, #797, DONE) and archetype taxonomy (#798, DONE) are also in place.

This sprint builds the simulation binary and completes the corporation corpus (Tier 2 authored, Tier 3 generated). It does not close Phase 2 — the phase deliverable includes the full signal pipeline and runtime-tweakable parameters, which will be Sprint 34+ work. But passing all four stability tests in Sprint 33 validates the model architecture and unblocks everything downstream.

Pre-Sprint Checklist

Before any simulation code is written, verify:

Item Owner Status
server/data/systems-schema.sql has currency_zone on star_systems server Done (#804)
corp_presence table exists in schema server Done (#804)
wiki/economics/commodities.toml — 36 types present copy Done (#801)
wiki/economics/production_chains.toml — 21 chains present copy Done (#801)
wiki/economics/archetypes/lore.toml — 28 archetypes defined copy Done (#798)
wiki/economics/archetypes/behavioral.toml — 6 archetypes defined copy Done (#798)
38 Tier-1 corporations in DB + wiki copy Done (#797)

Cross-Team Dependencies

The server simulation chain (#806 → #807 → #808 → #809) has hard blockers on copy team output:

  • #809 (corporate agents) cannot be started until #799 (Tier-2 corps) is in a queryable state. Server team must be able to read behavioral_archetype from Tier-2 TOML records.
  • #808 (currency zones) consumes wiki/economics/shadow_economy.toml (#803) for per-node shadow_economy_intensity. Copy team should deliver #803 by mid-sprint.
  • #805 (corp pipeline) will wire in Compact zone assignments from #820. Copy team must finalize the list of MARK_PRIMARY system IDs before #805 runs its full validation pass.
  • #800 (Tier-3 pipeline) is a server Rust binary but reads archetype TOML format authored by copy. Schema for wiki/economics/archetypes/ must be stable before #800 starts. Server and copy teams: align on this format in the first two days of the sprint.

Iterative Development Cycle (D-183)

This sprint follows the iterative economics cycle: skeleton sim (#806) → data population (copy work running in parallel) → test (#807 stability) → currency layer (#808) → agents (#809). Copy and server work in parallel — they are not sequentially gated except at the #809 merge point.

If stability tests fail in #807, do not proceed to #808 until Tests 1 and 2 pass. The tâtonnement parameters (α=0.03, β=0.4) are starting values — Dudley/Tyre should tune them if the model oscillates or drifts. Report to team lead before making architectural changes.

Dependency Chain

Server chain:
  #813 (energy-over-gate schema) ─────────────────────────────────────────┐
  #805 (corp pipeline + validation) → #806 (skeleton sim)                  |
                                          → #807 (trade flows + stability) |
                                              → #808 (currency zones) ←───┘
                                                  → #809 (corporate agents)

Copy unblocks server:
  #820 (MARK_PRIMARY assignments) → feeds #805 validation
  #803 (shadow economy ranges) → feeds #808 shadow modifier
  #799 (Tier-2 corps) ─────────────────────────────────────────────────→ #809
  #800 (Tier-3 pipeline, server executes) ───────────────────────────→ #809

Independent:
  #812 (commodity copy) → standalone
  #818 (icon_tint shader, client) → standalone
  #816 (remove Qdrant, CI) → standalone

Not In Scope

  • Phase 2 signal delivery to the Godot client — that is Phase 4 player interaction territory
  • Event input port exercising — port is stubbed in #809, not exercised until Phase 3+
  • Heightmap batch (#794) — deferred from Sprint 32, carries into a later sprint
  • Character creation UI (#694, #618, #619) — Phase 4
  • World generation — Phase 5