Gates obrigatórios
Os 7 gates de qualidade do projeto. Toda execução passa por eles — não são sugestões.
Obrigatório
Nenhuma alteração de código ou infra sem PAV aprovado. Nenhuma exceção.
Gate 1 — Início de sessão
Consulte o status atual antes de qualquer trabalho:
# Wiki (fonte de verdade):
gh api repos/FlorencaDigital/monetizando-governanca/wiki/pages/Status \
--jq '.content' 2>/dev/null | base64 -dGate 1.5 — Fluxo único de entrada
Toda demanda começa como GitHub Issue.
GitHub Issue → adicionada ao Backlog → PAV aprovado → feature branch + PR → merge → Issue fechadaDemandas por conversa devem virar Issue antes de qualquer execução.
Exceção única: PAVs priority: critical podem abrir a Issue retroativamente em até 1h.
Gate 2 — PAV obrigatório
Nenhum código sem PAV aprovado com:
- GitHub Issue referenciada no cabeçalho
- Cross-Repository Impact Analysis preenchida para todos os repos
- Scope Fence explícito (o que NÃO será feito)
- Aguardar a palavra APROVADO antes de executar
Gate 2.5 — Mapa de Recursos Compartilhados
Antes de propor qualquer alteração, verifique se toca algum recurso da tabela:
| Recurso | Consumidores | Risco |
|---|---|---|
admins.totp_secret | BackOffice, WorkSpace | Invalida TOTP de todos os admins |
device (tabela) | IB Web, Mobile | Quebra verificação de dispositivo (SMS) |
user (tabela) | IB, Mobile, BackOffice | Quebra login e perfil |
POST /api/auth/* | IB Web, Mobile | Quebra login em todos os frontends |
Keycloak realm monetizando | IB Web, Mobile | Quebra autenticação OAuth |
| ECS Task Definition | Todos os backends | Pode derrubar todos os serviços |
Gate 2.6 — Protocolo Anti-Premissa
Antes de escrever código, responda com evidências reais:
- O que está acontecendo de fato? — log, código, output de comando
- Quais componentes são afetados? — consultar Gate 2.5
- Qual é o menor conjunto de mudanças? — solução mínima
Respostas com "provavelmente" ou "acredito que" invalidam o PAV.
Gate 3 — Fidelidade durante execução
A cada 5 interações em uma execução longa, releia o PAV ativo.
Se encontrar obstáculo não previsto no Scope Fence: PARE e proponha um PAV Adendo.
Gate 4 — Qualidade antes do commit
- Execute os testes da alteração
- Zero Mock: testes usam integrações reais, não
jest.mock()de módulos internos - Se não houver testes para a mudança: crie antes de commitar
- Compilou ≠ Funciona — TypeScript sem erros não é evidência de funcionamento
Gate 5 — Auditoria antes do push
git diff --statSe houver arquivos fora do Scope Fence: reverta ou peça aprovação.
Gate 6 — Fluxo de branches
feature/* → PR para staging → PR para main- Nunca push direto em
mainoustaging - Nunca abra PR direto para
main
Gate 7 — Premissas críticas
| Premissa | Regra |
|---|---|
| Legado Intocável | Nunca altere bankeiro-ib ou bankeiro-backoffice |
| Banco Imutável | Read-only exceto device. Zero migrations |
| Zero Credenciais | Tudo no AWS Secrets Manager |
| Deploy via CodeBuild | Nunca push manual de imagens Docker |
| API First | Regras de negócio vivem exclusivamente na API |
