KOL feeds: fix dead/blocked sources, drop stale feeds (29→25)
Feed-health pass over KOL_FEEDS: - raoulpal: stale Substack (last 2024-05) → Real Vision podcast feed - dampedspring: paywalled (0 entries) → free "Damped Spring 101" Substack - unchained: Cloudflare 403 → canonical Megaphone podcast feed - lynalden: Cloudflare 202 → FeedBurner mirror - glassnode: recovered via httpx http2=True (was 403 on HTTP/1.1) - browser User-Agent + Accept headers on feed fetch - removed dead feeds with no active replacement: placeholder, dragonfly, niccarter, eugene - pin h2==4.3.0 (required by http2=True) All 25 remaining feeds verified fetching real body content; newest post per feed ≤88d. Bundles in-flight KOL-module work already in the working tree (kol_x ingest, migration 027, tests). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -90,6 +90,15 @@ class Settings(BaseSettings):
|
||||
# Public site URL appended to the follow-up tweet. Falls back to frontend_url.
|
||||
x_link_url: str = ""
|
||||
|
||||
# ── X (Twitter) READ — KOL tweet ingestion (separate from the poster above) ──
|
||||
# twitterapi.io managed-scraper key, sent as the `x-api-key` header. Powers
|
||||
# kol_x.py: polls each tracked KOL's recent tweets → x_analysis.analyze_x_post
|
||||
# → KolPost(source="twitter") → kol_divergence. This is READ-ONLY third-party
|
||||
# data and is UNRELATED to the OAuth 1.0a poster creds above (those write our
|
||||
# own tweets; this reads other people's). Empty = X ingestion disabled (no-op).
|
||||
# Get a pay-as-you-go key at twitterapi.io (~$0.15 / 1k tweets).
|
||||
twitterapi_io_key: str = ""
|
||||
|
||||
model_config = {"env_file": ".env", "env_file_encoding": "utf-8", "extra": "ignore"}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user