Discover
Autonomous multi-file evolution
Describe a goal and the agent runs the full cycle autonomously, building Experiments, generating multi-file Versions, and carrying the best results forward.
A Discovery Run can also work without a runner or benchmark, for work that cannot be executed, such as improving a Markdown plan. Artemis then turns the Objective into scoring criteria and a panel of judge models scores every Version against the Baseline. These are model-judged scores, not measurements, so do not read them as a speed-up. What is a Discovery? explains both modes.
Starting a Discovery Run
Open Discover in the Project sidebar. Describe what Artemis should optimise in the composer, choose the Branch to start from, and submit. You can also start from a suggestion such as Optimise performance, Cut runtime by 20% or Find and fix the highest-value bug. Other ways in are Fix in Discovery on a Maintain Issue, Build with Discover on a Plan, and Optimise in Discover on a Branch's Scripts tab.
Nothing runs yet. Setup has four steps, shown at the top of the page: Evaluation, Objective, Preferences and Summary.
Setup
| Step (page title) | What you choose |
|---|---|
| Evaluation (How should we evaluate code?) | Two switches, at least one of which must be on. Benchmark Metrics runs each Version on a Runner with a Script. You choose how many Benchmark runs each Version gets: a fixed number, or until the results stabilise, up to a maximum. The Script has to pass Validate baseline before you can go on. AI Metrics has the Orchestrator model score each Version's code. |
| Objective (Set an objective) | The Benchmark Metrics your Script records and the AI Metrics that Artemis drafts from your Objective. Set each Metric's direction and importance. See Metrics. |
| Preferences (How should Artemis explore this?) | The Orchestrator model, the LLM council that reviews Experiments, the Approval mode (Automatic, or Manual so the run waits for you to queue Experiments) and the Number of versions to generate. |
| Summary (Ready to start?) | A final check, with the reason if the run can't start yet. Start Discovery measures the Baseline and then begins generating Versions. |
The Runner and Script you pick are saved on the run, so later executions use them too. You can change them, the LLM council, metric importance, the number of Versions and the approval mode later on the run's Setup page.
Inside a Discovery Run
Once a run starts, its sidebar has these views:
- Overview: the Objective, the agent's notes, counts and the current best Version
- Experiments: the Experiments in the Graph view, a Kanban board or a list, with their status
- Versions: every generated Version with its scores, per-Metric results and diff
- Metrics: what every Version is scored on, with direction and importance
- Setup: the run's configuration
Overview
The Overview is the starting point for a run. It shows the run's Objective, the agent's notes, live counts of Experiments and Versions, and the current Best version. What next? suggests how to carry on: continue this run, explore a direction, or start a new run.
Agent notes
The Agent notes panel is the agent's running context and findings for the run. It typically captures:
- Baseline assessment: what the codebase is, how it builds and tests, and the constraints to preserve. For xxHash, that's the strict
-O3warning build,make check, and hash outputs that must stay bit-identical across platforms. - The strongest defect found: the highest-value issue the agent will target, and why it matters. In this run it flagged a real crash:
xxhsum --seedwith no value reads pastargvand passesNULLto the seed parser, segfaulting on ordinary malformed input. - Other weaknesses surveyed: lower-priority issues it noticed but did not prioritise.
- Measurable baseline for scoring: the metrics and constraints versions are scored against (correctness, the strict-warning build, and performance treated as a non-regression constraint).
Reading these notes tells you why the agent proposes the Experiments it does, which helps you decide what to queue.