# 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.
