Verify the work
Verify the result
Use the right evidence for the change instead of accepting the agent's summary as proof that the work is complete.
At the end of a task, the agent writes a nice summary. Added validation, updated tests, all passing. It reads like proof. It’s a list of claims.
Verification is connecting each claim to evidence. Not all evidence is the same, so match it to the claim:
| Claim | Useful evidence |
|---|---|
| The input rule works | Focused tests at the boundaries |
| The app still integrates | The relevant suite and a production build |
| The error is clear and visible | Open the page at a couple of sizes |
| This API exists in our version | Installed types or code, plus the primary docs |
| Nothing unrelated changed | The changed-file list and a focused diff review |
One check rarely proves everything. A type check doesn’t prove authorization. A build doesn’t prove the page looks right. One happy-path click doesn’t prove the failure case is handled.
Look at the evidence, not the description of it
Read the test output, not just tests passed. Open the page, not just the screenshot filename. Look at the changed files and the diff, not just the agent’s description of them.
While you’re in the diff, look for scope drift: a new dependency, generated files, formatting churn, a refactor nobody asked for, behavior outside the request. A change can work and still be too broad.
Try one negative case
Happy paths usually work first. Exercise one failure, boundary, or abuse case that matters. For display-name validation, send an empty value and 51 characters. For authorization, try to read another user’s record.
Negative cases show whether the system fails safely and whether the rule lives at the right boundary.
Say what you didn’t check
A useful completion report looks like this:
Changed: server-side display-name validation
Evidence: focused request tests, full API suite, production build
Negative case: empty and 51-character names rejected
Diff scope: route and request test only
Not verified: browser error message, outside this step
An honest limitation like the payment sandbox was unavailable is valuable. It tells the next person what risk remains. Everything works with no matching evidence hides that risk.
I ask agents to end every task with a report in this shape. It changes how they work, too. It’s hard to write Evidence: next to something you didn’t check.
How much verification you need depends on what a mistake would cost. A typo needs a glance. A payment or access-control change needs the full list.
Lesson completed