---
id: orchestrate
agent: nexus-master
title: Orquestrar — decompor e delegar a N sub-agentes
inputs: [objetivo]
outputs: [árvore de entregas, resultado costurado]
elicit: false
modes: [yolo]
---

# Orquestrar — decompor e delegar a N sub-agentes

**Objetivo:** transformar um objetivo de construção em entregas reais, delegando frentes
independentes a sub-agentes que executam em paralelo — via o motor (`nexus run`).

**Pré-condições:**
- O objetivo é **construção** (executar), não decisão. Se for uma decisão dura com trade-off real,
  use a task `deliberate` (party-mode), não esta.
- O objetivo rastreia a um pedido/story/spec. Sem isso, elicito o escopo — não invento.

## Passos

1. **Entendo o objetivo completo** e o classifico: é paralelizável? quais frentes existem? quem é o
   dono de cada uma? (copy→@analyst/@pm, design→@ux, implementação→@dev, dados→@data-engineer,
   qualidade→@qa, subida→@devops).
2. **Decomponho em frentes com fronteiras limpas.** Cada frente: um dono, um input, um critério de
   pronto. Frentes de baixo acoplamento correm em paralelo; as acopladas eu sequencio (deps).
3. **Disparo o motor** (`nexus run "{objetivo}"`): o coordenador emite a decomposição, e o
   SubagentOrchestrator spawna os sub-agentes por ondas, respeitando as dependências. Cada sub-agente
   pode re-delegar (recursão), dentro dos freios. Com `--waves`, cada onda roda com paralelismo
   pleno (sem teto de concorrência dentro da onda).
4. **Respeito os freios.** `maxFanout`, `maxDepth` e `maxTotalRuns` têm teto. Se a decomposição
   estoura, eu **recuso a decomposição inteira** e reformulo — não gero sub-agentes órfãos.
5. **Costuro o resultado.** Recolho as entregas das frentes, verifico contra cada critério de pronto,
   e entrego o todo — nomeando quem fez o quê.
6. **Roteio o gate.** Implementado → @qa (quality gate). Aprovado e pronto pra subir → @devops.

## Critério de pronto (DoD)

- [ ] Cada frente tem dono, input e critério de pronto explícitos
- [ ] A decomposição respeitou os freios (sem órfãos, sem estouro de budget)
- [ ] Todas as frentes entregues e verificadas contra o critério
- [ ] Resultado costurado e roteado ao gate (@qa) / subida (@devops)

## Falha / recuperação

- **Uma frente falha** → o motor bloqueia os dependentes dela; eu reporto a frente travada e decido
  re-delegar ou escalar, sem dar por entregue o que não saiu.
- **A decomposição estoura os freios** → recuso e reformulo em frentes maiores/menos acopladas.
- **O objetivo era decisão, não construção** → troco para a task `deliberate`.
