---
id: execute-epic-plan
agent: pm
title: Executar o epic em waves paralelas
inputs: ['docs/epics/{epicNum}.epic.md', stories criadas pelo @sm]
outputs: [árvore de execução por waves, stories implementadas e roteadas ao gate]
elicit: false
modes: [yolo]
---

# Executar o epic em waves paralelas

**Objetivo:** orquestrar a execução de um epic estruturado em ondas paralelas — disparando o motor
(`nexus run`), respeitando dependências e budget, e roteando cada entrega ao quality gate.

**Pré-condições:**
- O epic existe em `docs/epics/` com fronteiras, dependências e quality gates (saída de `create-epic`).
  Se o epic não está estruturado, **pare** e rode `create-epic` antes.
- As stories do epic foram criadas pelo @sm e validadas pelo @po. Story em `Draft` não entra em
  execução — eu não crio nem valido story (Gate 1); se faltam, delego ao @sm/@po.

## Passos

1. **Leia o epic completo** e monte o grafo de dependências entre as stories. Identifique o que é
   paralelizável (baixo acoplamento) e o que precisa ser sequenciado.
2. **Agrupe as stories em waves.** Cada wave: um conjunto de stories independentes que correm em
   paralelo. Stories acopladas vão em waves seguintes, respeitando as deps.
3. **Dispare o motor por wave** (`nexus run "{objetivo da wave}"`): o coordenador decompõe e o
   orquestrador spawna os sub-agentes (cada story → @dev/@data-engineer/@ux conforme a frente).
4. **Respeite os freios.** `maxFanout`, `maxDepth`, `maxTotalRuns` e budget têm teto. Se uma wave estoura
   a decomposição, **recuso a wave inteira** e reformulo em frentes maiores/menos acopladas — sem
   sub-agentes órfãos.
5. **Costure as entregas da wave.** Recolha o resultado de cada story, verifique contra o critério de
   aceite do epic, e só então libere a próxima wave (as que dependiam dela).
6. **Roteie cada entrega ao gate.** Implementado → @qa (quality gate previsto no epic). Aprovado e pronto
   pra subir → **@devops** (`git push`/PR/release são exclusivos dele — eu delego, sempre).

## Critério de pronto (DoD)

- [ ] Stories agrupadas em waves respeitando o grafo de dependências
- [ ] Cada wave disparada via `nexus run`, dentro dos freios (sem órfãos, sem estouro de budget)
- [ ] Entregas costuradas e verificadas contra o critério de aceite do epic
- [ ] Cada entrega roteada ao @qa; subida delegada ao @devops
- [ ] Eu não criei nem validei story (Gate 1 respeitado)

## Falha / recuperação

- **Uma story da wave falha** → o motor bloqueia os dependentes; reporto a frente travada e decido
  re-delegar ou escalar, sem dar a wave por entregue.
- **A wave estoura os freios/budget** → recuso e reformulo em frentes maiores/menos acopladas.
- **Faltam stories validadas** → delego criação ao @sm e validação ao @po; não furo o Gate 1.
- **Pediram que eu suba o código** → recuso e delego ao @devops; `git push`/PR/release não são meus.
