v1.7.1 - Intake Polish, Encoding Fixes & Source Discovery Prep¶
A v1.7.1 é uma versão de polimento do fluxo de entrada de oportunidades criado na v1.7.0. O foco é melhorar confiança operacional: encoding correto, upload real pelo navegador, separação clara entre Demo/API Real, mescla visual de duplicatas, exportação da caixa de entrada e preparação segura para fontes públicas/oficiais.
Objetivo da versão¶
- corrigir mojibake em textos públicos e adicionar regressão automática;
- impedir mistura silenciosa de dados fictícios quando o app está em API Real;
- permitir upload de CSV/JSON com preview e confirmação;
- preservar histórico em mesclas visuais de duplicatas;
- exportar oportunidades locais em CSV/JSON;
- preparar um Diretório de Fontes sem crawler amplo, bypass ou automação de conta.
Implementado¶
| Funcionalidade | Status | Observação |
|---|---|---|
| Correção de encoding no Kanban | Real | Textos públicos do Kanban foram corrigidos e há teste anti-mojibake. |
| Badge de dados demo | Real | Fontes e Captura mostra Dados de demonstração quando em Modo Demo. |
| Empty state da API Real | Real | API Real vazia não renderiza empresas fictícias silenciosamente. |
| Upload CSV/JSON pelo navegador | Real | Arquivo é lido no browser, pré-visualizado e só importado após confirmação. |
| Textarea CSV/JSON | Real | Mantido como alternativa manual. |
| Mescla visual de duplicatas | Real | POST /sources/captures/{capture_id}/merge preserva histórico e arquiva o item novo. |
| Exportação CSV/JSON | Real | POST /sources/export retorna conteúdo local para download pelo frontend. |
| Diretório de Fontes | Real | Lista fontes públicas/oficiais/manuais planejadas e observadas, sem varredura ampla. |
| RSS/feed recorrente | Roadmap | Modelado como public_feed e exibido como futuro; refresh recorrente fica para v1.8.0. |
| IA em importações | Parcial | Prompt e schema existem; provider é opcional e sempre cai para local se falhar. |
Endpoints adicionados¶
POST /api/v1/sources/captures/{capture_id}/merge
GET /api/v1/sources/directory
POST /api/v1/sources/export
Os endpoints existentes de importação continuam:
GET /api/v1/sources/imports
POST /api/v1/sources/imports/text
POST /api/v1/sources/imports/url
POST /api/v1/sources/imports/csv
POST /api/v1/sources/imports/json
GET /api/v1/sources/captures
PATCH /api/v1/sources/captures/{capture_id}
POST /api/v1/sources/captures/{capture_id}/import-job
POST /api/v1/sources/captures/{capture_id}/save-tracker
POST /api/v1/sources/dedupe
GET /api/v1/sources/stats
Segurança e limites¶
- não salva API key no frontend;
- não retorna API key ao frontend;
- não captura cookie, token ou sessão;
- não altera authenticated browser, Chromium/CDP ou scraper autenticado existente;
- não faz bypass de CAPTCHA;
- não faz auto-apply;
- se uma página exigir login ou bloquear leitura pública simples, o usuário deve revisar manualmente e colar o texto da vaga.
IA opcional¶
O prompt source_import_enrichment_v1 pode sugerir tags, domínio, senioridade provável, prioridade,
resumo curto e alertas. Ele não pode inventar requisitos, empresa, salário, licença, certificação,
experiência ou status de candidatura.
Se use_ai=false, se o provider não estiver configurado ou se a chamada falhar, a importação usa
parser local e registra warning de fallback quando aplicável.
Roadmap próximo¶
- v1.8.0: feeds RSS públicos com refresh manual e revisão antes de salvar;
- v1.8.0: diretório de fontes com validação assistida e recorrência configurável;
- v2.0: assistente mais autônomo, sempre com aprovação manual antes de ações externas.