A cyan recursive signal loop above a dark cyber-futurist horizon

Recursive Harness does not retrain the model. It makes the environment around the model measurable: predictions are scored, corrections stay visible, concurrent work is guarded, and accepted lessons become reviewed skills, commands, decisions, evaluations, or policy. The result is an improvement loop you can inspect instead of a growing prompt file you have to trust on faith.

The public adoption default is now non-invasive: inspect first, keep every existing AGENTS.md, CLAUDE.md, agent, skill, hook, and provider setting authoritative, then opt into only the capabilities you want. The canonical capability model is provider-neutral, but the full production integration today is the advanced Claude Code reference runtime. Observe, Learn, Verify, and Coordinate now ship as generated-beta Claude, generic Agent Skill, and local Codex packages. Recursive Lab ships separately as a generated-experimental, preview-only package. Recursive also includes an experimental, narrow OpenAI/Codex Specialization adapter; it packages that canonical capability rather than making the entire harness installable. The separately trusted, no-op-by-default Recursive Guard is also available as a separate Codex beta. See the Observe guide, Learn guide, Verify guide, Coordinate guide, Lab guide, capability catalog, architecture, and Agentic Dev OS consolidation map for the boundary and migration status.

The public OpenAI Plugins Directory submission is prepared but not yet published. Its single skills-only listing bundles Observe, Learn, Verify, and Coordinate without hooks or automatic setup. Until the portal review and fresh public-install gate pass, use the immutable Git-backed catalog instructions below; this README will not point at a listing that does not exist.

What you get

Capability What ships
Evidence loop Falsifiable predictions, hit/miss outcomes, confidence calibration, Brier score, and one-screen Scorecard
Learning ledgers Corrections, skill value, follow-ups, durable retro completion, retention-aware GC, and reviewed retrospectives
Work safety Worktree ownership, concurrent-session isolation, trunk leases, branch-first guards, pre-merge checks, and explicit human approval gates
Operator controls Doctor diagnostics, feature flags, privacy audit/scrub, plain-language explanations, and copy-pasteable recovery guidance
Structural intelligence Cartograph graph extraction, generated Atlas and Pulse, health/rot gates, dependency paths, and read-only structural questions
Governed change Proposal lifecycle states, validated transitions, generated indexing, acceptance criteria, decision history, and locked-layer review rules
Agent coordination Fleet/Agent Mail claims, handoffs, inboxes, acknowledgements, TTL cleanup, and one canonical event log across worktrees
Control room Optional Mission Control TUI with roster, map, proof counters, contention signals, and a read-only live feed
Project integration Zero-write compatibility inspection, personal sidecar operation, an advanced Claude account silo, shared session-store migration, and pinned multi-repository worktree sources

See the product, not just the concept

The following captures are sanitized output from the tested repository. They are not illustrative metrics. The capture commit and fixture provenance live in brand/evidence.

Doctor reports a healthy installation, then Scorecard and calibration show one scored observation

Doctor identifies the loaded account, verifies canonical hook wiring, compiles hooks, checks the Claude Code minimum, and pairs every failure with a repair command. Scorecard and calibration expose sample size so a single observation cannot masquerade as mature evidence.

Cartograph reports a 75 out of 100 structural health score with zero rot and answers which files implement Doctor

Cartograph turns the repository into a queryable graph. health, map, and ask surface structure, dependencies, proposals, and rot without letting the score replace review.

Mission Control optional terminal interface showing fixture-backed roster, proof, and feed panels

Mission Control is an optional, read-only Textual interface over the same Cartograph and Fleet data. This capture is a real render of the repository's tested sample fixture.

How it works

In the full Claude reference runtime, lifecycle events enter through Recursive-owned account settings. Hooks enforce narrow safety rules and record selected local signals; skills, commands, and fresh-context agents perform the reasoning; lint, tests, eval structure, and Cartograph protect the resulting change. Personal-sidecar use calls the same explicit CLI without replacing a project's provider configuration. Private operational state stays in the Recursive checkout until a human promotes a sanitized lesson through review.

Claude Code events flow through hooks and procedures into private state and review gates, producing reviewed repository memory

Predict, act, score, and learn form a reviewed loop protected by an evidence boundary

Loop Cadence Durable result
Task Every meaningful task Falsifiable prediction plus a scored outcome
Session /retro Corrections and failures routed into a reviewed change
Portfolio /meta-retro Calibration, pruning, eval coverage, and bounded-autonomy proposals

