Live review
Review an agent’s diff before it lands
- You read the diffThe change is small and you are already in the editor. An automatic verdict is unnecessary.
- Let doki take the first passThe agent worked alone for a while and you want to know if there are secrets, risks, or a diff that should not land.
Three verdicts, not a vague note
Ready means the automatic pass did not find a reason to stop. Review means there is something a human should look at before merging. Don’t merge means the diff carries a concrete problem: a secret, a risk you do not accept, a change that does not belong.
It is not a “tests are green” stamp or a product approval. It is a reading of the diff so that “done” is not confused with “it is on main”. Tests remain the repo’s tests.
Secrets that slip into the change
The typical failure is a copied .env, a key in a fixture, or a token the agent pasted “just to try”. Review flags them. Guard, separately, tries to keep the agent from reading ~/.ssh or ~/.aws in the first place. Two moments: before the command, and after the diff.
A flagged secret is a reason not to merge, and to clean the branch before opening the PR. The .env copy doki places in a worktree is so the agent can start, not so it gets committed. More on that checkout in worktrees.
Send the findings back to the agent
Instead of rewriting the fix yourself, doki can send the report back to the same session. The agent sees what was objected to and takes another pass. If you want a different model, a combo puts a second agent on review: Claude writes, Codex reads, or the reverse.
That split is compared in Claude Code vs Codex. The combo stops when the verdict comes back clean or when it gets stuck and the question returns to the Inbox.
What you do with the branch afterward
Merge is for when the verdict and your own look agree. The PR, via gh, is for the team’s flow: the usual human review does not switch off because an agent passed an automatic pass. Discard throws the experiment away without leaving dead branches.
Activity is recorded and can be exported to CSV or JSON: which agent, which task, what came out. It helps when more than one person asks who touched the branch.
What this review does not cover
It does not make the product decision for you and it does not replace CI. A “ready” diff can still break a case only the pipeline sees. It also does not read the ticket’s intent better than you do: if the agent built the wrong thing with a clean diff, the verdict will not guess that.
Run permissions stay in Guard. An innocent diff does not excuse a dangerous command the agent wants to run next. The rules are in permissions.
Frequently asked questions
Does automatic review merge on its own?
No. The verdict informs you. Merging, opening the PR, or discarding is an action you take in the app, unless you have set up a flow where you already decided that exit.
Does it catch every secret?
It flags the ones it recognizes in the diff, such as keys and environment files. It is not a full audit of the repo. A human look still matters if the change touches auth or configuration.
Can one agent review another’s diff?
Yes, with a combo: one builds and the other reviews until it is approved or they get stuck. You can also send the findings back to the same agent.
Do I need gh?
Only to open the pull request from doki. Merging or discarding the worktree does not depend on GitHub.
