Skip to main content

Discover

Autonomous multi-file evolution

Describe a goal and the agent runs the full cycle autonomously — decomposing it into Ideas, building Experiments, generating multi-file Versions, and carrying only the best forward into the next generation. Exploration and combination in one run.

Need per-file diff exploration? Targets · Need to combine specific changes? Optimise


Starting a Discovery Run

From the Discover page (accessed via the Optimise tab), describe what you want the agent to discover or optimise in the input field, then submit your goal.

Discover page


Configuration

Before starting a run, configure how Discover explores your codebase:

SettingDescription
ModelThe AI model used for the discovery (e.g. GPT-5)
GenerationsNumber of evolutionary generations to run (default: 3)
Versions per genNumber of versions generated per generation (default: 5)
Run code after each versionExecutes and validates each version as it is generated
Manual approval modePauses between generations for you to review before continuing

The total number of versions created is Generations × Versions per gen (e.g. 3 × 5 = 15 versions).


Inside a Discovery Run

Once a run starts, the left sidebar gives you five views to navigate your run:

  • Graph — visual graph of the full run
  • Board — kanban-style overview of node statuses
  • Ideas — list of all Ideas generated or added
  • Experiments — list of all Experiments and their status
  • Versions — list of all generated code versions and their scores
  • Goals — the fitness criteria the agent is optimising toward

Graph

The Graph is the main view of a run. Each node is clickable — selecting a node opens a detail panel on the right with its full content, status, rationale, and metrics.

Graph view

Ideas

Each Idea is a textual hypothesis. Click an Idea node to see its content and status (Proposed → Approved / Rejected). You can also add your own Ideas to steer the run.

Ideas

Experiments

An Experiment bundles one or more approved Ideas with a population size. Click an Experiment node to see which Ideas it combines and its current status: Proposed → Approved → Running → Confirmed / Refuted / Inconclusive.

Experiments

Versions

Each Version is an actual code diff produced by an Experiment. Clicking a Version opens the detail panel showing:

  • Fitness score — improvement over baseline (e.g. +0.26)
  • Status — Scored, Inconclusive, etc.
  • Generation — which generation it belongs to and which version it evolved from
  • Rationale — the agent's explanation of what was changed and why
  • Metrics — individual scores for each goal (e.g. llm_algorithmic_complexity_improvement, llm_data_structure_efficiency)
  • Changes — inline code diff

Versions

Board

The Board view gives a kanban-style overview of all nodes grouped by status — useful for tracking progress across a long run at a glance.

Board view

Goals

Goals define the fitness criteria the agent optimises toward. You can view and edit the goals that drive scoring across all Versions.

Goals


Opening a Version as a Changeset

When you find a Version you want to keep, click Open in Changesets from the Version detail panel. This packages the diff into a Changeset that you can review and merge as a pull request.

Open in Changesets


How Discover Works

Each Discover run is visualised as a graph built from four node types:

Objective

The goal you typed in. Unique per run — it anchors the entire graph.

"Optimise the performance of this code…"

Idea

A textual hypothesis generated by the agent (or added by you). Each Idea has a status: Proposed → Approved or Rejected.

"Replace the inner loop with a batched read."

Experiment

A bundle of one or more approved Ideas with a set population size. Once it runs, the status progresses: Proposed → Approved → Running → Confirmed / Refuted / Inconclusive.

"Run 5 versions all combining ideas A + B."

Version

The actual code diff produced by an Experiment. Each Version has a fitness score (0.00 to 1.00) computed from your goals. Versions can be opened as a Changeset and merged as a PR.

v3 · fitness 0.71 · +12% over baseline


The cycle flows like this: the Objective spawns Ideas → groups of Ideas form Experiments → each Experiment generates Versions → Versions get scored, and the best ones feed the next round of Ideas. This repeats for N generations, with each generation building on the strongest results of the last.


Next Steps