Build1 distinct publisher3 min readPublished
In one developer's fully automated implement-and-review loop, a 1,000-line feature came back at over 4,000 because reviewer findings needed no evidence. Forcing each finding into a failure scenario cut what the implementer had to fix.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
The loop terminates on one condition: the reviewer finds nothing [1]. So the reviewer's standard of proof, not the issue text, sets how much code gets written. Findings become fixes, fixes are new code, and new code is new surface for the next round of findings [6]. The only damping term in that circuit is whatever the reviewer declines to say.
Scope narrowing came first, by hand: do not cover unrealistic manual state tampering, inputs that are never generated in practice, or defense in depth that assumes an attacker [8]. That is a denylist, and its coverage is exactly the length of the list, which is why the author calls it a symptom fix [9]. Every new category of speculative concern needs a new clause.
The replacement changes the reviewer's output obligation rather than its topic list. Each finding has to arrive with a concrete failure scenario written as input or state, execution path, failed result [15]. In the author's phrasing, the reviewer must write down how you would operate the app to hit the problem [21]. Consider the finding about an attacker writing an invalid due date straight into the database [4]. The state it needs comes from writing to the database, so there is no first field to fill in by operating the app. It dies at the form check without anyone having to ban the topic [12]. Defense in depth against someone who already has write access to your database describes a different system, which is close to the author's own objection [5]. Vague findings go the same way, since "I am worried about this" has no execution path [16].
Semi-formal reasoning, from a March 2026 paper by Ugare and Chandra, keeps the reasoning in natural language but forces it into a five-part certificate: function trace table, data flow analysis, evidence-backed semantic properties, alternative hypothesis check, and a conclusion drawn only from the first four [10][11]. The post reports the abstract's numbers as patch equivalence accuracy rising from 78 to 88 percent, and 93 percent on patches generated by agents [13]. Read that as a claim about someone else's task. Patch equivalence is a decision about two versions of code; a review finding is a generated assertion about one. On the paper's task the error rate falls from 22 percent to 12 percent, so a bit under half the errors go away [20], and the agent-patch figure is the one nearest this workload, since every patch in the loop is agent-written [1]. For the number to carry you would have to be judging equivalence and running all five parts, and this setup does neither [14].
What kept the full certificate out is a constraint unrelated to accuracy: the author reads every review result by hand, and five sections per finding is too much to read [14]. That is the real budget line in a human-in-the-loop setup. Output length is paid on every iteration by the one reader who cannot be parallelised. A single prompt line that removes an entire class of finding is cheap against that budget; a certificate template is not.
The transferable part is narrow. Write the reviewer's definition yourself, because an agent asked for a perfect reviewer produces the most thorough one available, and thoroughness lands as implementation size [7]. Then make each finding carry a witness. The post itself was drafted by an agent working to the author's structure and rewritten by hand [18], which is a fair description of the arrangement it recommends.
Ranked by verification strength, evidence, and original report placement.
A feature the author expected to be about 1,000 lines was over 4,000 lines when he looked again.
The author identifies the cause as having let an agent write the review agent's definition: ask an agent for a "perfect review agent" and it gives you one, a perfect reviewer looks at everything including things that do not matter, and a reviewer's thoroughness converts directly into implementation size.
The alternative idea the author found is semi-formal reasoning, from a March 2026 paper by Ugare and Chandra, in which the reasoning stays in natural language but is forced into a certificate-like template.
The paper's template has five parts: a function trace table listing every function inspected with file, line and confirmed behavior; data flow analysis of how important variables travel between functions; semantic properties with explicit evidence, each claim backed by a code snippet or condition; an alternative hypothesis check verifying in the code that no specific condition changes the behavior; and a final conclusion derived only from the evidence in parts 1 through 4.
The author runs a personal project where development is fully automated: he writes an issue in Linear, one agent implements it, and a second agent reviews the result; if the reviewer finds something the implementer fixes it and the loop runs again, and if the reviewer finds nothing the issue is closed.
The author says the implementation agent wrote the code and the review agent made it grow, and that the implementation ran away from him right after he added the review agent.
Distinct publishers with included, body-backed reporting in this cluster.
1 article · September 6, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
Make agent-written pull requests carry a receipt1 distinct publisher
build
An unsupervised agent loop billed $38 before anything in the system said stop1 distinct publisher
build
Before you buy another GPU, check num_ctx and the rope base1 distinct publisher
build
106 design engineers report a €115,000 median. The salary sites are pricing a different job.1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
One developer's word, one project
Every number traces to the person who ran the experiment: the 1,000-line estimate, the 4,000-line result, the character of the reviewer's findings. No diff, repository, or review log accompanies them, and the one external anchor, the patch equivalence figures, reaches us through his reading of an abstract rather than the paper. What raises this above the usual workflow post is that the artefacts are quotable and arguable: the prompt line, the discarded scope list, and the surviving finding at tasks/list.ts:42 about UTC versus Japan time. That makes it quotable, not confirmed by any outside check.
One developer, one side project
The loop runs on one hobby project belonging to one developer, and even the borrowed technique arrives trimmed: four of the five certificate parts were dropped because the output was too long for one person to read. No team, tool, or second practitioner in this reporting has tried the reproduction-path rule. The practice is worth copying, though it has not yet spread beyond him.
The headline outruns the after-picture
The post is unusually candid about its own limits. The author calls his first fix a symptom fix, admits he skipped most of the template, and states his contribution as a single sentence. The gap sits in the measurement, and our own framing inherits it: 4,000 lines is documented for the before, and nothing at all is documented for the after. No finding count, no round count, no diff size once the rule was live, and no check on whether real defects went quiet along with the imaginary attacker.
A byline, not a product
Nothing is being sold here. No vendor, tool, or funding sits behind the account; Linear appears as the author's issue tracker and nothing more, and the return on a well-received dev.to post is reputational. The piece was drafted by an agent working from the author's structure, so an argument about agents over-producing when unconstrained is itself partly agent output.
Specific and coherent, but unchecked
The mechanism is easy to credit because it is mundane: a reviewer with no evidence requirement produces concerns, and a fixer that treats every concern as work grows the code. The details hold together, including the surviving time-zone bug that reads like something a person actually hit. Confidence thins where the claim widens. Whether the rule survives a team codebase, and whether it drops genuine defects along with the unreachable ones, is untested in this reporting.