Stratum: Phase 2 Research Pivot
The Pivot
Declared the current simulation and visualization work as Phase 1 POC / engineering history rather than the canonical research baseline.
Wrote a new Phase 2 research-first design. Locked the next-phase framing around a Park-style generative-agent architecture with model assignment as the experimental treatment.
Key Research Decisions
24 agents instead of 14 (canonical Phase 2 baseline).
Soft affiliations instead of permanent gang-style factions. Social structure emerges from interaction, not assignment.
Open district simulation where geography and institutions embed latent economic games:
- Public goods
- Common-pool resources
- Trust
- Bargaining
- Principal-agent
- Signaling
- Repeated market interaction
World Heat Ω retained as a formalized macro stress index, not just a dramatic UI number.
Model Ladder
Main capability ladder uses single-family comparison first:
- Primary suite:
Qwen3-8B / 14B / 32B
Cross-family runs compare China-family, USA-family, and Europe-family model ecosystems at matched smaller size band.
Organizational model-stack experiments approved as later Phase 2 family, with provider-family assignments rotated across organizations.
Why This Matters
Project is now framed as a study of heterogeneous AI agent societies, not as a direct simulation of human class structure.
Human class behavior and economic game design remain important, but only as scaffolding for studying how unequal model capability shapes coordination, hierarchy, brokerage, and institutional behavior among agents.
Visualization Debugging
Fixed three bugs affecting the stratum_v2_d run visualization:
API bug: Tick endpoint was replaying the simulation engine instead of reading stored SQLite world_state rows. /state/tick/26?run_id=stratum_v2_d returned wrong world entirely.
D3 bug: Force simulation could tick before SVG selections existed, causing console errors.
Health-state bug: Normalized health-state handling across world.js, graph.js, metrics.js, and dashboard.js so healthy, weakened, critical, and exiled all render explicitly.
Survival Curve Evidence
From stratum_v2_d run (100 ticks):
Ticks 0-20: All 14 agents healthy, World Heat Ω = 0.0
Tick 21: First heat spike (Ω = 1.4)
Tick 25: First weakened agent appears
Tick 30: Health collapse (8 healthy, 5 weakened, 1 critical, Ω = 8.5)
Tick 42: Total collapse (0 healthy, 9 weakened, 5 critical, Ω = 14.8)
Tick 60: All 14 agents critical, Ω stabilizes at 18.5
No agents exiled. World Heat peaked at 19.2 (tick 53), then slowly decayed as conflict stagnated.
Action Distribution
Top agents by action type (100 ticks):
Sal (14b): 52 shadow, 29 move, 11 read, 8 take
Dee (7b): 50 shadow, 17 read, 15 wait, 2 speak
Wick (7b): 75 speak, 4 wait, 2 shadow, 1 take, 1 read, 1 move
Nix (7b): 45 move, 39 wait
Strategic diversity visible. High-tier agent (Sal) uses shadow heavily. Low-tier agent (Wick) defaults to speak.