In Obversa
Each harness is an engine, one bounded call to it is one step, and the step’s result is what the workflow reads. Each call starts fresh, so nothing leaks from one step to the next except what the workflow hands over. The smallest use binds one engine to one job:examples/one-agent-job.ts
engines.claude('claude-sonnet-4-5') or
engines.codex('gpt-5.6-luna') takes its place, and
Plugins and tools says how each one runs a request.
Inner and outer
The word “harness” names both the inner and the outer layer. Harness
engineering usually means building the inner loop. Obversa is the layer
above it. In a workflow, give each review to a harness running another
model family:
workflow() refuses a reviewer from the same family as the
writer it reviews.
Next steps
- What is a meta-harness?: the outer layer.
- Plugins and tools: the harnesses Obversa drives.
- Installation: the file above, run for real.