@micuintus/aid-evolve1.0.0
Ledger-based evolution by Artificial Intelligent Design: code evolution for Pi in which an LLM, not a genetic operator, decides each step.
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
AIDEvolve
Ledger-based evolution by Artificial Intelligent Design, for Pi, sized for one developer on one workstation.
An experiment is one Markdown file, evolve.md: goal, metric, gates,
stop conditions, optional models, and a ledger. Each iteration is a
fresh subagent that reads the whole ledger, decides whether to refine
a prior candidate, combine two, or try something unrelated, builds it
on its own git branch, gates it, benchmarks it once, and appends one
row. No program database, no islands, no evaluator pool: the ledger
and the branches are the whole state, and you can read both.
How it compares to AlphaEvolve, OpenEvolve, ShinkaEvolve, CodeEvolve and Karpathy's autoresearch, with evidence from 325 ledger rows on a production renderer and the measured token cost: technical report.
Install
pi install git:github.com/micuintus/aid-evolve
pi install git:github.com/edxeth/pi-subagents
or pi install npm:@micuintus/aid-evolve. Recommended underneath, so
a rate-limited or exhausted model falls through to the next instead of
stalling a run: pi install npm:@alexeiled/pi-model-router.
AIDEvolve delegates each iteration to edxeth/pi-subagents through
an agent definition without a persona. Create
~/.pi/agent/agents/evolve-iteration.md (the evolve-init skill
offers to):
---
name: evolve-iteration
description: Plain agent for exactly one evolve iteration (no persona, auto-exit). Not for other tasks.
mode: interactive
auto-exit: true
---
Try it
sh examples/json-codec/setup.sh ~/json-codec-run
cd ~/json-codec-run && pi
Then type /evolve. The example evolves a deliberately slow JSON
encoder against a byte-exact gate; see
examples/json-codec.
Your own experiment
- Put the code to evolve in
target/, as its own git repository. - Ask Pi to set up an evolve experiment. The
evolve-initskill interviews you and writesevolve.mdnext totarget/. /evolvestarts the loop,/evolve <hint>biases the first iteration,/evolve stopstops it. Theevolvetool does the same for the agent.
Spend more time on the metric than on anything else: a metric with two flanks, frozen ground truth with a holdout set, and a measured noise band (section 5 of the report) is what makes the ledger trustworthy.
Engines
AIDEvolve is built against specific engines and says so. Iterations
run through edxeth/pi-subagents (spawn tool subagent, auto-exit
agent definitions); the orchestrator checks for a spawn tool first and
stops the run instead of stalling if none exists. The engine was chosen
for its inspectable child sessions, parent-model inheritance and clean
self-termination; the comparison is in the
Pi ecosystem subagent survey.
The loop driver comes from
@micuintus/loop-driver.
History
AIDEvolve was developed from May 2026 inside pi-dacmicu, which this
repository was renamed from, and was briefly published as
LedgerEvolve (@micuintus/ledgerevolve, now deprecated). The TODO loop moved to
EnforcedTodo. The last
combined state, including the experimental callback extension, is
tagged dacmicu-final.
Development
npm install
npm run check
npm test
Citing
Voigt, M. (2026). AIDEvolve: Ledger-Based Evolution by Artificial Intelligent Design. Technical report. https://github.com/micuintus/aid-evolve/blob/main/paper/aid-evolve.md