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>
50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
# PROMPT 08 — Upload e validação de planilhas fonte
|
||
|
||
Use o MASTER CONTEXT.
|
||
|
||
## Objetivo
|
||
|
||
Implementar carregamento temporário e validação estrutural das fontes sem persistência permanente.
|
||
|
||
## Requisitos
|
||
|
||
- Até 10 fontes por operação.
|
||
- XLSX/CSV apenas.
|
||
- Até 10 MB por arquivo.
|
||
- Até 50.000 linhas úteis por arquivo.
|
||
- Arquivo corrompido/inválido deve falhar individualmente sem destruir as demais fontes válidas.
|
||
- XLSX multiaba: listar abas e exigir seleção de exatamente uma antes do mapeamento.
|
||
- Permitir definir linha de cabeçalho quando o sistema não puder assumir a primeira linha.
|
||
- Detectar cabeçalhos vazios/duplicados/problemáticos e apresentar causa clara.
|
||
- Inferir tipos estruturais suficientes para alertar inconsistências relevantes; não transformar dados.
|
||
- Retornar metadados para UI: abas, headers, row count, size, amostra segura e warnings.
|
||
- Temporários devem receber `expires_at` e storage privado conforme política existente. Se TTL não estiver decidido, não invente número final; use configuração central/documentada.
|
||
|
||
## Parsing
|
||
|
||
Antes de instalar biblioteca XLSX, verifique se o repo já possui uma. Se não houver decisão aprovada, proponha 2–3 alternativas com licença/manutenção/segurança e pare antes de consolidar dependência de produção.
|
||
|
||
## UX
|
||
|
||
- lista de fontes com status individual;
|
||
- progress/validation state;
|
||
- erro recuperável por arquivo;
|
||
- opção de remover/recarregar;
|
||
- critérios acessíveis antes do upload.
|
||
|
||
## Segurança
|
||
|
||
- MIME spoofing;
|
||
- arquivo zip bomb / estruturas anômalas quando aplicável ao XLSX;
|
||
- path traversal;
|
||
- limite de memória;
|
||
- não logar conteúdo bruto.
|
||
|
||
## Testes
|
||
|
||
Arquivos válidos, 11º arquivo, >10MB, >50k, corrompido, CSV inválido, XLSX multiaba, header row alternativo, colunas sem título, tipos inconsistentes.
|
||
|
||
## Entrega
|
||
|
||
Documente códigos de erro estáveis para a UI e estratégia de temporários.
|