EvolveSource

03 The pieces · 3 min read

How the winner is chosen

If you want to know why Evolve picked the change it did, this page is for you. Each attempt (one agent’s try at the goal) has been through the checks, the tests Evolve runs itself, and a written rule picks the winner. This page explains the rule Evolve follows, why you can always re-run it, and where you come in if the agent hasn’t earned your trust yet.

Must-haves first

An attempt is only eligible if all of these are true:

  • every required check passed, with evidence (the signed results of those checks) that still counts;
  • it met the goal’s target, the number or check the goal is about;
  • it didn’t touch a protected file (one agents may never change, like your tests), and stayed inside the files it’s allowed to change;
  • it stayed within the size and cost limits.

If no attempt is eligible, the run ends as rejected and nothing is deployed, meaning nothing new goes live.

Sometimes the attempts can’t be judged at all. The agent couldn’t log in, say, or hit its plan’s usage limit, or two attempts ran out of time at the same spot. Then the run is rejected as blocked (operator action needed). Nothing was found wrong with the code. Whoever runs Evolve sorts out the cause, and the run is started again.

Then a ranking

Among the eligible attempts, the ranking in the policy (your project’s rules file, evolve.yaml) decides. For example: fastest first, with a tolerance so that 1.8 ms and 2.0 ms count as a tie, then the smallest change. Ties are broken in a fixed order, so the same attempts always give the same winner.

Whoever runs Evolve can also set up a reviewer: an agent whose only job is judging. With one, the reviewer picks among the eligible attempts instead, looking hardest at what the checks don’t pin down, and its reasons go into the decision. It can only pick an eligible one. If it needs something only a person knows, it asks, and the run waits for your answer. See the operator config.

You can replay it

Evolve stores exactly what went into every decision. Using the evolve command in a terminal, evolve decision replay runs the same rule on the same inputs and confirms it gets the same answer. So you can check the judgement for yourself.

Before it ships: your yes, if it hasn’t been earned

If the agent hasn’t yet earned the right to ship by itself (see Earned autonomy), the chosen change waits here for a person to approve or reject it, with all the evidence beside it. You can do that on the run’s page, or from the command line.

Next

Rolling out safely.