# Task 001 — Setup de pastas + Migrations

**Depende de:** nada
**Bloqueia:** todas as outras

## Objetivo

Criar a árvore de diretórios do sinal e as duas migrations do schema:

- `verificacoes_otp` — uma linha por OTP gerado
- `verificacoes_otp_eventos` — append-only, auditoria

## Deliverables

```
componentes/Missoes/Mensageria/sinais/Otp/
├── App.php                 (placeholder — task 011 implementa)
├── Migrations/
│   └── 001_initial_schema.sql
├── Sondas/                 (vazio)
├── Laboratorios/           (vazio)
├── Validators/             (vazio)
├── Enums/                  (vazio)
├── Satelites/              (vazio)
├── Canais/                 (vazio)
├── Eventos/                (vazio)
├── Configuracao/           (vazio)
├── html/                   (vazio)
└── Testes/
    ├── Enums/
    ├── Laboratorios/
    ├── Canais/
    └── Eventos/
```

## Schema (a colocar em `Migrations/001_initial_schema.sql`)

Seguir a especificação do PRD §3.1 — colunas exatas, índices em:
- `verificacoes_otp (contexto, referencia_externa)`
- `verificacoes_otp (status)`
- `verificacoes_otp (expira_em)` (para coletar expirados em job futuro)
- `verificacoes_otp_eventos (verificacao_otp_id)`
- `verificacoes_otp_eventos (tipo_evento)`

Incluir block padrão Galaxia (`block_filial_id`, `usuario_cadastro`, `data_atualizacao`, `block`, etc.) em ambas.

## Critério de aceite

- Diretórios criados.
- Arquivo SQL executa sem erro em PostgreSQL limpo.
- Lint OK em qualquer placeholder PHP criado.
