Repository navigation
agent-harness v0.11.0
Your way of working, across AI agents.
A general-purpose, model-provider-agnostic harness built around you. Define how your agents work through shared rules, skills, roles, workflows, and custom primitives—including personal stances you can switch without rewriting your instructions.
Personal stances turn your working preferences into explicit switches. Choose how agents delegate, test, communicate, exercise autonomy, and approach decisions. Select a different stance when the situation changes, or define your own. The harness applies those choices through supported agent runtimes.
Compatibility
- claude-code-cli-macos: qualified
- claude-code-vscode-macos: unqualified
- claude-code-cli-linux: qualified
- codex-cli-macos: qualified
- codex-vscode-macos: unqualified
- codex-desktop-macos: unqualified
- codex-cli-linux: qualified
- cursor: planned
- grok: planned
Native restrictions remain authoritative. See the versioned compatibility catalog for evidence and gaps.
Compatibility policy
Stable interfaces, preview boundaries, deprecation, migration and failed-release recovery are defined in the versioned compatibility policy.
Migration
Upgrade from v0.10.0 by reviewing the generated v0.11.0 projection before applying it: sync now renders a native Claude Code agent definition for a role your cost variant or role bindings actually move, registers the three usage-feed hook events and installs the three band workers; the architecture-viewer preview is inert until an external adapter is registered and selected.
- Run
harness sync --dry-runfrom the v0.11.0 checkout and inspect every proposed write, ownership change and conflict. Eachagentline names a role whose rendering under your selectedcostvariant androle_bindingsdiffers from the shipped projection; only those roles are written as managed files, every other role keeps its managed link, and an install onbalancedwith no role bindings is unchanged. - Run
harness synconly after resolving unmanaged-file and adoption conflicts. It registers three further Claude Code hook events in your settings —UserPromptSubmit,SubagentStartandSubagentStop, the usage feed — and leaves your own hooks on those events untouched; Codex raises none of them and declares the feed uncovered. - Expect three new roles to install as agents:
worker-a,worker-bandworker-c. A runtime loads its agent list once at process start, so unnamed subagent spawns are routed to your cost variant'sdefault_bandworker only in a session started after the sync; start a new session before relying on it. - Expect new owner-only local state under
~/.local/state/agent-harness/:feed/per-session usage-feed files andsessions/session records. Both are pruned automatically and both are removed byharness uninstall.usage.jsonlgainssubagentandworkerrows beside the session rows; runharness usage --rescanonce over the window you care about to correct history, because earlier output-token totals were undercounted. - To keep 0.10.0's behaviour without downgrading, select a
costvariant whose switches setturn_feedtooffand which sets nodefault_bandand no budgets anywhere on itsextendschain: nothing is injected, nothing is written and no unnamed spawn is routed. See docs/primitive-authoring.md for the sidecar contract.
Recovery
- Preserve reported conflicts, adopted backups, external viewer adapter descriptors and external viewer installations.
- To restore every agent link before checking out v0.10.0, select the
balancedcost variant with norole_bindingsand runharness synconce; sync retires each rendered definition it owns and relinks the committed projection. Alternatively runharness uninstallfirst. - Use
harness uninstall --dry-runbefore uninstalling, and follow docs/runtime-installation.md for rollback and ownership recovery; use docs/bmad.md for task continuation.