Elie Habib
bc4f80ad90
fix(gdelt-intel): extend TTL to 24h, restore 6 topics + client tabs, fix health thresholds (#1846)
* fix(gdelt-intel): extend CACHE_TTL to 24h, restore 6 topics, fix health thresholds
- CACHE_TTL: 21600 (6h) → 86400 (24h) so verifySeedKey merge fallback always has a prior snapshot
when GDELT 429s all topics across multiple cron cycles
- Restore 6 topics (sanctions + intelligence were dropped; 4-topic validate>=4 created a brittle all-or-nothing gate)
- validate threshold: >=4 → >=3 (at least 3 of 6 topics must return articles)
- health.js gdeltIntel maxStaleMin: 300 → 150 (2h cron + 30min grace; matches actual cron interval)
- health.js cableHealth maxStaleMin: 60 → 10080 (on-demand handler writes seed-meta with 7-day TTL)
* fix(gdelt-intel): expose sanctions/intelligence tabs to client; fix health thresholds
- Add sanctions and intelligence to client INTEL_TOPICS so the new seed
buckets are actually requested and rendered in GdeltIntelPanel
- Quote "intelligence agency" in seed query (matches project convention
for multi-word GDELT phrases; prevents false positive token splits)
- cableHealth maxStaleMin: 10080 → 90 (ais-relay warm-ping runs every 30min;
90min = 3× interval; 10080 would hide relay failures for 7 days)
2026-03-19 03:51:04 +04:00
..
2026-03-15 15:57:22 +04:00
2026-03-17 14:24:26 +04:00
2026-03-17 19:16:13 +04:00
2026-02-28 17:43:56 +04:00
2026-03-14 15:07:30 +04:00
2026-03-16 08:40:14 +04:00
2026-03-14 21:29:21 +04:00
2026-03-19 00:24:47 +04:00
2026-03-17 06:35:12 +04:00
2026-03-19 03:45:32 +04:00
2026-03-14 21:29:21 +04:00
2026-03-19 03:48:42 +04:00
2026-03-14 21:29:21 +04:00
2026-03-12 06:50:30 +04:00
2026-03-05 10:16:43 +04:00
2026-03-14 21:29:21 +04:00
2026-02-26 20:52:44 +04:00
2026-03-15 15:57:22 +04:00
2026-03-15 15:57:22 +04:00
2026-03-19 02:40:05 +04:00
2026-03-17 06:35:12 +04:00
2026-03-01 11:53:20 +04:00
2026-03-01 11:53:20 +04:00
2026-03-14 21:29:21 +04:00
2026-03-01 15:59:53 +04:00
2026-03-14 21:29:21 +04:00
2026-03-01 11:53:20 +04:00
2026-03-15 11:20:51 +04:00
2026-03-19 00:51:54 +04:00
2026-03-19 00:51:54 +04:00
2026-03-15 15:57:22 +04:00
2026-03-17 18:34:53 +04:00
2026-03-01 11:53:20 +04:00
2026-03-17 16:12:05 +04:00
2026-03-15 13:31:41 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 12:02:37 +04:00
2026-03-16 08:48:00 +04:00
2026-03-18 19:53:57 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 12:02:37 +04:00
2026-03-16 08:48:00 +04:00
2026-03-15 11:09:34 +04:00
2026-03-15 12:02:37 +04:00
2026-03-19 03:40:22 +04:00
2026-03-19 03:51:04 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 13:31:41 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 11:09:34 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 15:57:22 +04:00
2026-03-18 19:46:12 +04:00
2026-03-15 13:31:41 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 17:44:31 +04:00
2026-03-17 09:18:06 +04:00
2026-03-18 19:53:57 +04:00
2026-03-17 13:26:22 +04:00
2026-03-18 19:53:57 +04:00
2026-03-17 06:35:12 +04:00
2026-03-15 12:02:37 +04:00
2026-03-15 12:02:37 +04:00
2026-03-19 03:45:32 +04:00
2026-03-17 14:24:26 +04:00
2026-03-17 17:45:13 +04:00
2026-03-15 11:09:34 +04:00
2026-03-15 12:02:37 +04:00
2026-03-17 16:12:05 +04:00
2026-03-15 12:02:37 +04:00
2026-03-14 10:23:20 +04:00
2026-03-19 01:57:27 +04:00
2026-02-19 07:53:15 +04:00
2026-03-14 21:29:21 +04:00
2026-03-04 17:37:15 +04:00
2026-03-15 09:29:50 +04:00