# ClientFlow cleanup aplicado Alterações principais: - `.env.example` alinhado com `OPENROUTER_MODEL=qwen/qwen3-30b-a3b`. - `DATABASE_URL` passou a ser obrigatório e SQLite é rejeitado explicitamente. - Schema core corrigido com criação de `task_preparations`. - `init_db()` deixa de esconder falhas de schema. - Triagem ficou LLM-only, com validação por catálogo fechado. - Action catalog reduzido aos action codes atuais. - Action codes legados removidos do fluxo principal, reclassificação, autocomplete e oportunidade. - Webhook Chatwoot ganhou idempotência real: eventos já processados são ignorados sem duplicar análise/tarefa/nota. - Preparação operacional deixou de chamar scripts por caminho absoluto e passou a usar `app.preparation_service`. - `task_detail` atualizado com foco em “Próxima ação”, “Dados em falta”, “Dados confirmados”, “Mensagem sugerida” e detalhes técnicos recolhidos. - Ficheiros `.broken_*` e caches removidos; `.gitignore` adicionado. Limitação consciente: - `admin_dashboard.py` ainda não foi totalmente partido em rotas/templates. Foi atualizado de forma incremental para reduzir risco. O próximo passo seguro é extrair `layout/nav`, CSS e task detail para templates. ## Iteração UI — tarefas e oportunidades - `/tasks` redesenhada para cartões operacionais com próxima ação, prioridade, SLA e tabela compacta recolhida. - `/opportunities` redesenhada para lista comercial limpa com KPIs, fase, próxima ação e prioridade. - `/opportunities/{id}` redesenhada com foco em próxima ação, resumo essencial, pipeline, produtos, tarefas e histórico. - Rotas antigas `/tasks-bs/{id}`, `/tasks-old/{id}`, `/tasks-v3` e `/tasks/table` removidas do pacote atualizado. - Autenticação não foi adicionada porque o acesso já é protegido pelo Nginx.