Three operator journeys

1. Prove a fresh install

Create an isolated account, pin it for the session, and let Doctor verify the wiring rather than assuming the correct Claude configuration loaded.

./install.sh
./account-init.sh dev --store-account dev
CLAUDE_CONFIG_DIR="$PWD/.claude-private/accounts/dev" python3 bin/harness doctor
./launch.sh dev

2. Turn a result into reviewed memory

python3 bin/harness predict \
  --task "harden the parser" \
  --expect "the malformed fixture is rejected and the full suite stays green" \
  --confidence 0.75

# Do the work, verify the observable result, then score it.
python3 bin/harness outcome PREDICTION_ID --result hit --notes "fixture and suite passed"
python3 bin/harness stats
python3 bin/harness scorecard

Run /retro after significant or correction-born work. It reviews prediction debt, corrections, failures, and skill outcomes, then routes a durable lesson through the normal pull-request and evaluation path. /calibrate, /gc, and /meta-retro close the longer feedback loops.

3. Coordinate parallel or multi-repository work

# Inspect another project without reading configuration contents or changing any file.
python3 /path/to/recursive-harness/scripts/recursive_inspect.py /path/to/project

# Share claims and handoffs through the canonical worktree-aware event log.
python3 /path/to/recursive-harness/bin/harness fleet emit claim \
  --target src/auth.py --note "refactoring login"
python3 /path/to/recursive-harness/bin/harness fleet claims
python3 /path/to/recursive-harness/bin/harness fleet send reviewer \
  --re fix/login --msg "ready for review"

Session guards detect cross-worktree ownership conflicts, while configured companion repositories use reviewed immutable commits unless explicitly marked as development-only.

Choose an adoption mode

Mode Changes the project? Use it when
Compatibility inspection No You want a deterministic inventory of existing agent configuration before deciding anything
Personal sidecar No You want explicit prediction, outcome, privacy, structure, or coordination commands while keeping the project's setup untouched
Namespaced capability plugin No at personal/user scope You want one capability without adopting the full runtime: Observe, Learn, Verify, or Coordinate beta; experimental Lab; separately trusted Guard; or narrow Specialization preview
Reviewed repository integration Exact proposed diff only A team deliberately wants shared workflow or CI configuration in the repository
Full Claude reference runtime No target-source writes, but it selects a separate Claude configuration You want the complete hooks, agents, skills, settings, and safety model and accept isolation from your normal Claude config

Inspection is read-only and does not print file contents:

python3 scripts/recursive_inspect.py /path/to/existing-project
# Compatibility notes are reported; Repository writes: none

The retained project-init.sh command is now only a deprecated compatibility wrapper for that inspector. It never appends to CLAUDE.md. There is intentionally no automatic “merge both configurations” command: precedence and hook conflicts require a human-owned, reviewed integration.

Install only Recursive Observe

Observe is hook-free and keeps its private state outside the active repository.

# Codex: repository catalog at the v0.1.2 release commit (not the public marketplace).
codex plugin marketplace add GhostlyGawd/recursive-harness --ref 5a524d199d6c061a30fa577fbfe6ed0cb7b9a0d4
codex plugin add recursive-observe@recursive-harness

# Claude Code: personal/user scope; does not edit the project.
claude plugin marketplace add GhostlyGawd/recursive-harness
claude plugin install recursive-observe@recursive-harness --scope user

The self-contained package is generated from one canonical skill plus the shared private-state helper and carries a SHA-256 source receipt. See Recursive Observe for generic-skill installation, privacy, uninstall, and the honest hosted-web compatibility limits.

Install only Recursive Learn

Learn is hook-free. It stores sanitized corrections, follow-ups, and candidates in the user's private sidecar and can print—but never apply—a proposed learning diff.

# Codex: personal plugin cache; the active repository is not changed.
codex plugin add recursive-learn@recursive-harness

# Claude Code: user scope; the active repository is not changed.
claude plugin install recursive-learn@recursive-harness --scope user

The catalog-add command is the same as Observe above. See Recursive Learn for the generic Agent Skill copy, exact privacy boundary, real-consumer evidence, and unsupported hosted-web cases.

Install only Recursive Verify

Verify is hook-free and stateless. It produces content-free structural scorecards, fixed Atlas-style queries, non-executing eval-corpus inspection, and exact proposal diffs without an apply operation.

