All field notes

AI field guide3 min read

Review AI-generated code as a change to a living system

Use scoped implementation, focused tests, and explicit release evidence instead of trusting a green build or testing forever.

A person typing code on a laptop beside a plant and mug.
Photo by Nubelson Fernandes on Unsplash · LicenseEditorial photograph, not a technical diagram.
01

Real code work is more than generating a function

SWE-bench evaluates software changes against real repository issues. Its framing is useful: solving a coding task can require understanding interactions across files and working with an execution environment. Historical benchmark scores are not a current reliability guarantee for any assistant.

Treat an AI-generated patch like any other proposed change. Ask whether it satisfies the request, preserves existing behavior, and introduces an understandable maintenance burden. A plausible implementation that targets the wrong requirement is still the wrong implementation.

Technical foundation: Jimenez et al.: SWE-bench

02

Define acceptance before editing

Write down the intended behavior, affected surfaces, and out-of-scope changes. For a cart feature, include empty and populated states, quantity rules, persistence, and what happens when a product becomes unavailable. Identify which checks can be deterministic and which require visual or human review.

Inspect the existing architecture before adding dependencies or abstractions. Reuse established components and conventions where they fit. Preserve unrelated user changes. A small patch with clear reasoning is easier to inspect than a broad rewrite that mixes feature work with stylistic cleanup.

03

Test the risk, not every possible thing

Run focused tests for the changed behavior, type checks where applicable, and a build appropriate to the project. Add security and authorization checks when the change crosses those boundaries. For visible UI, inspect relevant desktop and mobile states rather than relying on compilation to prove the layout.

Choose a stop condition. Repeating an unchanged test without new evidence does not improve confidence. If a test fails, diagnose the cause and rerun the relevant check after a meaningful change. Keep a concise record of what passed, what was not tested, and any remaining limitation.

04

Review the diff and the release boundary

Read the final diff for accidental deletions, hidden behavior changes, hardcoded secrets, and unsupported claims. Check that new links and controls lead somewhere real. A green build cannot establish that a checkout button uses the correct environment or that an admin route is restricted properly.

Hand off evidence tied to the actual revision. If deployment is in scope, verify the deployed page or service, not only the local version. If it is not in scope, state that clearly. Good AI-assisted development ends with an inspectable result and known boundaries, not an unsupported declaration of perfection.

05

A bounded coding QA pass

  • Map the patch to explicit acceptance criteria.
  • Preserve established architecture and unrelated edits.
  • Run focused behavior, security, and build checks.
  • Inspect visible states when the UI changes.
  • Report the exact verification scope and release status.