# Agent Harnesses

Projeto · Quatro harnesses complementares organizados por limite de coordenação, evidências e adequação operacional.

Todos os fatos abaixo vêm do snapshot imutável v0.2.0 fixado no repositório do site; não há fetch em runtime.

- [Repositório](https://github.com/fabianomag/agent-harnesses)
- [Commit-fonte](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)
- [Checksum do manifest](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/release-manifest.json.sha256)
- [Snapshot fixado](https://raw.githubusercontent.com/fabianomag/agent-harnesses/de3e0c4a6491d569dc24fe46922204bcd10edc6c/catalog/site-harnesses.v0.2.0.json)
- SHA-256 do snapshot: `46c6c31ad60cf1ff815dbecc28a5f50646fa83c567d0b2e51261caf1ce3237cd`
- Python mínimo: `3.10+`
- [Instalador](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/installer.py)
- [Checksum do instalador](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/installer.py.sha256)

## Project Harness

- Pacote: `project-harness`
- Versão: `0.2.0`
- Complexidade: Baixa
- [Baixar ZIP](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/project-harness-0.2.0.zip)
- [Sidecar SHA-256](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/project-harness-0.2.0.zip.sha256)
- [Código do pacote](https://github.com/fabianomag/agent-harnesses/tree/de3e0c4a6491d569dc24fe46922204bcd10edc6c/packages/project-harness)

Um fluxo local ao projeto para preservar contexto e a próxima ação.

### Cenário

Preciso que um único projeto preserve contexto entre sessões de trabalho.

### Pontos fortes

- Checkpoints
- Closeout e retomada
- Configuração rápida

### Mais indicado para

Um projeto explícito que precisa de checkpoints, closeout e retomada confiável.

### Não indicado para

Coordenação entre projetos filhos de um workspace ou raízes de projetos independentes.

### O que ele altera

Cria um diretório próprio de estado e blocos controlados de contexto dentro do projeto selecionado.

### Prompt de instalação

```text
Instale Project Harness (`project-harness`) v0.2.0 a partir de https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/project-harness-0.2.0.zip.

1. Antes de qualquer escrita, confirme o diretório-alvo explícito e escolha um único executável do Python 3.10+ disponível para o usuário ou para o sistema como `<python>` (por exemplo, `python3`, `python` ou `py -3`); reutilize somente esse executável e nunca use um runtime privado do Codex.
2. Baixe o ZIP e o arquivo `.sha256` correspondente em um diretório temporário isolado e valide a soma SHA-256 antes de extrair ou executar qualquer arquivo.
3. Extraia o pacote e, na raiz do pacote extraído, execute:
`<python> -B installer.py doctor project-harness --target "<target>" --json`
4. Em caso de incompatibilidade, pare sem escrever nada e apenas recomende a melhor opção; nunca substitua silenciosamente por outro harness.
5. Execute:
`<python> -B installer.py install project-harness --target "<target>" --dry-run --json`
`<python> -B installer.py install project-harness --target "<target>" --apply --json`
6. Siga `package/README.md` dentro do pacote extraído (ou `package/README.pt-BR.md` em português) para inicializar o diretório-alvo e, na raiz do pacote, execute:
`<python> -B installer.py verify project-harness --target "<target>" --json`
Só reporte sucesso quando esse resultado final contiver `ready=true`.
7. Limpe os arquivos temporários e informe o recibo da instalação e as instruções de `uninstall`/rollback. Não edite documentação não relacionada, `PATH` ou `.gitignore` e não instale uma Skill global.
```

## Workspace Harness

- Pacote: `workspace-coordination`
- Versão: `0.2.0`
- Complexidade: Média
- [Baixar ZIP](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/workspace-coordination-0.2.0.zip)
- [Sidecar SHA-256](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/workspace-coordination-0.2.0.zip.sha256)
- [Código do pacote](https://github.com/fabianomag/agent-harnesses/tree/de3e0c4a6491d569dc24fe46922204bcd10edc6c/packages/workspace-coordination)

Um índice de coordenação que preserva a responsabilidade de cada projeto filho.

### Cenário

Tenho projetos filhos autônomos dentro de um único workspace.

### Pontos fortes

- Índice dos projetos filhos
- Limites de responsabilidade
- Visão compartilhada do workspace

### Mais indicado para

Projetos filhos no mesmo workspace que precisam de um pequeno índice compartilhado.

### Não indicado para

Repositórios independentes ou um único projeto sem coordenação de projetos filhos.

### O que ele altera

Cria um diretório de controle do workspace e registros de coordenação próprios de cada projeto filho.

### Prompt de instalação

```text
Instale Workspace Harness (`workspace-coordination`) v0.2.0 a partir de https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/workspace-coordination-0.2.0.zip.

1. Antes de qualquer escrita, confirme o diretório-alvo explícito e escolha um único executável do Python 3.10+ disponível para o usuário ou para o sistema como `<python>` (por exemplo, `python3`, `python` ou `py -3`); reutilize somente esse executável e nunca use um runtime privado do Codex.
2. Baixe o ZIP e o arquivo `.sha256` correspondente em um diretório temporário isolado e valide a soma SHA-256 antes de extrair ou executar qualquer arquivo.
3. Extraia o pacote e, na raiz do pacote extraído, execute:
`<python> -B installer.py doctor workspace-coordination --target "<target>" --json`
4. Em caso de incompatibilidade, pare sem escrever nada e apenas recomende a melhor opção; nunca substitua silenciosamente por outro harness.
5. Execute:
`<python> -B installer.py install workspace-coordination --target "<target>" --dry-run --json`
`<python> -B installer.py install workspace-coordination --target "<target>" --apply --json`
6. Siga `package/README.md` dentro do pacote extraído (ou `package/README.pt-BR.md` em português) para inicializar o diretório-alvo e, na raiz do pacote, execute:
`<python> -B installer.py verify workspace-coordination --target "<target>" --json`
Só reporte sucesso quando esse resultado final contiver `ready=true`.
7. Limpe os arquivos temporários e informe o recibo da instalação e as instruções de `uninstall`/rollback. Não edite documentação não relacionada, `PATH` ou `.gitignore` e não instale uma Skill global.
```

## Multi-Project Harness

- Pacote: `cross-project`
- Versão: `0.2.0`
- Complexidade: Média
- [Baixar ZIP](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/cross-project-0.2.0.zip)
- [Sidecar SHA-256](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/cross-project-0.2.0.zip.sha256)
- [Código do pacote](https://github.com/fabianomag/agent-harnesses/tree/de3e0c4a6491d569dc24fe46922204bcd10edc6c/packages/cross-project)

Um manifest canônico entre projetos, com sínteses controladas e sincronização estrutural.

### Cenário

Preciso de handoffs e estado compartilhado entre projetos independentes que já existem.

### Pontos fortes

- Projetos independentes
- Handoffs
- Sincronização estrutural

### Mais indicado para

Projetos independentes com raízes próprias que precisam de handoffs explícitos e coordenação transversal.

### Não indicado para

Um índice de projetos filhos contidos ou um cadastro central novo e estrito com recuperação por histórico transacional.

### O que ele altera

Cria um manifest canônico de coordenação e sínteses controladas na raiz, sem assumir a responsabilidade pelos detalhes locais de cada projeto.

### Prompt de instalação

```text
Instale Multi-Project Harness (`cross-project`) v0.2.0 a partir de https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/cross-project-0.2.0.zip.

1. Antes de qualquer escrita, confirme o diretório-alvo explícito e escolha um único executável do Python 3.10+ disponível para o usuário ou para o sistema como `<python>` (por exemplo, `python3`, `python` ou `py -3`); reutilize somente esse executável e nunca use um runtime privado do Codex.
2. Baixe o ZIP e o arquivo `.sha256` correspondente em um diretório temporário isolado e valide a soma SHA-256 antes de extrair ou executar qualquer arquivo.
3. Extraia o pacote e, na raiz do pacote extraído, execute:
`<python> -B installer.py doctor cross-project --target "<target>" --json`
4. Em caso de incompatibilidade, pare sem escrever nada e apenas recomende a melhor opção; nunca substitua silenciosamente por outro harness.
5. Execute:
`<python> -B installer.py install cross-project --target "<target>" --dry-run --json`
`<python> -B installer.py install cross-project --target "<target>" --apply --json`
6. Siga `package/README.md` dentro do pacote extraído (ou `package/README.pt-BR.md` em português) para inicializar o diretório-alvo e, na raiz do pacote, execute:
`<python> -B installer.py verify cross-project --target "<target>" --json`
Só reporte sucesso quando esse resultado final contiver `ready=true`.
7. Limpe os arquivos temporários e informe o recibo da instalação e as instruções de `uninstall`/rollback. Não edite documentação não relacionada, `PATH` ou `.gitignore` e não instale uma Skill global.
```

## Control Plane Harness

- Pacote: `orchestration`
- Versão: `0.2.0`
- Complexidade: Alta
- [Baixar ZIP](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/orchestration-0.2.0.zip)
- [Sidecar SHA-256](https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/orchestration-0.2.0.zip.sha256)
- [Código do pacote](https://github.com/fabianomag/agent-harnesses/tree/de3e0c4a6491d569dc24fe46922204bcd10edc6c/packages/orchestration)

Um control plane transacional para uma estrutura central criada de forma deliberada.

### Cenário

Estou criando uma estrutura de coordenação nova que precisa de cadastro central estrito, transações e recuperação.

### Pontos fortes

- Cadastro central com validação estrita
- Transações
- Recuperação

### Mais indicado para

Um control plane novo em que o cadastro central e as mudanças de ciclo de vida justificam transações e recuperação.

### Não indicado para

Adotar uma estrutura de projetos existente, acionar coding agents ou executar o trabalho dos projetos.

### O que ele altera

Cria um cadastro central estrito e frentes gerenciadas por mudanças transacionais validadas. Não chama modelos nem aciona coding agents.

### Prompt de instalação

```text
Instale Control Plane Harness (`orchestration`) v0.2.0 a partir de https://github.com/fabianomag/agent-harnesses/releases/download/v0.2.0/orchestration-0.2.0.zip.

1. Antes de qualquer escrita, confirme o diretório-alvo explícito e escolha um único executável do Python 3.10+ disponível para o usuário ou para o sistema como `<python>` (por exemplo, `python3`, `python` ou `py -3`); reutilize somente esse executável e nunca use um runtime privado do Codex.
2. Baixe o ZIP e o arquivo `.sha256` correspondente em um diretório temporário isolado e valide a soma SHA-256 antes de extrair ou executar qualquer arquivo.
3. Extraia o pacote e, na raiz do pacote extraído, execute:
`<python> -B installer.py doctor orchestration --target "<target>" --json`
4. Em caso de incompatibilidade, pare sem escrever nada e apenas recomende a melhor opção; nunca substitua silenciosamente por outro harness.
5. Execute:
`<python> -B installer.py install orchestration --target "<target>" --dry-run --json`
`<python> -B installer.py install orchestration --target "<target>" --apply --json`
6. Siga `package/README.md` dentro do pacote extraído (ou `package/README.pt-BR.md` em português) para inicializar o diretório-alvo e, na raiz do pacote, execute:
`<python> -B installer.py verify orchestration --target "<target>" --json`
Só reporte sucesso quando esse resultado final contiver `ready=true`.
7. Limpe os arquivos temporários e informe o recibo da instalação e as instruções de `uninstall`/rollback. Não edite documentação não relacionada, `PATH` ou `.gitignore` e não instale uma Skill global.
```
