Covendocs

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

TermRole
HarnessExternal coding-agent CLI such as Codex or Claude Code.
AdapterCoven's built-in mapping from harness id to executable and fixed launch arguments.
DaemonRust authority layer that validates requests, spawns PTYs, and records events.
FamiliarProduct concept for a named agent with identity, memory, tools, and role.
ClientCLI, TUI, Cast Agent, OpenClaw plugin, or script that asks the daemon to act.

What Coven controls

Coven controls:

  • The stable Harness id accepted by coven run and 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.

Was this page helpful?No

Last updated on

On this page