Skip to content
Engineering with AI

How I work with coding models

Generating code is no longer the constraint. Specification, impact analysis, and integration are.

  • The specification is the durable contract. Before implementation, a detailed Markdown plan records scope, non-goals, invariants, acceptance criteria, and the evidence that settles each one. It survives across model turns and agent boundaries, and it is what the result is measured against. A model moves fast in the wrong direction when the invariants are ambiguous.
  • Impact analysis precedes the edit. A call-graph index maps execution flows, callers, dependencies, and upstream blast radius before a symbol changes. Blast radius is exactly what a confident model estimates worst.
  • Integration is where correctness is decided. Independent work can run in parallel given clean ownership boundaries, but parallel output is input, not a change. Reconciling interfaces, transaction boundaries, and overlapping assumptions is deliberate work, and the result is compared against the plan — not accepted because tests turned green.

I do not read every generated line with equal attention, and that is not the right standard. Attention goes where the risk is: transaction boundaries, state transitions, paid calls, access rules, and public surfaces are read closely; mechanical or well-covered work is checked at its interface and its tests. The plan decides which category work is in before it is written.

The language-processing prompts and the fixtures that test their quality and consistency are all handcrafted.