← AI Development

The Desk: Reviewing at the Speed Agents Write

Aaron Elder · July 2026

Somewhere in the last year, the bottleneck in my work quietly moved. Agents now draft long documents faster than I can read them: a capability model for charter operators, design packets for new product surfaces, gap analyses that cross-reference forty other files. Writing stopped being the constraint. Reviewing is the constraint now, and reviewing well turns out to be a different problem than reviewing fast.

For code, we solved this a long time ago. Pull requests, line comments, approvals, a merge that records exactly what changed and why. For long prose documents, the options were all bad. Reading a forty-page design doc as a repo diff is miserable. Leaving feedback in a chat window means the feedback evaporates when the session ends. Moving the document into a collaborative editor breaks the one rule I refuse to break: the canonical source lives in the repo, next to the work it describes, where the agents can read it.

So we built the desk. It is a small, private section of this site, and it has become the highest-leverage loop in how I work with agents.

What the desk is

Each document on the desk is one canonical markdown file living in its home repo, plus a published rendering here. Publishing is versioned and immutable: the first publish is v1, the next round is v2, and a version never changes after it ships. Between any two versions there is a track-changes view, so I can see exactly what moved between rounds without trusting anyone's summary of it.

The reading surface is built for markup. Select any passage and comment on it. Comments anchor to content, not line numbers: each block carries a hash of its text, so an anchor survives small edits nearby, and table rows and list items are individually addressable. A comment about row 14 of a fee schedule stays pinned to that row, not to "somewhere in section 3."

The front door is access-controlled, and the desk itself is deliberately single-reader: it is my private markup surface, the place drafts go before anyone else sees them. The same machinery also runs the collaborator-facing review section of the site, where outside reviewers mark up shared documents. Same anchors, same threads, same loop.

A review round

An agent finishes a draft, publishes v1, and hands me a URL. I read it like a document instead of a diff, on whatever device I happen to be holding, and leave comments anchored to the exact passages they're about. Corrections, objections, scope calls, open questions.

Then I tell a session to pull my comments, and the interesting half of the workflow starts. The agent reads the full comment thread through an API. It can't complete a human login, so it has its own key and its own identity: everything it posts renders as claude, never as me, never as a person.

What it does with the comments matters more than the plumbing. A correction gets edited into the canonical markdown, in place. A scope ruling ("not in this phase") gets recorded as a ruling rather than silently deleting the content, because my call about scope is not a correction of the underlying fact. And a hedged comment ("maybe", "TBD") stays open, because a question is not a decision, and an agent that hardens my thinking-out-loud into policy is doing damage that's hard to see and harder to undo.

Then it republishes. The new version shows track changes against the old one: exactly what my markup changed and nothing else. It replies to every comment naming the specific edit it made, resolves the thread, and reports back with counts, the URL, and anything it chose not to apply and why. I reopen whatever I disagree with. Most documents converge in a round or two.

More than one reviewer

The part that surprised me is how well the loop holds up when there are several humans in it. On the collaborator side, multiple people mark up the same document, and every comment carries its author. The agent sees the whole threaded conversation: who asked for what, where two reviewers want opposite things, which objection already has an answer further down the thread.

And it can act on all of it. It reads the full set, replies to each person individually, and resolves each thread as it addresses it. When reviewers disagree, it doesn't average them into mush; it names the conflict and puts it in front of the person whose call it is. Feedback that used to arrive as five scattered emails and a hallway comment now arrives as one addressable, threaded record, and every item in it gets an explicit answer: applied, recorded, or declined with a reason.

That last property is the one I'd defend hardest. Review feedback usually dies in the gap between "I said it" and "someone did something about it." The desk closes that gap by construction. A comment cannot fade away; it can only be resolved by an answer.

The rule underneath it

None of this works without one load-bearing rule: the published version is never the source. Changes flow from the canonical file to the published version. Feedback flows from comments back into the canonical file, and then a new version is published. Nobody, human or agent, edits the artifact directly. The moment you patch the rendered copy, you have two versions of the truth and no record of which one is lying.

Keep that rule and everything else falls out. Versions are immutable, so staleness is visible instead of silent. The comment threads become a durable record of why the document changed: six months from now, "why did the capability model drop that section" has an answer with a name and a date on it. And the canonical file stays in the repo, where the next agent to touch the system reads the same truth I reviewed.

The desk itself is almost embarrassingly small: static pages, a few serverless functions, a key-value store. That's the point. The expensive part of an agent workflow was never the writing. It's the moment a human judgment lands on a draft, and everything downstream depends on that judgment being captured, answered, and folded back into the source. That moment deserved purpose-built furniture. Now it has some.

Documents turned out to be only half the story. The same bottleneck shows up in the judgment calls agents can't make alone; the furniture for those is the gate walk.