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.
/delegateand/parallelremain as prompt-start typed commands, and native Codexspawn_agentwith the exact installedagent_typeis 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-routeras 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-contractsclosure moved to 0.4.2.repo-harness updatereconciles and reads that closure back, and propagates ArchContext’s exact Node>=24 <26runtime contract. - Fixed: at the MCP session cap, the least-recently-used idle Streamable HTTP session is
reclaimed while in-flight sessions are preserved;
/healthnow 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:
initandsetup-globalbuild command environments fromprocess.envinstead of an empty object, so constructed commands inherit your real environment.
- Long-run continuation protocol.
state next(six deterministic read-only routes) andstate attempt(a liveness ledger) with a no-progress circuit breaker, plus a crash-durable closeout journal with atomic per-worktree ownership claims and explicitrecover inspect|abort|reconcilefor 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/— includingmcp.oauth-tokens.json, which holds OAuth access and refresh tokens — stayed un-ignored for anyone who startedrepo-harness mcp serve --transport httpwithout first runningmcp setup chatgptwith repo scope. - The
repo-harness-hookbin 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 adoptis removed. Repo-local adoption is nowrepo-harness init; global bootstrap isrepo-harness installonly. - 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.jsonis 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
SubagentStartevidence. - Configurable per-repo
deploy-sqlroots and naming policy. - Adoption moved to a transactional TypeScript planner; the Bun baseline moved to 1.3.14.
bugfixtask profile with a first-class Root Cause Evidence gate — the runner and the verifier independently evaluate the same## Root Cause Evidencesection, matching a pre-fix failure artifact by its captured recipe.frontendtask profile with a design-brief gate and a capability/archcontext boundary bridge.- The agent fleet became a first-class dependency:
install-agent-fleetinstalls the upstream agent definitions and generates matching Codex.tomlmappings, 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
--jsonstay unprompted. doctorrequires the PATH-visible Codex CLI to be at least0.144.0and 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-bindand--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
Stopdecision 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
/checkand 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
workspaceReaderon the defaultplannerprofile — read-only repo access throughreader_status,list_allowed_roots,open_workspace,tree,search_text, andread_text, not just workflow files. - Multi-repo: registered-repo discovery via
~/.repo-harness/registered-repos.jsonandrepo_pathtargeting so one Connector serves every adopted repo. - HTTP
url-tokenauth mode; OAuthoffline_accesswith refresh-token rotation. - Advisory minimal-change hooks across
SessionStart,UserPromptSubmit,PostToolUse.edit, andStop, with evidence at.ai/harness/checks/minimal-change.latest.json. - Secret deny globs stay active even with broad reads; legacy
fullDiskRead: truefails 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-rootentries. discover_harness_reposplusrepo_pathtargeting for MCP read tools.--chatgpt-apppreselection for Oracle browser consults; ChatGPT Connector invocation-evidence inmcp doctor.
- Fixes: delegation-prompt scoping for
why/howinvestigation targets, per-session subagent retry-state isolation,adopt --compacthelper 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.