Skip to content

Repository files navigation

EvoX Genesis

👉 Home & docs: genesis.evox.group

Version License Documentation arXiv


Let the software world keep evolving.

One objective in. A persistent software world unfolds.

From an implementation-empty repository, Genesis built a 248,989-line C compiler in a 123.4-hour run. Different foundation models then independently continued development from the same accepted software world.

EvoX Genesis is an AI system for long-horizon autonomous software evolution.

Its key idea is not to keep one agent—or one coding session—alive. Genesis maintains a persistent recursive software world. Finite-lived agents enter where needed, develop local parts, validate proposed changes, and carry only accepted results forward for later agents to inherit and extend. The approach is described in our paper: arXiv:2608.10450.

You specify what the software should become. Genesis unfolds how to build it.

Agents come and go. The software world keeps evolving.


✨ Key Features

  • 🧭 Long-horizon autonomous software evolution — recursive agent hierarchies advance one persistent software world across many finite-lived agent episodes, carrying validated results forward.
  • 🪶 Transient agents, persistent world — each agent spawns fresh for one task and disappears when done: less context, fewer tokens, more reliable results.
  • 🌳 Git-native workflow — the repository itself is the only state. Agents and humans share the same repo, the same git log, the same git diff — no hidden databases, no custom formats.

Built with Genesis

Three regimes. One developmental principle.

🧱 Formation

C compiler from an implementation-empty repository

Genesis used DeepSeek V4 Flash to develop a Rust-based C compiler from a repository containing no compiler implementation code.

Repository: github.com/EMI-Group/genesis-demo-jcc
Scope: implementation-empty repository → 248,989-line C compiler
Run: 123.4 h · 1,019 archived agent episodes · US$44.38
Validation: 220/220 c-testsuite · 32/36 LLVM · 93/93 executed Csmith · 2,904 Rust tests · 106/106 internal cases
Development: observed recursive depth 5 · 327 first-parent commits

Formation experiment: compiler development trajectory, validation results, agent activity and time allocation


🔄 Continuation

The model changed. Development continued.

Genesis continued the same accepted compiler world independently with GLM 5.2 and DeepSeek V4 Flash.

Repository: github.com/EMI-Group/genesis-demo-jcc
Scope: one accepted compiler world → two independent continuation trajectories
Run: GLM 5.2: 21.99 h · 98 agents · DeepSeek V4 Flash: 17.10 h · 178 agents
Validation: GLM 5.2: 1,445/1,448 · DeepSeek V4 Flash: 1,820/1,820 retained LLVM SingleSource cases
Development: both retained 220/220 c-testsuite and 4/4 LZ4 · observed recursive depths 4 and 8

Continuation experiment: independent GLM 5.2 and DeepSeek V4 Flash development trajectories


🔬 Redevelopment

MESA → Rust, with numerical behaviour preserved

Genesis redeveloped a selected chain of 13 MESA Fortran modules into corresponding Rust crates.

Repository: github.com/EMI-Group/genesis-demo-mesa-rs
Scope: 139,414 Fortran lines → 89,946-line Rust workspace
Run: 33.22 h · 272 agents · US$10.64
Validation: 1,052 tests · 0 failures · 2 bit-exact workloads · remaining relative checksum differences ≤ 3.1 × 10⁻⁹
Development: observed recursive depth 4 · median runtime speedups 1.55×–6.87×

Redevelopment experiment: MESA-to-Rust progress, cache behavior, module coverage and runtime validation

Reported dollar amounts are foundation-model token charges only. Compiler formation, continuation and MESA redevelopment are observed system-level results, not normalized model-comparison benchmarks. The MESA result covers the audited 13-module scope, not the full application.

Why Genesis is different

One objective, not a workflow.
The user specifies the goal and constraints; Genesis decides how development should recursively unfold.

Recursive organization emerges during development.
Managers decompose, delegate and judge returned work. Executors implement concrete changes at the leaves.

The world persists; agents do not.

world = (accepted version, repository path)

What evolves is the software world—not the foundation model. Accepted development state and validated results remain available for later agents to inherit and extend.

The accepted version determines what exists and can be inherited. The path determines where agency is situated.

Only accepted consequences become history.
Agent outputs are proposals. Only accepted results advance the persistent version lineage.

Agents do not persist. Their validated contributions do.


⚡ Start with a requirement

Open Genesis and describe the software you want to build or evolve.

For example:

Build a clean-room C compiler in Rust for LLVM-centric workflows, with C11 as the primary language target, x86/x86-64 back ends, standard toolchain interoperability, and external compiler validation.

Genesis takes it from there.


🖥️ Product

  • Native desktop app for launching and supervising development
  • Recursive agent tree visible as work unfolds
  • Scoped local workspaces for isolated candidate changes
  • Cross-platform support for macOS, Linux and Windows
  • Native sandboxing where supported by the platform

📦 Install

Genesis ships as a native desktop app.

💡 Prefer a guided download? Visit genesis.evox.group/#download — it detects your platform automatically and points you to the right installer.

Or use the GitHub Releases page:

Platform Download
macOS (Apple Silicon / Intel) .dmg
Linux .rpm, .AppImage, or .tar.gz
Windows .msi or .exe installer
FreeBSD From source

Download, install, and launch Genesis.

For AI agents

Install the app

# Permanent links — always the latest release:
# macOS (Apple Silicon):
# https://github.com/EMI-Group/genesis/releases/latest/download/genesis_desktop_darwin_arm64.dmg
#
# Linux x86_64:
# https://github.com/EMI-Group/genesis/releases/latest/download/genesis_desktop_linux_x64.AppImage
#
# Linux ARM64:
# https://github.com/EMI-Group/genesis/releases/latest/download/genesis_desktop_linux_arm64.deb
#
# Windows x86_64:
# https://github.com/EMI-Group/genesis/releases/latest/download/genesis_desktop_windows_x64.msi

curl -LO "https://github.com/EMI-Group/genesis/releases/latest/download/genesis_desktop_darwin_arm64.dmg"

# Install:
# macOS:   open <file>.dmg
# Linux:   sudo rpm -i <file>.rpm   OR   tar xzf <file>.tar.gz
# Windows: msiexec /i <file>.msi

Run from source

# Prerequisites: Elixir ~> 1.18 and Erlang/OTP 29

# Install Elixir and Erlang (choose one):
#   - asdf:    https://asdf-vm.com
#   - mise:    https://mise.jdx.dev
#   - Official: https://elixir-lang.org/install.html
#   - macOS:   brew install elixir
#   - Ubuntu:  sudo apt install elixir erlang-dev
#   - Arch:    sudo pacman -S elixir
#   - Fedora:  sudo dnf install elixir

git clone https://github.com/EMI-Group/genesis.git
cd genesis
mix deps.get
mix assets.setup
mix phx.server

Then open http://localhost:4100.


📦 Distribution via Package Managers

Package Manager Platform Status
AUR Arch Linux Planned
Homebrew macOS / Linux Planned
Nix NixOS / macOS Planned

More package managers will be added over time. Contributions are welcome — see CONTRIBUTING.md.


🙏 Acknowledgements

Genesis was born out of the EvoGit project and follows the broader EvoX research lineage.


🤝 Contributing

We welcome contributions. All contributors are required to sign an Individual Contributor License Agreement (CLA); our CLA assistant bot handles this automatically on your first pull request.

For development setup, CLA details and contribution guidelines, see CONTRIBUTING.md.


📄 License

Genesis is released under the GNU Affero General Public License v3.0.

Releases

Packages

Contributors

Languages