---
id: validate-squad
agent: squad-creator
title: Validar a integridade de um squad
inputs: ['id do squad (squads/{id}/)']
outputs: [veredito PASS/FAIL com a lista de issues encontrados]
elicit: false
modes: [interactive, yolo]
---

# Validar a integridade de um squad

**Objetivo:** emitir um veredito verificável (PASS/FAIL) sobre a integridade de um squad
materializado — manifest, DNA dos membros, tasks e delegações — com cada issue nomeado e citável
(arquivo:campo).

**Pré-condições:**
- `squads/{id}/` existe no disco. Diretório ausente → FAIL imediato com a causa ("squad não
  materializado"), não silêncio.

## Passos

1. **Leia o manifest** (`squads/{id}/squad.yaml`) e verifique os campos obrigatórios: `id` (casa
   com o nome do diretório), `name`, `mission`, `version`, `chief`, `origin`, `traceRef`, `guards`,
   `authorities`. `traceRef` vazio ou não rastreável = issue (Art. IV).
2. **Valide o DNA de cada membro** (`squads/{id}/agents/*.md`) contra o contrato `Agent`
   (frontmatter parseia; archetype/model dentro dos enums). Verifique o formato canônico do corpo
   (Identidade/Princípios/Método/Comandos/Guardas/Voz presentes).
3. **Cheque a composição:** o `chief` do manifest existe em `agents/` e tem archetype
   `Orchestrator`; o time tem entre chief+2 e chief+7 membros; ids únicos; nenhum membro duplica
   um papel do time core (mesma lente/whenToUse de um agente de `agents/` do core = issue REUSE).
4. **Cheque declarado = real na camada procedural:** todo slug em `owns:` de cada membro tem
   `squads/{id}/tasks/{slug}.md` OU é referência explícita a uma task core existente em `tasks/`.
   Task copiada do core para dentro do squad (mesmo id de uma task core) = issue.
5. **Cheque as delegações:** todo `delegatesTo.agent` resolve para um membro do squad OU para um
   agente do core. Verifique que nenhuma `authority` do manifest colide com operação exclusiva do
   core (git push/PR/release/MCP → @devops).
6. **Cheque o knowledge:** toda ref em `knowledge:` dos membros existe em
   `squads/{id}/knowledge/` ou em `knowledge/` do core.
7. **Emita o veredito:** PASS (zero issues) ou FAIL com a lista completa — cada issue com
   arquivo:campo e o motivo. Veredito sem evidência citável não é veredito (Lei 2).

## Critério de pronto (DoD)

- [ ] Manifest, DNA, composição, tasks, delegações e knowledge verificados — nenhum check pulado
- [ ] Cada issue reportado com arquivo:campo e motivo (evidência citável)
- [ ] Veredito único e explícito: PASS ou FAIL — sem "quase passou"

## Falha / recuperação

- **O squad não existe no disco** → FAIL com causa "não materializado"; sugira `create-squad`.
- **Um arquivo não parseia** (YAML/frontmatter quebrado) → o arquivo é issue, a validação CONTINUA
  nos demais — o relatório é completo, não interrompido no primeiro erro.
- **FAIL** → o conserto é do dono do blueprint: `extend-squad` corrige aditivamente; issue
  estrutural (chief errado, duplicação do core) volta para `create-squad` re-emitir o blueprint.
