# PROMPT 11 — Redis, progresso, lock e resiliência Use o MASTER CONTEXT e a implementação Redis existente do Elo Pro. ## Objetivo Adicionar coordenação efêmera sem transformar Redis em fonte de verdade. ## Implementar 1. Namespace claro para chaves do Adaptador. 2. Lock por operação/usuário necessário para impedir processamento concorrente indevido. 3. TTL do lock com renovação/cleanup seguro para evitar deadlock. 4. Progresso efêmero em Redis quando trouxer benefício, mantendo status durável no PostgreSQL. 5. Idempotency key para disparo de processamento, se o padrão do repo suportar. 6. Query/polling/subscription da UI conforme arquitetura existente; TanStack Query deve invalidar/refetch adequadamente. 7. Fallback claro se Redis estiver indisponível: falha controlada ou degradação segura, nunca execução duplicada silenciosa. ## UX de progresso - percentual somente se for real/estimável; não invente precisão falsa; - estados textuais como “Validando”, “Processando”, “Gerando arquivo”; - sucesso e erro persistentes o suficiente para o usuário agir; - botão de processar desabilitado durante job ativo. ## Observabilidade Tags de job ID e workspace ID técnico, sem dados de planilha. ## Testes - lock adquirido; - lock concorrente; - expiração; - erro de Redis; - retry; - progresso; - refresh de página durante job; - job concluído enquanto UI estava fechada.