Agent-based macroeconomic simulation for modeling AI-driven economic transitions (1986–2040+).
Model the full cascade of what happens when AI transforms the labor market:
- The demand spiral when workers lose income
- Housing/rent crises from mass displacement
- Financial contagion through MBS, pension funds, stock markets
- Why "tax workerless companies for UBI" may not work mathematically
- Policy interventions and counterfactual analysis
- Path to a post-scarcity economy
The Julia simulation codebase has been archived (.archive/julia-v1/). The model design has evolved far beyond what that code supported. We're now focused on getting the model right before building new infrastructure.
376 audited parameters across 25 domains — each with real-world calibration data, sources, historical ranges, and audit verdicts. These YAML files (config/param_metadata/) are the primary work product.
15 entity types with detailed specifications:
- P0 (core): Individual, Household, Firm, CommercialBank, FederalReserve, Government, StockMarket, HousingMarket
- P1 (essential): Landlord/REIT, RetirementFund, MBSPool, University/Education, LocalGovernment
- P2 (important): GigEconomy, ForeignSector
38 money flows connecting all entities, plus 13 new flows from the expansion.
17 historical events (1986–2024) with behavioral transmission rules and toggle modes for counterfactual analysis.
12 structural trends with parameter trajectories: buyback rise, union decline, market concentration, healthcare costs, passive investing, housing supply constraints, and more.
Interactive dashboard (Next.js) for exploring the model: entities, parameters, flows, occupations, industries, regime events, structural trends, and counterfactual scenarios.
The model (entities, rules, parameters, events) lives in data files. The engine is just the thing that runs the model.
- Declarative entity definitions (YAML/TOML)
- Rules as separate, auditable units
- Execution engine reads definitions, builds dependency graph, runs rules
- Regime events as first-class data — toggleable, with behavioral transmissions
- Invariant checking after each rule
config/
param_metadata/ # 376+ parameters across 25+ YAML files (THE asset)
regimes/ # Historical regime definitions
dimensions/ # Occupation/industry dimensions
docs/
architecture/ # Entity specs, regime events, expansion docs
entity-specification.md
entity-spec-expansion-v2.md
regime-event-system.md
SESSION-HANDOFF-2026-03-01.md
dashboard/ # Next.js visualization & model explorer
public/data/ # Built JSON data files
scripts/ # Build scripts (param JSON, data model JSON)
src/app/ # Pages: home, data-model, parameters, methodology, simulate
data/
calibration/processed/ # Occupations, industries, industry-occupation mix CSVs
.archive/
julia-v1/ # Archived Julia codebase (58K lines)
cd dashboard && npm run devThe dashboard shows:
- Data Model — entities, flows, occupations, industries, regime events, structural trends, counterfactuals
- Parameters — full explorer with search, audit status, domain filtering
- Methodology — design principles and model documentation
- Simulate — (coming: run scenarios against the model)
Each parameter in config/param_metadata/*.yaml includes:
- Type, default, class (initial condition / fixed / time-varying / simulation knob)
- Units, historical range, tolerance
- Description, impact analysis, sensitivity notes
- Real-world sources with citations
- Linked rules, invariants, and flows
- Audit verdict (🟢 correct / 🟡 roughly right / 🔴 wrong)
Audit results: 298 correct, 72 roughly right, 6 wrong (across original 376 params).
Archive Julia code✅Decouple parameter YAMLs from Julia references✅Update entity priorities✅- Add new parameter YAML files for expanded domains (in progress)
- Update dashboard with regime events & structural trends tabs (in progress)
- Socialize the dashboard — share with partners for feedback
- Settle the model design through iteration
- Build — prototype engine (Julia or Rust)