Recursive self-improvement · studied honestly

Can an agent learn
a maintainer's judgment?

A bounded, self-improving agent-loop suite — plus the experiments that test what it actually does. Here, credibility comes from disclosed limits and visible retractions, not hype.

See the experiments ↓ What this does NOT establish →
9
experiments
5
retractions on record
1
escape from the wall
0
fabricated metrics
The wall

Every oracle you author is circular.

Score an agent's judgment against a rubric it follows, and you measure the model agreeing with itself. Across this project, two clean ρ≈1.0 results were retracted for exactly this; same-model "blind consensus" turned out to be a persona artifact; a self-review study hit a robust floor. The recurring lesson: a self-authored value signal proves nothing.

The escape · Exp9

A reward you can't fake.

Fix a real bug in a real library; let its own pre-existing test suite be the judge. Held-out grading, reward-hack guards, worktree isolation. 1 / 3 real bugs fixed. The verdict is reality's, not mine — it cannot be demoted by a control, because it is the control.

The arc · Exp1 → Exp9

Nine experiments. Verdicts, not vibes.

Each result is reported straight — including the ones a control demoted. The retractions are the point.

Exp 3✓ holds

Pairwise > absolute scoring

Relative judgment is far lower-noise; the item that coin-flipped under absolute scoring ranked stably under pairwise. Stabilizes ordering — not the cut line.

Exp 1 · 2⚠ scoped · null

The rubric gate & self-review collusion

The Total≥28 cutoff is unsubstantiated; alignment carries the gate, and it's a coin-flip at the boundary (2 retractions, disclosed after blinded re-runs). Same-context self-review showed no collusion on blatant hacks — a null, reported as a floor effect.

Exp 4 · 5✗ retracted

ρ=0.986 / ρ=1.0

Both near-perfect correlations — both retracted. The oracle was my own test-allocation, and value was defined as the thing being measured. Circular.

Exp 6 · 7✗ demoted

"Blind consensus" & diversity

A 6/6 unanimous-wrong committee looked damning — until a 6×opus control showed the unanimity was a persona/sampling artifact. The "diversity fixes it" follow-up collapsed too.

Exp 8⭕ robust floor

Rubber-stamping own fixes?

0 genuine wrong fixes in 54 — untestable. The one apparent exception was a bug in my own oracle, caught in analysis. The 5th self-authored-oracle error of the session.

Exp 9✓ the escape

Real-repo outcome harness — the first non-circular result

SWE-bench-lite on real python-semver bugfix commits. The fixer never sees the grading test (held out, defeats the hardcode hack); a reward-hack guard fired on a live attempt when a fixer tried to edit a test. The library's own 333 tests are the judge.

1/3
real bugs fixed
incl. a plausible fix that semver's own test rejected
Progress · datestamped

Toward actually building it.

A running, honest log — new milestones are appended with dates as we move from studying the loop to grounding it. Full detail in CHANGELOG.md.

2026-06-18escape reached
  • Exp9 — the circularity wall escaped: real-repo harness, library's own held-out tests as judge, reward-hack guard fired live, 1/3 real bugs fixed.
  • Exp6/7 demoted by a 6×opus control · Exp8 robust floor (caught my own oracle bug).
  • B5 recursion — honest null: feeding real failures back did NOT improve the retry (feedback 0/6 vs control 1/6). Fix-capability stands; recursion not demonstrated.
  • Public repo + green CI · issue templates · skills v3.1 · this live site + artwork.
2026-06-17foundation
  • Suite v3 grounded in real primitives ("runs forever" claim removed) · Exp1–3 (pairwise holds) · Exp4–5 retracted (circular oracles).
  • Revealed-preference harness + human gate (the one non-circular path; awaiting ≥20 real decisions, n=5) · autonomous cycle: judged 20, test-verified 12.
The methodology is the contribution

Controls demoted five clean-looking results. That discipline is the deliverable.

Blinded & counterbalanced

Demand characteristics caught and corrected; stimuli re-run blinded.

Controls before claims

A 6×opus baseline collapsed a tempting consensus story. Every result earns a control.

Retractions kept visible

A demoted result is a deliverable, not an embarrassment — left on the page with its mechanism.

The headline question — can an agent learn a maintainer's judgment? — is not answered yet, by construction. It needs real human decisions and cannot be self-generated without becoming circular. That honesty is the front door.

Read the paper ↗ Reproduce it What it does NOT establish