Skip to content

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:

bash
# Wiki (fonte de verdade):
gh api repos/FlorencaDigital/monetizando-governanca/wiki/pages/Status \
  --jq '.content' 2>/dev/null | base64 -d

Gate 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 fechada

Demandas 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

→ Ver template PAV


Gate 2.5 — Mapa de Recursos Compartilhados

Antes de propor qualquer alteração, verifique se toca algum recurso da tabela:

RecursoConsumidoresRisco
admins.totp_secretBackOffice, WorkSpaceInvalida TOTP de todos os admins
device (tabela)IB Web, MobileQuebra verificação de dispositivo (SMS)
user (tabela)IB, Mobile, BackOfficeQuebra login e perfil
POST /api/auth/*IB Web, MobileQuebra login em todos os frontends
Keycloak realm monetizandoIB Web, MobileQuebra autenticação OAuth
ECS Task DefinitionTodos os backendsPode derrubar todos os serviços

Gate 2.6 — Protocolo Anti-Premissa

Antes de escrever código, responda com evidências reais:

  1. O que está acontecendo de fato? — log, código, output de comando
  2. Quais componentes são afetados? — consultar Gate 2.5
  3. 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

bash
git diff --stat

Se 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 main ou staging
  • Nunca abra PR direto para main

Gate 7 — Premissas críticas

PremissaRegra
Legado IntocávelNunca altere bankeiro-ib ou bankeiro-backoffice
Banco ImutávelRead-only exceto device. Zero migrations
Zero CredenciaisTudo no AWS Secrets Manager
Deploy via CodeBuildNunca push manual de imagens Docker
API FirstRegras de negócio vivem exclusivamente na API

Monetizando Invest