HARNESSES AND BROKERS / CODING HARNESS
Aider
Aider is a well-established open source coding harness, and two of its habits are worth copying anywhere: it builds a compact map of the repository for context, and it turns every edit into a git commit you can review or undo.
Technology
What it is
Aider is AI pair programming in the terminal. You start it in a project directory, add the files you want to work on, and describe changes; it edits the files and commits the result. It is open source under the Apache 2.0 license and installs with Python tooling.
Compared with newer agents that run long autonomous loops, Aider leans toward a conversational, file-scoped workflow. That makes it a clear example of how much a harness can do with careful context selection and a strong git habit.
The repository map
Aider builds a map of the whole codebase and uses it to help the model work in larger projects. The map gives the model a compact view of what exists and where, without loading every file into context.
This is the context selection problem the harness layer article describes, solved in a specific way: give the model an index, then the few files that matter, rather than the whole tree. Any harness working against a large repository needs some version of it.
Every change is a commit
Aider commits its changes automatically with descriptive messages. The consequence is that standard git tools become the review and undo mechanism: diff the last commit to see what the agent did, revert it if it was wrong.
For the auditable property, this is about as good as it gets with no extra infrastructure. Git history is a durable, ordered, attributable record of every change, kept in a format every engineer already reads.
Chat modes and architect mode
Aider has distinct modes: code edits files, ask discusses the code without changing it, help answers questions about Aider itself, and architect splits the work between two models. In architect mode one model proposes a solution and a second, the editor model, turns that proposal into concrete file edits. The documentation notes this costs two requests and can help models that are weaker at producing a solution and well-formed edits in one pass.
Architect mode is a small, concrete example of routing within one task: different models for different steps, chosen by the harness.
Model choice
Aider connects to almost any LLM, including local models. Model choice is configuration, which makes it a practical way to compare models on the same workflow or to keep restricted code on a local endpoint.
Lint and test loops
Aider can lint and test the code after every change and work to fix what the linters and tests report. It can also run from inside an editor by watching for instructions written as code comments, and it supports voice input. The lint and test loop is the part that matters most: an agent that checks its own work produces changes worth reviewing.
Where it fits in an open stack
Aider is an execution-layer coding harness with open source code, free model choice, and git as its record. It is a good fit where a developer wants to stay in the loop on every change, and a useful baseline when evaluating more autonomous harnesses.
Gotchas worth knowing
- Auto-commits need a clean starting point. Start from a clean working tree so agent commits are not mixed with your own unfinished work.
- Model fit varies. Edit formats and architect mode exist because models differ in how reliably they produce applicable edits.
- File scope is your job. The files you add to the chat shape the result; too few and the model guesses, too many and context dilutes.
How it scores on openness
- Replaceable. Strong. Almost any model, local or hosted.
- Inspectable. Strong. Apache 2.0 source, and the conversation is visible as it happens.
- Portable. Good. The work product is plain git history; configuration is Aider specific.
- Bounded. Moderate. It works on the files you add, and commands and changes are visible to you as they happen; containment beyond that is your environment.
- Grounded. Strong for code, with the repository map, lint output, and test results.
- Auditable. Strong. Every change is a commit.
What it is not
Aider is not a model and not a broker. It is not designed for long unattended runs across many tasks; it is built around a developer working alongside it.
Openness scorecard for Aider
The notes above describe the tool. The score belongs to your deployment of it, because configuration, permissions, and where records are kept decide most of the result. Score each test 0 (absent), 1 (partial), or 2 (demonstrated) for the way you run Aider, out of 12.
| Test | Question | What a 2 looks like | Evidence to collect |
|---|---|---|---|
| Replaceable | Can one component be swapped without rebuilding the system? | A major component has been swapped, and the work was measured in days, not months. | Which component did you last swap, and how long did it take? |
| Inspectable | Can a builder understand what runs and why? | The exact context, tool calls, and results for each step are exported to storage you own. | Where do traces live, what do they contain, and how long are they kept? |
| Portable | Can identity, skills, context, and work move? | Identity, skills, and work are files in open formats and have been loaded into a second tool. | What have you exported and reloaded somewhere else? |
| Bounded | Are authority and approval requirements explicit? | Tool scopes, delegated user identity, and approvals are enforced outside the model and tested adversarially. | What stops the agent from taking an action its user could not take? |
| Grounded | Do agents share durable data and semantic meaning? | Agents query governed metrics over versioned tables and cite the definition and data version. | Which semantic definitions and tables do agents use? |
| Auditable | Can people reconstruct decisions and outcomes? | Runs, approvals, and data versions are recorded long enough to reconstruct any decision. | Could you reconstruct an agent decision from three months ago? |
Score your Aider setup on the interactive scorecard. It runs in your browser, and you can download the result as JSON or print it.
Where to learn more
Primary sources first. Documentation and specifications move faster than any summary, so treat the links below as the authority and this page as orientation.
- Aider ↗Project site and documentation, including model leaderboards and configuration.
- Aider on GitHub ↗Source, issues, and the Apache 2.0 license.
- Aider chat modes ↗Code, ask, architect, and help modes, and how architect mode splits work between two models.