# Codex: personal plugin cache; the active repository is not changed.
codex plugin add recursive-verify@recursive-harness

# Claude Code: user scope; the active repository is not changed.
claude plugin install recursive-verify@recursive-harness --scope user

The catalog-add command is the same as Observe above. Verify never runs repository graders, tests, hooks, commands, binaries, or model prompts. See Recursive Verify for generic Agent Skill installation, real-consumer evidence, and the exact security boundary.

Install only Recursive Coordinate

Coordinate is hook-free and keeps one sanitized private ledger per repository. Git worktrees share collision-safe claims, bounded leases, idempotent handoffs, and a read-only Mission projection.

# Codex: personal plugin cache; the active repository is not changed.
codex plugin add recursive-coordinate@recursive-harness

# Claude Code: user scope; the active repository is not changed.
claude plugin install recursive-coordinate@recursive-harness --scope user

The catalog-add command is the same as Observe above. This beta is local-only: it ships no remote Agent Mail connector, credentials, distributed lock, MCP adapter, or full Mission Control TUI. See Recursive Coordinate for lease recovery, state privacy, generic Agent Skill installation, and real concurrent-consumer evidence.

Add enforcement only through a separate trust decision

Recursive Guard is a distinct Codex plugin, never a dependency of Observe or Specialization. Installing it changes no repository and produces no hook output until a repository owner reviews and commits .recursive-guard.json. Start with audit; use enforce only after testing one allowed and one protected operation.

# Add the same repository catalog, then install Guard as a separate trust decision.
codex plugin marketplace add GhostlyGawd/recursive-harness --ref 5a524d199d6c061a30fa577fbfe6ed0cb7b9a0d4
codex plugin add recursive-guard@recursive-harness

Review the exact hook in /hooks before trusting it. Guard covers supported local Bash and apply_patch paths; it is not a sandbox and does not replace GitHub permissions or CI. See Recursive Guard for the policy, coexistence proof, and removal path.

Install in five minutes

This section installs the full Claude reference runtime in its own explicit account silo. For a first look at an existing project, run the zero-write inspector above; installation is not required.

Supported baseline: Python 3.12, Git 2.39.0 or newer, Bash 5.x (current Git Bash on Windows), and Claude Code 2.1.200 or newer. Ubuntu, Windows, and macOS operator journeys run continuously in CI. See the compatibility matrix for the exact contract and optional dependencies.

Versioned release bundle

The GitHub Release is the supported versioned distribution channel. It contains deterministic .tar.gz and .zip source bundles, an embedded file manifest, and a SHA-256 sidecar covering both archives.

gh release download v0.1.2 -R GhostlyGawd/recursive-harness \
  -p "recursive-harness-v0.1.2.tar.gz" \
  -p "recursive-harness-v0.1.2.zip" \
  -p "recursive-harness-v0.1.2.sha256"
sha256sum -c recursive-harness-v0.1.2.sha256
tar -xzf recursive-harness-v0.1.2.tar.gz
cd recursive-harness-v0.1.2
./install.sh

The sidecar covers both archives, so keep both beside it during verification. On macOS use shasum -a 256 -c recursive-harness-v0.1.2.sha256; on Windows compare each result from Get-FileHash -Algorithm SHA256 with its sidecar line. Use Git Bash for the shell installer and enable Windows Developer Mode so account links are native symlinks.

Latest source

git clone https://github.com/GhostlyGawd/recursive-harness.git
cd recursive-harness
./install.sh
./account-init.sh dev --store-account dev
CLAUDE_CONFIG_DIR="$PWD/.claude-private/accounts/dev" python3 bin/harness doctor

Installation changes nothing globally by default and preserves an existing Git post-merge hook through a managed dispatcher. Non-destructive removal is supported with ./uninstall.sh --account dev or .\uninstall.ps1 -Account dev; settings, transcripts, backups, ignored state, and the checkout are retained for deliberate inspection. Follow Getting started for upgrades, rollback, and recovery.

Core, optional, and experimental

