Data Sources
Market data, regulatory filings, primary news, and filtered social signals. Every input passes through the threat engine (typed trigger → 3-role debate → materiality bar) before it surfaces in the terminal or the Signal API.
2+
Source verification rule
Real-time
Market data refresh
<3 min
Filing → Signal
94%
Skeptic agreement on test set
How Ingestion Works
Every source category feeds into a single pipeline. No raw input becomes a signal until it has been normalized, quant-contextualised, and cleared by the Skeptic.
DataForager — Fetch & Normalize
Patchright scrapers handle JS-rendered, CAPTCHA-protected, and paywalled sources. RSS, REST, and WebSocket feeds run in parallel. Documents are de-duplicated and normalized into a canonical claim schema.
Normalizer + QuantAnalyzer
Claims are tagged with ticker, sector, and event type, then enriched with market context: vol regime, IV/RV, earnings proximity, options flow, and short-interest change.
SkepticValidator — 2-source rule
No claim becomes a signal without 2 independent verifying sources of an acceptable tier. Single-source social claims are vetoed. The Skeptic verdict is recorded with the signal forever.
SignalPublisher
Cleared signals are written to the Evidence Vault and pushed to the dashboard, the Signal API, your Slack/webhooks, and any open Temporal workflows (rebalancing, trailing stops, thesis guard).
Source Categories
Market & Quant
Real-time + EODEquity prices, options chains, IV/RV surfaces, futures, and FX. Used by the QuantAnalyzer for context (volatility regime, earnings calendar, IV crush risk).
Filings & Disclosures
Real-time8-K, 10-Q, 10-K, 13F, S-1, prospectuses, central bank communications, and SRO actions. Forms the deterministic, source-of-truth half of any thesis.
Primary News & Earnings Calls
Tier-1 onlyWire services and earnings call transcripts. Tier-1 financial press is preferred; tabloid and influencer-only sources are demoted by the Normalizer.
Social & Crowd Signals
FilteredPatchright-based scrapers for Reddit, X, and StockTwits. Used as a corroborating second source — never as a primary signal. The SkepticValidator vetoes single-source social claims.
Non-English Primary Sources
NativeNative-language sources for international tickers (HK, TSE, Euronext, Bovespa). Translated by a domain-trained model, not headline machine translation.
Source Tiering
Not all sources are weighted equally. The Normalizer assigns a tier; the SkepticValidator uses it to decide whether the 2-source rule is satisfied.
Tier 1
Filings, exchanges, central banks
Counts as a deterministic verifier on its own.
Tier 2
Wire services, earnings calls, regulator press
Counts toward the 2-source rule.
Tier 3
Social, blogs, forums
Corroborating only — never primary.
Infrastructure
Patchright Scraper Layer
Browser-automation scrapers handle JS-rendered content, CAPTCHA-protected portals, and paywalled trade publications. Scraper instances run in isolated pods with rotating residential IP pools to ensure continuous coverage of sources that block standard crawlers.
Pinecone Evidence Vault
All ingested documents and the resulting signals are embedded and stored in a Pinecone serverless index. The Evidence Vault makes every claim auditable: the Skeptic verdict, the 2 verifying sources, and the quant context are retained indefinitely with the signal.
Accuracy & Quality
Adding Custom Sources
B2B Standard and Enterprise tenants can request addition of proprietary sources — internal RSS feeds, licensed data APIs, or specific web properties — to their dedicated scraper configuration.
Custom source onboarding
Many sources in. Verified signals out.
The Skeptic veto is non-negotiable. If a claim cannot be confirmed by 2 independent sources, it does not become a signal — in the dashboard, in the API, or in any downstream workflow.
