A harness without a subject: what harness engineering doesn't name yet

The AI harness is the word of the year: the five layers that wrap a model so it can do real work. But a minimal harness is a hundred lines, every vendor now ships one, and the advantage is moving one layer down — to the subject the harness consults.

Jesús Pérez
Harness engineering just named itself as a discipline: documentation as code, architectural constraints, layered verification, periodic consistency audits. All four pillars exist — in flat markdown, held up by manual discipline. This post concedes the whole argument (“the model is commodity, the harness is the advantage”) and adds the next step: the harness governs the verb — how a change is made — and names no subject to check it against. A verb without a subject cannot drift, because drift is precisely a subject diverging from its own declared self.
A harness without a subject: what harness engineering doesn't name yet

There is a term going around — the AI harness — doing for 2026 what prompt engineering did for 2022 and context engineering for 2025: naming the place where the outcome is actually decided. The definition settling in (webreactiva’s summary is a good one) is clean: the harness is everything that wraps the model so it can do real work — tools, system prompt, context management, permissions, and verification loops. The model is the engine; the harness is the whole vehicle. And the numbers behind the thesis are serious: the same model going from 52.8% to 66.5% on a benchmark with only the harness changed; another jumping from 6.7% to 68.3% by changing nothing but the edit format; LangChain measuring 10–20 point jumps on tau2-bench just by adding model-specific harness profiles (DataCamp’s survey collects them and states the now-canonical equation: agent = model + harness). Hence the slogan: the model is commodity, the harness is the competitive advantage.

Conceded. All of it. The harness matters more than the model, and anyone who has run a real agent doesn’t need to be told twice.

Now the step the slogan doesn’t take.

The harness is becoming commodity too

The argument carries this inside itself: a minimal harness — read file, list files, edit file — fits in under a hundred lines. Every vendor now ships one, and the open-source ones come by the dozen. When the piece that was the advantage can be reproduced in an afternoon, the advantage doesn’t vanish: it moves one layer down. The question stops being “which harness runs your agent?” and becomes “what does your harness find when it asks what is this project, and what has it decided?

For most teams, the honest answer is: a pile of markdown. And that is not a caricature — it is the component’s own definition: when the harness literature enumerates its “memory and state”, what it lists is files, logs, and summaries. State without a type, prose without a contract.

Four verbs, no subject

Look at the full vocabulary of the agent era: you orchestrate workflows, wrap them in guardrails, run them inside a harness, harvest their output back into memory. Four verbs, one grammar — and all four govern the act. Not one names a subject: a thing the project has declared itself to be, that could be checked for still being true.

That omission is not a gap in the vocabulary; it is its function. A verb without a subject cannot drift, because drift is precisely that: a subject diverging from its own declared self over time. What you cannot name, you cannot measure. That is why the ecosystem can ship ever-better harnesses and still have no answer to the one question that matters at agent speed: is what you declared six weeks ago still true? The question is not expressible in the grammar it chose.

The harness is a spatial instrument: it contains the act in the moment it happens — this context, these permissions, this verification, now. Drift is temporal: the slow separation between what a system says it is and what it has become, measured in commits and sessions, not in tokens. You cannot build a fence against time.

The four pillars, typed

What makes harness engineering interesting as a named discipline — Mitchell Hashimoto named it in February 2026 — is that its four pillars map the problem exactly. It’s just that each pillar is practiced today in its informal form: flat markdown held up by manual discipline. Each has a typed form, and the difference between the two is whether coherence is hoped for or checked:

Harness engineering pillarInformal formTyped form in ontoref
Documentation as codeAGENTS.md — prose the agent readsAn ontology queryable as data: describe answers what is this, what can I do, what is the impact of touching X
Architectural constraintsConventions stated in textHard/Soft constraints on every ADR, evaluated by validate-adrs: a violation fails CI
Layered verificationHooks and human reviewStructural gates + a signed witness: every act that mutates the model emits a witness; every mutation is the deposit of a witnessed act
Garbage collectionPeriodic consistency auditsDrift as a first-class value: an observer compares declaration against artifact and proposes the fix — never applies it silently

The fourth row is the most revealing. “Collecting garbage” every so often is admitting the system drifts and resigning yourself to sweeping up. Treating drift as an observable value — something a process detects, names, and turns into a reviewable mutation proposal — is refusing to let the gap between map and territory stay invisible while it grows.

Your harness doesn’t compete with this — it consults it

Here is the division of roles, stated without ambiguity: ontoref is not a harness and does not pretend to be one. It doesn’t own the tool loop, it executes nothing on the model’s behalf, it will not orchestrate your agents better. It is the layer the harness finds when it asks: the subject — a typed model of the project: its decisions with their constraints, its state with its transition conditions, its tensions held rather than collapsed — that any harness can query as data and check every change against.

The recent taxonomy distinguishes three layers — framework (LangChain, CrewAI), runtime (LangGraph, Temporal), and harness (Deep Agents, the agent SDKs) — and ontoref sits in none of the three: it is what all three consult. There is also a hard reason it must live outside, and the literature itself supplies it when it admits its open tension: results become tightly coupled to the specific harness profile, and switching harness or model is costly. If the project’s knowledge lives inside that profile, changing vehicles means losing it — you are hostage to your harness. A subject declared outside any harness is portable across all of them: accountable to its model, hostage to none.

The relation is invocation, not replication: the harness (Claude Code, or any other) carries a live pointer to the governed surface; it never copies the content, because a copy is the first drift. And the protocol eats its own cooking: ontoref describes itself with its own protocol — its ontology, its ADRs, and its reflection layer are ontoref consuming ontoref. The subject it asks you to declare is the one it maintains for itself, and it fails its own CI when that stops being true.

The honest boundary

Keep your harness. Improve it: the five layers are real and so are the numbers. But when the freshly named discipline tells you the advantage lives in the environment rather than the model, ask it the next question: and what does your environment check the project against, to know it is still what it declared itself to be? If the answer is a prose file nobody can query as data or validate as a contract, you have an excellent vehicle headed to a destination you never declared. At agent speed, a system with no declared subject drifts faster than any human can watch.

The answer to that question is already stated — it is the set of phrases ontoref uses to define itself, rotating on its own front page:

What you leave stated, someone will be able to verify.

Knowing what you are is cheap. Knowing you still are is not — that must be verified.

A project with no verifiable reason for being isn’t alive: it’s being remembered.

What you only leave inside the harness, no one will be able to verify.

Was this useful? Rate it
Got something to add? Tell me what you think, what you'd suggest, or whether we should keep exploring this topic.
· reads

We use cookies to help this site function, understand service usage, and support marketing efforts. Cookie Policy for more info.