Releases: JakeSelby/model-citizen
Release list
Model Citizen v0.14.2
The control plane for your coding agents, however you run them.
An open-source control plane for coding agents. One checkout of rules, skills, roles and stances, projected into Claude Code and Codex with your own primitives, enforced with hooks, and measured with usage telemetry and cost controls. It layers under the rules libraries and orchestration you already use.
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: qualified
- claude-code-vscode-macos: unqualified
- claude-code-cli-linux: qualified
- 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
Qualification basis: native evidence recorded for this release.
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.14.1 to package the Claude Directory submission as a minimal regular-file plugin bundle, fix the sandbox skill's network and credential guidance, and publish matching plugin metadata at v0.14.2. The patch changes no configuration schema or defaults, and the architecture-viewer preview is inert until an external adapter is registered and selected.
- Run
citizen upgrade --dry-run, inspect the recorded plugin and checkout changes, then runcitizen upgrade. The plugin marketplace and plugin manifests now report v0.14.2. - Run
citizen sync --dry-run, resolve any unmanaged-file conflict it names, then runcitizen sync. Existing configuration and stance selections remain unchanged. - Run
citizen diffandcitizen doctor; both should report no projection drift.
Recovery
- Preserve every conflict or adopted backup reported by the dry run.
- To return to v0.14.1, check out v0.14.1, run
citizen sync --dry-run, thencitizen sync; no configuration migration needs reversing. - If the Claude Code plugin was upgraded, reinstall the v0.14.1 checkout as the
model-citizenmarketplace source before installing its plugin version again. - Use
citizen uninstallonly to remove the installation entirely; see docs/runtime-installation.md for ownership recovery.
Model Citizen v0.14.1
The control plane for your coding agents, however you run them.
An open-source control plane for coding agents. One checkout of rules, skills, roles and stances, projected into Claude Code and Codex with your own primitives, enforced with hooks, and measured with usage telemetry and cost controls. It layers under the rules libraries and orchestration you already use.
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: qualified
- claude-code-vscode-macos: unqualified
- claude-code-cli-linux: qualified
- 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
Qualification basis: native evidence recorded for this release.
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.14.0 to complete the Model Citizen rename across public documentation and distribution metadata, accept every bundled skill manifest in standard YAML registries, publish plugin metadata at v0.14.1, and keep reworded framework review-layer briefs inside their declared constrained role. The patch changes no configuration schema or defaults, and the architecture-viewer preview is inert until an external adapter is registered and selected.
- Run
citizen upgrade --dry-run, inspect the recorded plugin and checkout changes, then runcitizen upgrade. The plugin marketplace and plugin manifests now report v0.14.1. - Run
citizen sync --dry-run, resolve any unmanaged-file conflict it names, then runcitizen sync. Existing configuration and stance selections remain unchanged. - Run
citizen diffandcitizen doctor; both should report no projection drift.
Recovery
- Preserve every conflict or adopted backup reported by the dry run.
- To return to v0.14.0, check out v0.14.0, run
citizen sync --dry-run, thencitizen sync; no configuration migration needs reversing. - If the Claude Code plugin was upgraded, reinstall the v0.14.0 checkout as the
model-citizenmarketplace source before installing its plugin version again. - Use
citizen uninstallonly to remove the installation entirely; see docs/runtime-installation.md for ownership recovery.
Model Citizen v0.14.0
The control plane for your coding agents, however you run them.
An open-source control plane for coding agents. One checkout of rules, skills, roles and stances, projected into Claude Code and Codex with your own primitives, enforced with hooks, and measured with usage telemetry and cost controls. It layers under the rules libraries and orchestration you already use.
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: qualified
- claude-code-vscode-macos: unqualified
- claude-code-cli-linux: qualified
- 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.13.1 by reviewing the generated v0.14.0 projection before applying it: a minor release that renames the product to Model Citizen, adds the citizen command with harness kept as an alias, renames the plugin to model-citizen@model-citizen, and adds one selection resolver with modes and on/off switches for rules, skills, workflows, roles and hooks. Sync now links the repository's rules one file at a time into a real ~/.claude/rules/harness/ directory instead of one directory link. The release also adds the local decision provider's user-level policy file and its binding into Bash command grading, a write-intent ledger for parallel writers, workspaces built from .code-workspace files, session-start injection of a differing project or session stance, a profile fingerprint, schema versions and context attribution on ledger rows, and the concise voice. Every new switch, mode, provider and workspace is off or unchanged until you select it. The architecture-viewer preview is inert until an external adapter is registered and selected.
- Run
citizen sync --dry-runfrom the v0.14.0 checkout and inspect every proposed write, ownership change and conflict. Expect onemigrate ~/.claude/rules/harness (one link per rule replaces the directory link)line followed by onelinkline per rule into that directory, andrelinklines for skills, agents, commands, hooks, the output style, stance links andCLAUDE.md. Nothing outside the harness's own files should appear. - Run
citizen synconly after resolving unmanaged-file and adoption conflicts. Afterwards~/.claude/rules/harnessis a real directory of per-rule links, andcitizen diffreports no drift. harnesskeeps working as an alias ofcitizen; the documentation now namescitizen.- If you installed the Claude Code plugin, move it to the new ID: with a checkout installed run
citizen upgrade --dry-run, thencitizen upgrade, which uninstallsagent-harness@agent-harness, removes theagent-harnessmarketplace, adds it again from its recorded source and installsmodel-citizen@model-citizen. A plugin-only install runs the same four/pluginsteps in a session; see docs/runtime-installation.md. Skills move from/agent-harness:<name>to/model-citizen:<name>. - Your configuration keeps working unchanged. A new
citizen initrecords the stances it wrote underinit_defaults; a v0.13.1 configuration has none, so every stance reads as set by you incitizen selection. To try a mode, runcitizen config set mode minimal(orfull, the defaults); a key you typed still wins over the mode. Switch a unit off withcitizen config set <kind>.<id> off, for examplerules.decisions-and-plans; the four core hooks,grade-bash,stop-gate,brief-guardandneutralize-tool-output, can be switched off only after you setcore_switches_acknowledgedtrue. See docs/modes.md. - With
governance.providerset to anything butnone,grade-bashnow asks the provider about every Bash command it lets through, and an agent write to a governance policy file or to yourconfig.jsonis always asked about. A user-levelgovernance.jsonbesideconfig.jsonis read under the repository's.agent-harness/governance.json. Under providernonenothing changes. - Workspaces are opt-in: set
workspaces_dirto the folder holding your.code-workspacefiles to turn oncitizen workspaceand theworkspace-sessionstart hook; while it is set, sync ownsCLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MDin~/.claude/settings.json. See docs/workspaces.md. - Expect new rows in
~/.local/state/agent-harness/to carryschema_version,profile_fingerprintand, on session rows,context_attribution; rows written earlier are read unchanged and never rewritten. On Claude Code a second edit to a path a live sibling session has claimed withcitizen intent claimis denied;coordination.repeat_overlap: "warn"only warns.
Recovery
- Preserve reported conflicts, adopted backups, external viewer adapter descriptors and external viewer installations.
- To return to v0.13.1, first remove
~/.claude/rules/harness, which v0.14.0 made a real directory holding only links to the checkout's rules, then check out v0.13.1 and runharness synconce. Skip the removal and the v0.13.1 sync refuses at that path, exiting 2 after it has already relinked stances, hooks, skills, commands andCLAUDE.md, which leaves a mixed home until a sync succeeds;--adoptcompletes it only by moving v0.14.0's directory under~/.local/state/agent-harness/pre-harness/as though it were your own backup. After the rollback, v0.13.1'sharness diffandharness doctorreport onemissing linkper rule under~/.claude/rules/harness/: stale journal entries from v0.14.0, harmless because the directory link serves every rule, and cleared by the next v0.14.0 sync. - v0.13.1 ignores modes, switches,
init_defaults,core_switches_acknowledgedandworkspaces_dir, so every rule, command and hook comes back on, and nothing in your configuration needs removing for its sync to succeed. Itslocalprovider reads only the repository's.agent-harness/governance.json, never the user-level file, and itsgrade-bashdoes not ask the provider. If you setworkspaces_dir, runcitizen config unset workspaces_dirandcitizen syncfrom v0.14.0 before rolling back, so sync putsCLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MDin~/.claude/settings.jsonback to what it held; v0.13.1 never touches that key. - A rollback sync does not touch the plugin:
citizen upgradehas no reverse, and a moved install staysmodel-citizen@model-citizen. - Use
harness uninstallto remove the installation, and follow docs/runtime-installation.md for rollback and ownership recovery; use docs/task-continuation.md for task continuation.
agent-harness v0.13.1
The control plane for your coding agents, however you run them.
An open-source control plane for coding agents. One checkout of rules, skills, roles and stances, projected into Claude Code and Codex with your own primitives, enforced with hooks, and measured with usage telemetry and cost controls. It layers under the rules libraries and orchestration you already use.
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: qualified
- claude-code-vscode-macos: unqualified
- claude-code-cli-linux: qualified
- 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.13.0 by reviewing the generated v0.13.1 projection before applying it: a patch release that changes only landing copy, the product.json source and the README hero rendered from it. It changes no runtime, configuration, hook, role, stance, skill or projection, and adds no files or local state. The architecture-viewer preview is inert until an external adapter is registered and selected.
- Run
harness sync --dry-runfrom the v0.13.1 checkout and inspect every proposed write, ownership change and conflict. Expect no changed rule, stance, skill, role, command, hook or settings content: the only source changes since v0.13.0 are landing copy that sync never installs. - Run
harness synconly after resolving unmanaged-file and adoption conflicts. - No configuration key, command or opt-in changed; nothing in
~/.config/agent-harness/config.jsonor~/.local/state/agent-harness/needs attention.
Recovery
- Preserve reported conflicts, adopted backups, external viewer adapter descriptors and external viewer installations.
- To return to v0.13.0, check out that tag and run
harness synconce; no configuration or local state needs undoing, because v0.13.1 changes none. - Use
harness uninstall --dry-runbefore uninstalling, and follow docs/runtime-installation.md for rollback and ownership recovery; use docs/task-continuation.md for task continuation.
agent-harness v0.13.0
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: qualified
- claude-code-vscode-macos: unqualified
- claude-code-cli-linux: qualified
- 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.12.0 by reviewing the generated v0.13.0 projection before applying it: a minor release that adds declared framework integrations under policy/integrations/ with a generic harness integration check|apply, spawn-hook confinement that classifies a framework's review layers however the client names them, an opt-in jev decision provider, a sampled record of allowed Bash commands in the decision log, and an optional completion-claim field on the stop-gate row. /plan now enters the runtime's plan mode and hands the approved plan to /build, the output style and the skill and role descriptions are shorter, and the settings template no longer carries a hooks block. No network call is made and no assistant text is recorded until you turn each on. The architecture-viewer preview is inert until an external adapter is registered and selected.
- Run
harness sync --dry-runfrom the v0.13.0 checkout and inspect every proposed write, ownership change and conflict. Expect no new commands, skills or roles: expect changed text in theplanandbuildcommands, thescannableoutput style, every skill and role description, thedelegationandcoststances and the delegation rule. The installed hook registration does not change, because sync already wrote the single-coordinator registration. - Run
harness synconly after resolving unmanaged-file and adoption conflicts. harness bmad check|applyremains an alias ofharness integration check|apply bmad. If you route BMad code review through the harness, runharness integration check bmad <framework-root>and thenapply; installed override files are unaffected either way.- The
jevdecision provider stays off unless you ask for it.governance.jev.modeandgovernance.jev.modes.<point>takeoff,shadow,adviseoract, every point defaults tooff, andgovernance.jev.state_fieldsis empty by default. While~/.local/state/agent-harness/jev-disabledexists every call is disabled. Read the credential from an environment variable, never inline. - Expect
grade-bashrows markedsampled: truein~/.local/state/agent-harness/decisions.jsonl: one allowed Bash command in twenty, redacted before it is capped.telemetry.allow_sample_rate: 0ortelemetry.decisions: falseturns them off.telemetry.completion_claimis off by default and is the only field that records assistant prose.
Recovery
- Preserve reported conflicts, adopted backups, external viewer adapter descriptors and external viewer installations.
- To return to v0.12.0, remove any
governance.jevblock and thetelemetry.allow_sample_rateandtelemetry.completion_claimkeys from your configuration and runharness synconce from the v0.12.0 checkout; useharness bmad check|applythere, since v0.12.0 has noharness integrationcommand. - Use
harness uninstall --dry-runbefore uninstalling, and follow docs/runtime-installation.md for rollback and ownership recovery; use docs/task-continuation.md for task continuation.
agent-harness v0.12.0
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-runfrom the v0.12.0 checkout and inspect every proposed write, ownership change and conflict. Expect two new commands,close-outandland, and expect the installed Claude Code output style to follow yourvoicestance: if you had selected a style by hand, select the matchingvoicevariant before syncing or the sync changes it. - Run
harness synconly after resolving unmanaged-file and adoption conflicts. - Telemetry stays off unless you ask for it. To export the ledger, add a
telemetryblock to your configuration:exportturns on OTLP/HTTP, andnativetakestrue,falseor 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 byharness usage, and removed byharness uninstall. harness remote-control installregisters a launchd agent that supervises a Claude Code Remote Control host. It is opt-in, installs nothing on its own, andharness remote-control uninstallremoves 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 uninstallif you installed it, remove thetelemetryblock from your configuration and runharness synconce from the v0.11.1 checkout; v0.11.1 ignoresdecisions.jsonland restores the fixed output style from its own settings template. - Use
harness uninstall --dry-runbefore uninstalling, and follow docs/runtime-installation.md for rollback and ownership recovery; use docs/bmad.md for task continuation.
agent-harness v0.11.1
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.11.0 by reviewing the generated v0.11.1 projection before applying it: a patch release with no new files, hook events or roles. The spawn guard now refuses a constrained role's brief however the spawn is named, the builder role reports what produced any fixture it edits, and the delegation: off stance says that a spawn is denied; the architecture-viewer preview is inert until an external adapter is registered and selected.
- Run
harness sync --dry-runfrom the v0.11.1 checkout and inspect every proposed write, ownership change and conflict. Expect thebuilderagent definition and thedelegationstance text to change and nothing to be added. - Run
harness synconly after resolving unmanaged-file and adoption conflicts. - If you route BMad code review through the harness, run
harness bmad check <framework-root>and thenharness bmad apply <framework-root>: each review layer's brief now begins with aharness-role:line that the spawn guard enforces, and a framework checkout keeps the old layer text until you apply it. - Expect a session record under
~/.local/state/agent-harness/sessions/to gain a boundeddenied_spawnslist once the guard has refused a constrained-role spawn in that session. It is pruned with the record and read by nothing else.
Recovery
- Preserve reported conflicts, adopted backups, external viewer adapter descriptors and external viewer installations.
- To return to v0.11.0, check out that tag and run
harness synconce; v0.11.0 ignores thedenied_spawnskey in a session record, and a BMad framework checkout keeps working with or without the marker line. - Use
harness uninstall --dry-runbefore uninstalling, and follow docs/runtime-installation.md for rollback and ownership recovery; use docs/bmad.md for task continuation.
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.
agent-harness v0.10.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.9.0 by reviewing the generated v0.10.0 projection before applying it; the architecture-viewer preview is inert until an external adapter is registered and selected.
- Run
harness sync --dry-runfrom the v0.10.0 checkout and inspect every proposed write, ownership change and conflict. - Run
harness synconly after resolving unmanaged-file and adoption conflicts; the default builtin architecture-viewer selection remains unavailable and sync never launches a viewer.
Recovery
- Preserve reported conflicts, adopted backups, external viewer adapter descriptors and external viewer installations.
- Use
harness uninstall --dry-runbefore uninstalling, and follow docs/runtime-installation.md for rollback and ownership recovery; use docs/bmad.md for task continuation.
agent-harness v0.9.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: qualified
- claude-code-cli-linux: qualified
- codex-cli-macos: qualified
- codex-vscode-macos: qualified
- codex-desktop-macos: qualified
- codex-cli-linux: qualified
- cursor: planned
- grok: planned
Native restrictions remain authoritative. See the versioned compatibility catalog for evidence and gaps.
Migration
Sync projects one shared catalog into selected runtimes. Review drift and adoption conflicts before applying.
Read docs/runtime-installation.md for recovery and docs/bmad.md for task continuation.