A way to make an AI agent measurably better at something: keep a population of complete, standalone agents, breed new ones with operators that start from a diagnosis rather than a guess, freeze every agent the moment it has a score, and judge them all against ground truth with the controls that stop you fooling yourself.
docs/practice.md, the governing doc.implementation/, the implementation of that description:population.md(what an agent is on disk),evolution.md(the operators, selection, where proposals come from),metric.md(what a project must supply and what makes a score worth optimising),researching.md(the rules a research agent works under),operating.md(dispatch, the record, asks, the rendering).skill/, an installable skill for AI agents: copy or symlink it into an agent's skills directory.tools/, project-agnostic:check-treevalidates a population,new-nodescaffolds an agent,render-treedraws the page.index.html, the human-readable representation of./docs.
Drop a .agent-evolution.json at the project root naming where its
population, scores and asks live, then run the tools against it:
{
"name": "trader-agent",
"population": "traders",
"scores": "state/bench",
"asks": "asks",
"metric": {"name": "points from the outcome", "lowerIsBetter": true}
}This repo uses ddd-practice:
docs are the source of truth, everything else is derived. ./docs holds one
governing document, practice.md, elaborated by
./implementation. The human-readable representation is
index.html at the repo root.