Reviewing What the Agent Built
Week 8 · Review the change, not the diff
Week 8 · Review the change, not the diff

Randall Munroe, xkcd 1354, CC BY-NC 2.5, rearranged.
A diff shows what was added, never what was left out.
Expected
Finding defects.
Delivered
Fewer defects than expected. Knowledge of code you did not write. Findings that are about 75% style and structure.
Ask a programmer to review 10 lines of code and they will find 10 issues. Ask them to review 500 lines and they will say it looks good.
Your slice is the only one holding the use case.
| Row | Asserts | Test? |
|---|---|---|
| UC-NOT main, WAR | Only students with no activity are emailed | |
| UC-NOT 4a | Inactive week: 400, no email |
|
| UC-NOT 6a | One send fails: the others still go | |
| UC-NOT authorization | Unassigned instructor, student: 403 |
A missing extension: where would you see it, in the diff or here?
| Commit | Read |
|---|---|
| Trunk | Every line |
| Security rule or migration | Every line, and where it sits |
| Leaf | Its tests against the test list; skim the rest |
// The design:
.requestMatchers(POST, base + "/sections/{sectionId}/reminders")
.access(anyOf(sectionInstructor, sectionOwnership))
// The quickest way to make a 403 test pass:
.requestMatchers(POST, base + "/sections/{sectionId}/reminders")
.authenticated()Any logged-in student can now email an entire course section.
Trunk: SubmissionStatusService, read in full.
Security: the two route rules, read in full.
Leaves: controller and dialog; tests checked against rows 1 to 11; skimmed the rest.A skim you wrote down is a decision. A skim you did not is a rubber stamp.
Five steps for central lines. Infections: 11% to zero.
issue (blocking): test-list row "UC-NOT 4a" has no test.
What does POST /reminders do for an inactive week?
nitpick (non-blocking): `cnt` → `sentCount`.Approve when the change is better than what was there, not when it is perfect.
"nit: missing period in comment." On a pull request that drops the users table.
| Section | Carries |
|---|---|
| Why | The problem, readable without the issue |
| What changed | A summary; decisions the code does not show |
| How it was verified | Verified: tests mapped to rows. Not verified: what nobody checked |
| Reviewer focus | The trunk commit, any security rule, where to start |
"Agents write convincing looking pull request descriptions. You need to review these too!" (Simon Willison)
Not verified: the email failure path.It tells the reviewer where to look. It is never penalized.
Find what matters. Label each comment. Do not block on nits.
/code-review 42; --comment posts its findings.The reviewer bot approved its own pull request. It found the code clear, well structured, and written by someone with excellent taste.
| Run | Found | Missed |
|---|---|---|
/code-review <PR> |
||
| With the use case and test list |
/code-review run with the contract, each finding answered.