\section{Setup}\label{sec:setup} \paragraph{Tasks.} We use the LiveCodeBench code-generation problems (lite, release v6) that are labelled hard and whose private tests total at most 20\,MB, 282 problems in all \citep{jain2025livecodebench}. A fixed shuffle gives a 10-problem small stage, a 40-problem medium stage (together the selection set $S$) and 232 fresh problems $F$, split into halves $F_1$ and $F_2$ of 116. A problem counts as solved when the final \texttt{solution.py} passes all public and private tests (6\,s per test). Programs that read standard input run exactly as written; class-method problems receive the usual imports. \paragraph{Harness and loop.} The seed is the DGM polyglot coding agent (a bash tool and a whole-file editor) with one change: its model client points to our proxy. The loop follows the DGM code: two self-improvement attempts per generation; parents drawn with probability proportional to a sigmoid of their score divided by one plus their number of children; a diagnosis of one of the parent's failed tasks; the parent agent editing a copy of its own repository from the resulting problem statement; staged evaluation (medium stage if at least 4 of 10 small tasks pass); and an archive that keeps compiled children scoring at least the seed's score minus 0.1. The diagnosis prompts are the DGM's polyglot prompts with the language sentence changed. With probability 0.25 the loop uses the DGM's hand-written ``stochasticity'' prompt, and for a task with no output its ``empty patch'' prompt; we call these two the hint prompts, and two exploratory loops run without them. The reported best agent is the archive agent with the highest score on the full selection set, as in the DGM. Loops run 40 generations (20 for the other task models). A second seed, the engineered seed, was written directly, without a search loop (Appendix~\ref{app:pilot} says when); it differs from the DGM seed in four files (\S\ref{sec:round2}). \paragraph{Models.} The task model and the self-editing model is Claude Haiku~5.5 with its default settings; diagnoses use Claude Sonnet~5.5. Other task models are Claude Haiku~4.5, Claude Sonnet~4.5 (SWE-bench), Claude Sonnet~4.6, Claude Sonnet~5.5, Gemini~2.5 Flash and gpt-oss-120b; one-shot redesigns use Claude Opus~5.5 and Claude Sonnet~5.5. Every model call passes through a proxy that records its cost, removes sampling parameters (which the API no longer accepts), requests one tool call per response (the behaviour the 2025 seed code assumes) and caps each request at 16{,}000 output tokens. Each task run has a dollar budget (\$0.25 under Haiku~5.5 and gpt-oss-120b, \$1 under the other models on competitive programming, \$10 on SWE-bench) and a wall-clock limit (600\,s on competitive programming); a run that reaches the budget receives a final empty answer, and at either limit the solution present is graded. On competitive programming, harnesses run in network-isolated sandboxes. On SWE-bench, the task containers can reach the internet, because the DGM's harness installs the agent's requirements in them. \paragraph{Measures.} For an agent $a$, $S(a)$ is its pass rate on the selection set and $F(a)$ its pass rate on fresh problems. Fresh gains are differences of per-problem pass rates paired by problem, with 95\% bootstrap intervals over problems. In the first round the seed's fresh reference pools all its runs (12 per problem on $F_1$, 3 on $F_2$), from different hours; morning runs scored about 2.5 points higher than evening runs. Every second-round batch carries its own runs of the seed, interleaved with the other agents problem by problem. Cost per task is the dollar total that the proxy records for that run. Table~\ref{tab:arms} lists the agents and loops compared. \begin{table}[t]\centering\footnotesize \caption{Agents and loops compared in the paper.}\label{tab:arms} \begin{tabular}{>{\raggedright\arraybackslash}p{0.27\linewidth}>{\raggedright\arraybackslash}p{0.67\linewidth}}\toprule name & meaning \\ \midrule DGM seed (the seed) & the DGM's polyglot coding agent as ported; it requests at most 4{,}096 output tokens \\ textbook moves E, B, L, P & a string-replace editor; a non-interactive shell; a model loop with a 16{,}000-token output cap; a workflow prompt (\S\ref{sec:round2}) \\ engineered seed & the DGM seed with all four textbook moves, written directly, without search \\ cap-only seed & the DGM seed with only its output cap raised to 16{,}000 tokens \\ one-shot redesign & one model call that rewrites the seed from its code and five failure logs (log-free: without the logs) \\ DGM loop & the DGM procedure on the seed; loops 1 to 3 are those of the first round \\ placebo loop & the same schedule, with children that are exact copies of their parents \\ random-diagnosis loop & a DGM loop whose diagnoses are replaced by requests drawn from a fixed list (second round; with a clean list in the third) \\ HGM-style loop & a DGM loop that picks each parent by Thompson sampling over the passes and failures of each archive agent and its descendants \\ textbook agent (SWE-bench) & the DGM's initial SWE-bench agent with three textbook moves \\ \bottomrule \end{tabular}\end{table}