Git Worktrees for Agents
Uso de git worktrees para dar a cada agente de código seu próprio diretório, branch e estado de arquivos — eliminando conflitos de edição em arquivos compartilhados e permitindo paralelismo real.
Por Que Worktrees
- Cada task ganha diretório, branch e terminal próprios:
worker --worktree new-child. - Acaba com “quem está editando
package.json?” — estados de arquivo divergem por worktree. - Isolamento é pré-requisito da orquestração: sem worktres, agentes sobrescrevem o trabalho uns dos outros.
Níveis de Isolamento
- Worktree direto — handoff único, sem supervisão.
- Worktree + worker — agente reporta, pergunta via coordenador e é rastreado por task ID.
- Run + tasks + workers — namespace durável e loop supervisionado multi-agente.
Implicações
- Paralelismo deixa de ser “fan out e reza” para ser planejado por tasks independentes.
- Segurança de
mainvem do isolamento: cada worker opera em branch próprio, merge é decisão explícita (gate). - O custo de infraestrutura (worktrees, terminais) é o preço do paralelismo seguro.
Open Questions
- Qual a política de limpeza de worktrees de workers já concluídos?
- Como lidar com tasks que editam o mesmo arquivo intencionalmente?
Relacionamentos
- agent-orchestration — padrão que depende de worktrees
- orca-ade — ADE que implementa worktrees por task
- branch-isolation-for-agents — isolamento por branch/worktree com PR obrigatório