What Is a Harness?
Definition of a Coven harness and the boundary between harnesses, familiars, clients, and the daemon.
2 min read
A harness is a coding-agent CLI that Coven can run as a supervised process. The harness is not the daemon, not a familiar, and not the user interface. It is the external agent runtime that receives a prompt and works inside a PTY.
Coven is not a harness. Coven is the substrate that harnesses run within. It provides enforced project boundaries, supervised PTY lifecycle, session records, event logs, and a unified local API — so that any harness can operate in a well-defined, auditable, reproducible way without each one needing to reinvent lifecycle management, boundary enforcement, or client access.
Boundary map
| Term | Role |
|---|---|
| Harness | External coding-agent CLI such as Codex or Claude Code. |
| Adapter | Coven's built-in mapping from harness id to executable and fixed launch arguments. |
| Daemon | Rust authority layer that validates requests, spawns PTYs, and records events. |
| Familiar | Product concept for a named agent with identity, memory, tools, and role. |
| Client | CLI, TUI, Cast Agent, OpenClaw plugin, or script that asks the daemon to act. |
What Coven controls
Coven controls:
- The stable
Harness idaccepted bycoven runand the socket API. - The project root and working directory validation.
- The PTY process lifecycle.
- The session record and event log.
- Attach, replay, archive, summon, and destructive confirmation flow.
What the harness controls
The harness controls:
- Provider credentials and login state.
- Model selection, prompt handling, and provider API calls.
- Tool execution inside the harness process.
- Any harness-specific local cache or conversation state.
This split keeps Coven useful without pretending to own every provider's auth model or tool runtime.
Current harness ids
coven run codex "explain this repo"
coven run claude "review this module"Use Install harness CLIs if either harness is missing, and CLI run reference for command syntax.
A note on the word "harness"
In Coven's software architecture, "harness" refers specifically to the PTY-driven adapter for an external coding-agent CLI (Codex, Claude Code, etc.). This is Coven's technical term for that adapter layer.
This is distinct from "harness engineering" in the broader AI literature — where "harness" (in Lopopolo's sense and related research) refers to the scaffolding humans design around agents: prompts, constraints, feedback loops, taste invariants, and evaluation mechanisms. That broader sense describes engineering choices, not a specific software component.
When Coven docs say "harness," they mean the PTY adapter. When AI research literature says "harness," it often means the engineered scaffolding. Both usages are legitimate in their contexts.
Last updated on