News Analytics

FastAPI-backed source, lens, workflow, and event diagnostics

The news surface reads from the backend contract and exposes exploratory comparisons, data quality checks, workflow health, and same-event analysis.

Index

Pages

All routes below stay inside the same shared analytics surface.

News Integration

Live FastAPI data

What this page does

Verify app-to-upstream integration status and runtime contract signals.

Data Mode

Integration Banner

Integration checks passing. Data is fresh.

Integration Summary

Checks Passing4 / 4
Generated At2026-06-06T15:01:00Z
Digest Items5
Latest TitleQuantum Space’s military SPAC is trying to catch SpaceX’s IPO wave
Freshness Statusfresh

Upstream Analysis Contract

Confirms that the upstream RSS/scoring bundle contains enough lens and source-analysis material for the dashboard contract, independent of page-level rendering.

Upstream Articles1,826
Digest Articles47
History Added1,779
Scored Articles729
Lens-Scored Articles729
Upstream Lenses12
Upstream Sources11
Upstream LOOCV Accuracy23.7%
Source differentiation statusok
Articles in source analysis792
Multivariate F14.8676
Multivariate p_perm0.0010
Classifier baseline11.6%
LensRubricsMax TotalItems With Scores
Agency and Voice Lens220.0792
Authority and Source Positioning Lens220.0792
Causal Attribution Lens220.0792
Credibility Lens220.0792
Emotional Intensity Lens220.0792
Entity-Level Sentiment Lens220.0792
Epistemic Modality and Certainty Lens220.0792
Hegemonic Common-Sense Lens220.0792
Linguistic Quality Lens110.0792
Objectivity vs Opinion Lens220.0792
Omission and Silence Lens220.0792
Sentiment Clarity Lens220.0792

Contract Checks

CheckEndpointStatusDetail
Digest endpoint reachable/api/news/digest?limit=5HTTP 200current
Latest endpoint reachable/api/news/digest/latestHTTP 200current
Stats endpoint reachable/api/news/statsHTTP 200current
Freshness endpoint reachable/health/news-freshnessHTTP 200current
Payload includes generated_atdigest.meta.generated_atokgenerated_at=2026-06-06T15:01:00Z
Payload has articlesdigest.dataokitems=5

Debug Payload

{
  "digest_status_code": 200,
  "latest_status_code": 200,
  "stats_status_code": 200,
  "freshness_status_code": 200,
  "digest_status": "ok",
  "latest_status": "ok",
  "stats_status": "ok",
  "freshness_status": "ok",
  "from_cache": false,
  "using_last_good": false,
  "fetch_error": null,
  "freshness_reason": null
}