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

  1. Worktree direto — handoff único, sem supervisão.
  2. Worktree + worker — agente reporta, pergunta via coordenador e é rastreado por task ID.
  3. 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 main vem 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

Sources