Level Surfaces Expectation
Supported beta Read-only inspection; personal sidecar CLI; full Claude install/account flow; hooks and review gates; Cartograph; proposal governance Continuously tested on the supported baseline; breaking changes remain possible before 1.0 and require aligned docs/evidence
Optional Fleet MCP adapter and Mission Control TUI Tested separately with pinned dependency snapshots; not required for the core loop
Generated beta Recursive Observe, Recursive Learn, Recursive Verify, and Recursive Coordinate for Claude, generic Agent Skills, and local Codex Generated artifacts, source receipts, standalone runtimes, coexistence fixtures, and real isolated consumer installs pass; Coordinate remains local-only and hosted use remains unverified
Generated beta Recursive Guard for local Codex Separately installed and trusted; inert without a reviewed repository policy; receipt-bound, coexistence-tested, and consumer-installed, but not a sandbox
Generated experimental Recursive Lab for Claude, generic Agent Skills, and local Codex Brainstorm and roadmap remain preview-only; real isolated install/uninstall and zero-project-write evidence passes, while model behavior and hosted use remain unverified
Experimental Product/venture workflows, extraction proposals, and product-build tooling Available for evaluation without a compatibility promise
Internal/legacy Raw state schemas, graph internals, calibration storage, and --global-legacy install Not a public integration surface; legacy install is a guarded migration path only

The complete promise and promotion criteria are in Product surface and stability.

Why not plain CLAUDE.md?

Plain instruction file Recursive Harness
Describes desired behavior Records whether the expected behavior actually happened
Relies on one context window Shares hot local ledgers and reviewed cold memory across sessions and worktrees
Has no native calibration Scores confidence, misses, prediction debt, and sample size
Cannot coordinate concurrent writers Adds ownership, lease, claim, and handoff protocols
Grows through prose edits Routes learnings to the smallest appropriate skill, command, decision, eval, or guard
Offers no structural proof Runs lint, tests, eval structure, Doctor, Scorecard, Cartograph, and protected GitHub checks

Your existing instruction files remain yours. Recursive neither appends its policy nor assumes its instructions outrank them. The improvement loop belongs in a sidecar or selected namespaced capability; repository-specific truth stays in the repository's established instruction hierarchy.

Verification and proof points

  • Protected main requires the branch to be current and requires Linux, Windows, macOS, minimum-Git, optional-surface, Python CodeQL, and Actions CodeQL checks.
  • Black-box disposable-clone tests cover install → account initialization → Doctor → byte-identical coexistence inspection → predict/outcome/Scorecard → settings backup → uninstall/rollback.
  • The release builder produces byte-identical archives from one committed revision and publishes a manifest plus SHA-256 checksums.
  • Secret scanning, push protection, private vulnerability reporting, Dependabot, immutable Actions pins, privacy redaction/retention, and alert-by-alert CodeQL triage are enabled.
  • The core CLI, hooks, Cartograph, eval runner, and Fleet engine use Python's standard library. Optional Mission Control and MCP dependencies are isolated and pinned in CI.

The installed source reports its exact release with python3 bin/harness --version.

Browse the Harness Atlas, operations guide, release checklist, or the point-in-time Agentic Dev OS comparison.

Trust, security, and privacy

Recursive Harness executes trusted hooks and commands with the operator's permissions. It is not a sandbox and does not make an untrusted skill, repository, MCP server, or shell command safe. Review executable changes and configured repository sources as code.

Ignored state can contain short prompt or failure excerpts, local paths, session metadata, and transcripts. Writers redact common secret and PII shapes, use owner-only local-state primitives where supported, default raw excerpts to 30-day retention, and expose harness privacy audit|scrub. These are defense in depth. Anything promoted into memory, proposals, fixtures, screenshots, or Git history becomes public.

Read PRIVACY.md, report vulnerabilities through the private process in SECURITY.md, and review the latest security assessment. Scanner alerts are triage signals, not proof of exploitability, and remaining reviewed findings are documented rather than hidden.

Current limits

  • This is an active beta, not a 1.0 compatibility promise or a security sandbox.
  • Deterministic CI does not invoke a model API. A real Claude Code predict → act → score → retro → reviewed-change replay remains human release evidence.
  • Correction and failure capture are heuristic; promotion into public memory remains a human-reviewed act.
  • GitHub Releases are the supported packaged channel. Homebrew, Scoop, Winget, and other package-manager channels are not published yet.
  • Host filesystem, symlink, terminal, Claude service, MCP service, and model-provider behavior remain outside the repository's test boundary.

Recursive Harness is distributed under the repository-wide MIT License. See the roadmap for remaining work and brand/README.md for the profile-aligned visual system and asset provenance.