PROJETO · HISTÓRICO DE VERSÕES
Changelog
Todas as mudanças importantes do projeto, em ordem reversa cronológica. Formato segue Keep a Changelog; versões em SemVer.
Histórico de versões
Registro cronológico de tudo que mudou no painel — dados, metodologia e interface —, da versão mais recente para a mais antiga.
Página 7 de 12 · 136 versões no total.
-
v4.11.6 2026-07-30 Nova pré-candidata: Clariana Barão (DC) Added
- Clariana Barão (Democracia Cristã) adicionada como pré-candidata. Advogada, presidente do diretório estadual do DC em Mato Grosso, anunciada em 25/07/2026 após a desistência de Joaquim Barbosa (
droppeddesde 17/07). É a terceira aposta do partido na corrida (depois de Aldo Rebelo e do próprio Barbosa) e a segunda mulher na disputa, ao lado de Samara Martins (UP). Convenção nacional marcada para 02/08/2026, quando a candidatura deve ser oficializada. Fontes: Poder360 e CartaCapital, 25-26/07/2026. - 📝 Composição atual: 14 monitorados ativos — 5 candidatos e 9 pré-candidatos; 6 descontinuados.
Changed
- Aldo Rebelo marcado como
dropped. Preterido pelo Democracia Cristã em maio (entrou Joaquim Barbosa, depois Clariana Barão) e, em 30/07/2026, passou a coordenador de campanha de Ronaldo Caiado (PSD) — papel incompatível com candidatura própria à Presidência. Fonte: O Tempo, 30/07/2026. - 📝 Composição atual: 14 monitorados ativos — 5 candidatos e 8 pré-candidatos; 7 descontinuados.
- Clariana Barão (Democracia Cristã) adicionada como pré-candidata. Advogada, presidente do diretório estadual do DC em Mato Grosso, anunciada em 25/07/2026 após a desistência de Joaquim Barbosa (
-
v4.11.5 2026-07-27 Romeu Zema oficializado candidato Changed
- Romeu Zema (Novo) passa de
pre-candidateparacandidate— candidatura à Presidência oficializada em convenção nacional do Novo em 27/07/2026, em Brasília. É o quinto candidato oficializado da corrida. Vice ainda indefinido — o partido adiou a definição, sem anunciar alianças com outros partidos. Fontes: CBN, InfoMoney e Valor Econômico, 27/07/2026. - Bio do card atualizada para registrar a oficialização.
- 📝 Composição atual: 13 monitorados ativos — 5 candidatos (Renan Santos, Flávio Bolsonaro, Ronaldo Caiado, Samara Martins, Romeu Zema) e 8 pré-candidatos; 6 descontinuados.
- Romeu Zema (Novo) passa de
-
v4.11.4 2026-07-26 Ronaldo Caiado e Samara Martins oficializados candidatos Changed
- Ronaldo Caiado (PSD) passa de
pre-candidateparacandidate— candidatura à Presidência oficializada em convenção nacional do PSD em 26/07/2026, em São Paulo, com Gilberto Kassab (presidente nacional do partido) como vice — chapa "puro-sangue", a primeira candidatura própria à Presidência na história do PSD. É o terceiro candidato oficializado da corrida, depois de Renan Santos (20/07) e Flávio Bolsonaro (25/07). Fontes: Terra, Correio Braziliense e Brasil 247, 26/07/2026. - Samara Martins (UP) passa de
pre-candidateparacandidate— candidatura à Presidência oficializada em convenção do Unidade Popular em 26/07/2026, na Universidade Zumbi dos Palmares (São Paulo), em chapa 100% feminina: Raquel Brício, guarda-portuária e sindicalista, é a vice. Dentista do SUS, foi vice na chapa de Léo Péricles em 2022; é a quarta candidatura oficializada da corrida. - Bios dos dois candidatos atualizadas nos cards com a oficialização e o nome do vice.
- 📝 Composição atual: 13 monitorados ativos — 4 candidatos (Renan Santos, Flávio Bolsonaro, Ronaldo Caiado, Samara Martins) e 9 pré-candidatos; 6 descontinuados.
- Ronaldo Caiado (PSD) passa de
-
v4.11.3 2026-07-25 Flávio Bolsonaro oficializado candidato Changed
- Flávio Bolsonaro (PL) passa de
pre-candidateparacandidate— candidatura à Presidência oficializada em convenção nacional do PL em 25/07/2026, em São Paulo (Arena Pacaembu). É o segundo candidato oficializado da corrida, depois de Renan Santos (Missão, 20/07). Senador pelo Rio de Janeiro desde 2018, filho mais velho de Jair Bolsonaro; foi definido como candidato do partido após a inelegibilidade e condenação do pai. Vice ainda indefinido — o PL adiou a escolha para o prazo legal de registro da chapa, para ampliar as negociações de aliança. Fontes: CNN Brasil, O Tempo e ND Mais, 25/07/2026. - Bio do card atualizada para registrar a oficialização e a chapa ainda incompleta.
- 📝 Composição atual: 13 monitorados ativos — 2 candidatos (Flávio Bolsonaro, Renan Santos) e 11 pré-candidatos; 6 descontinuados.
- Flávio Bolsonaro (PL) passa de
-
v4.11.2 2026-07-24 Zeitgeist: evidências voltam a acompanhar a cobertura Fixed
- "Evidências por cluster" estava congelada desde abril/maio. A seção mostra os três artigos de maior confiança em cada agenda, mas empates não tinham critério de desempate — e como a confiança assume poucos valores distintos, os artigos mais antigos ocupavam as três vagas permanentemente. Matéria nova com a mesma confiança nunca aparecia, por mais relevante que fosse. Agora, entre artigos igualmente confiáveis, os mais recentes vêm primeiro: a seção volta a refletir a cobertura das últimas semanas (Geopolítica, por exemplo, passa a exibir a repercussão do tarifaço em vez de notícias de abril). O critério anunciado na página — maior confiança — continua valendo; mudou apenas o desempate.
- Evidências de quem saiu da corrida não aparecem mais. A seção exibia trechos de matérias sobre nomes já descontinuados (caso de Eduardo Leite no cluster Clima, fora da disputa presidencial desde março). Agora só entram artigos ligados a quem segue na corrida — candidatos e pré-candidatos.
- Alinhado o recorte oficial (25/03/2026) nessa consulta, que era a única da página sem o filtro — assim como o filtro de descontinuados, que também só faltava aqui.
-
v4.11.1 2026-07-24 Painel muito mais rápido Fixed
- Páginas que demoravam segundos agora abrem instantaneamente. O Cenário Geral levava cerca de 6 segundos em toda visita (não só na primeira), e o Comparativo chegava a quase um minuto depois de cada coleta. Agora as páginas do painel respondem em frações de segundo — na prática, a navegação deixa de ter espera perceptível.
- Fim da lentidão logo após cada atualização de dados. O painel guarda os resultados prontos em memória para não repetir o mesmo trabalho a cada visita, e essa memória é naturalmente descartada quando entram dados novos (3× por dia). Quem visitasse primeiro pagava a conta. Agora o próprio processo de coleta já deixa as páginas preparadas ao terminar, então esse custo não recai mais sobre quem acessa.
- A Home não depende mais do blog para carregar. A lista de análises publicadas era buscada no site a cada visita, o que somava tempo e travava a página quando o blog estava lento. Passa a ser atualizada junto com os dados do painel.
Notes
- Medições na LXC (acesso público, via Cloudflare): Cenário Geral 6,3s → 0,38s; Comparativo até 58s → 0,48s; Pré-candidatos 2,3s → 0,30s; Espectro 2,4s → 0,39s; Home 1,1s → 0,39s.
- As melhorias são de infraestrutura: nenhum número, gráfico ou critério de análise mudou.
-
v4.11.0 2026-07-20 Renan Santos: primeiro candidato oficializado Changed
- Renan Santos (Missão) promovido de
pre-candidateparacandidate— oficializado em convenção partidária (formato online, antecipada por razões de segurança) em 20/07/2026, tornando-se o primeiro candidato à Presidência com candidatura homologada da corrida de 2026. Empresário e ativista, fundador do Movimento Brasil Livre (MBL) em 2014. Anunciou chapa "puro-sangue" (candidato e vice do mesmo partido); lançamento oficial da campanha marcado para 01/08/2026. Fontes: O Tempo, Correio Braziliense e Gazeta do Povo, 20/07/2026.status_changed_at= 20/07/2026. Registros históricos preservados; segue aparecendo em todos os grids (o filtro de dados éstatus != 'dropped').
Added
- Selo "Candidato" nas páginas de pré-candidatos — o grid
/pre-candidatospassa a exibir um badge verde "Candidato" nos cards de quem já teve a candidatura oficializada, e a página individual troca o rótulo do cabeçalho dePAINEL · PRÉ-CANDIDATOparaPAINEL · CANDIDATO. A Metodologia já distinguia os três status (Pré-candidato / Candidato / Descontinuado). Preparação para o período de convenções (agosto), quando mais nomes migram de pré-candidato para candidato.
- Renan Santos (Missão) promovido de
-
v4.10.1 2026-07-10 Aécio Neves dropped Changed
- Aécio Neves (PSDB) marcado como
status='dropped'no banco — desistiu da pré-candidatura à Presidência em 09/07/2026, citando isolamento e ausência de alianças ("Não vou fazer uma travessia solitária"). A pré-candidatura havia sido aprovada pela federação PSDB/Cidadania/Solidariedade em convenção de junho; o PSDB não lançará candidato próprio e tende à neutralidade entre Lula e Flávio Bolsonaro, mirando projeto de terceira via em 2030. Fontes: g1 e O Globo, 09/07/2026. Status alterado em 10/07/2026 (status_changed_atretroativo à data do anúncio). - Coletores (Brave/Google News/Tavily) passam a ignorar Aécio automaticamente a partir da coleta das 14h de 10/07 (registros históricos preservados no banco).
- README atualizado: Aécio movido para "Descontinuados"; lista de candidatos sincronizada com o estado real do banco (Ciro Gomes constava como ativo desde o drop de 09/05; Michelle Bolsonaro constava como descontinuada apesar da reativação de 13/05; Edmilson Costa e Joaquim Barbosa não constavam).
- 📝 Metodologia: 14 pré-candidatos ativos + 5 dropped (Aécio Neves, Ciro Gomes, Eduardo Leite, Leonardo Péricles, Tarcísio de Freitas).
- Aécio Neves (PSDB) marcado como
-
v4.10.0 2026-07-07 Alinhamento ao Design System (DS 1.6.0) Fixed
- Tipografia dos títulos restaurada — os valores em destaque (KPIs, nomes de card) referenciavam um token de fonte inexistente e caíam em Archivo Narrow em vez de Antonio. Agora os números grandes voltam à fonte editorial condensada correta.
- Números e datas em formato brasileiro — placares de sentimento e percentuais que apareciam com ponto decimal (
+0.35,12.3%) passam a usar vírgula (+0,35,12,3%); contagens grandes usam ponto de milhar de forma consistente. - Linha "Total" da timeline visível no tema escuro — era desenhada na mesma cor do fundo e sumia; agora usa um cinza neutro legível nos dois temas.
Changed
- Cores unificadas com a frota SapiensLabs — o espectro editorial e as cores de sentimento passam a vir dos tokens compartilhados do Design System (mesma paleta dos monitores da Câmara e do Senado), com variantes de contraste próprias para o tema claro. O azul de marca deixa de ser reaproveitado como cor de "direita".
- Gráficos na camada Plotly canônica — fonte Archivo Narrow, separadores numéricos brasileiros e paletas alinhadas ao DS; os gráficos passam a acompanhar a troca de tema claro/escuro.
Notes
- Página de Privacidade ajustada para descrever o comportamento real do tema (segue o sistema operacional e o horário; nada é gravado no navegador por conta do painel).
-
v4.9.0 2026-06-30 Consistência de contagem e endpoints de agregação Fixed
- Janela temporal unificada com
DATE()—published_até ISO comTe timezone (2026-06-07T14:00+00:00); comparar a borda superior por string (<= to) excluía o dia final inteiro porque'T'(0x54) >' '(0x20)./api/v1/articlese a busca de artigos relacionados passam a usarDATE(published_at), incluindo o dia final. Antes,/articlesretornava menos artigos que a série de sentimento para a mesma janela (ex.: Lula 01–07/06: 1378 vs 1478 — os 100 artigos do dia 07). - Série de sentimento respeita
from/to—/api/v1/candidates/{slug}/sentimentaceitava os parâmetros mas os ignorava (devolvia sempre a série desde 25/03). Agora filtra a janela comDATE(). - Tópicos do Comparativo filtram menção verificada — as agregações de tópicos em
/comparativo(grafo bipartite + colunas por candidato) contavam tópicos de artigos não-verificados, divergindo do resto do dashboard. Agora exigemarticle_candidates.verified = 1.
Added
GET /api/v1/candidates/{slug}/topics— top tópicos sobre um candidato na janela (from,to,limit), artigos únicos verificados.GET /api/v1/candidates/{slug}/sources— top veículos sobre um candidato na janela. Tornam verificáveis publicamente as afirmações dos resumos sobre tópicos e fontes por período.
Notes
- Métrica oficial de volume: artigo único (
COUNT(DISTINCT a.id)) comverified = 1, janela porDATE(published_at). Os produtores de resumo (semanal/mensal, no projetoblog-automation) foram alinhados a essa métrica — antes contavam pares (COUNT(*)) semverified, o que inflava os números publicados frente à API que citam como fonte.
- Janela temporal unificada com
-
v4.8.1 2026-05-22 Aécio Neves (Cidadania) Added
- 🗳️ Novo pré-candidato: Aécio Neves (Cidadania) — Ex-governador de Minas Gerais (2003-2010, PSDB), ex-senador, deputado federal pela quinta vez (eleito em 2022). Candidato à Presidência em 2014 pelo PSDB, perdeu o segundo turno para Dilma Rousseff. Migrou para o Cidadania, que aprovou sua pré-candidatura à Presidência em reunião da Executiva Nacional em 22/05/2026. Coleta dedicada começa na próxima rodada do pipeline. Patterns + queries (Brave, Tavily, Google News) adicionados em
src/candidate_utils.pyesrc/coletores/google_news.py.
- 🗳️ Novo pré-candidato: Aécio Neves (Cidadania) — Ex-governador de Minas Gerais (2003-2010, PSDB), ex-senador, deputado federal pela quinta vez (eleito em 2022). Candidato à Presidência em 2014 pelo PSDB, perdeu o segundo turno para Dilma Rousseff. Migrou para o Cidadania, que aprovou sua pré-candidatura à Presidência em reunião da Executiva Nacional em 22/05/2026. Coleta dedicada começa na próxima rodada do pipeline. Patterns + queries (Brave, Tavily, Google News) adicionados em
-
v4.8.0 2026-05-17 Fonte mais quente da semana + categoria Agregador Duas mudanças que se sustentam mutuamente. O card "KPI da Semana" na Home ganha uma quarta linha noticiosa — qual veículo publicou mais sobre a eleição na janela; e a taxonomia editorial ganha uma sexta categoria, Agregador, pra distinguir fontes não-redacionais das redações com linha editorial humana.
Added
- 🏷️ Card "Fonte mais quente" na Home — quarta estatística do bloco semanal, mostrando o veículo com maior volume na janela atual (segunda a domingo) e variação vs. semana anterior. Filtra explicitamente para fontes editorialmente classificadas (
editorial_lean_detail IN (extrema-esquerda, esquerda, centro, direita, extrema-direita)); agregadores e fontes não mapeadas ficam fora do ranking por desenho. Backend:_top_source_for_window()emdata.py, integrado ao retorno decenario_semanal_kpis(). - 🆕 Categoria editorial "Agregador" (
agregadordetail /aggregatorbroad) — nova dimensão paralela ao eixo esquerda↔direita, descrevendo a natureza da fonte (não-redacional, reescrita automatizada / IA, sem linha editorial humana atribuível). Critérios objetivos documentados emCLASSIFICACAO.md: sem expediente, sem bylines, volume incompatível com redação humana, maioria das matérias sem atribuição, indicadores linguísticos de LLM sem disclosure. Primeira fonte classificada: Notícias do Brasil (noticias-do-brasil.news).
Changed
- 🔁
noticias-do-brasilrecategorizado — antes classificado comocenter/centro(default arbitrário do cadastro RSS), agora marcado comoaggregator/agregador. Aplicado retroativamente a 1280 artigos no banco (privado + público) e à entrada do feed emconfig/rss_feeds.jsonpra próximas coletas. Fonte continua sendo coletada — só sai das KPIs editoriais. - 🔧
source_lean_map.py:DETAIL_TO_BROADganha entradaagregador → aggregator; nova seção "AGREGADOR" noSOURCE_LEAN_MAP_DETAILcom as variantes de nome/host de Notícias do Brasil. - 🔧
refresh_editorial_lean_detail.py:BROAD_TO_DETAIL_FALLBACKganhaaggregator → agregador.
Notes
- Por que o critério "Agregador" descreve natureza, não alinhamento. As 5 categorias do eixo editorial (extrema-esquerda → extrema-direita) pressupõem decisão humana de linha. Aplicar uma delas a um site que reescreve via LLM matérias de terceiros era um erro categorial: rotulava como "centro" qualquer agregador que cobrisse o noticiário consensual sem viés panfletário. A categoria nova é o vocabulário que faltava.
- Critérios formais do eixo esquerda↔direita continuam como pendência aberta. Esta versão adiciona uma 6ª categoria, mas não revisa as 5 originais. O fato de o
rss_feeds.jsonter camposleanatribuídos manualmente sem documentação é o sintoma mais visível dessa dívida.
- 🏷️ Card "Fonte mais quente" na Home — quarta estatística do bloco semanal, mostrando o veículo com maior volume na janela atual (segunda a domingo) e variação vs. semana anterior. Filtra explicitamente para fontes editorialmente classificadas (