The loop
Post hocValid outputs that are the anchor construction
Submission to TMLR
In a Search Loop on Circle Packing, a Claude Code Subagent Keeps or Improves Its Parent, Not Its Zero-Shot Anchor
The interactive map needs JavaScript. The same results are in the charts below.
Valid outputs that are the anchor construction
Valid outputs, by the single parent shown
Calls that returned a valid packing
Thinking off covers seven circle counts. The other two bars are at N = 13. The agent-runtime count is post hoc.
Three packings of 31 circles from one lineage of the replicated loop
Sum of radii S, higher is better
Does the answer an LLM proposer gives most often zero-shot persist inside a search loop? For an agent runtime (a Claude Code subagent requested as Haiku) on circle packing, an AlphaEvolve showcase task, it mostly does not. Without a parent, the subagent's valid outputs at N = 13 and 31 most often match the score of one grid layout, the anchor construction. For single calls that show a parent and ask for a higher sum of radii, we registered that the anchor would persist. Instead, shown that construction as a parent, most valid outputs move above it; shown a parent scoring the family maximum (the best related-grid score), all 26 valid outputs keep or improve its score. Only a parent far below the anchor value often yields the anchor value.
Inside a minimal archive-and-mutate loop, the registered anchor-match rate is lower in descendants than in parentless seeds in all 19 replicate lineages with enough valid outputs to score. Post hoc, most valid descendants keep or improve their parent's score; few reproduce the anchor construction. Validity differs by serving configuration: through a pinned API with thinking off, no directly emitted packing was valid in 105 calls at seven circle counts, unlike most parentless agent-runtime outputs.
What was tested and how it was fixed in advance
Place N circles in the unit square and maximize the sum of their radii. The anchor is the score the model returns most often when it sees no parent.
A Claude Code subagent requested as Haiku. A separate arm calls the model through a pinned API, with thinking off and on.
A minimal archive-and-mutate loop at N = 13 and 31. Each lineage starts from parentless seeds, then runs five generations that each see one archived parent.
Predictions were registered and timestamped before sampling. Every miss is reported, including our own prediction that the anchor would persist.
Everything needed to recheck the numbers
ZIP, 8.7 MB, 644 entries
python -B verify_revision.py@misc{gugale2026parent,
title = {In a Search Loop on Circle Packing, a Claude Code Subagent
Keeps or Improves Its Parent, Not Its Zero-Shot Anchor},
author = {Gugale, Soham Shailesh},
year = {2026},
note = {Submission to TMLR},
url = {https://soham-research.vercel.app}
}