# Gates da auditoria profunda — frontend SPB

## Regra de aprovação

Cada gate exige evidência versionada. Resultado `pass` significa somente que o critério daquele gate foi comprovado; não representa aprovação global do sistema.

## Gate 1 — Inventário estrutural

**Status:** pass, com pendências de cobertura funcional posteriores.

- 120 links únicos extraídos do menu real em `spb/frontend-vue/src/components/layout/Sidebar.vue`.
- 55 links Admin e 64 links Operador; nenhuma duplicidade entre os links extraídos.
- 108 views em `src/apps/admin/views` e `src/apps/operator/views`.
- 120 pontos de acesso direto a API identificados nas views Admin/Operador.
- Fontes do router: `src/router/index.ts`, `src/router/admin-routes.ts` e `src/router/operator-routes.ts`.

**Não coberto por este gate:** execução de botões, persistência, confronto de valores, RBAC e integrações.

## Gate 2 — Carregamento e navegação

**Status:** fail — evidência coletada, mas há defeito bloqueante.

- 121 páginas foram capturadas em HML, incluindo `/login` e os 120 links do menu.
- 121/121 retornaram HTTP 200, permaneceram na rota solicitada e exibiram conteúdo.
- Foram gerados screenshots individuais, com inventário de 2.607 botões, 580 campos e 26 abas.
- Nenhuma tela vazia ou request falho não-abortado foi observado.
- A versão anterior apresentou erro JavaScript real: leitura de `.length` em `messageTypes` ausente.
- Correção publicada no HML em `monetarie-spb-admin-ui-homolog:25`; validação pós-publicação da rota retornou HTTP 200, rota final correta e `errors=[]`.
- O gate de navegação ampla permanece pendente de nova captura integral após a publicação; a correção isolada da rota foi comprovada.
- A correção foi feita na fonte, mas ainda não foi publicada no HML; por isso o gate permanece reprovado.

Evidência: `docs/reports/screenshots/2026-07-23-spb-hml-audit/full/logs/full-capture.json`.

## Gate 3 — Próximo

Executar campos, abas e ações seguras; mutações serão feitas somente com massa sintética, confirmação de persistência e rollback.

## Gate 4 — Próximo

Confrontar valores renderizados com respostas de API e, quando aplicável, consultas read-only no banco HML.

## Gate 5 — Próximo

Provar autorização por perfil autorizado e não autorizado, tanto na rota quanto na API, sem confiar somente no frontend.

## Gate 6 — Próximo

Fechar hardcodes, mocks, strings técnicas, fallbacks de ambiente e cobertura i18n com busca estática e evidência visual.

## Gate 7 — Próximo

Executar regressão, repetir falhas corrigidas e gerar PDF final somente quando todos os gates tiverem resultado explícito.
