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>
84 lines
6.0 KiB
Markdown
84 lines
6.0 KiB
Markdown
# 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
|