An agent harness is software that gives a model a place to work. It injects instructions, offers tools, runs an assess-act-reassess loop, and translates across model APIs. Earendil's "What is a Harness?" is the public source I start from. I keep a Reading digest of that post. This page is not that digest.
The definition is useful when it hangs on live software. Three surfaces I already run do that job in public.
Hra is the loop. The live page is a Codex metaharness that coordinates parallel sessions: parent and child tasks, review, and recovery after a window dies. The model still chooses the next tool call. Hra keeps the work from vanishing when the chat does.
KB is the inspectable memory next to the repo. Markdown and Git stay authoritative. Agents search plans, write decisions, and keep sources across sessions. That is the instruction layer you can read and change, instead of a system prompt locked inside a lab app.
Direct is the tool surface for UI. It names repeatable app states so a browser agent can reach a signed-in page, an empty list, or a failure without rebuilding setup each time. Direct does not click the page. It gives the harness a stable world to act on.
I already wrote the factory version of this in Building a software factory. That essay is about token efficiency, fifteen Codex subscriptions, and a knowledge base the agents write into. Earendil names the noun. These three pages are where that noun is live.
Own the session, the tools, and the translation layer. Then the model is a replaceable engine. AI Charts' open-model coding-agent benchmarks names the harness on each row for that reason. That page measures models inside named harnesses. This page names the harness.
hraness.com can define the word and point at Hra, KB, and Direct. Each of those hosts should keep the page that is native to its surface. When the question is which live product matches which surface, start from Direct, Wrench, and Hra.