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 5 de 12 · 136 versões no total.
-
v4.23.0 2026-08-17 Pablo Marçal entra no painel pela via do TSE Added
- Pablo Marçal (PRTB, nº 28) passa a ser monitorado. Ele consta do arquivo oficial de candidaturas do TSE desde a extração de 16/08 — e essa é a única via de entrada desde o fechamento do registro. A candidatura está sub judice (inelegível até 2032; o registro aguarda julgamento) e a ficha do TSE mostra a situação como o tribunal a publica. A série dele começa em 15/08/2026, data do registro; o resumo semanal desta segunda o tratou como fato da corrida, não como candidato monitorado, porque na janela dele o registro ainda não constava do dado oficial. Leonardo Avalanche, descontinuado ontem, é o vice da chapa. Campo ativo: 13 candidaturas.
-
v4.22.0 2026-08-16 Quem são as candidaturas: perfil e patrimônio oficiais do TSE Added
- "Quem são as candidaturas" na página Candidatos: titular e vice de cada chapa registrada, com idade, gênero, cor/raça, escolaridade, ocupação, partido e coligação — como declarados ao TSE no pedido de registro —, mais um retrato agregado (mulheres, pretos e pardos, idade média, escolaridade, chapas em coligação).
- Patrimônio declarado: ranking das candidaturas por bens declarados ao TSE, com a composição (imóveis, participações e ações, aplicações, veículos, outros); na ficha de cada candidato, o total, a composição e a lista item a item como declarada.
- Fonte única: dataset oficial de candidaturas do TSE, lido pelo mesmo coletor diário que traz número de urna e situação do registro. Nenhum dado pessoal sensível (CPF, título de eleitor, e-mail) é armazenado ou exibido. Zero uso de IA nesta seção.
-
v4.21.0 2026-08-16 Registro fechado no TSE: o roster segue o dado oficial Changed
- Leonardo Avalanche (PRTB) passa a Descontinuado. Não consta do registro oficial de candidaturas do TSE após o fechamento do prazo (15/08, 19h) — o partido substituiu a chapa por Pablo Marçal. Série histórica preservada; página do candidato marcada como fora da corrida. Campo ativo: 12 candidaturas registradas.
- Regra da lista de candidatos, agora pública na Metodologia: desde o fechamento do registro, o roster segue o dado oficial do TSE nos dois sentidos — entra quem consta (mesmo com candidatura em julgamento), sai quem não consta. Anúncio de partido ou noticiário não bastam. Na pré-campanha o sinal era o político; com o registro, é o tribunal.
- Grassi e Clariana com ficha completa do TSE (nº 35 pelo Democrata e nº 27 pelo DC, vices e situação) — as siglas só se confirmaram no arquivo oficial de 15/08.
- Coletor do TSE passa a rodar às 10h (lia o arquivo da véspera às 9h15).
-
v4.20.0 2026-08-15 Cenário Geral mais rápido + higiene Fixed
- Pills de 90 dias e "Tudo" do Cenário Geral caíram de ~4s para milissegundos. O share of voice era recalculado sobre a série inteira a cada visita — a única função pesada da página que ficou fora do cache. Os KPIs do Semanal e do Mensal também passaram a ser cacheados por dia.
Changed
- Changelog paginado: 12 versões por página (eram 84 de uma vez), com navegação entre mais recentes e mais antigas.
- Coletor de sitemaps ganhou os filtros que os demais coletores já aplicavam: descarte de páginas de índice/paginação, de falsos positivos temáticos e de artigos anteriores ao recorte de 25/03/2026.
Removed
- Código morto: gerador de treemap (substituído pelos rankings em 4.17.0), distribuição de gênero calculada a cada visita ao Espectro sem nenhum consumidor, e regras CSS órfãs da fase de pré-candidatura. As colunas legadas de candidato e sentimento na tabela de artigos foram documentadas como descontinuadas (a verdade é a tabela de vínculos), sem remoção física.
-
v4.19.0 2026-08-14 Rankings de tópicos e fontes nos Cenários Semanal e Mensal Added
- Cenário Semanal e Cenário Mensal ganharam os rankings de tópicos e fontes no mesmo formato do Cenário Geral: uma linha por item com volume, temperatura de sentimento e — nas fontes — o badge de espectro editorial. Listas limitadas aos 10 itens mais relevantes (também no Geral — 20 era rolagem demais). As janelas seguem as das páginas (semana civil e mês civil), completando a leitura: tópicos emergentes mostram o que acelerou; os rankings mostram o retrato inteiro do período.
-
v4.18.0 2026-08-14 Tópicos em alta sem inflação de base pequena Changed
- "Tópicos em alta" (capa, Cenário Semanal e Mensal) trocou a métrica: a antiga (crescimento percentual × volume) fazia um tema que saltava de 1 pra 17 artigos (+1600%) vencer de temas grandes, e enterrava emergências reais — na semana desta mudança, "fraude eleitoral" saiu do zero pra 135 artigos e ficava fora do top 5. Agora a ordem usa razão amortecida com piso mínimo de volume; o selo mostra o múltiplo de crescimento ("4×") em vez de percentual, e "NOVO" marca tema sem ocorrência no período anterior. Mesma correção já aplicada ao antigo "candidato em destaque" (crescimento sobre base minúscula não é destaque).
- A contagem das listas passou a ser por artigos distintos — o rótulo sempre disse "artigos", mas a métrica antiga contava vínculos tema-candidato, inflando temas de artigos multi-candidato.
-
v4.17.2 2026-08-12 Metodologia atualizada pós-leaderboards Changed
- Metodologia acompanha as mudanças recentes: o guia do Cenário Geral descreve o share of voice com viradas explicadas e os rankings com sentimento e espectro; a seção Tópicos documenta a régua de aceleração (tópico do momento da capa e motivo das viradas) e a "temperatura" das barras de sentimento nos rankings; a seção Veículos explicita que o badge de espectro é o nível predominante da fonte — mesma régua do ranking do Cenário Geral.
- Referências mortas corrigidas: "Cobertura mais recente" (seção removida da home) e descrições da página 404 ("KPIs vivos", espectro em 3 níveis).
-
v4.17.1 2026-08-12 Coletor Google News: cache de decode + circuit breaker Fixed
- Google News voltou a operar sob controle de taxa. Desde 11/08 à tarde o coletor vinha zerado: o Google bloqueou as requisições de decodificação de URL (HTTP 429) porque cada rodada redecodificava ~1,7 mil URLs — quase todas já vistas — cinco vezes ao dia. Agora as URLs decodificadas ficam num cache permanente (falhas são retentadas só depois de 24h) e um circuit breaker interrompe as tentativas da rodada após 10 falhas seguidas, deixando o bloqueio expirar em vez de realimentá-lo. Nenhum artigo publicado foi afetado — a perda foi de cobertura de coleta no intervalo, compensada pelos demais coletores.
-
v4.17.0 2026-08-12 Treemaps aposentados: tópicos e fontes viram leaderboards Changed
- "Tópicos da cobertura" e "Fontes monitoradas" (Cenário Geral) deixaram de ser treemaps e passaram ao padrão leaderboard: uma linha por item com rank, volume e barra de sentimento (fatia positiva, neutra e negativa dos vínculos verificados). Área é codificação visual fraca pra um ranking de 20 itens e, em períodos curtos, transformava 1 artigo num bloco monumental; a cor, que era decorativa, agora carrega informação.
- Fontes ganharam o badge de espectro editorial (nível predominante da fonte na série, em cinco níveis — mesma régua da tabela da Metodologia) e nome de exibição no lugar do slug técnico. A seção passa a responder quem publica mais, de que lado vem e com que tom cobre.
-
v4.16.0 2026-08-12 Home como banca + revisão de legibilidade Added
- "Tópico do momento" na home: o tema que mais acelerou nos últimos 7 dias frente ao próprio histórico (métrica de lift), com volume e tom por candidato — substitui o antigo "candidato em destaque". Em seção própria: tópico do momento e liderança da semana são recortes independentes, e lado a lado induziam leitura causal.
- Share of voice no Cenário Geral, parametrizado por período (pills): fatia de cada candidato por semana fechada (30d/90d/tudo) ou por dia fechado (7 dias). Trocas de liderança anotadas no gráfico e explicadas em lista — tópico que puxou a virada + manchete real linkada; quando não há troca, o estado diz isso explicitamente.
- Leaderboard compacto de candidatos nos três cenários: uma linha por candidato (rank, volume, barra de sentimento, variação), no lugar do grid de cards — os cards completos seguem em /candidatos.
- Menu colapsável (hambúrguer) no mobile.
Changed
- Home reordenada como banca de jornal (pirâmide invertida): manchete da casa → semana até aqui (líder, tom e sobe/desce na mesma seção — mesma janela de comparação) → extremos → tópicos em alta → análises da série. Cortados o grid de KPIs de infraestrutura (virou linha de status no hero), "Cobertura mais recente" e "Explore o painel".
- NAV: Cenário Semanal antes do Mensal — em campanha, o ciclo de leitura é semanal.
- Legibilidade como regra global: tooltips dos gráficos com fundo opaco legível nos dois temas; anotações sem sobreposição, com alturas escalonadas; toda seção com intertítulo e explicação de leitura.
- Pills de período viraram navegação normal (sem HTMX): o swap re-executava os scripts Plotly e, de forma intermitente, um gráfico perdia o hover. Página cheia cacheada resolve a classe inteira de bugs.
-
v4.15.2 2026-08-11 Imagens dos resumos migradas pra Gemini 3.1 Flash Image Changed
- Metodologia: imagens dos resumos editoriais agora são geradas por Gemini 3.1 Flash Image (Google) — o Google desativa os endpoints do Imagen 4 em 17/08/2026. A migração é no projeto blog-automation (
utils/imagen_client.py, Interactions API); aqui muda só a linha da seção Resumos. Mesmas duas variantes (16:9 e 1:1) e a mesma paleta.
- Metodologia: imagens dos resumos editoriais agora são geradas por Gemini 3.1 Flash Image (Google) — o Google desativa os endpoints do Imagen 4 em 17/08/2026. A migração é no projeto blog-automation (
-
v4.15.1 2026-08-10 Metodologia atualizada para a fase de campanha Changed
- Página /metodologia reescrita para refletir a revisão de campanha: cadência de coleta 5×/dia (07h, 10h, 13h, 16h e 21h), campo fechado em candidaturas oficiais (contagem dinâmica do banco no lede), verificação anti-falso-positivo documentada como etapa das fontes de dados (todos os vínculos pendentes adjudicados a cada coleta, sem janela), guias de navegação com share of voice, gênero jornalístico, bipartite por sentimento e comparações por período equivalente.
- Seção nova "Revisões de série": registro público das mudanças de 10/08/2026 que afetam a comparabilidade das séries — adjudicação retroativa de ~9,4 mil vínculos pendentes (~7,9 mil removidos como falso positivo), recalibração do prompt de sentimento, espectro em 5 níveis, comparações por período equivalente e nova cadência de coleta.
- Tabela de veículos monitorados em 5 níveis: badge de espectro migrado de 3 pra 5 níveis (nível modal por fonte canônica), com badges também para agregadores e não classificados.
- Seção "Como esse resumo foi feito" dos resumos publicados (weekly/monthly no blog-automation): frequência de coleta corrigida para cinco vezes por dia.
Fixed
- Dois erros factuais antigos na /metodologia, ambos verificados contra produção: a tabela de faixas do score dizia neutro = [−0,1; +0,1], mas as fronteiras reais do classificador são ±0,2 (conferido nas 78 mil classificações do banco); os resumos editoriais "saem às 08h00", mas os timers reais rodam segunda 06h30 (semanal) e dia 1º 06h45 (mensal). A descrição do insumo do sentimento também dizia "título e descrição" — o modelo recebe título + primeiros parágrafos do corpo quando capturado.
- Página /api dizia "coleta três vezes por dia (07h, 14h e 21h)" — atualizada pra cadência real de cinco rodadas.