Agentic program evolution · paper & plugin

EvoTrias

Where autonomy belongs.

A Separation of Powers for Agentic Program Evolution

Govern, propose, judge — three decisions, one owner each. EvoTrias turns the coding agent you already use into an evolution system.

EvoTrias mascot: a small dinosaur in a space helmet
scroll
00 / THE FILM

Make your agent an evolution system.

One /evolve turns a single run into a galaxy of evolutions — then the whole system plugs into any agent.

EvoTrias · promo film1080p
01 / ARCHITECTURE

A separation of powers.

Program evolution rests on three decisions — govern, propose, judge. Existing systems let one owner absorb another, and none keeps the judge private. EvoTrias gives each decision its own plane. Planes exchange typed contracts only — and a hook layer makes sure no plane can erode another.

01Skill + MCP control plane
Dino in an officer's cap holding a plan on a clipboard

Structured Governance

owns govern · what spans rounds

Distills settled outcomes into posterior evidence, adapts the selection policy, persists validated experience, and binds each new task's context capsule.

  • Posterior evidence at artifact · lineage · global scope
  • Adaptive lineage / parent / inspiration policy
  • Notes & Meta-guidance, validated before commit
02your coding agent
Dino in a hard hat holding a wrench

Open Proposal

owns propose · what happens inside a task

A general-purpose coding agent — Claude Code, OpenCode, Codex — pulls its capsule over MCP, then reasons and calls tools on its own until an artifact exists.

  • Parallel task executors in a rolling queue
  • No mutation template: implement, build, test, repair
  • Distills typed notes and proposes new directions
03isolated evaluator
Dino in a judge's wig holding a gavel

Protected Judgment

owns judge · what counts

Contract-visible, evidence-private. The artifact enters through a narrow interface; only a normalized outcome — validity, fitness, metrics — comes back.

  • Instruction: every prompt states the prohibition
  • Isolation: evaluator behind a request interface
  • Enforcement: hooks deny evaluator reads
THE CONTRACT LOOP

Three planes. Three typed contracts.

Γt=G(ℋt)Governance binds a context capsule
xt=P(R𝒬, C𝒬, Γt)Proposal submits a candidate artifact
yt=J𝒬(xt)Judgment returns a normalized outcome

Each settled outcome merges into the history ℋ and shapes only later bindings. The contracts fix the semantics of G and J independently of how P is implemented — so any host that meets them can supply candidate construction.

⟲
Scheduler hooksSole writer of the task pool. Scheduling follows what happened, not what an agent reports.
⛨
Permission hooksBefore every tool call: no evaluator reads, no peeking at other tasks' results.
02 / GOVERNANCE, LIVE

Watch a run evolve.

A real Cloudcast run, replayed task by task: 4 initial directions, 50 settled candidates, 3 meta-guidance directions. Every task receives a capsule Γt = (parent, inspirations, notes, guidance).

cloudcast_20260724155152 · GLM-5.2 on Claude Code
task 0/50 best cost —
root direction new best note meta-guidance larger = lower cost
WHAT GOVERNANCE REMEMBERS

Experience is earned, not logged.

Two channels turn settled outcomes into reusable context — and both are gated. A Note is written only when an attempt surprises its parent; Meta-guidance is requested only when the best fitness stops moving.

NOTES · SIGNAL PROCESSING · OPUS-5 · ONE 50-ITERATION RUN

A Note is written only when the child lands outside its parent's band.

00 / 50
band: change too small for a Noteparent → childpositive Notenegative Notebest fitness so farinitial direction
LEDGER OF COMMITTED NOTES0 positive · 0 negative
META-GUIDANCE · MINMAX-DIST-3 · ONE 50-ITERATION RUN

Two stalls, three rounds, nine directions — and the run crosses f = 1.

best —
00 / 50
unguided attemptguided r1guided r2guided r3guided new bestrunning best
03 / THE PLUGIN

Plug it into any agent.

Contracts and hooks live outside the coding agent, so EvoTrias leaves the agent unchanged. Type one command in the session you already use.

Claude Code — ~/evolve/benchmarksEvoTrias
Dino wearing sunglasses
SkillsMCPHooksNative subagents

* planned · support in a future release

HOST PORTABILITY · Signal Processing, GLM-5.2
Claude Code
0.7329
OpenCode
0.7383

Swap the host, keep the result: Claude Code and OpenCode land within 0.8% of each other on both ablation tasks. Construction quality still follows the model — Opus-5 under OpenCode lifts Signal Processing by 10%.

04 / RESULTS

A new state of the art.

Math, ADRS and Frontier-CS — against OpenEvolve, EvoX, AdaEvolve, and one- and four-agent CORAL (CORAL-1 and CORAL-4 below).

0/12
tasks ranked first, under each backbone
0
Frontier-CS median vs 67.14 for CORAL-4
0%
token cost vs CORAL-4 $41.37 vs $115.10
0%
solver quality on a 680K-line repo
MATH & ADRS · MEAN OF 3 RUNS

First on 9 of 12 tasks — under both backbones.

swipe for all methods →

Paired task-level analysis: EvoTrias improves on OpenEvolve, EvoX, AdaEvolve and CORAL-1 on all 12 tasks (every CI positive, Holm-corrected p = 0.0024). ↓ lower is better. first second

FRONTIER-CS · 30 PROBLEMS

Above every baseline, mid-range to the mid-90s.

FRONTIER-CS · MEDIAN SCORE

80.67 vs 67.14.

BEST-SO-FAR vs ITERATION · GLM-5.2

Evolution curves.

WHAT GOVERNANCE BUYS

Stronger solutions, a third of the bill.

Structured Governance keeps history interpretation and search routing out of the expensive agent trajectory — agent compute concentrates on building candidates.

SIGNAL PROCESSING · WALL CLOCK

Best from ~15 minutes onward.

MEAN TOKEN COST · FULL RUN · 7 MATH TASKS

$41.37 vs $115.10.

WHAT OPEN PROPOSAL BUYS

From one file to 680K lines of C++.

OR-Tools CP-SAT local search, no marked region to evolve. The agent reads the repository, picks its change sites, keeps cross-function invariants intact and exports a Git patch — scored end-to-end on MiniZinc Challenge instances.

GAIN OVER UNPATCHED SOLVER · BORDA COUNT

+13.2% on 300 · +16.9% on the subset.

Dotted: a single pass of the same agent (−0.1% / +1.3%). The gain comes from the evolution loop, not from the coding agent alone.

WHAT PROTECTED JUDGMENT BUYS

Scores you can trust to transfer.

Exposing the evaluator inflates the benchmark score by 0.093 on average — but the advantage contracts to 0.009 on out-of-distribution instances. Protected programs score as well or better OOD.

GENERALIZATION SHIFT · PROTECTED → EXPOSED

Exposure pushes across the diagonal.

SIGNAL PROCESSING · GAP = OOD − ORIGINAL

Original, IID and OOD.

CONCURRENCY TRADE-OFF · SIGNAL PROCESSING

The knee sits at c = 4.

ABLATION · MEAN OF 3 RUNS

Every piece pulls its weight.

Dino holding a trophy
05 / CITE

Where autonomy belongs.

If EvoTrias is useful in your work, please cite the paper.

@inproceedings{evotrias2027,
  title     = {Where Autonomy Belongs: A Separation of Powers
               for Agentic Program Evolution},
  author    = {Anonymous Authors},
  booktitle = {Under review},
  year      = {2026}
}