Skip to content

feature: analytics day gaps + entityArticles + trendingEntities + topArticles#24

Merged
nitaibezerra merged 1 commit into
mainfrom
feat/analytics-day-gaps
Jun 29, 2026
Merged

feature: analytics day gaps + entityArticles + trendingEntities + topArticles#24
nitaibezerra merged 1 commit into
mainfrom
feat/analytics-day-gaps

Conversation

@nitaibezerra

Copy link
Copy Markdown
Contributor

Summary

  • topArticles em trendingThemes: popular artigos representativos por tema trending via query Typesense adicional (até 5 por tema, ordenado por trending_score); fallback silencioso mantém [] se a query falhar — resolve bug onde o campo era sempre retornado vazio
  • analytics DAY: generate_series preenche lacunas nos dados diários do agencyAnalytics, evitando gaps quando não há publicações em certos dias
  • entityArticles: resolver de artigos por entidade via Postgres (sem depender do Typesense para este caso de uso)
  • trendingEntities: resolver de entidades NER em alta, com contagem por janela e baseline histórico

Test plan

  • Smoke: { trendingThemes(windowDays: 7, baselineDays: 28, growthThreshold: 1.0, limit: 3) { themeLabel topArticles { uniqueId title trendingScore } } }topArticles não deve ser mais []
  • { agencyAnalytics(agencies: ["saude"], dateFrom: "2026-06-01", dateTo: "2026-06-30", granularity: DAY) { period articleCount avgReadabilityFlesch } } — todos os dias devem aparecer, avgReadabilityFlesch não deve ser null
  • CI passa (pytest + ruff)

🤖 Generated with Claude Code

Para cada tema trending, busca até 5 artigos ordenados por trending_score
usando a mesma coleção Typesense já consultada pelos facets. Fallback
silencioso mantém top_articles=[] se a query falhar.

Importa ArticleSummary que já estava definido no schema mas nunca usado.
@nitaibezerra nitaibezerra merged commit a715ac1 into main Jun 29, 2026
3 checks passed
@nitaibezerra nitaibezerra deleted the feat/analytics-day-gaps branch June 29, 2026 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant