Model or dataset
EvoMap/evolver avatar
EvoMap/evolver

Evolver: A GEP Engine That Turns Prompt Tweaks Into Auditable Assets

The GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai

9,083 stars845 forksJavaScriptGPL-3.0

At a glance

What is it?
Evolver is a GPL-3.0 Node.js CLI that encodes agent experience as Genes and Capsules under a protocol it calls GEP. It is aimed at teams who want their agent changes to be reviewable and reversible, and it depends on git for that.
Who is it for?
Adopt Evolver if your agent work happens inside a git repository and you want each change recorded as a named, reversible asset rather than a prompt edit nobody can trace. Skip it if you need a permissively licensed dependency in a closed product, or if your agent runs outside version control, because the README states that a non-git directory fails outright.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The Problem Evolver Targets: Prompt Edits With No Paper Trail

Most agent improvement happens as an edit to a prompt file. Someone notices the agent failing a task, rewrites a paragraph of instructions, and the change disappears into a commit or, worse, into a runtime config nobody versions. There is no record of which change helped, no way to roll one back in isolation, and no way to reuse the fix on a different agent. Evolver's README states the pain directly: it turns ad hoc prompt tweaks into auditable, reusable evolution assets. The intended reader is not a researcher building a training pipeline. It is an engineer who already runs an agent in a repository and wants the improvement loop to leave evidence behind. The project's topics list names prompt governance and auditable AI alongside agent-framework and memory-system, which is a fair summary of where it sits: closer to change management for agent behaviour than to model training.

Genes, Capsules and Events: The GEP Asset Model

Evolver's abstraction is the Gene. The README describes the engine as encoding agent experience as Genes and Capsules under the GEP protocol, explicitly not as ad hoc prompts or skill docs. A Gene is a compact, reusable representation of a strategy; a Capsule is the packaging unit around it; Events are the recorded occurrences that drive selection. The project points to an arXiv paper, 2604.15097, for the reasoning behind this choice. According to the README's summary of that paper, across 4,590 controlled trials on 45 scientific code-solving scenarios, documentation-oriented Skill packages produced unstable and sparse control signal, while the Gene representation performed better under structural perturbation and carried iterative experience more effectively. The README also cites CritPt numbers from the paper: gene-evolved systems lifting paired base models from 9.1% to 18.57% and from 17.7% to 27.14%. Those figures come from the paper and the project's own reporting, not from any independent run, and the README itself frames the paper as the answer to why Evolver insists on Genes rather than longer skill documents. Treat the numbers as the project's argument for its design, not as a guarantee about your workload.

What Actually Happens On A Single Evolver Run

The README gives an ordered account of a first run. Evolver prints a banner showing the detected strategy preset, with balanced named as an example. It scans ./memory/ for logs and signals, creating that directory if it is missing. It then selects a matching Gene or Capsule from its built-in asset pool. The README's description is truncated at the point where it begins to print the resulting GEP prompt, so the exact output format is not something I can describe from the supplied material. What is clear is the data flow: local logs in ./memory/ are the input, a preset governs strategy, a built-in pool supplies the candidate asset, and the run emits a GEP prompt as its product. That is a retrieval-and-packaging loop rather than a learning loop. The engine is not training anything; it is choosing a pre-authored asset that matches the signals it found and rendering it into a prompt. That distinction matters when you evaluate whether Evolver fits a problem, because it means output quality is bounded by the asset pool and by how well your logs describe what went wrong.

Install, Run Modes, And The Git Requirement

Installation is a global npm package: npm install -g @evomap/evolver, then evolver --help to confirm the binary is on PATH. On Linux or macOS, the README recommends a user-level prefix rather than sudo, via npm config set prefix ~/.npm-global and a PATH export in your shell profile. Node.js 18 or later is required. Git is listed as required, not optional, and the README explains why: Evolver uses git for rollback, blast radius calculation, and solidify, and running it in a non-git directory fails with a clear error message. That is an unusually firm dependency for a CLI, and it tells you the tool is designed to sit inside a working tree it can inspect and revert. Three invocation shapes are documented. Plain evolver performs a single evolution run that scans logs, selects a Gene, and outputs a GEP prompt. evolver --review pauses before applying and waits for human confirmation. evolver --loop runs as a background daemon for continuous operation. Contributors who want unreleased builds run node index.js from a source checkout instead. For agent and skill integrations, the README points to a separate SKILL.md covering a Proxy mailbox API that wraps the CLI, and notes that you still install through the CLI path first.

The Limitation That Matters: A Built-In Pool And A Git-Shaped Blast Radius

Two constraints stand out. First, selection happens against a built-in asset pool. The README does not describe an authoring workflow for new Genes in the material available, so if your domain is not represented in that pool, the engine has nothing useful to select and the run degrades into a prompt wrapper around whatever it did find. Second, the git dependency is not a formality. Rollback, blast radius calculation, and solidify all read from version control, so Evolver's notion of safety is scoped to a repository. An agent operating on external systems, a database, a deployed service, or a third-party API sits outside what git can revert. In those cases the review mode, evolver --review, is doing more of the safety work than the rollback machinery is, and a human has to actually read the proposed change. The loop mode deserves the same scrutiny: a background daemon that continuously selects and applies assets is a poor fit for any environment where the side effects of a bad prompt are not confined to files you can check out again.

How Evolver Differs From A Skill Library Like Anthropic's Skills

The nearest comparison is a documentation-oriented skill package, the approach the README's cited paper argues against. A skill library stores procedural instructions as prose or markdown that a model reads at inference time. Evolver stores strategy as Genes and Capsules, and the paper's claim is that this compact form produces a stronger and more stable control signal than documentation does, and survives structural perturbation better. The practical difference is where the knowledge lives. In a skill library, the artifact is text a human wrote and a model interprets. In Evolver, the artifact is a selected asset that the engine matches against logged signals, with a preset governing the selection policy. That gives Evolver an audit story a folder of markdown files does not have, since the selection step is a recorded event rather than an implicit read. It also gives it a narrower one: a skill document can describe anything, while a Gene pool can only offer what has been encoded into it. If your agent's problems are idiosyncratic and undocumented, a plain skill file plus a code review may get you further than waiting for the pool to catch up.

Licence, Release Cadence, And The Move To Source-Available

Evolver is GPL-3.0-or-later, having started as MIT at its first release on 2026-02-01 and switched on 2026-04-09. The README carries a notice that future releases will transition from fully open source to source-available, citing a similarity dispute with another project in the same lane. The README states that all already-published MIT and GPL-3.0 versions remain freely usable under their original terms, and that npm install and cloning still work. The licence implication is straightforward to state and not mine to adjudicate: GPL-3.0 is a copyleft licence, so if you link or distribute Evolver as part of a larger work, the terms of that licence apply to the distribution. Teams that need a permissive licence for a closed product should confirm with their own counsel which version they are pulling and under what terms, because the README says the terms of future releases will differ from the ones published so far. On maintenance, the visible signal is cadence: v2.0.30, v2.0.32 and v2.0.33 all landed within three days in September 2026, and the repository is not archived. Rapid patch releases are consistent with an actively developed tool, and they also mean the surface you pin today will move. Pinning a specific version rather than tracking latest is the conservative choice given that the licence itself is scheduled to change.

Editorial conclusion

Adopt Evolver if your agent work happens inside a git repository and you want each change recorded as a named, reversible asset rather than a prompt edit nobody can trace. Skip it if you need a permissively licensed dependency in a closed product, or if your agent runs outside version control, because the README states that a non-git directory fails outright. Before committing, verify two things: which release tag you are actually installing, since the README says future releases will be source-available rather than open source, and whether the Gene pool it ships covers your domain, because the engine selects from a built-in asset pool rather than composing a strategy from scratch.

Official sources

  1. EvoMap/evolver on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Community notes

Community notes