01

Every source fails eventually

Across fifty-plus public feeds, something is always slow, malformed or gone. Per-source timeouts and settled batches mean the healthy sources still publish.

02

Say what the reader is getting

When the model is down, an extractive brief is still useful, as long as it says it is extractive. Silent fallback erodes trust faster than an honest label.

03

Degrade storage too

The rolling feed prefers Redis, then local JSON, then memory. Each layer is worse than the one above it and far better than an empty page.

Open AffairsAI