Step 01 · Input
Ingest
Archive-first RSS polling.
10–20 curated sources per domain, polled daily.
Raw HTML + metadata archived on every fetch.
Nothing discarded — schemas can improve later.
Eight stages turn a daily pull of RSS feeds into a trend-scored knowledge graph. Archive-first ingestion, LLM extraction with quality gates, entity resolution, and four Cytoscape.js exports — each stage is inspectable, re-runnable, and reversible.
Step 01 · Input
Archive-first RSS polling.
10–20 curated sources per domain, polled daily.
Raw HTML + metadata archived on every fetch.
Nothing discarded — schemas can improve later.
↺ Archive loop · step 01 → step 03
Raw content preserved — re-extraction runs back to Extract as schemas evolve. No re-fetching required.
Step 02 · Prep
Deduplication + priority scoring.
HTML stripped to plain text.
Near-duplicate detection filters echo articles before extraction budget is spent.
Priority score: source tier, signal type, recency, word count, metadata completeness.
Step 03 · AI Layer
LLM structured claim extraction.
Entities: orgs, people, tools, models, technologies.
Every relationship carries evidence — source snippet, doc ID, URL, confidence score.
Output validated against JSON Schema before proceeding.
Step 04 · Quality
4-gate rejection before graph entry.
Evidence fidelity: snippet must appear verbatim in source text.
Orphan check: relation endpoints must match known entities.
Zero-value check: non-trivial doc must yield at least one entity.
High-confidence audit: strong claims must have strong evidence.
Step 05 · Identity
Entity deduplication cascade.
"GPT-4", "gpt4", "GPT-4-turbo" → one canonical entity.
Rule-based normalization → fuzzy matching → alias tracking.
All merges recorded and reversible — no silent overwrites.
Step 06 · Signal
3 daily signals → composite trend.
Velocity: mention frequency accelerating or decelerating? (7-day window ratio)
Novelty: exponential decay + corpus-normalized rarity.
Activity: raw mention volume as baseline.
Weights configurable per domain via domain.yaml.
Step 07 · Output
4-view Cytoscape.js-ready JSON.
Mentions view: who talks about what.
Claims view: who asserts what about whom.
Dependencies view: what relies on what.
Trending view: what's accelerating — full metadata on every export.
Step 08 · Interface
What's Hot — interactive graph client.
Top trending entities with LLM-generated "why trending" narratives.
Filter by entity type, search, zoom neighborhoods, switch domains.
Stable node positions — emerging clusters visible over time.
↺ Calibration loop · step 08 → step 06
Calibration report flags anomalies — velocity gate saturation, novelty score compression, trending list churn. No auto-correction. Flagged for human review and written to tuning_log.