Harness Engineering for Coding Agent Users
by Birgitta Böckeler (martinfowler.com)
The guides-and-sensors mental model for building a quality harness around coding agents.
Overview
Written by Birgitta Böckeler, a Distinguished Engineer at Thoughtworks, and published on martinfowler.com — a short memo on 17 February 2026 followed by the full article on 2 April 2026 — this is the piece that put the term 'harness engineering' into common use. It borrows a control-theory frame and splits everything you can put around a coding agent into two kinds of control: guides (feedforward) that anticipate the agent's behaviour and steer it before it acts, and sensors (feedback) that observe after it acts so it can self-correct. A second axis separates computational controls — deterministic and fast, run by the CPU, such as tests, linters and type checkers — from inferential ones like semantic analysis and AI code review, which are slower, non-deterministic and run on a GPU. The article then works through the steering loop, timing ("keep quality left"), and three regulation categories: a maintainability harness, an architecture fitness harness and a behaviour harness. Concrete instruments are named on both sides — AGENTS.md files and Skills, bootstrap scripts and structural templates, Language Server Protocol integration, architecture documentation and OpenRewrite codemods as guides; ESLint, Semgrep, ArchUnit, dep-cruiser, coverage and mutation testing, pre-commit and pre-push hooks, review agents, dependency drift detection and runtime SLO monitoring as sensors. It closes on harnessability, harness templates and the role of the human, citing how OpenAI and Stripe run their own internal harnesses. Sidebars cover Ashby's law, ambient affordances and the relationship to context engineering.
At a Glance
- Topic
- Agentic
- Level
- Intermediate
- Format
- Guide
- Cost
- Free
- Duration
- ~15 min read (~4,000 words)
- Provider
- Birgitta Böckeler (martinfowler.com)
- Hands-on
- No
- Certificate
- None
What You’ll Learn
- ✓Separate feedforward guides from feedback sensors when designing an agent harness
- ✓Decide when a control should be computational and deterministic versus inferential and LLM-judged
- ✓Diagnose the two failure modes: feedback-only agents repeat mistakes, feedforward-only never verify
- ✓Build a maintainability harness out of linters, coverage and mutation testing
- ✓Enforce architecture boundaries with ArchUnit-style structural tests and dependency rules
- ✓Place quality checks early so the agent self-corrects before a human ever reviews
- ✓Write AGENTS.md files and Skills as feedforward guides rather than as documentation
- ✓Judge harnessability — which parts of a codebase can be regulated automatically at all
Highlights
- •Gives coding-agent tooling an actual mental model instead of another tips list — guides versus sensors, computational versus inferential
- •Names specific tools on both axes (ESLint, Semgrep, ArchUnit, dep-cruiser, OpenRewrite, LSP, mutation testing) so it converts directly into work
- •Cites how OpenAI and Stripe run their internal harnesses, including pre-push hooks and blueprint feedback loops
- •Short at roughly 4,000 words for how much of the current agent-tooling discourse it anchors
- •Author is a Thoughtworks Distinguished Engineer with 20+ years in delivery, not a vendor selling a harness
Who It’s For
Best For
- ✓Engineers already running Claude Code, Codex or Cursor daily who want fewer bad diffs
- ✓Tech leads deciding which guardrails to standardise across a team's repositories
- ✓Platform teams designing AGENTS.md, skills and CI checks for agent-written code
Prerequisites
- •Hands-on experience running a coding agent against a real codebase
- •Familiarity with standard CI tooling — linters, type checkers, test suites, pre-commit hooks
FAQ
What is Harness Engineering for Coding Agent Users?
Birgitta Böckeler's martinfowler.com article is the reference framing for 'harness engineering' — the practice of building controls around a coding agent so its output is trustworthy enough to merge. It splits every control into feedforward guides that steer the agent before it acts and feedback sensors that let it self-correct afterwards, then names real tools for each. Read it before you spend a sprint bolting linters and review bots onto an agent workflow.
Is Harness Engineering for Coding Agent Users free?
Harness Engineering for Coding Agent Users is free to access.
What level is Harness Engineering for Coding Agent Users for?
Harness Engineering for Coding Agent Users is aimed at a intermediate audience. Recommended background: Hands-on experience running a coding agent against a real codebase, Familiarity with standard CI tooling — linters, type checkers, test suites, pre-commit hooks.
How long does Harness Engineering for Coding Agent Users take?
Expect roughly ~15 min read (~4,000 words). Most learners work through it at their own pace.
What will I learn from Harness Engineering for Coding Agent Users?
You'll learn: Separate feedforward guides from feedback sensors when designing an agent harness; Decide when a control should be computational and deterministic versus inferential and LLM-judged; Diagnose the two failure modes: feedback-only agents repeat mistakes, feedforward-only never verify; Build a maintainability harness out of linters, coverage and mutation testing; Enforce architecture boundaries with ArchUnit-style structural tests and dependency rules; Place quality checks early so the agent self-corrects before a human ever reviews; Write AGENTS.md files and Skills as feedforward guides rather than as documentation; Judge harnessability — which parts of a codebase can be regulated automatically at all.
Topics
Sources
This page was written from 2 sources, 1 on domains other than martinfowler.com.