ADR 0017: a topic for autonomous research loops, and why it is not called "research agents"

decision

ADR 0017: a topic for autonomous research loops, and why it is not called "research agents"

About this note
Field Value
Status accepted
Date 260803
Deciders chamin
On this pageContextDecisionAlternatives consideredConsequences

Context#

S13 (karpathy/autoresearch) is the brain's first source about an agent running an unattended optimization loop over an artifact, judged by an automated metric. It is not about building an agent (that is agents), and it is not about measuring a pipeline someone else built (that is evals). Its gated claims are about the setup a loop needs before it can be trusted to run for a hundred iterations with nobody watching: what is frozen, what resource is held constant, what the metric's units are, where the audit trail lives, and what the accept rule does with noise (n1-n4, n6-n7, n11).

The kit's standing guidance pushes against new topics - "don't spawn a topic per source - park a one-off under the nearest topic". Three previous ADRs declined a topic on that basis (0013, 0014, 0015). The question is whether S13 is a fourth decline or the exception.

Two facts pull the other way.

First, the claims do not have a home. Apply ADR-0014's swap test - replace the subject and see what survives. Swap "train.py and val_bpb" for "a prompt and an eval score", or for "compiler flags and a benchmark", and every one of S13's claims survives intact, which is the signature of a transferable area rather than a source-specific one. But swap the agent for a random-search script and the interesting half dies: the context budget per iteration (n8), the suppressed check-in default (n9), the published exchange rates for a second objective (n10) and the producer-prints-its-own-grade leak (n5) are all agent-specific and none of them is about building an agent. Filed under agents they would sit beside claims about loops, tools and state and read as a digression; filed under evals they would sit beside claims about grading pipelines and read as someone else's subject.

Second, the area is not actually single-source, it is single-primary. The brain already holds scattered claims that belong to it and currently have no centre: claim 7 (close the loop, auto-tune on sampled production data with no human), claim 10 (agents self-tuning via a reflect-and-synthesize prompt optimizer), claim 31 (scaffolding as an expiring bet, tested by ablation), claim 34 (do not let the producer grade its own work) and claim 59 (split a loop rather than let it hold two objectives). Every one of those bears directly on how an autonomous improvement loop should be built, and each currently sits in agents or evals as a member of a different argument. That is the mcp.md failure mode in reverse: not a topic scoped by accident, but a subject with no note, whose claims are therefore scattered across two.

Decision#

Create brain/topics/autonomous-research-loops.md, Status emerging (one primary source).

Scope: an agent that iterates on an artifact unattended, accepting or rejecting each change against an automated metric. What must be frozen before the loop starts; how a candidate is judged; where the loop's state and audit trail live; how it behaves over many iterations; and how to read its results honestly.

Explicitly named as the topic's own weakness, in the note: it opens with one source, that source is one person's personal repository (T4), and its only empirical content is a single unreproducible PNG. It stays emerging until a second primary source arrives, and the adjacent claims it references from agents and evals are cross-references, not corroboration - they are not re-homed and their Topic column in claims.md is unchanged.

On the name. It is not called research-agents, and the reason is local rather than aesthetic: this kit already has a /research stage, and in it "research" means external evidence gathering from the literature (sources/<id>/context/). A topic note called research-agents sitting next to .claude/commands/research.md would read as "agents that search the literature", which is the opposite of what the note contains. autonomous-research-loops is longer and unambiguous. This is a one-way door in the mild sense - renaming later means fixing every inbound link - so it is worth getting right now.

Alternatives considered#

Consequences#