ModelCensusopen-source ai reliability harness

Every year the word moves one layer further from the model. That is what model maturity looks like from the outside.

prompt → context → harness

Blog9 Mar 2026harnessstrategyindustryarchitecture

Starting the census · Part 3 of 3

The word follows the bottleneck

Prompt, then context, now harness. Every year the industry's favourite word moves one layer further from the model — and that is what maturity looks like.

The word everyone is using this month is harness.

It is not a new word. Evaluation people have used it for years. What is new is that it stopped meaning the rig you test a model in, and started meaning everything around the model in production.

That shift is not a fashion. It is a signal.

Aug 2020lm-evaluation-harness. Harness means the test rig.2022–24Prompt engineering. The model is the bottleneck.Jun 2025Context engineering. The window is the bottleneck.5 Feb 2026Mitchell Hashimoto: engineer the harness.11 Feb 2026OpenAI makes harness engineering official language.
Six days from a personal blog post to a frontier lab's engineering vocabulary, and on InfoQ ten days after that. Terms do not usually travel that fast unless a lot of people already had the problem and lacked the word.

The forces

Each renaming arrived shortly after models got good enough that the previous layer stopped being the limiting factor. When a model could barely follow an instruction, the instruction was everything. When it could follow one reliably, what you put in front of it mattered more. Once agents started running for hours unattended, the model stopped being the only thing that could go wrong.

Mar 2023GPT-4. Phrasing starts to matter more than luck.Sep 2024Reasoning models. Multi-step work becomes plausible.Feb 2025Agents in the terminal. Models run tools, unattended.Aug 2025GPT-5. Frontier releases every few months.Feb 2026"Harness" names everything that is not the model.
The vocabulary lags capability by about a year. It names the layer that became the bottleneck once the one inside it stopped being one.

Old way, new way

HarnessContextPromptModel
The model is the weights you rent. Prompt, context and harness are layers you own — and the vocabulary has been moving outward through them, one at a time.
Asking which modelPick the top benchmark scoreTune the promptHope it transfersvs.Asking what surrounds itName how it failsBuild a guard for eachCheck the guard works
The left column made sense while models differed a lot. They increasingly do not, and the right column is where the difference now lives.

How this plays out

Read any harness component list backwards and you get a failure taxonomy. Every guard exists because something specific goes wrong without it.

harness componentthe failure mode it exists to catch
Schema validation on tool callsTool-Argument Validity
Iteration cap and repeat detectionAgentic Loop / Non-Termination
Citation checkerCitation Resolution Failure
Today's date injected in contextDate-Arithmetic Error, Post-Cutoff Fabrication
Re-read state before actingLedger Reconciliation Failure
Constraint restated every turnConstraint Decay at Depth
Paraphrase tests in CIParaphrase Non-Invariance
Answer diffed against tool returnTool-Return Groundedness
A harness is a list of mitigations. The right-hand column is the list of what they are mitigating.
A harness is a list of mitigations. A census is the list of what they are mitigating. You cannot build the first well without the second.

What I would do now

Write the failure list before you build the harness

Name the modes your application cannot tolerate, then design guards against them — not the other way round.

Why: A harness built from a list of popular components guards against someone else's failures and misses yours.

Give every guard a failure mode it answers to

If nobody can name the failure a component exists to catch, it is either redundant or untested.

Why: Guards accumulate. Without a named purpose, nobody ever feels safe removing one, and nobody knows which ones actually work.

Measure the harness, not only the model

Run the same cases with a guard on and off. If the failure rate does not move, the guard is decoration.

Why: This is the same controlled comparison you would demand of a model claim, pointed at your own engineering.

That is what this series is about: a census of how models fail, so that the harness around them is built against something real. Next, the measurements.

Pick one component of your harness. Which named failure is it there to catch — and when did you last check that it still does?

Every figure here describes something measured and committed. See the measurements · read the method