softwarefactory.build

A directory and guide library for agent-native software factories.

Guides / introductory

Choosing an execution harness

How to pick the agent that writes the diff — IDE, CLI, or cloud worker — without a bake-off that measures the wrong thing.

softwarefactory.build · published · updated

The execution layer is the part everyone already has an opinion about. That makes it a bad place to start a factory, and the place you will still have to choose.

The job is: read the repo, change files, run commands, leave a reviewable diff. Chat transcripts do not count.

Three shapes

IDE agentsCursor, GitHub Copilot, Zed, Amp. Best when a human is in the loop on every turn. Weak when you need unattended parallelism. Cursor’s Cloud Agents are the exception that still bills like a product, not like your laptop.

CLI / headless harnessesClaude Code, Aider, Codex, Goose, OpenCode. Best when CI or a worker should start the same loop a human starts. Locked models (Claude, Codex) are a policy decision, not a footnote.

Cloud software engineersDevin, Factory Droids, Trevize sessions. Best when the computer is the product: a VM, a preview, a ticket-to-PR path. You are buying a factory-shaped runtime, not a tab model.

Compare the pairs we actually generated: Cursor vs Claude Code, Aider vs OpenHands, Factory vs Devin.

Bake-offs that lie

Do not rank harnesses on a single SWE-bench number you copied from a vendor card. Those numbers move, the harnesses are tuned to the bench, and your monorepo is not SWE-bench.

A bake-off that tells the truth:

  1. The same three tickets from your last sprint.
  2. The same pass conditions, held out.
  3. The same sandbox image.
  4. A human who already knows the code, scoring mergeability — not eloquence.

If you cannot afford that, pick the harness your team will actually run in CI and measure revert rate for a month.

Model lock is a factory decision

Claude Code on Bedrock is still Claude. Codex is still OpenAI. “We might switch later” is a sentence that should appear in the orchestration layer, not as a hope about the execution binary.

If you need model independence at execution time, Aider, Continue, Cline, Kilo, Goose, and OpenHands are the listings that document it. Read the take: some “multi-model” products still route cloud agents through their own meter.

One harness, many surfaces

The mistake is buying Cursor and Claude Code and Devin and Copilot because each demo won a different hallway conversation. Pick a default for unattended work. Let IDE agents exist as a personal tool. Put the factory path in Git.

Then go back to intent and gates. The harness is the easy part.

Related listings: cursor , claude-code , aider , openai-codex , cognition-devin