> ## Documentation Index
> Fetch the complete documentation index at: https://obversa.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# What Is a Domain-Specific Harness?

> The loop, the tools and the rules that make a general model useful for one job. Most of it is process, and in code that process is a workflow.

Answer this with a file. A domain-specific harness is the loop, the tools
and the rules that make a general model useful for one job: insurance
intake, a research desk, a contract review, a company's own integrations.
The model is the same one everyone has; the harness is the part that's
yours, and most of it is process: what runs first, what checks it, what
happens when the check fails, and who signs at the end. The general form,
one model and one loop, is the neighbour term,
[an agent harness](/docs/glossary/agent-harness).

## In Obversa

Products built on a model end up owning the process around it, and in code
that process is a workflow. A contract review is one for a field that isn't
software: the playbook is the brief, one model maps and redlines, a model
from another family checks, and a lawyer decides what is sent:

```ts examples/use-cases/business/contract-playbook.ts (excerpt) {2-4} theme={null}
    roles: {
      review: engines.claude('claude-sonnet-4-5'),
      'playbook-check': [engines.codex('gpt-5.6-luna')],
      lawyer: person('Send these redlines to the other side?'),
    },
```

The stages that follow name what each role writes, who checks it, and
where a failed check goes. The whole file and a real run are on
[Contract review](/docs/workflows/contract-playbook).

## The three parts

| Part | In the file |
| - | - |
| The tools and the engines | The roles: which engine takes which job. |
| The rules | The stages in order, the files each may write, the brief with the playbook in it. |
| The checks | A checker from another family that fails a stage with findings, and a person at the end. |

Claude Code, Codex and the others are the agents the harness drives; each
has its own inner loop. The person is part of the harness: write their
decision in as a role, as the file does with `lawyer`, and the run pauses at
that stage until the answer arrives through the callbacks client. Use the
record as your audit: a run that records writes every step as it happens,
so you can read it back later.

## Next steps

* [Contract review](/docs/workflows/contract-playbook): the file above with a
  real run.
* [Examples](/docs/workflows): teams for software delivery, business and other
  fields.
* [The record](/docs/concepts/record): what a run writes down as it goes.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.