How the impact score works
- Sentiment strength — how bullish / bearish (text), confirmed vs. the market
- Market reach — # of tickers / sectors affected
- Source credibility — trust weight of the publisher
- Recency — decays as the story ages
- Market move — size of the benchmark's latest day move
Score = weighted blend, 0–10, signed by direction (bullish / bearish). Weights live in lib/impact.ts.