Inicio do Projeto Piloto
ci / verify (push) Has been cancelled

This commit is contained in:
camilafagundes committed 2026-10-02 23:59:36 -03:00
1 parent 6e23f1533b
commit 419325db12
52 files changed
+1329 -110

No files matched your search

@@ -0,0 +1,86 @@
# 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