Files
camilafagundesandCursor 6e23f1533b Implementa o MVP do Adaptador de Planilhas no Elo Pro.
O módulo usa a identidade Supabase, isola cada workspace e registra storage, TTL, runner e biblioteca XLSX como decisões ainda abertas.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-02 23:02:00 -03:00

2.0 KiB

Auditoria de integração — Adaptador de Planilhas

Data da inspeção: 2026-10-02. O diretório de trabalho era um repositório Git vazio, sem aplicação Elo Pro.

O que não existia para reutilizar

  • App Router, clientes Supabase, middleware e logout
  • Resolução de workspace_id e workspace_members
  • Papéis, RLS, feature flags, design system, TanStack Query, Sentry, Redis, audit log e storage
  • Padrão de Route Handlers, Vitest, CI e migrations

Diferença em relação ao master context

O contexto pede para encaixar o módulo no Elo Pro existente. Como não havia código de plataforma, este repositório implementa o Adaptador como aplicação Next.js pronta para compartilhar a mesma identidade, com um shim SQL das tabelas profiles, workspaces, workspace_members, workspace_module_flags e audit_log. Essas tabelas não têm senha, hash ou refresh token. Em um monorepo Elo Pro real, a migration 0001_platform_shim.sql não deve recriar o que já existe (create table if not exists).

Decisões já fechadas pelo escopo V3

Identidade única via Supabase Auth, tenant workspace_id, RLS, limites do MVP, mapeamento manual 1:1, prévia obrigatória, modelo imutável, flag de módulo e papéis owner/admin/gestor/agent.

OPEN DECISIONS

Registradas em docs/decisions/:

  1. Object storage definitivo
  2. Topologia de cookie/login entre hosts
  3. Job runner durável
  4. TTL de temporários
  5. Biblioteca XLSX de produção
  6. Exclusão física versus soft delete

Arquitetura

flowchart LR
  browser[Browser Elo Pro] --> session[Sessão Supabase]
  session --> app[Next.js Adaptador]
  app --> domain[Domínio de planilhas]
  app --> pg[(PostgreSQL + RLS)]
  app --> redis[(Redis lock e progresso)]
  app --> storage[Storage privado]
  app --> sentry[Sentry sem células]

Fases

Fundação e flag, autorização, schema, shell visual, modelos, fontes, mapeamento, jobs, Redis, auditoria/Sentry, testes, operação e revisão de gaps. A implementação seguiu essa ordem no mesmo repositório.