5.1 KiB
Gate final do piloto
Status: Pilot Ready in Code / Environment Validation Pending
Não há novas alterações funcionais até a validação no ambiente real da Elo Pro. O Adaptador só entra no workspace do primeiro cliente depois que todos os itens externos deste gate passarem nesse ambiente.
| Frente | Estado |
|---|---|
| Código | Aprovado para piloto |
| Infraestrutura Elo Pro | Ainda não validada |
| Segurança multi-tenant | Aprovada na suíte disponível |
| Smoke real | Pendente |
| Rollback real | Pendente |
| Feature flag do cliente piloto | Desligada |
Pendências que não bloqueiam o código atual e bloqueiam a ativação: integração com o repositório real da Elo Pro e validação visual com os tokens oficiais. #0B3D91 permanece provisório e não vira token oficial.
Próximo pacote — somente validação no ambiente Elo Pro
- Integrar e validar o login real no navegador.
- Validar Postgres, migrations e RLS no banco Elo Pro.
- Provisionar e testar o bucket privado.
- Subir Redis e worker e confirmar processamento assíncrono real.
- Provocar um erro controlado e confirmar sanitização no Sentry.
- Executar o smoke end-to-end completo.
- Executar o ensaio de rollback.
- Integrar os tokens oficiais do Design System quando forem disponibilizados.
- Somente então ativar a feature flag do workspace piloto.
Verificado nesta máquina em 2 de outubro de 2026:
npx eslint .passounpx tsc --noEmitpassounpx vitest runpassou depois da correção do teste de auditoria (34 testes, 1 smoke real ignorado de propósito)npx next buildpassou
O smoke com Supabase, Redis e bucket reais não foi executado. tests/smoke/real-environment.test.ts permanece ignorado sem SMOKE_REAL=1.
Os prompts 21 e 22 não foram executados: não há repositório da Elo Pro nem tokens oficiais do Design System neste workspace. O azul #0B3D91 continua provisório.
Avaliação
| Área | Resultado | Teste que ainda falta |
|---|---|---|
| Elo Pro Auth | PASS WITH EXTERNAL DEPENDENCY | Login real no navegador, sessão reconhecida, logout e sessão expirada no host Elo Pro |
| Workspace isolation | PASS | Suíte de aplicação executada |
| RLS | PASS WITH EXTERNAL DEPENDENCY | Repetir o isolamento no Postgres do piloto, não só no PGlite |
| Storage | PASS WITH EXTERNAL DEPENDENCY | Upload e download no bucket privado real |
| Redis | PASS WITH EXTERNAL DEPENDENCY | Lock e fila contra um Redis real |
| Worker | PASS WITH EXTERNAL DEPENDENCY | Subir npm run worker no ambiente do piloto e concluir um job enfileirado |
| TTL | PASS | Configuração inválida, arquivo vencido e limpeza repetida cobertos na suíte |
| XLSX | PASS | ExcelJS mantido. Fixtures e imutabilidade do modelo executadas |
| Observability | PASS WITH EXTERNAL DEPENDENCY | A sanitização foi testada com sentinela. Falta um evento real no projeto Sentry |
| Feature flag | PASS | Workspace desligado, flag alterada depois do job e contexto forjado cobertos. A ativação do workspace piloto é o último passo operacional |
| Audit trail | PASS | Eventos de upload, mapeamento, processo e download. Update pelo app_user é recusado |
| Upload security | PASS | Macro, CSV inválido, célula enorme, zip e tamanho cobertos |
| Concurrency | PASS | Duas chamadas do mesmo usuário terminam em um resultado |
| Production env | PASS WITH EXTERNAL DEPENDENCY | O validador foi testado. Falta subir web e worker com as envs reais do piloto |
| Smoke tests | PASS WITH EXTERNAL DEPENDENCY | A jornada local passou. A jornada no ambiente real não foi executada |
| Rollback | PASS WITH EXTERNAL DEPENDENCY | O procedimento está no runbook. Um ensaio de rollback não foi feito |
Nenhum item ficou FAIL no código desta entrega. O piloto não está liberado para o cliente enquanto os itens com dependência externa não forem executados no ambiente real.
Congelamento
| Ocorrência | Classificação |
|---|---|
ADAPTER_DEV_AUTH |
Manter apenas em desenvolvimento |
| Jobs inline | Manter apenas em desenvolvimento |
Shim profiles / workspaces / workspace_members |
Manter até o schema real. Remover a dependência só na integração da Elo Pro |
console.log dos scripts de migrate, seed, flag e cleanup |
Aceitável no piloto. Não imprimem célula |
console.error com o nome do erro |
Aceitável no piloto |
Azul #0B3D91 |
Pós-piloto, quando houver token oficial |
| Bucket público, senha própria, identidade paralela | Não há. Nada a remover |
| TODO / FIXME no código | Não há |
Pilot Activation Checklist
- Confirmar que o schema Elo Pro já existente não receberá o shim de identidade
- Aplicar as migrations do Adaptador no banco conferido
- Criar o bucket privado
- Configurar Redis, worker, TTL, Sentry e o login central
- Subir web e worker e receber
readyem/api/health/ready - Executar o smoke real: modelo, fonte, aba, cabeçalho, mapeamento, prévia, processamento, XLSX, CSV e PDF
- Confirmar auditoria sem conteúdo de célula e rollback ensaiado com a flag desligada
- Enable Spreadsheet Adapter for pilot workspace