v11–v13: Scoring Calibration — Teaching the Meter to Read Time

Three scoring refinements shipped on May 28: Virological.org added as a health source, the health pool tightened from top-10 to top-5, and most importantly — a category-aware recency decay system replacing the single 6-hour half-life with tailored values per signal group. Health articles now decay over 48 hours, climate over 24 hours, cyber and energy over 12 hours. Geo news stays at 6 hours. The result: active outbreaks, sustained heatwaves, and ongoing cyber campaigns no longer get penalised for not being published in the last few hours.

The WakeUpNeo.ai meter assigns every article a composite score based on four factors: urgency, sentiment, veracity, and recency. Recency is an exponential decay — an article scores 10/10 the moment it is ingested, and the score falls as time passes. Until v12, every article across every signal group decayed with the same 6-hour half-life. That made sense for geopolitical breaking news, where a ceasefire or coup attempt is stale by the next morning. It was a serious miscalibration for everything else.

The problem: Ebola scored like yesterday's news

The trigger was simple: in late May 2026, with an active Ebola outbreak ongoing, the health signal was contributing a score of 3.7 — well below what a confirmed hemorrhagic fever outbreak should register. Investigation revealed the root cause. WHO and ECDC publish disease outbreak reports on weekly cycles. A WHO Ebola situation report published 18 hours ago was scoring 1.4 out of 10 on recency — the same as a sports article that old. The urgency and sentiment scores were correct. But 6-hour decay was systematically undercutting every slow-cadence source in the pipeline.

v11: Virological.org + tighter health pool

The first fix addressed sources. The existing ProMED Mail feed was returning HTTP 404 — it had silently failed at some point without triggering visible errors. It was replaced with Virological.org (virological.org/posts.rss), a scientist-run forum for early genomic and epidemiological analysis of emerging outbreaks. It returned 50 items on first ingestion. The health scoring pool was also tightened from top-10 to top-5 articles, so an active outbreak bulletin dominates the health sub-score instead of being averaged down by routine WHO administrative updates.

v12–v13: Category-aware recency decay

The deeper fix was replacing the single universal half-life with per-category values tuned to the natural cadence of each signal type. The logic: how quickly does news in this category become irrelevant? A breaking geopolitical event is stale within hours. A disease outbreak persists for weeks. A ransomware campaign unfolds over days. A heatwave bakes a continent for several days. Grid failures typically resolve within hours to a day or two.

Signal groupHalf-lifeRationale
Health / Outbreak48 hoursWHO/ECDC publish weekly. Ebola does not resolve overnight. An 18-hour-old outbreak bulletin should still score ~8/10 on recency.
Climate / Environmental24 hoursHeatwaves, hurricanes, and flooding events unfold over days. A storm landfall report from yesterday is still highly relevant.
Cyber / Infrastructure12 hoursAttack campaigns persist for days but individual advisories get superseded quickly. 12h balances ongoing threat with advisory freshness.
Energy / Grid12 hoursGrid failures and supply shocks typically resolve within a day or two. 12h keeps acute events visible without over-weighting old disruptions.
Geopolitical News6 hoursFast-moving breaking news. Correct to decay fast — a 12-hour-old ceasefire rumour may already be obsolete.

Implementation

The recency formula is unchanged: recency = 10 × e^(−ageHours / halfLife). Only the halfLife constant varies. The scoring engine determines the correct half-life from the article's sourceId — if it belongs to HEALTH_SOURCE_IDS, it gets 48h; CLIMATE_SOURCE_IDS gets 24h; CYBER_SOURCE_IDS and ENERGY_SOURCE_IDS get 12h; everything else gets 6h. This applies to both newly scored articles and to the recency recomputation on already-cached AI-scored articles, which runs live on every scoring cycle.

recency = 10 × e^(−ageHours / halfLife)

Market and space weather are unaffected

Market stress and space weather are not article-based signals. Market stress is computed live from four financial indicators (VIX, WTI oil, gold, 10-year Treasury yield) fetched fresh on every poll cycle. Space weather is computed from real-time NOAA Kp geomagnetic index and GOES solar X-ray flux readings. Both always reflect current conditions — there is no recency decay to apply.