Review
Review is the step of the line where a person reads the change. A session opens a pull request; Review is where it gets read, sent back or merged, without leaving the factory.
Why the factory needs it#
Agents write faster than people read. Run a few sessions at once and the slow step is no longer writing the code but reading it: pull requests pile up across repositories, each in its own tab on GitHub, each needing the person to remember which session made it and why. A factory that writes more than its person can review doesn't ship more. It ships less carefully.
So Review is built around the person's attention, the one input the factory can't add more of:
- Nothing lands unread. Agents open pull requests; only a person merges them. The factory has no path to main that skips this step.
- One queue. Every open pull request of every workspace in one list, sorted by who has to act, so the person starts with what's waiting on them.
- The loop closes. What the person asks for goes back to the agent that wrote the change, on the same branch, with nothing to retype or explain again.
- GitHub stays the record. Review reads and writes through the person's GitHub account. Checks, comments and merges are the real ones, so teammates see the same thing.
Every pull request, one list#
Review reads the open pull requests of every repository in every workspace, through the GitHub CLI. It lists the factory's own and the ones people opened, and groups them by who acts next.
- needs youready
- needs a fixred or conflict
- changes askedauthor's turn
- waitingchecks run
- draftsfolded
A pull request opened from a session's branch links back to that session. The filter narrows the list to the factory's, or to the ones GitHub asks the person to review, and the search finds one by title, number or repository.
One pull request#
Opening one turns the page into it. Summary has the checks, whether it merges cleanly, the review so far, the description and the conversation. Changes is the diff, in the same viewer the side panel uses for a session's work.
The arrows, or [ and ], step to the next pull request without going back to the list. Merge asks first, and is held while a check fails or the branch conflicts: a red check is a reason to send the work back, not to click past it.
Sent back to the session#
The factory pushes with the person's GitHub account, so its pull requests are theirs, and GitHub doesn't let anyone approve or request changes on their own. The person comments instead, and the comment can also go to the session that opened the pull request, as its next message.
The agent makes the change on the same branch and pushes, and the pull request moves on its own. Someone else's pull request gets Approve and Request changes as usual.
This is the step that makes Review part of the factory rather than a GitHub client. The session still holds the context of the change, so the person's note is enough: no new ticket, no pasting the diff into a chat.
A second reader#
Ask an agent starts a session in the pull request's workspace that reads it with gh pr view and gh pr diff. It reports blockers first, then smaller notes, and whether it would approve. It doesn't push, comment or submit a review: the decision stays with the person.
The agent reads first so the person can read less, not instead of them.