ai / review

An agent writes most of the code in my changes. How much of it I read depends on the project and the change. This is how I decide.

Checks gate the merge

cibot runs the checks on every push and refuses to merge a change whose checks are not green. The checks are the Go checks, the project's tests, and project-specific scans such as nullscan. A check that a reviewer used to do by reading, such as "does this scan NULL into a string", is a line in a Checkfile.

When a check fails, I paste its output into the agent in that worktree. See git / workflow.

Skim and approve

Most of a teammate's changes get a skim. I open the change in the cibot web page, read the title and description, confirm the checks are green, and scroll the diff. If nothing stops me, I reply in Slack with a green check emoji. No agent runs.

When the agent reviews

I bring in an agent when the skim raises a question, when the change is large, or when the change looks over-engineered and a simpler version is possible. Then I open a new tab and:

cd "$(cibot checkout APP-1A)"

The command checks out the remote branch into a local git worktree. I prompt the agent with my question, or ask it to find what the change could drop. I read what it finds and the lines it points at. Then I post feedback with cibot comment APP-1A.

One comment per review, no threading. cibot has no approve verb. A yes is the emoji in Slack or a sentence in the comment.

Screenshots

A check can tell me a template renders. It cannot tell me the page looks right. For a change to a stylesheet or a template, the agent runs browse on each changed page at phone, laptop, and desktop widths and puts the screenshots in its reply. I review the visible outcome.

What I read

I read the title and description in full. Then I scroll the diff and stop where something stands out. That can be a schema change, a new Go package, a set of unit tests that backfill coverage for a bug fix, or a file I did not expect the change to touch. I do not read check output unless a check fails.

← All articles