improve signed reads, crypto hardening, and scraper transport

This commit is contained in:
k
2026-06-14 21:43:43 +08:00
parent 54884f3e24
commit 78fb63be8e
27 changed files with 1326 additions and 202 deletions
+38
View File
@@ -0,0 +1,38 @@
"""Unit tests for kol_analysis._derive_tier — the non-Twitter tier derivation
that lets blog/substack/podcast posts get the same trade_signal/directional/
noise tiers (and SIGNAL/VIEW badges + "Signals only" filter) as Twitter posts.
"""
from app.services.kol_analysis import _derive_tier
def _tk(action="mention", conviction=0.0):
return {"action": action, "conviction": conviction}
def test_no_tickers_is_noise():
assert _derive_tier([], 0.0) == "noise"
def test_only_mentions_is_noise():
assert _derive_tier([_tk("mention", 0.9)], 0.1) == "noise"
def test_high_conviction_directional_is_trade_signal():
assert _derive_tier([_tk("buy", 0.7)], 0.0) == "trade_signal"
def test_strong_divergence_is_trade_signal_even_without_ticker():
assert _derive_tier([], 0.8) == "trade_signal"
def test_low_conviction_directional_is_directional():
assert _derive_tier([_tk("bullish", 0.4)], 0.0) == "directional"
def test_moderate_divergence_is_directional():
assert _derive_tier([_tk("mention", 0.0)], 0.55) == "directional"
def test_boundary_conviction_0_6_is_trade_signal():
assert _derive_tier([_tk("sell", 0.6)], 0.0) == "trade_signal"