# 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 1. Integrar e validar o login real no navegador. 2. Validar Postgres, migrations e RLS no banco Elo Pro. 3. Provisionar e testar o bucket privado. 4. Subir Redis e worker e confirmar processamento assíncrono real. 5. Provocar um erro controlado e confirmar sanitização no Sentry. 6. Executar o smoke end-to-end completo. 7. Executar o ensaio de rollback. 8. Integrar os tokens oficiais do Design System quando forem disponibilizados. 9. Somente então ativar a feature flag do workspace piloto. Verificado nesta máquina em 2 de outubro de 2026: - `npx eslint .` passou - `npx tsc --noEmit` passou - `npx vitest run` passou depois da correção do teste de auditoria (34 testes, 1 smoke real ignorado de propósito) - `npx next build` passou 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 `ready` em `/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