Skip to content

Changelog

User-facing highlights, newest first. For the complete entry of every release — including internal and contributor-only changes — see the GitHub releases and docs/CHANGELOG.md. The version badge on this site tracks the latest npm publish.

Releases from 0.9 onward are grouped by minor version.

  • Breaking — the Codex delegation-mode surface is gone. The installer/config option, SessionStart standing authorization, natural-language delegation inference, and every fleet fallback were removed. /delegate and /parallel remain as prompt-start typed commands, and native Codex spawn_agent with the exact installed agent_type is now the sole fleet identity and lifecycle authority.
  • Breaking — MCP config has a single storage authority. The repo scope is retired; configuration now lives only at user level.
  • Added reverse-skill-router as a recommended explicit-only external skill (--with-reverse-skill), excluded from both profiles; external providers are catalog-driven, commit-pinned, and integrity-checked before host projection.
  • The mandatory archctx / archctx-contracts closure moved to 0.4.2. repo-harness update reconciles and reads that closure back, and propagates ArchContext’s exact Node >=24 <26 runtime contract.
  • Fixed: at the MCP session cap, the least-recently-used idle Streamable HTTP session is reclaimed while in-flight sessions are preserved; /health now reports session lifecycle counters.
  • Architecture diagrams are Markdown Mermaid fenced blocks, and nothing else. Standalone HTML discovery and handoff fields were removed from the runtime, scaffolds, and generated contracts. The external Mermaid skill stays authoring/review support only — it is not a runtime or npm dependency.
  • Capability authority for this repo moved over to archcontext nodes.
  • Fixed: init and setup-global build command environments from process.env instead of an empty object, so constructed commands inherit your real environment.
  • Long-run continuation protocol. state next (six deterministic read-only routes) and state attempt (a liveness ledger) with a no-progress circuit breaker, plus a crash-durable closeout journal with atomic per-worktree ownership claims and explicit recover inspect|abort|reconcile for contract- and ship-worktree finish.
  • Security fix — .repo-harness/ is now ignored as a whole directory. The previous gitignore projection listed only two dead per-file entries, so the four files the MCP server writes under <repo>/.repo-harness/ — including mcp.oauth-tokens.json, which holds OAuth access and refresh tokens — stayed un-ignored for anyone who started repo-harness mcp serve --transport http without first running mcp setup chatgpt with repo scope.
  • The repo-harness-hook bin ships as a prebuilt single-file bundle. A registry reinstall now replaces one file atomically, so a hook firing during the reinstall window can no longer resolve a half-replaced import graph and hang until the host’s 30s timeout.
  • Fixed: an actively refreshing MCP OAuth client is no longer deleted at the 30-day TTL while it still holds a valid token — ChatGPT connectors stop demanding periodic re-authorization. Idle clients past 30 days still expire.
  • Verification budget raised from 600s to 1200s, and a failing criterion’s runner log is now retained at .ai/harness/runs/ instead of being destroyed with the round’s temp directory.
  • Breaking — repo-harness adopt is removed. Repo-local adoption is now repo-harness init; global bootstrap is repo-harness install only.
  • Codex App Threads is the model-pinned primary delegation route, with fail-closed native fallback.
  • One SessionStart-minted run identity now threads through hook telemetry and evidence correlation.
  • Agent-fleet drift detection became receipt-aware and preserves repo-owned role mappings.
  • The five-language README was restructured into a get-started-first layout.
  • ChatGPT delegate mode — a repo-owned dual-agent GPT Pro collaboration protocol with per-host transports (Claude through the Oracle consult/continue chain, Codex through the built-in browser), plus a mandatory fail-closed Gitleaks egress scan over the exact rendered prompt bundle before any session or provider side effect.
  • Minimal/full host profiles (full by default), explicit protocol-1 migration, profile-aware Codex hook projections, and user-managed agent-fleet preservation.
  • checks/latest.json is materialized exclusively from the evidence ledger; every prior direct-authoring path was deleted in the same package.
  • Skill surface discovery cut over to manifest v2.
  • Fixed: macOS Bash 3.2 primary-worktree shipping, immutable evidence genesis, and QA score normalization.
  • A local merge gate is now enforced in the workflow.
  • Added a ChatGPT coding MCP profile and agent-fleet specialist roles, with native custom-agent role routing verified through SubagentStart evidence.
  • Configurable per-repo deploy-sql roots and naming policy.
  • Adoption moved to a transactional TypeScript planner; the Bun baseline moved to 1.3.14.
  • bugfix task profile with a first-class Root Cause Evidence gate — the runner and the verifier independently evaluate the same ## Root Cause Evidence section, matching a pre-fix failure artifact by its captured recipe.
  • frontend task profile with a design-brief gate and a capability/archcontext boundary bridge.
  • The agent fleet became a first-class dependency: install-agent-fleet installs the upstream agent definitions and generates matching Codex .toml mappings, never-clobber by default.
  • repo-harness install --target codex|both --location global --delegation-mode auto|explicit, so the global Codex delegation mode persists without clobbering existing config keys.
  • Global bootstrap now prompts Y/n in interactive terminals before installing the optional external-skills and CodeGraph pieces; non-TTY and --json stay unprompted.
  • doctor requires the PATH-visible Codex CLI to be at least 0.144.0 and keeps Claude-only setups free of irrelevant Codex warnings.
  • Oracle is the only supported GPT Pro browser path. The experimental ChatGPT Chrome extension / bridge provider — browser-bind and --provider bridge — was removed. The native Chrome DevTools engine remains as deprecated diagnostics only.
  • General Repo MCP reference and a CodeGraph rollout runbook: repo administration, privacy/audit boundaries, migration from workflow-artifact reads, rollout flags, and known limitations.
  • Fixed: Codex Stop decision output no longer breaks the Desktop app at turn finalization.
  • Review Rubric v1 and diff fingerprints are now attached to review, release, and peer-acceptance prompts.
  • Review freshness gate: stale or missing implementation fingerprints block a “Done” claim until /check and peer acceptance are refreshed.
  • Hook assets are canonicalized under assets/hooks/ with a generated self-host projection, plus tarball and central-install parity checks.
  • ChatGPT MCP workspaceReader on the default planner profile — read-only repo access through reader_status, list_allowed_roots, open_workspace, tree, search_text, and read_text, not just workflow files.
  • Multi-repo: registered-repo discovery via ~/.repo-harness/registered-repos.json and repo_path targeting so one Connector serves every adopted repo.
  • HTTP url-token auth mode; OAuth offline_access with refresh-token rotation.
  • Advisory minimal-change hooks across SessionStart, UserPromptSubmit, PostToolUse.edit, and Stop, with evidence at .ai/harness/checks/minimal-change.latest.json.
  • Secret deny globs stay active even with broad reads; legacy fullDiskRead: true fails closed; managed hooks bind to the current git repo.
  • User-scope ChatGPT MCP setup for Developer Mode — config and auth under ~/.repo-harness/. Broad full-disk read is deprecated in favor of registered adopted repos plus explicit --allow-root entries.
  • discover_harness_repos plus repo_path targeting for MCP read tools.
  • --chatgpt-app preselection for Oracle browser consults; ChatGPT Connector invocation-evidence in mcp doctor.
  • Fixes: delegation-prompt scoping for why/how investigation targets, per-session subagent retry-state isolation, adopt --compact helper reclaim, and preserved ChatGPT MCP bind host/port on re-run.
  • ChatGPT native browser product-session binding for selected Chrome profiles (superseded by Oracle in 0.8.1).
  • Oracle browser-provider heartbeat: --heartbeat, default 59 seconds, keeps long GPT Pro runs observable.