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

84 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.db``SELECT 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