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:
+11
-5
@@ -276,11 +276,17 @@ class KolPost(Base):
|
||||
raw_text: Mapped[str] = mapped_column(Text, nullable=False)
|
||||
content_hash: Mapped[str] = mapped_column(String(64), nullable=False)
|
||||
|
||||
summary: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
|
||||
tickers_json: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
|
||||
analyzed_at: Mapped[Optional[datetime]] = mapped_column(DateTime, nullable=True)
|
||||
analysis_model: Mapped[Optional[str]] = mapped_column(String(64), nullable=True)
|
||||
analysis_version: Mapped[Optional[str]] = mapped_column(String(16), nullable=True)
|
||||
summary: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
|
||||
tickers_json: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
|
||||
analyzed_at: Mapped[Optional[datetime]] = mapped_column(DateTime, nullable=True)
|
||||
analysis_model: Mapped[Optional[str]] = mapped_column(String(64), nullable=True)
|
||||
analysis_version: Mapped[Optional[str]] = mapped_column(String(16), nullable=True)
|
||||
|
||||
# x_analysis extended output (migration 027)
|
||||
tier: Mapped[Optional[str]] = mapped_column(String(16), nullable=True)
|
||||
post_type: Mapped[Optional[str]] = mapped_column(String(16), nullable=True)
|
||||
talks_vs_trades_flag: Mapped[Optional[bool]] = mapped_column(Boolean, nullable=True, default=False)
|
||||
sentiment: Mapped[Optional[str]] = mapped_column(String(16), nullable=True)
|
||||
|
||||
created_at: Mapped[datetime] = mapped_column(DateTime, nullable=False, default=utcnow)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user