repowisegoogle-research/harness2

google-research / harness2

Python★ 10,906

github.com/google-research/harness2Indexed at 1cfe254Up to date with upstream

What is harness2?

harness2 is a framework for recursively improving agent harnesses for tasks that were unseen during harness design. It refines prompts, tools, memory, skills, orchestration and related components through repeated propose, probe and compose steps. harness2 is primarily written in Python and supports OpenCode and Codex executors.

Written by a model from the README and the source

94 files and 878 symbols in 4 modules, led by Python (58 files) and Shell (4).

Code health

7.9out of 10Good

This codebase scores 7.9 out of 10 for code health, which we rate good. It also scores maintainability 7.0 and static performance 8.9 out of 10. The three are scored separately and never blended into one number.

Use google-research/harness2 in your agent

Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.

  1. 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
  2. 2.Paste the server URL below as the Remote MCP server URL, then click Add.
  3. 3.Click Connect. A Repowise sign-in window opens. Approve access.
  4. 4.Repowise's tools are now available in your Claude chats.

Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.

Docs
bash
https://api.repowise.dev/mcp/google-research/harness2
Editors need an API key: sign in to create one.Sign in to connect

This repo is public, so anyone with a Repowise account and an API key can connect.

Try asking

  • get_overview()
  • get_answer("how is harness2 put together?")
  • get_why("why is harness2 structured this way?")

Explore harness2

Key features of harness2

  • harness2 refines execution harnesses through contrastive Propose, Probe and Compose steps without ground-truth feedback.
  • harness2 maintains an improvement harness with adopted harnesses and evidence-supported lessons from previous tasks.
  • harness2 exposes editable system prompts, guardrails, memory, tool guidance, subagents, skills, scripts and plugins.
  • harness2 supports parallel and sequential recursion with OpenCode and Codex executors.
  • harness2 supports JobBench, LAB and WorkBuddy-Bench and saves task results and evaluation evidence under runs/.
  • harness2 provides command-line and web presentations of run evidence.

How google-research/harness2 works

Input enters through repository sources, benchmark task definitions and harness configuration. The harness2 directory provides the main implementation for parsing code, constructing harnesses and running refinement workflows. Task-level recursion proposes candidate edits, probes them on the same task and composes a refined harness from execution contrasts. Harnessing-level recursion retains adopted harnesses and evidence-supported lessons for later tasks. The scripts directory provides command-line operations, while runs/ stores task summaries, deliverables, adopted harnesses, reflection notes and evaluation results. The tests directory contains the repository's test code, and third_party contains third-party components.

The codebase has 94 files and 878 symbols in 4 modules, led by Python, Shell and Dockerfile. Code health is 7.9 out of 10, rated good.

Getting started with harness2

  1. Create a Python 3.12 virtual environment and activate it.
    uv venv --python 3.12 .venv
  2. Install harness2 with rendering support.
    uv pip install -e '.[render]'
  3. Run the local demo with both recursion modes.
    harness2-demo --output runs/demo --k 2
  4. Copy the environment template and authenticate for model-backed runs.
    cp .env.example .env

Commands copied from the README

google-research/harness2 FAQ

What is harness2?

harness2 is a framework for recursively improving agent harnesses for tasks unseen during harness design. It refines prompts, tools, memory, skills and orchestration.

How does harness2 work?

harness2 proposes candidate harness edits, probes their effects on the same task and composes refinements from execution evidence. It also retains adopted harnesses and lessons for future tasks.

How do I install harness2?

Install harness2 with Python 3.12 and uv by creating a virtual environment, activating it and running uv pip install -e '.[render]'.

What language is harness2 written in?

harness2 is written primarily in Python. The repository also includes shell and Dockerfile code.

How is the harness2 code organized?

harness2 holds the main implementation, scripts holds command-line operations, third_party holds third-party components and tests holds test code.

Who is harness2 for?

harness2 is for users who need to refine agent harnesses for open-world tasks that were unseen during harness design. It supports benchmark workflows for professional, legal, office, web and code tasks.

What license does harness2 use?

harness2 uses the Apache-2.0 license.

The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.

About this page

Get a page like this for your own codebase

Repowise built this map of google-research/harness2 from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.

Index your repo freeSee how Repowise worksFree for 2 public repos, with a page like this one.

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.