Research

Paper

AI LLM March 18, 2026

Bootstrapping Coding Agents: The Specification Is the Program

Authors

Martin Monperrus

Abstract

A coding agent can bootstrap itself. Starting from a 926-word specification and a first implementation produced by an existing agent (Claude Code), a newly generated agent re-implements the same specification correctly from scratch. This reproduces, in the domain of AI coding agents, the classical bootstrap sequence known from compiler construction, and instantiates the meta-circular property known from Lisp. The result carries a practical implication: the specification, not the implementation, is the stable artifact of record. Improving an agent means improving its specification; the implementation is, in principle, regenerable at any time.

Metadata

arXiv ID: 2603.17399
Provider: ARXIV
Primary Category: cs.SE
Published: 2026-03-18
Fetched: 2026-03-19 06:01

Related papers

Raw Data (Debug)
{
  "raw_xml": "<entry>\n    <id>http://arxiv.org/abs/2603.17399v1</id>\n    <title>Bootstrapping Coding Agents: The Specification Is the Program</title>\n    <updated>2026-03-18T06:21:06Z</updated>\n    <link href='https://arxiv.org/abs/2603.17399v1' rel='alternate' type='text/html'/>\n    <link href='https://arxiv.org/pdf/2603.17399v1' rel='related' title='pdf' type='application/pdf'/>\n    <summary>A coding agent can bootstrap itself. Starting from a 926-word specification and a first implementation produced by an existing agent (Claude Code), a newly generated agent re-implements the same specification correctly from scratch. This reproduces, in the domain of AI coding agents, the classical bootstrap sequence known from compiler construction, and instantiates the meta-circular property known from Lisp. The result carries a practical implication: the specification, not the implementation, is the stable artifact of record. Improving an agent means improving its specification; the implementation is, in principle, regenerable at any time.</summary>\n    <category scheme='http://arxiv.org/schemas/atom' term='cs.SE'/>\n    <category scheme='http://arxiv.org/schemas/atom' term='cs.LG'/>\n    <published>2026-03-18T06:21:06Z</published>\n    <arxiv:comment>To appear in IEEE Software</arxiv:comment>\n    <arxiv:primary_category term='cs.SE'/>\n    <author>\n      <name>Martin Monperrus</name>\n    </author>\n  </entry>"
}