Reliability overhaul — every run now returns a result.
- Multi-exchange data aggregation. Market data is now pulled in parallel
from OKX, Bybit, Coinbase and Kraken and merged field by field. If one
venue is unreachable or rate-limited from a datacenter IP, the others fill
the gap, so every row comes back complete instead of half-empty. The USD
price is the median across venues. Each row lists which exchanges
contributed (
data_sources).
- Never an empty run. On a quiet market where no signal fires — including
when
Only actionable signals is enabled — the Actor now returns a single
lightweight status row with the current reading (price, funding, long/short
ratio, Fear & Greed, pulse score, regime) and the message
"Scanned — no actionable signal right now." You always get a result.
- Open-interest velocity signals (
leverage_building / leverage_flush) are
now only emitted when the open-interest figure came from the same exchange
as the previous run, avoiding false spikes when a source falls back.
- Fixed the input description that referred to "Binance symbols".
- Hardened input parsing and history storage: a bad optional input or a
key-value store hiccup can no longer fail a run after data was fetched.
- Initial release: pulse score, regime label, and named trader signals from
price momentum, funding, open interest, long/short ratio and Fear & Greed.