Deterministic multi-agent economic simulation engine. 13 Rust crates. 403 tests. 6,820 simulated worlds. Zero compiler warnings.
Genesis Protocol is a closed-economy agent-based simulation in which heterogeneous agents extract resources from logistic niche pools, pay metabolic costs, reproduce conditionally based on a four-trait fitness function, and face stochastic catastrophes. A redistributive treasury, homeostatic parameter controller (Cortex), and bounded genetic mutation engine provide adaptive capacity. Every state transition is deterministically seeded via SHA-256 hash chains and Knuth MMIX LCG, producing bit-identical results on the same architecture.
44 experiment configurations across three research phases (Season 1, Season 2, Sensitivity) have produced 6,820 independent world simulations totaling over 3,410,000 computed epochs. Under the default collapse definition (
| Layer | Crate | Purpose |
|---|---|---|
| Identity | genesis-dna |
SHA-256 genome derivation, four-trait phenotype, bounded mutation |
| Economics | metabolism |
ATP energy ledger, treasury, metabolic decay |
| Econometrics | genesis-econometrics |
Gini coefficient, wealth distribution, inequality indices |
| Evolution | evolution |
Selection pressure, conditional replication, horizontal gene transfer |
| Population | ecosystem |
Social mesh, niche pools, carrying capacity, telemetry |
| Regulation | genesis-homeostasis |
Adaptive Cortex — hand-engineered feedback controller |
| Multiverse | genesis-multiverse |
Parallel world instantiation, parameter sweep orchestration |
| Experiments | genesis-experiment |
Experiment engine, configurable runner, statistical reporting |
| Cryptography | genesis-anchor |
Dual-chain anchoring (SHA-256 state + BLAKE3 genome) |
| Replay | genesis-replay |
Deterministic replay from any checkpoint |
| Federation | genesis-federation |
Cross-instance communication protocol |
| Gateway | gateway |
HTTP API, SSE event stream, stress testing |
| Recruitment | apostle |
Outbound integration |
Two independent hash chains advance per epoch:
- State Chain (SHA-256):
H(prev_state_hash ‖ epoch ‖ population_snapshot) - Genome Chain (BLAKE3):
H(prev_genome_hash ‖ mutated_genomes)
Divergence between chains is detectable. Replay integrity is verifiable to any depth.
| Domain | Experiments | Worlds | Key Finding |
|---|---|---|---|
| Entropy Sweep | 1 | 200 | 10× metabolic cost increase → 4.9% Gini increase. No collapses. |
| Catastrophe Resilience | 1 | 140 | 0–3% catastrophe probability → deaths scale linearly, population declines 4.6% |
| Inequality Threshold | 1 | 160 | Tax threshold 0.20–0.90 → 31.6% Gini increase, population invariant |
| Treasury Stability | 1 | 180 | Reserve threshold sweep → <1% Gini variation across all policies |
| Reserve Stress (4 tiers) | 4 | 540 | Optimal threshold shifts +0.60 under escalating shock rates |
| Resource Depletion (4 tiers) | 4 | 600 | Carrying capacity compression from 200 to 30 |
| Resilience Quadrants | 4 | 880 | Cortex immunity × genetic immunity factorial design |
| Inversion Experiments | 3 | 360 | Basal, dual, and metabolic inversion sweeps |
| Multi-Axis Collapse | 1 | 240 | Combined stressor escalation |
| Evolution Forbidden | 1 | 200 | Mutation disabled: population persists on initial genome |
Systematically disabled treasury redistribution, ATP decay, resource regeneration, and reproduction grants — individually and in combination.
| Configuration | Key Result |
|---|---|
| Treasury disabled (baseline + hostile) | Population contracts, persists |
| ATP decay disabled (baseline + hostile) | Immortality → resource exhaustion pressure |
| All stabilizers disabled | Population ≈ 12.8, reproductive inequality 0.95 |
| Death-sink economy | Resources drain on death, population compressed |
| Extended horizon (1000 epochs) | Late-stage dynamics observable |
| Test | Result |
|---|---|
| Collapse floor = 3 (default) | 0% collapse |
| Collapse floor = 5 | 5.8% collapse |
| Collapse floor = 10 | 97.5% collapse |
| Collapse floor = 15 | 100% collapse |
| Collapse floor = 20 | 100% collapse |
| Fitness weights ±20% (8 variants) | Max 0.8 pp collapse rate change |
Sharp phase transition between floor = 5 and floor = 10. The zero-collapse headline is definition-dependent.
- Collapse definition uses a permissive default (
$P_{\text{floor}} = 3$ ) - World-level extinction floor mechanism prevents populations below 3 from reaching zero
- Cortex is a hand-engineered feedback controller, not a learned or emergent system
- Fitness weights (0.25, 0.30, 0.20, 0.25) are fixed a priori, not optimized
- Cross-platform determinism depends on floating-point architecture (verified on x86_64 Windows only)
- No Lyapunov stability proof exists — stability is empirical within tested parameter ranges
- Statistical reporting uses aggregate per-parameter-value summaries, not per-world time series
- The global stability boundary in full parameter space is not characterized
- Independent replication has not occurred
- Multi-layer engineered redundancy makes it difficult to isolate which mechanisms are necessary vs. sufficient
git clone https://github.com/FTHTrading/Genesis.git
cd Genesis
cargo build --release
cargo test --workspace # 396 pass, 7 long-run ignored, 0 failures
cargo run --release --bin run_experiments # Season 1: 17 experiments
cargo run --release --bin s1_treasury_disabled # Season 2-S1: treasury
cargo run --release --bin s2_atp_decay_disabled # Season 2-S2: ATP decay
cargo run --release --bin s3_coupled_violations # Season 2-S3: coupled
cargo run --release --bin s4_topology_violations # Season 2-S4: topology
cargo run --release --bin sensitivity_analysis # Sensitivity: 14 configsEach experiment outputs:
- CSV — per-parameter-value aggregate metrics (mean, stddev, min, max, p10, p90)
- JSON manifest — configuration, seed, SHA-256 result hash
- Text report — human-readable summary
All results are seeded from 20260222. Deterministic on the same architecture.
All canonical results were produced on Windows x86_64 with Rust 1.77. Determinism depends on Rust compiler version, target architecture, and floating-point accumulation behavior across 500-epoch simulations.
Cross-platform determinism is an open validation axis. Hash divergence across platforms is possible and expected. If your results differ from the canonical hashes:
- Minor divergence (floating-point variance): expected across architectures. Document and submit.
- Structural divergence (different trajectories, same zero-collapse result): partial independent replication. Submit.
- Major divergence (different collapse outcomes): open a GitHub issue immediately with label
determinism-failure. This will be treated as a discovery, not a defense. Findings will be published regardless of outcome.
Full protocol: REPLICATION_LEADERBOARD.md — If Hashes Don't Match
| Metric | Value |
|---|---|
| Crates | 13 |
| Tests | 403 total (396 passing, 7 long-run validations) |
| Experiment configurations | 44 |
| World simulations | 6,820 |
| Computed epochs | > 3,410,000 |
| Collapses (default definition) | 0 |
| Collapses (floor ≥ 10) | > 97% |
| Rust edition | 2021 |
| Deterministic seed | 20260222 |
Deterministic Multi-Agent Economic Simulation Under Structural Invariant Violations: Collapse Boundary Analysis — formal specification, experiment methodology, sensitivity analysis, and limitations.
10.5281/zenodo.18729652
@software{burns2026genesis,
author = {Burns, Kevan},
title = {Genesis Protocol: Deterministic Multi-Agent Economic Simulation},
year = {2026},
doi = {10.5281/zenodo.18729652},
url = {https://github.com/FTHTrading/Genesis}
}MIT
Kevan Burns — FTH Trading