Build1 distinct publisher3 min readPublished
A manager agent can only read the one dependency edge somebody wrote for a machine. That is why partitioning went back to a hand-maintained file, with a diff check standing between the engineers and the bookkeeping.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
The refusal rule is the part worth copying. In the builder described on dev.to, a subtask with an empty dependency list means "checked, independent"; a subtask with no entry at all means "nobody looked", and the run will not start [11]. Those two states look identical to any agent asked to derive a graph, which is how you get subtask 7.3 built against four prerequisites from a phase that is not in this run, and a service that does not exist yet [12][13]. The distinction matters because it is the only thing standing between an unexamined task and a merge.
The spread is worth examining directly. Same repository, same model, allocation the only variable: 34.3 divided by 8.7 is about 3.9, a gap of 25.6 points [23]. For that ratio to mean anything in your shop, your partitions would have to vary as widely as theirs did, your score would have to be end-to-end resolution rather than per-file diff quality, and two runs on one repo would have to stand in for a distribution. The writeup reports it as exactly two runs [6]. Treat it as evidence that allocation variance is large, not as a coefficient you can multiply by.
The graph was supposed to come out of the plan. The plan is 1,300 lines, 115 open subtasks, three weeks of work by someone who knew the order [7]. One subtask states its dependency in a form a machine can read [8]. That is roughly 0.9% coverage [24], and the missing 99% lives in a human head, not in the project.
The forbidden-path guard shows the same move twice. Version one was an instruction: do not touch these paths [16]. Version two runs on the diff, in code, immediately before the merge, piping `git diff --name-only base...branch` into the path matcher, and one match ends the run with no warning and no retry [17]. The reason given is bookkeeping trust: once the status file has been written by an engineer, its running total is no longer verifiable [18]. Two concurrent writers had already corrupted that file twice, and git stayed quiet both times because they touched different lines [15]. The matcher carries 18 test cases, and the important ones are the non-matches: `services/watchdog/BUILDPLAN.md` must pass, because only the root file is the status document [19]. A pattern that is too wide halts good work, which costs the same as a rule that never fires [20].
Then the log. Two lines, one second apart, engineer one finishing 7.1 before engineer two had a worktree [21]. The isolation was genuine: separate branches, separate worktrees, test-gated merges into a single trial branch, one at a time [3]. `git worktree list` answers a question about isolation, truthfully, but it says nothing about wall-clock overlap. The engineer loop was synchronous, and the design, the dashboard and the tests all had no opinion about it [22]. Five subtasks in under a minute [4] is a throughput number that survives either way, which is precisely why it did not catch this.
Ranked by verification strength, evidence, and original report placement.
The author built a manager agent that reads a project's build plan, works out what can be built in parallel, hands each subtask to an engineer agent in an isolated workspace, and merges the result behind a test gate.
The manager agent runs on Google ADK with gemini-3.7-flash and has six tools: read the graph, read what the human pointed at, delegate, poll, merge, finish.
Engineer agents work in their own git worktree on their own branch, run the tests for the area they touched, and commit; the manager merges to one trial branch, one at a time.
Five subtasks were built, tested, merged and logged in under a minute, on a backlog written weeks before the factory existed.
The design is based on a paper by Geng and Neubig on asynchronous software engineering agents.
Two runs on the same repository with the same model, differing only in which files got assigned, scored 8.7% and 34.3%.
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 30, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
Given one full stop as input, a coding agent mined the shared run record for work1 distinct publisher
build
Five coding agents on one repo is a staffing problem, and worktrees only fix the filesystem1 distinct publisher
build
Claude Code walks the whole process table to inherit one shell's environment1 distinct publisher
build
Git's autostash replays a three-day-old working tree over the fix it just fetched1 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 builder's own logs
The specifics are the sort nobody invents — 15:22:02 against 15:22:03, one machine-readable edge in 115 subtasks, 18 matcher cases, a pipeline written out as a command line. But every one of them reaches us through the same dev.to post by the person who wrote the code, and the two percentages the story is named for are not his measurements at all; they are relayed from a Geng and Neubig paper we never see. No repository, no test output, no second observer.
One repository, one author
A day's build, one backlog, five subtasks, and a user base of one — the person who wrote it. dev.to's account names no colleague running it, no second repository, nothing anyone else can install, and the only quantified outcome from the machine itself is that sub-minute run. The borrowed 8.7%-to-34.3% spread measures somebody else's agents, not this factory's uptake.
Borrowed number, candid body
The figures this story is named for belong to a research paper, not to the factory being described, and it is easy to read them as this system's results — that is the overstatement. Everything downstream pulls the other way: three admissions of mistakes that survived design, review and tests; a claim of parallel engineers withdrawn until interleaved log lines supported it; an explicit note that a side-by-side demo would have been unsupportable. The gap is in the framing, not the reporting.
Reputation, not revenue
No product, no funding, no vendor named except the framework and model he happens to use. What is at stake is craft reputation on a platform where a good failure story travels, and that incentive mostly pushed toward disclosure here — the three findings are self-incriminating. The tell of an unpriced write-up is what is simply absent: not one token count, dollar figure or wall-clock cost for the engineers doing the work.
Coherent, unchecked
Internal coherence is high and the failure modes are documented against artifacts the author quotes, so we can trust the shape of what happened. Two things keep this from going higher: nobody has looked at the repository, and the model identifier — gemini-3.7-flash — is corroborated by no one, which matters because the whole point of the exercise is that identical models behave differently under different file allocations. Treat the lessons as sound and the numbers as one person's.