Issue 32

Your agent will improve. Your harness won't.

Published August 3, 2026

The harness is the work

Tim De Schryver spent a month rewriting an ASP.NET and Angular project — orchestrated by Aspire — almost entirely with agents, and the most instructive part of his account is what he did before the agents ran. He set the project structure himself, chose a vertical slice architecture for the API partly because separating use cases "helps the agent as well," and committed to Angular's Signal APIs with no external UI library. The architecture decisions came first; the agent handled implementation.

The scaffolding he describes is unglamorous and specific. An AGENTS.md file carrying the stack, the build and test commands, the coding conventions, and the application flow — plus a mermaid database diagram he concedes would be unreadable to a human on a large project but helps the agent locate itself in the data model. He adds recurring mistakes to the file and asks the agent to update it whenever a new concept lands mid-session.

Then skills: markdown files, sometimes with scripts, that the agent pulls in only when relevant. The distinction he draws matters more than it first appears. AGENTS.md is always in context, so it costs you context window on every request; skills are conditional, which is what keeps the window manageable. He installed official Angular and .NET skills for framework best practices, plus pnpm, NuGet, and Aspire skills for project chores.

None of this is portable by default, and that is the tell. Claude Code does not read AGENTS.md, so he symlinks or references it with @AGENTS.md. Most tools put skills in ./agents/skills; Claude uses ./claude/skills, so he symlinks that too. Copilot calls the instruction file something else again. The convention gap is small enough to paper over with filesystem tricks — and the fact that practitioners bother suggests the harness, not the agent, is the asset they are protecting.

Agent = Model + Harness. The model supplies the raw intelligence, and the harness around it turns that intelligence into a reliable, autonomous agent.
Faros.ai, "Best AI Coding Agents for 2026"

Why tool comparisons keep failing to settle anything

Faros.ai's 2026 review reaches a conclusion that reads as an anticlimax: there is no single best coding agent, and developers pick based on where they want leverage. Cursor for flow and small scoped tasks, with recurring complaints about long refactors and looping. Claude Code as the escalation path for subtle bugs and design-level changes. Codex for follow-through on multi-step work. Cline for developers who want to choose models and split planning from coding, at the cost of owning their own token bill.

Those trade-offs are real, and they are also the wrong axis to optimize. Each one describes a model's temperament, which the next release may change. Meanwhile Faros notes that as agents get more capable they get more expensive to run, so token efficiency now matters more than sticker price — and token efficiency is a harness property. What you put in context, and when, is your decision, not the vendor's.

The platform made this possible about eighteen months ago

It is worth being precise about why repo-level scaffolding suddenly became a discipline. OpenAI's own retrospective frames 2025 not as a model year but as the year AI got easier to run in production: the Responses API with reasoning controls and tool calling during reasoning, then the Agents SDK and AgentKit on top of it, so multi-step workflows needed less custom glue and state management.

Codex is the clearest illustration. It shipped as an open-source CLI that runs against real repositories with human review of edits, with sandboxing and approval modes to keep a person in the loop, support for AGENTS.md and MCP so it adapts to a given repo, and Autofix in CI. OpenAI's summary is that Codex became less a model you prompt and more a coding surface.

The piece most teams skip is the last one on the list: evals, graders, and tuning maturing into a repeatable measure-improve-ship loop. Sandboxes and approval modes are guardrails. Evals are the instrumentation that tells you whether the guardrails are set anywhere near correctly.

Instructions alone don't hold

The n8n analyst Andrew Green argues the underappreciated piece of agent work is the deterministic component, and his test explains why. He ran Claude Code's /security-review command fifty times against a purposely vulnerable app that was byte-for-byte identical on every run. Sometimes every bug was found; sometimes bugs were overlooked.

No instruction file fixes that. His point is that deterministic logic matters less for performing functions than for guaranteeing an agent passes through pre-defined steps: if a security agent must check a URL or file hash in VirusTotal, you hard-code the check rather than hoping the agent reasons its way to it. He observes that teams instead prefer nudging an agent twenty times over defining that logic up front.

The unresolved question is proportion. Enough hard-coded steps and you have rebuilt a workflow engine and paid agent prices for it. Green's own framework revision hints at where the pressure is heading — he plans to drop integrability and evaluate enterprise-readiness instead: observability, killswitches, rollback, sandboxing, policy definition, detection of out-of-policy activity.

Adoption is settled; structure isn't

DX's research across 435 companies and 135,000 developers puts AI tool use at 91% of engineering organizations, with 3.6 hours saved per developer per week, 22% of merged code AI-authored, and 60% higher PR throughput among daily users. The number that should reorder priorities is smaller: organizations with structured enablement see 8% better code maintainability and 19% less time loss.

That gap is the harness, measured. Same tools, same models, different scaffolding and feedback — and the difference shows up in maintainability, which is exactly where speed usually gets repaid with interest. DX's framing is that adoption doesn't equal impact, and that the useful metrics are utilization, impact, and cost together: what share of PRs are AI-assisted, net time gain after spend, change failure rates.

Models will keep getting better without your help. Your harness will not. So before the next release lands, the question worth sitting with is a portability question: if you swapped agents tomorrow, how much of what makes yours work would survive the switch — and how much would you be rebuilding from scratch, having learned nothing you could write down?

Keep this thread going.

Get the next issue in your inbox or reading room.