1 Introduction
A coding agent is not a model. It is a model plus a harness: the program that supplies the loop, tools, context, safety controls, orchestration, and extension surfaces around the weights. Harness engineering names the discipline of designing that runtime, and in the first half of 2026 it moved from a craft to a platform. Vendor SDKs shipped harnesses, marketplaces appeared, switching-cost tooling arrived, and enterprise governance started to treat the harness as the addressable unit. The corpus this paper studies is eleven production systems, read at source level rather than benchmarked.
The paper's most useful contribution is a boundary. The model is frozen inside the product; everything else can be rewritten, swapped, or governed. That boundary is where the design decisions live, and it is what this note reproduces in compact form.
2 The seven subsystems
Each subsystem has a minimal and a maximal implementation. The minimal column is what a credible harness must supply; the maximal column is what production systems added as the runtime matured. The gap between the two is where most of the source code lives.
| Subsystem | Minimal implementation | Maximal implementation |
|---|---|---|
| Loop | Read, dispatch one tool, append result, repeat | Streamed plans, parallel tools, resumable checkpoints, budget guards |
| Tools | Shell plus a file editor | Sandboxed executors, LSP-aware edits, browser and search tools, typed schemas |
| Context | System prompt plus recent turns | Retrieval, compaction, memory files, per-task context assembly |
| Safety | Confirmation before writes | Permission modes, approval queues, secret redaction, audit trails |
| Orchestration | One process, one task | Subagents, parallel worktrees, queues, retries, cancellation |
| Extensions | None | MCP servers, skills, hooks, plugins, marketplaces |
| LLM integration | One provider, one key | Multi-provider routing, streaming, retries, usage accounting |
3 Extensibility standards
Three standards appear across the corpus often enough to count as de facto interfaces. MCP wins the tool boundary; SKILL.md wins the instruction boundary; ACP is emerging at the agent-to-agent boundary. Adoption is uneven, and the paper reports it as counts out of eleven systems rather than as a ranking.
4 From tool to platform
The second half of 2026 is the convergence story. Codex adopts Claude Code's hook vocabulary; OpenHands reads its plugin format. Behavioral policy migrates from prompt prose into configuration, and the harness becomes an SDK with a marketplace attached. The paper's longitudinal sample of the same eight harnesses across a quarter shows the same drift in three of the eight systems.
Counts stated in the abstract of the study.
- The corpus covers Claude Code, Codex CLI, Gemini CLI, Mistral Vibe, OpenHands, Aider, Mini-SWE-Agent, Hermes, Pi, OpenCode, and OpenClaw.
- Omnigent is analyzed separately as a meta-harness that orchestrates the other ten behind one API.
- Adoption counts include partial support and are reported as fractions of eleven systems.