Skip to content

agent-harness v0.11.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 11:01
· 407 commits to main since this release
fcf53de

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-run from the v0.11.0 checkout and inspect every proposed write, ownership change and conflict. Each agent line names a role whose rendering under your selected cost variant and role_bindings differs from the shipped projection; only those roles are written as managed files, every other role keeps its managed link, and an install on balanced with no role bindings is unchanged.
  • Run harness sync only after resolving unmanaged-file and adoption conflicts. It registers three further Claude Code hook events in your settings — UserPromptSubmit, SubagentStart and SubagentStop, 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-b and worker-c. A runtime loads its agent list once at process start, so unnamed subagent spawns are routed to your cost variant's default_band worker 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 and sessions/ session records. Both are pruned automatically and both are removed by harness uninstall. usage.jsonl gains subagent and worker rows beside the session rows; run harness usage --rescan once 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 cost variant whose switches set turn_feed to off and which sets no default_band and no budgets anywhere on its extends chain: 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 balanced cost variant with no role_bindings and run harness sync once; sync retires each rendered definition it owns and relinks the committed projection. Alternatively run harness uninstall first.
  • Use harness uninstall --dry-run before uninstalling, and follow docs/runtime-installation.md for rollback and ownership recovery; use docs/bmad.md for task continuation.