# Agent Harnesses

Project · Four complementary agent harnesses organized by coordination boundary, evidence, and operational fit.

Every fact below comes from the immutable v0.2.0 snapshot checked into the site repository; there is no runtime fetch.

- [Repository](https://github.com/fabianomag/agent-harnesses)
- [Source commit](https://github.com/fabianomag/agent-harnesses/commit/de3e0c4a6491d569dc24fe46922204bcd10edc6c)
- [Release](https://github.com/fabianomag/agent-harnesses/releases/tag/v0.2.0)
- [Manifest](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/release-manifest.json)
- [Manifest checksum](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/release-manifest.json.sha256)
- [Pinned snapshot](https://raw.githubusercontent.com/fabianomag/agent-harnesses/de3e0c4a6491d569dc24fe46922204bcd10edc6c/catalog/site-harnesses.v0.2.0.json)
- Snapshot SHA-256: `46c6c31ad60cf1ff815dbecc28a5f50646fa83c567d0b2e51261caf1ce3237cd`
- Minimum Python: `3.10+`
- [Installer](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/installer.py)
- [Installer checksum](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/installer.py.sha256)

## Project Harness

- Package: `project-harness`
- Version: `0.2.0`
- Complexity: Low
- [Download ZIP](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/project-harness-0.2.0.zip)
- [SHA-256 sidecar](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/project-harness-0.2.0.zip.sha256)
- [Package source](https://github.com/fabianomag/agent-harnesses/tree/de3e0c4a6491d569dc24fe46922204bcd10edc6c/packages/project-harness)

A small project-local lifecycle for durable context and the next action.

### Scenario

I need one project to remember context between work sessions.

### Strengths

- Checkpoints
- Close and resume
- Fast setup

### Best for

One explicit project that needs checkpoints, closeout, and reliable resumption.

### Not for

Coordination across workspace children or independent project roots.

### What it changes

Creates a bounded project state directory and managed context blocks inside the selected project.

### Installation prompt

```text
Install Project Harness (`project-harness`) v0.2.0 from https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/project-harness-0.2.0.zip. Before any write, confirm the explicit target and resolve exactly one Python 3.10+ executable available to the user or system as `<python>` (for example `python3`, `python`, or `py -3`); reuse only that executable and never use a private Codex runtime. Download the ZIP and its adjacent `.sha256` sidecar into an isolated temporary directory, verify the checksum before extraction or execution, then extract it. From the extracted bundle root run:
`<python> -B installer.py doctor project-harness --target "<target>" --json`
Stop without writes on a mismatch and only recommend a better fit; never silently substitute another harness. Then run:
`<python> -B installer.py install project-harness --target "<target>" --dry-run --json`
`<python> -B installer.py install project-harness --target "<target>" --apply --json`
Follow `package/README.md` inside the extracted bundle to initialize the target, then run from the bundle root:
`<python> -B installer.py verify project-harness --target "<target>" --json`
Report success only when this final result contains `ready=true`. Clean up temporary files and report the receipt plus `uninstall`/rollback instructions. Do not edit unrelated documentation, `PATH`, or `.gitignore`, and do not install a global Skill.
```

## Workspace Harness

- Package: `workspace-coordination`
- Version: `0.2.0`
- Complexity: Medium
- [Download ZIP](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/workspace-coordination-0.2.0.zip)
- [SHA-256 sidecar](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/workspace-coordination-0.2.0.zip.sha256)
- [Package source](https://github.com/fabianomag/agent-harnesses/tree/de3e0c4a6491d569dc24fe46922204bcd10edc6c/packages/workspace-coordination)

A coordinator index that preserves child-local ownership.

### Scenario

I have autonomous child folders inside one containing workspace.

### Strengths

- Child index
- Ownership boundaries
- Shared workspace view

### Best for

Contained child projects that share one workspace boundary and a small shared index.

### Not for

Independent repositories or a single project with no child coordination.

### What it changes

Creates a workspace control directory and child-local coordination records.

### Installation prompt

```text
Install Workspace Harness (`workspace-coordination`) v0.2.0 from https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/workspace-coordination-0.2.0.zip. Before any write, confirm the explicit target and resolve exactly one Python 3.10+ executable available to the user or system as `<python>` (for example `python3`, `python`, or `py -3`); reuse only that executable and never use a private Codex runtime. Download the ZIP and its adjacent `.sha256` sidecar into an isolated temporary directory, verify the checksum before extraction or execution, then extract it. From the extracted bundle root run:
`<python> -B installer.py doctor workspace-coordination --target "<target>" --json`
Stop without writes on a mismatch and only recommend a better fit; never silently substitute another harness. Then run:
`<python> -B installer.py install workspace-coordination --target "<target>" --dry-run --json`
`<python> -B installer.py install workspace-coordination --target "<target>" --apply --json`
Follow `package/README.md` inside the extracted bundle to initialize the target, then run from the bundle root:
`<python> -B installer.py verify workspace-coordination --target "<target>" --json`
Report success only when this final result contains `ready=true`. Clean up temporary files and report the receipt plus `uninstall`/rollback instructions. Do not edit unrelated documentation, `PATH`, or `.gitignore`, and do not install a global Skill.
```

## Multi-Project Harness

- Package: `cross-project`
- Version: `0.2.0`
- Complexity: Medium
- [Download ZIP](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/cross-project-0.2.0.zip)
- [SHA-256 sidecar](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/cross-project-0.2.0.zip.sha256)
- [Package source](https://github.com/fabianomag/agent-harnesses/tree/de3e0c4a6491d569dc24fe46922204bcd10edc6c/packages/cross-project)

A canonical cross-project manifest with bounded reflection and structural sync.

### Scenario

I need handoffs and shared state across existing independent projects.

### Strengths

- Independent projects
- Handoffs
- Structural sync

### Best for

Existing independent project roots that need explicit handoffs and transversal coordination.

### Not for

A contained child index or a new strict registry with journaled recovery.

### What it changes

Creates a canonical coordination manifest and managed root projections without taking ownership of project-local details.

### Installation prompt

```text
Install Multi-Project Harness (`cross-project`) v0.2.0 from https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/cross-project-0.2.0.zip. Before any write, confirm the explicit target and resolve exactly one Python 3.10+ executable available to the user or system as `<python>` (for example `python3`, `python`, or `py -3`); reuse only that executable and never use a private Codex runtime. Download the ZIP and its adjacent `.sha256` sidecar into an isolated temporary directory, verify the checksum before extraction or execution, then extract it. From the extracted bundle root run:
`<python> -B installer.py doctor cross-project --target "<target>" --json`
Stop without writes on a mismatch and only recommend a better fit; never silently substitute another harness. Then run:
`<python> -B installer.py install cross-project --target "<target>" --dry-run --json`
`<python> -B installer.py install cross-project --target "<target>" --apply --json`
Follow `package/README.md` inside the extracted bundle to initialize the target, then run from the bundle root:
`<python> -B installer.py verify cross-project --target "<target>" --json`
Report success only when this final result contains `ready=true`. Clean up temporary files and report the receipt plus `uninstall`/rollback instructions. Do not edit unrelated documentation, `PATH`, or `.gitignore`, and do not install a global Skill.
```

## Control Plane Harness

- Package: `orchestration`
- Version: `0.2.0`
- Complexity: High
- [Download ZIP](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/orchestration-0.2.0.zip)
- [SHA-256 sidecar](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/orchestration-0.2.0.zip.sha256)
- [Package source](https://github.com/fabianomag/agent-harnesses/tree/de3e0c4a6491d569dc24fe46922204bcd10edc6c/packages/orchestration)

A transactional local control plane for a deliberate new Master structure.

### Scenario

I am creating a new structure that needs a strict registry, transactions, and recovery.

### Strengths

- Strict registry
- Transactions
- Recovery

### Best for

A new control plane whose registry and lifecycle mutations justify transactions and recovery.

### Not for

Adopting an existing project layout, dispatching agents, or executing project work.

### What it changes

Creates a strict Master registry and managed front structure through validated transactional mutations. It does not call models or dispatch agents.

### Installation prompt

```text
Install Control Plane Harness (`orchestration`) v0.2.0 from https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/orchestration-0.2.0.zip. Before any write, confirm the explicit target and resolve exactly one Python 3.10+ executable available to the user or system as `<python>` (for example `python3`, `python`, or `py -3`); reuse only that executable and never use a private Codex runtime. Download the ZIP and its adjacent `.sha256` sidecar into an isolated temporary directory, verify the checksum before extraction or execution, then extract it. From the extracted bundle root run:
`<python> -B installer.py doctor orchestration --target "<target>" --json`
Stop without writes on a mismatch and only recommend a better fit; never silently substitute another harness. Then run:
`<python> -B installer.py install orchestration --target "<target>" --dry-run --json`
`<python> -B installer.py install orchestration --target "<target>" --apply --json`
Follow `package/README.md` inside the extracted bundle to initialize the target, then run from the bundle root:
`<python> -B installer.py verify orchestration --target "<target>" --json`
Report success only when this final result contains `ready=true`. Clean up temporary files and report the receipt plus `uninstall`/rollback instructions. Do not edit unrelated documentation, `PATH`, or `.gitignore`, and do not install a global Skill.
```
