control-loop / reconciler
Reference instantiation of the two-plane loop on a single repository. Repository repair per blueprint §6, blast radius L1 (Gated).
A reference instantiation of the two-plane loop on a single repository, demonstrating the Repository Repair pattern from the blueprint. The reconciler is the smallest system that satisfies all four conditions of the closure test.
What it does
The reconciler takes a small repository and a held-out corpus of historical issues that were each closed by a passing test. For each issue:
- The Applier creates a scratch branch from the pre-fix state.
- The Proposer (a no-op stub in v0; will be replaced in v1) reads the issue text and emits a patch.
- The Scorer runs the historical tests against the patch and produces a
Verdict (
PASS,HARDEN,STALL,PIVOT, orKILL). - The Ledger appends the run.
- On
PASS, the patch is offered as a change request for human review (blast radius L1 — Gated). The human samples; they do not review every one.
What it proves
- Condition 1 (closed loop) is satisfied. The Scorer observes the consequence of the patch; the Ledger records both.
- Condition 2 (declarative target) is satisfied. The patch is the intent;
git diffshows it. - Condition 3 (unattended) is satisfied at L1 with the named exception “the human samples”. Not unattended in the strict sense; the human is named.
- Condition 4 (ground truth) is satisfied. The Verdict plane is the Scorer, not the Proposer. The corpus is monotone: 40 historical issues, no removals. KILL outranks aggregate — the reconciler does not promote a patch that breaks a previously-passing case, even if the aggregate improves.
What it does not prove
- L2 (Unattended). The reconciler still requires a human in the loop; this is by design for the reference instantiation.
- L3 (Self-modifying). The Verdict plane and the Subject (the repository) are distinct; the reconciler does not modify itself.
- A real Proposer. The current Proposer is a stub (intentional, per blueprint §9 — Proposer is built last).
Status
The reconciler reached “all four conditions satisfied at L1” on 2026-08-01 with a 40-case corpus. The blast radius is L1 (Gated); L2 deployment requires a separate path and a separate reviewer, per the blueprint.
Keep exploring
Connect the proof to your own workflow
Why passing tests can still mislead an agent
A practical guide to separating useful feedback from a trustworthy decision.
Use the modelLearn the four-part closure test
Check whether an agent can observe, decide, and act without grading itself.
Share your caseBring us an agent workflow
Show us the task, the expected result, and the decision you need to trust.