Skip to content

agent-harness v0.12.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 20:04
· 314 commits to main since this release
d4cf311

Find out which of your agent rules actually fire.

A user-owned agent harness with a measurement loop. Every rule names a deterministic detector over the transcript or says in one line why nothing in a transcript can decide it, and lint fails the commit otherwise. harness usage --rules then reports which rules fired, grouped by repository and by the preference variant you had selected.

Preferences you can switch: autonomy, delegation, cost, testing, voice, commits, planning, licensing and build versus buy. Three of those bind to enforcement today: autonomy sets which shell-command grade stops and asks, delegation changes spawn routing, and cost resolves a model and budget table per role. The rest are prose that swaps cleanly. The usage report groups rule hits by the variant that was selected, so a switch can be checked rather than assumed.

Compatibility

  • claude-code-cli-macos: unqualified
  • claude-code-vscode-macos: unqualified
  • claude-code-cli-linux: unqualified
  • claude-code-plugin-marketplace: unqualified
  • codex-cli-macos: unqualified
  • codex-vscode-macos: unqualified
  • codex-desktop-macos: unqualified
  • codex-cli-linux: unqualified
  • 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.11.1 by reviewing the generated v0.12.0 projection before applying it: a minor release that adds the /land and /close-out workflows, a local decision log, an optional OTLP export of the usage ledger with an optional per-runtime pass-through to each client's own telemetry, and harness remote-control. harness sync now installs the Claude Code output style named by your voice stance instead of a fixed one, so a selection you never made explicitly can change; nothing is exported and no supervisor is installed until you turn each on. The architecture-viewer preview is inert until an external adapter is registered and selected. This release carries no native qualification: no client holds acceptance evidence for this source, no client is required for release, and v0.11.1 remains the last release qualified on the Claude Code and Codex CLIs for macOS and Linux.

  • Run harness sync --dry-run from the v0.12.0 checkout and inspect every proposed write, ownership change and conflict. Expect two new commands, close-out and land, and expect the installed Claude Code output style to follow your voice stance: if you had selected a style by hand, select the matching voice variant before syncing or the sync changes it.
  • Run harness sync only after resolving unmanaged-file and adoption conflicts.
  • Telemetry stays off unless you ask for it. To export the ledger, add a telemetry block to your configuration: export turns on OTLP/HTTP, and native takes true, false or a list of runtime names, so a collector only one runtime can authenticate against is written only for that runtime. Read headers from an environment variable or a mode-600 file outside every git work tree, never inline. See docs/telemetry.md.
  • Expect new owner-only local state: ~/.local/state/agent-harness/decisions.jsonl, an append-only record of what a hook decided and what settled it. It is pruned with the rest of the local state, read only by harness usage, and removed by harness uninstall.
  • harness remote-control install registers a launchd agent that supervises a Claude Code Remote Control host. It is opt-in, installs nothing on its own, and harness remote-control uninstall removes both the agent and the healer.

Recovery

  • Preserve reported conflicts, adopted backups, external viewer adapter descriptors and external viewer installations.
  • To return to v0.11.1, run harness remote-control uninstall if you installed it, remove the telemetry block from your configuration and run harness sync once from the v0.11.1 checkout; v0.11.1 ignores decisions.jsonl and restores the fixed output style from its own settings template.
  • 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.