Overview
Motif's financial research engine. What it is and how it works.
Clarity is Motif's financial research engine. It reads news, filings, transcripts, and reports, structures them into a graph of entities, the facts that describe them, and the causal links between them, then answers questions about that graph with citations back to the source.
Clarity is what makes Motif's answers grounded. It only answers from material it has ingested. It never falls back to open-ended internet guessing, and every claim it makes can be traced to evidence. It powers the products built on top of it (market, asset, and portfolio insights, proposals, and monitoring) and the embeddable card and chat you can drop into your own product.
Clarity is the product name. Internally it's a temporal knowledge graph. In the admin panel, SDK, and these docs it's always Clarity.
What Clarity stores
Entities: the things news is about, including companies, people, places, events, assets, and topics.
Claims: atomic facts about an entity, each carrying the source it came from and the time it was true.
Relationships: typed links between entities. Most are context (structural, like "supplies" or "is CEO of"), and some are causal ("X drove Y"). Causal links can be followed forwards and backwards, which is how Clarity answers why something happened and what it affects next.
Sources: the original article, filing, transcript, or upload each fact was extracted from. Every claim and relationship links back to exactly one source, which is what every inline citation resolves to, so any fact in an answer can be opened back to the document it came from.
Assets: entities are linked to tradable instruments, namely equities and supported crypto tokens. This is how a news story about a company resolves to a ticker you can hold.
Stories and themes: Clarity groups related entities and claims into stories (time-bounded narrative arcs, such as a leadership transition over a quarter) and rolls those up into broader themes. Because one entity can belong to several stories at once, that shared membership is what lets an answer bridge between related arcs.
Salience: Clarity tracks how central each entity is to the graph, so answers can lead with what matters instead of whatever merely matched the words.
Time: claims, relationships, and stories carry validity windows, so Clarity can answer "what is true now" and "what was true then".
Live prices are not stored as facts. They're overlaid at query time, so commentary always reflects the current market without the graph going stale.
The Clarity in depth section defines each of these objects and the ideas that keep them accurate: ingestion, extraction, memory, asset linking, and dreaming.
How Clarity ingests data
Ingestion happens off the request path: a document goes in, and Clarity works through it in the background. Every source feeds the same pipeline. Only the way documents arrive differs.
Where data comes from
Manual upload
Text or markdown files, or pasted articles in the admin panel
On demand
X (Twitter)
Tracked accounts, captured live and back-filled
Real-time stream + catch-up poll
Perigon news
Curated news and stories from Perigon
Scheduled + historical backfill
Perigon Signals
Articles matching a Signal you define, delivered by webhook
Event-driven (also sends a push notification)
RSS feeds
Configured publisher feeds
Scheduled
The pipeline
However it arrives, each document is staged the same way (stored, then queued) and runs through one pipeline: analyzed in parallel, recorded in order, and saved as a durable backup, with a background loop that keeps the whole graph connected and current.
Analyze: read each document and pull out entities, the claims about them, and the relationships between them, including causal attributions. Many documents are analyzed at the same time, so a burst of news never queues behind one slow document.
Record: reconcile new entities against what's already known, supersede changed facts ("CEO" → "former CEO") instead of duplicating them, link evidence to tradable equities and tokens, and connect it into the existing graph. Writing stays ordered, so the graph is never left half-updated.
Save: periodically persist a durable, validated backup of the live graph, kept recoverable, without interrupting ingestion.
Maintain: on a schedule, outside ingestion, merge duplicate entities, refresh the stories and themes that link documents, re-rank what matters, and backfill meaning-based search.
Because the heavier enrichment runs in the background instead of inside ingestion, a surge of incoming evidence is recorded quickly and stays consistent. The Pipeline page walks through each step, with diagrams for both the write and read paths.
In the admin panel you can ingest text, markdown, and article feeds; each source is analyzed and committed to the graph automatically, and you can inspect the resulting entities, claims, and relationships in the explorer. See In the admin panel.
How Clarity answers questions
When you ask Clarity something through the card, chat, or a monitoring run, it first chooses the right research path. Company and stock questions become analyst briefs, driver questions focus on catalysts, market-window questions focus on themes, and other named-entity questions retrieve the current evidence around that entity. From there it runs a layered retrieval instead of a single lookup:
Read the intent: causal, impact, temporal, present, or general. "What's happening now" questions shrink the time window so live questions aren't drowned by history.
Find the entities the question is about, by name and by meaning, splitting multi-part questions into their parts.
Expand outward from those entities to their neighbors.
Gather the claims, bounded by the relevant time window, widening the window if evidence is thin.
Bridge cause and effect when a question spans two sides ("how does X affect Y") that aren't directly connected.
Rank by confidence and freshness, so recent, well-supported facts surface first while durable reference facts don't decay.
Overlay live prices when useful for a selected public company, ticker, or explicit chart request.
Clarity then answers with inline citations to the evidence and a staleness indicator showing how recent its freshest source is.
Partial coverage
Clarity degrades gracefully instead of refusing:
Full coverage: it answers directly from the evidence, with citations.
Partial coverage: when a question has a cause and an effect side and only one is in the graph, Clarity describes what it has and names the gap explicitly instead of inventing the missing link.
Adjacent coverage: when nothing matches directly, it surfaces related topics and suggests how to rephrase.
No coverage: it says so plainly.
Partial and adjacent answers are expected behavior. They show where the graph has gaps. The fix is usually to ingest more source material connecting the two sides.
Asset domains
Clarity covers two asset domains: equities and crypto tokens. Each organization controls which domains Clarity may use, on the Settings → Clarity page. This is an access gate that controls availability, not a display filter. Turning a domain off removes its assets and links from every Clarity answer, card, and chat for that organization. At least one domain must stay enabled.
Next steps
Surfaces & analyst personas: which analyst powers each card, chat, and analysis, and what it can see
In the admin panel: ingest, review, explore, and ask
Integrate Clarity: card and chat over the SDK and API
Portfolio context: the holdings model Clarity runs against
Embed Clarity: drop Clarity into a browser app
Last updated