
Batch the Review Gate
Collect finished packages, then spend the scarce human in one block
Generation scales. Review does not.
Every time a coding-agent run finishes and you interrupt yourself to “just skim it,” you pay a context tax. You leave the thing you were building. You half-read a moving package. You come back colder than when you left. Do that five times a day and the scarce resource — your yes and your no — is shredded into scraps.
Batch the gate instead.
The human is the bottleneck
Agents can produce packages in parallel, overnight, or while you are in a meeting. You cannot review in parallel with yourself. Attention is single-threaded. Treat it that way on purpose.
The productivity move is simple: finished packages go into a queue. You open the queue on a schedule. Each package gets the same two-minute gate — ship, kill, or one question — then you move to the next. No mid-run pings. No “does this look right so far?”
If the package is incomplete, it fails before the clock starts. Send it back for packaging. Do not start a review that cannot finish in two minutes.
Interrupt mode vs block mode
Interrupt mode feels responsive. It is expensive.
A run is still editing. You get a ping. You open the diff. The agent writes three more files while you skim. You ask a question that is already obsolete. You reopen the thread later and cannot tell what you already decided.

Block mode is boring on purpose. Morning: let runs finish and land packages in one place — PR bodies, a REVIEW/ folder, a queue doc. Afternoon: open the queue, start a timer per package, call ship / kill / one question, write the decision in one line, move on.
The queue only accepts finished packages. A still-running agent does not get a slot.
Rules that keep the batch honest
One package per outcome. Side chats merge into the six review fields or die.
No mid-generation review. If it is still moving, it is not in the queue. Full stop.
Cap the block. If you have twelve packages, you do not invent a two-hour gate. You either split outcomes before generation, or you schedule a second block. The gate length stays fixed; the package size shrinks.
Write the decision where the package lives. “Looks good in Slack” is not a decision. Ship, kill, or one question — recorded.
What to measure for a week
Track cycle time from package-ready to decision, and the number of times you broke a block to “just check one.” Feature demos lie. Those two do not.
If cycle time is short but you interrupted constantly, you did not batch — you jittered. If you never interrupted but packages sat for days, the block is too rare. Adjust the cadence, not the gate.
Soft close
You do not need a dashboard to batch review. A dated checklist of package links is enough.
A local broker receipt can be the package you queue — goal and outcome without the harness scroll — but the habit is the point: collect, then gate. Generation will keep getting cheaper. Spend the human once, on purpose.