TECHNOLOGY

Local coding assistants: first read, edit, review and test

In this article
THE QUICK TAKE

A source-to-diff-to-check chain distinguishes actual repository work from a fluent assistant summary or an unverified claim of passing tests.

A useful first local coding task passes through reading, editing, review, and a real check. The four results should be distinguishable; an assistant’s fluent explanation is not evidence that a file changed or a test ran.

The concrete application boundary

Treat the first task as a small repository operation rather than a model benchmark. Cline, Aider, and Zed expose different interaction surfaces, but each task still has a source context, an intended modification, and an observable result. Pick one helper whose behavior you can understand manually. Preserve the starting repository state and identify the existing check that covers the requested behavior. Do not begin with a broad dependency update, repository cleanup, or unexplained shell script. A local model can be connected correctly while receiving incomplete source context, and an application can edit a file successfully while making the wrong behavioral change (Cline local model overview) (Aider Ollama integration) (Zed Agent documentation).

A practical route

First ask the application to read a named file and explain a specific branch. Supply missing context until the explanation references the actual code. Next request one small change, naming behavior that must remain intact. Before accepting the result, inspect the actual diff in the editor or Git view. Finally run the relevant existing check and read its output. If a command needs approval, inspect the command itself and its working directory. Keep each result beside the corresponding action instead of relying on the final assistant summary.

A worked example

Use a formatter that returns a default label for an unknown input. Request clearer wording for that fallback while preserving recognized inputs. Reading should locate the branch; editing should modify the label; review should show no unrelated changes; the check should exercise the affected behavior. If a test already failed before the edit, preserve that baseline so the failure is not wrongly attributed to the assistant.

CheckRecord
ReadThe named source and the branch actually explained.
Edit and reviewThe requested fallback change and the inspected file diff.
CheckThe actual command, working directory, and observed output.

Reading the failure correctly

If the explanation is wrong, stop before editing and inspect context. If the diff is broader than requested, narrow the task or reject the unrelated changes. If a check cannot execute, report that operational failure separately from code correctness. Neither a checkpoint nor a commit proves that a requested behavior was tested.

What completes the check

The result is a traceable source-to-diff-to-check chain. It can be assessed independently of the application’s final prose, which makes later model or client comparisons more meaningful without inventing benchmark scores.

Related background: Reproducible inference stacks: preserving a GPU pilot’s result, Coding LLMs on 12GB VRAM: Budget Context and Headroom.

← All articles