Skip to main content

What this is

avatar-harness is the runtime around a language model that turns a natural-language task into a bounded, verifiable engineering loop. The defining inversion versus a chat app:
The model proposes actions; the harness owns execution, state, permissions, logging, and verification. The loop terminates on external verification, not on a text reply from the model.

How the loop works

Each turn, the harness assembles a compact context packet from TaskState, asks the model for exactly one validated decision (a tool call, a final answer, or a question), executes it through a path-confined Workspace, records the result, and applies it back to state. A proposed “final answer” is not the end — it is a proposal the Verifier disposes of using external evidence (tests, lint, diff). Only the harness marks a task success, and only on positive signal.

Where to go next

Quickstart

Install to a verifier-checked answer in five minutes.

SDK guide

The curated surface: Harness, the two-plane Session, typed events, config.

Build a terminal agent

A streaming, approval-answering agent of your own in ~90 lines.

Core invariants

The five load-bearing rules that thread through every component.

Architecture

The component map: runner, state, tools, verifier, events.
The API reference tab is generated directly from the codebase’s docstrings — it is always in sync with the source.