---
id: verify-subtask
agent: dev
title: Verificar uma subtask pela verificação configurada
inputs: [subtask-id, implementation.yaml]
outputs: [veredito da verificação: pass/fail, evidência]
elicit: false
modes: [yolo, interactive]
---

# Verificar uma subtask pela verificação configurada

**Objetivo:** provar objetivamente que uma subtask implementada atende ao seu critério, rodando o
método de verificação que o plano definiu — e emitir um veredito com evidência.

**Pré-condições:**
- A subtask está `done` (foi implementada via `execute-subtask`). Se ainda está aberta, **pare**:
  não há o que verificar.
- A subtask tem um bloco `verify` no `implementation.yaml` com um dos tipos: `command`, `api`,
  `browser` ou `e2e`. Sem método de verificação definido, **pare** e devolvo ao @architect.

## Passos

1. **Leio o bloco `verify`** da subtask e identifico o tipo de verificação configurado.
2. **Executo a verificação conforme o tipo:**
   - `command` → rodo o comando declarado (ex.: teste, lint, build) e checo exit code 0 + saída
     esperada.
   - `api` → faço a chamada ao endpoint declarado e confiro status/payload contra o esperado.
   - `browser` → navego à URL declarada e checo o estado/elemento esperado (consumidor de browser,
     não administrador de MCP).
   - `e2e` → rodo o fluxo end-to-end declarado e confiro o resultado final.
3. **Comparo o resultado com o esperado** definido no `verify`. Igual → `pass`. Diferente → `fail`.
4. **Registro a evidência** (saída do comando, status da resposta, screenshot/estado) junto ao
   veredito — quem vem depois confia nesse rastro.
5. **Emito o veredito:**
   - `pass` → marco a subtask como verificada e libero a próxima na cadeia.
   - `fail` → devolvo a subtask ao loop de implementação (`execute-subtask`) com o diff esperado×obtido.

## Critério de pronto (DoD)

- [ ] A verificação do tipo configurado foi executada de fato (não presumida)
- [ ] Resultado comparado contra o esperado, com evidência registrada
- [ ] Veredito `pass`/`fail` emitido e a subtask roteada conforme o veredito

## Falha / recuperação

- **A verificação falha (`fail`)** → devolvo ao `execute-subtask` com o delta esperado×obtido; não
  marco verificada uma subtask que não passou.
- **O método de verificação está quebrado/indisponível** (comando inexistente, endpoint fora do ar)
  → HALT e reporto; o `verify` precisa ser corrigido no plano, não ignorado.
- **A subtask passa mas quebra regressão em outra área** → reporto a regressão; não dou por verde
  algo que verde-localmente mas vermelho-no-conjunto.
