Pipeline
How Clarity turns source material into grounded financial answers.
Clarity has two connected pipelines: one writes evidence into Clarity, and one reads that evidence back to answer a question. Both follow the same rule. Clarity should explain what it knows, cite where it came from, and say plainly when coverage is missing.
This page walks the whole pipeline one step at a time. Each step shows what goes in, what comes out, and how it works.
The memory model
Behind both pipelines is one idea: Clarity works like an analyst with a finite, well-kept memory. It keeps three things deliberately separate.
Reading is the per-source pass. It captures everything a document says, pulled out in full. It is working material, kept only long enough to reconcile, audit, and consolidate.
Memory is what Clarity keeps and answers from: durable entities, the relationships between them, the evolving stories that group related developments over time, and the evidence that grounds every one of them. Clarity holds this as connected memory, the same memory the steps below build and read.
The answer draws on memory but never writes back into it. Memory holds beliefs about the world and the evidence for them, and nothing else: no answer text, no product state.
Clarity's memory is curated. Five things make it dependable.
It keeps what matters. Before a development is committed, Clarity weighs how material it is (does it move something an investor cares about?) and how novel it is against what memory already holds, with plain screens for a tradable link, macro/policy/geo relevance, freshness, and corroboration. Routine noise is held back. Market-moving events are kept.
It puts each development in the right story. A new development is attached to the best existing story by meaning, shared entities, timing, and theme, and a new story is opened only when nothing fits well. Unrelated stories stay separate even when they name the same companies, so a lawsuit and an earnings beat about one firm never collapse into a single thread.
It grows stronger with corroboration. When several sources report the same development, even in different words, or at different times on the same day, Clarity reinforces one beat and raises its evidence count instead of writing duplicates, and more independent coverage ranks that fact higher later.
It keeps cause and effect straight. Cause-and-effect links carry an explicit direction, strength, and lag, and the direction lives on the link, never baked into a name. "Oil supply" is the variable, and whether it rose or fell is a property of the relationship. Sentiment is never mistaken for direction. This is what lets Clarity trace a shock from geopolitics through a commodity to opposite-signed moves in two stocks and surface it as a diversification signal.
It forgets on purpose. A finite memory has to let go. Clarity scores each detail for salience (recency, weight of evidence, how material and novel it was, and how connected it is to active stories). It lets low-salience detail age out: stale specifics are compressed into a story's running summary, superseded facts retire once nothing still needs them, and quiet stories are archived to a compact gist with their history intact. High-value and durable reference facts are kept, and every removal is recorded so forgetting stays auditable.
The rest of this page is the machinery behind that memory: how evidence gets in, how it is kept accurate and connected, and how an answer is drawn back out.
For a broad “what matters now?” brief, Clarity starts from the developments receiving the strongest recent graph activity rather than from a fixed list of familiar names. Recency follows when the reporting was published, not when it happened to be imported or repaired. Undated reporting is discounted, so reprocessing old articles cannot manufacture a new leading story. Clarity balances independent corroboration, the pace of new published evidence, freshness, causal importance, and market materiality. It then limits how many results can come from one story or revolve around one entity, so a single geopolitical thread cannot crowd every other material development out of the briefing. The strongest threads receive a deeper research pass before the answer is written.
The shared market update is built from independently researched sections, on the same engine and model as Clarity chat. Four researchers each answer one focused question — the leading geopolitical or policy story, the strongest macro development, the strongest sector-wide equity move, and the most exceptional single stock or crypto development — so a tech-sector outlook shift or a standout stock move is surfaced on its own merits even when it has nothing to do with the geopolitical lead. Each section sees the past week's briefs for continuity, and each says plainly when nothing qualifies rather than stretching a narrower story, which means one company's news can never masquerade as a geopolitical, macro, or sector story. A final editorial pass then rewrites the four drafts into one short briefing in a single voice: strongest change first, connected threads, no repetition, a headline, and a close on the clearest dated upcoming test — a central-bank decision or an earnings date — that would confirm or reverse the story. The edit may only rearrange and tighten what the researchers found: every fact keeps its citation, nothing new may be added, and if the rewrite breaks that rule it is discarded in favor of the original researched sections. Readers who want more than the short briefing can tap Dig deeper: a long-form companion written from the same research, expanding each thread with its background, mechanism, the supporting detail the short version had to drop, the strongest counter-signals, and the dated upcoming tests that would confirm or reverse each story. It follows the same rule as everything in Clarity — every fact cited from retrieved evidence, nothing added from memory — and costs almost nothing extra because the research is already done.
Daily portfolio clarity
Scheduled portfolio clarity uses the same evidence, but packages the work into reusable daily layers so every client does not repeat the same research.
Global geo and macro. Clarity researches the day's important global events once and saves the full cited market briefing.
Generic stock read. Each held stock gets a cited company analysis that connects relevant global forces to that company. The same organization-level read is reused across clients who own it.
Personalized position meaning. The stock read is combined with one client's live position and the previous successful position analysis. This is synthesis, not another research pass.
Personalized portfolio roll-up. Every holding is considered together for performance, concentration, shared exposures, and supported event transmission. Routine or unaffected positions are grouped; at most three stocks are named when they are materially important. The card then offers two to four non-directive options to consider.
The portfolio surface serves this work progressively. The reusable world read can appear as soon as it is ready while position analysis continues in parallel with bounded concurrency. The card reports that personalization is still running, stops polling after a bounded wait, and distinguishes generation failure from an empty briefing. A retry reuses successful same-day stock artifacts instead of repeating completed research.
Portfolio totals and ranking statements are computed rather than inferred by the model. The final writer receives the exact holdings-by-weight order, and a validation pass replaces any inconsistent “largest holdings” claim with the deterministic figures. Options retain their specific exposure and evidence thread instead of collapsing into generic monitoring language. The dashboard world read is capped for scanning, while the full cited text remains available in the expanded briefing. If live news is unavailable after retry, the card says so and keeps the evidence timestamp visible.
The full display prose stays with each saved artifact. Between layers, Clarity passes a compact structured brief containing the thesis, drivers, causal links, risks, changes, importance, citations, freshness, and fingerprints of the upstream artifacts. The portfolio roll-up has a fixed context budget even when the configured model advertises a larger window. Oversized portfolios are summarized in value-ranked batches, and any excluded coverage is disclosed by holding count and share of portfolio value.
The stores have deliberately different jobs. Clarity's connected memory holds global evidence, stories, and relationships. Saved market, stock, position, and portfolio artifacts live with product data. Client holdings, profit and loss, advisor amendments, generated actions, and personalized prose never enter shared evidence memory. Interactive chat scratchpads remain isolated from scheduled generation.
If today's upstream generation fails, the pipeline can use the latest successful artifact, keeps its original date, and exposes material staleness. It never invents a missing link merely to complete the chain.
Advisor amendments stay attached to the layer they edit. A fresh generation updates dates, citations, options, and lineage underneath the amendment without silently discarding the advisor's prose.
The complete production path can be run from Settings → Clarity → Evaluation. Its default Portfolio card mode uses the live graph and a selected client account (or the demo portfolio), force-refreshes all required layers, captures the same rendered sections the portfolio app receives, and grades the result with citations and a full trace. Fixed synthetic modes remain available on the same page for repeatable regression testing. Historical evidence maintenance is separate under Settings → Clarity → Evidence backfill, so normal feed activity stays focused on current source operations.
Evidence In
Source material arrives from manual uploads, news feeds, social feeds, filings, reports, and signal-driven alerts. However it arrives, every source is staged the same way and runs through one pipeline. Every automated source is screened before it enters: duplicates, settled items, and unusably short material are dropped first, then the remaining news, stories, alerts, RSS items, and social posts are assessed for credible market impact from a global macro and portfolio perspective. Political coverage must name a concrete policy change and a plausible path to affected assets or sectors; campaign process, conventions, personalities, and other non-economic coverage are held back. Manual uploads remain ungated because an administrator selected them deliberately.
The write path has three steps (Analyze, Record, Save) plus background Enrich and Maintenance that keep all of Clarity's memory connected and current. Record is fast, so a document is queryable within seconds of arriving. The heavier connective work (cross-document links, asset links) fills in right after, in the background. The next sections take each one apart.
Step 1: Analyze
Analyze reads one document and turns it into a structured proposal of what the document says. It runs in parallel across many documents at once and writes nothing to Clarity's memory yet, so a burst of news never queues behind a single slow document.
Read. The raw document text is fetched and normalized. Long documents are bounded to a working length so a single huge file can't stall the step.
Extract. A single model pass pulls out the entities (companies, people, places, events, assets, topics), the facts about them, and the relationships between them, including cause-and-effect links ("the rate cut drove the rally"). Anything the text blames an effect on is pulled out as a cause with a causal link, so the "why" is captured alongside the "what". Each entity also carries its aliases (abbreviations, tickers, and acronyms) which become the keywords that let later documents match the same entity.
Filter. A second pass removes generic placeholders like "the market", "analysts", or "investors" so they never enter Clarity's memory. The test is roughly "could you look this up by name and find a specific article?" If not, it's dropped. This keeps answers anchored to real, identifiable things.
The output is an analyzed record held to one side. It is an internal intermediate, not yet committed, that proceeds to Record automatically.
Step 2: Record
Record writes the analyzed proposal into Clarity's memory. Unlike Analyze, this step is ordered: documents are recorded in the sequence they arrived so facts land in order and memory is never left half-updated. Ordering is per memory store. Clarity's shared memory and each organization's private memory each work through their own backlog in sequence, while different memory stores progress independently, so one busy tenant never blocks another. Record is lean: it reconciles and writes, and does nothing more, so a document is live and queryable within seconds of arriving. The heavier connective work (cross-document links and asset links) runs right after, in the background. See Enrich below.
Reconcile: is this someone we already know? Each new entity is checked against what Clarity's memory already holds, so coverage deepens instead of fragmenting into duplicates.
A new mention is matched against what Clarity's memory already holds by exact name or alias. Aliases are what let "Fed" find "Federal Reserve" or "AAPL" find "Apple". A match reuses the existing entity, deepening its coverage. Anything that doesn't match becomes a new entity. Record stays conservative here and never merges on a fuzzy guess, because wrongly fusing two different companies is far more damaging than briefly holding a duplicate. The harder, meaning-based merge of near-duplicates that slip through (the same entity written two ways from different sources) is left to background Maintenance, where it can be judged carefully and reversibly.
Write: keep history exact. Finally the whole proposal is committed to Clarity's memory in one atomic write, in arrival order. This is the moment a changed fact is reconciled with the past: a role or relationship carries a qualifier (the role name) and a validity window, and a new fact about the same subject, target, and qualifier closes the prior one by stamping its end date and marking it no longer current. The old fact becomes history rather than a duplicate. The same qualifier also enforces exclusivity (a company has one current CEO at a time), while a different qualifier for the same person coexists (CEO history stands alongside a new chairman role). When the very same fact arrives again from another source, the existing record isn't duplicated. Its evidence count goes up, which strengthens it for ranking later. If a temporary storage conflict happens while feeds and background jobs are active at the same time, Clarity retries only this local memory update. It does not repeat reading, content analysis, enrichment calls, or market-data fetches, and retrying the write is safe because the generated records replace the same facts rather than creating duplicates. (The worked example below shows this in full.)
Enrich: connect the dots and link assets
Recording makes a document queryable fast, but on its own it is still a per-article record. Enrich is the background step that runs right after Record, within minutes and off the critical path, and turns separate articles into one connected map. It works against the live memory and is best-effort: if one document can't be enriched, every other document still proceeds. Enrichment updates follow the same safe-write rule as Record: a temporary storage conflict is retried without repeating the analysis work, and a document is marked enriched only after its memory update succeeds or there is deterministically nothing to add.
Connect the dots: turn separate articles into one map. Clarity looks at each of the document's entities' immediate neighborhood and asks whether the new evidence implies a link to something already in memory, adds relationships implied by the document's claims, and reconnects any entity that recording left without a link. This is what lets a shipping-disruption story reach an energy benchmark through intermediate entities, without any single article spelling out the chain.
Link to assets: connect news to holdings. When an entity is a public company or a supported token, Enrich connects it to the tradable instrument, recording why the link was made.
Companies are matched in widening passes (exact ticker or name first, then the closest match by meaning against the ticker universe, then a model to settle the genuinely ambiguous cases, then a business-tag match for themes and commodities) and a ticker-shaped alias can even bring a brand-new company into Clarity's memory. Crypto entities gather candidate tokens by meaning, then a model verifies each link and names the relationship, so an article about Bitcoin links to BTC and to wrapped variants like cbBTC that the article never names, because cbBTC represents Bitcoin exposure. Matching stays conservative: a weak match is dropped rather than linked, and non-crypto entities surface no token candidates at all. Re-linking is safe to repeat, since an already-linked entity is never duplicated.
Step 3: Save
The live memory is the working copy that every answer reads from. Save is the durability boundary: periodically, it writes a durable backup of everything Clarity knows, and it does nothing else (no enrichment), so heavy background work can never block or corrupt a backup.
Save waits for ingestion to pause (and runs at least every few minutes under continuous load), then writes the backup to the side, checks that it opens cleanly with the expected contents, and only then swaps it in atomically, keeping the previous backup so Clarity can always roll back. An interrupted or partial write lands on the temporary copy and can never replace a good backup. If a backup is ever found damaged, Clarity recovers from the most recent one that opens cleanly rather than treating its memory as empty.
Maintenance
The heavy, slower work that builds Clarity's connective structure runs on a schedule, in the background, outside ingestion, so a surge of incoming evidence is recorded quickly and stays consistent while enrichment catches up. Each job improves the live memory and then requests a Save. Background jobs that rewrite Clarity's structure or derived context use the same ordered write lane as ingestion for the memory store they are changing, so maintenance does not race with Record or Enrich for that memory store.
Merge duplicates. Near-duplicate entities that recording left separate are merged here, where there's time to do it carefully: exact-name duplicates first, then candidates that are close by meaning, with a model confirming a pair really is the same thing before they're fused. A guard stops two genuinely different stocks from ever being collapsed together. A weak match is left alone rather than risked.
Re-rank salience. Clarity recomputes how central each entity is to its memory overall (how connected and how depended-upon it is) so retrieval can later surface "what matters" without re-deriving it on every question.
Group into stories and themes. Related entities and claims are grouped into stories (time-bounded narrative arcs like "a leadership transition over a quarter", each with its own validity window) and stories are rolled up into the broader themes they belong to. Because the same entity can sit in several stories at once, that shared membership is the connective tissue that lets an answer bridge from one arc to a related one.
Backfill meaning-based search. Historical entities and stories that predate live meaning fingerprints receive them in bounded batches, so repair work never holds up recording or backups.
New evidence now receives its meaning fingerprint during normal recording as well. Maintenance remains responsible for older rows that predate that behavior. Those repairs are resumable and start from a restorable backup. Story cleanup and date cleanup are previewed before they can change memory: closely matching story fragments may be folded into the older thread; missing evidence publication dates inherit the source article's date; and malformed or implausible timestamps are repaired without making old evidence artificially current.
Live prices are not stored as facts. They are overlaid at question time, so market data stays fresh without rewriting the evidence base.
Worked example: from article to memory
To make the write path concrete, here is one sample article moving through Analyze and Record. The article is illustrative, and the structured records below are a simplified, trimmed view. A single data-rich article typically yields 30–60 entities and 30–50 claims. It highlights extraction, asset-linking, and supersession. Reconcile behaves as described in Step 2 and connect-the-dots in Enrich above.
Sample article
Tim Cook to become Apple Executive Chairman; John Ternus to become Apple CEO (Apple Newsroom, April 20, 2026)
Apple Inc. said Tim Cook will become executive chairman of its board of directors and John Ternus, senior vice president of Hardware Engineering, will become chief executive officer effective on September 1, 2026. Cook will continue as CEO through the summer, working closely with Ternus on the transition, and Ternus will join the board on the same date.
Analyze: what gets pulled out
Entities. Some of the named things it finds, each with the aliases that let future articles match it. Aliases are Clarity's keyword index: "AAPL" or "$AAPL" both resolve to Apple, just as "Fed" resolves to "Federal Reserve".
Apple Inc. — a company, also known as "Apple", "AAPL", and "$AAPL", a consumer electronics and services company headquartered in Cupertino, California, trading under the ticker AAPL. Recorded with high confidence.
Tim Cook — a person, also known as "Cook", belonging to Apple Inc. Recorded with high confidence.
John Ternus — a person, also known as "Ternus", belonging to Apple Inc. Recorded with high confidence.
Generic mentions like "the company", "the board", and "the summer" are dropped at the filter step and never become entities.
Claims. Every distinct fact, quote, or figure becomes its own atomic claim, carrying its own time and confidence:
An event — "John Ternus will become Apple CEO effective September 1, 2026." It centers on John Ternus becoming CEO of Apple Inc., was announced and observed on 2026-04-20, takes effect on 2026-09-01 with no end yet, carries slightly positive sentiment and high confidence, and quotes the exact sentence it came from ("John Ternus, senior vice president of Hardware Engineering, will become chief executive officer effective on September 1, 2026").
An event — "Tim Cook will become Apple's executive chairman effective September 1, 2026." It centers on Tim Cook becoming executive chairman of Apple Inc., was announced and observed on 2026-04-20, takes effect on 2026-09-01 with no end yet, carries neutral sentiment and high confidence, and quotes the exact sentence it came from ("Tim Cook will become executive chairman of its board of directors").
Extraction captures four distinct timestamps for each fact, which is what lets Clarity answer both "what is true now?" and "what was true then?":
Event date
when the event happened or was announced
2026-04-20 (announced)
Seen on
when Clarity saw it (the publication date)
2026-04-20
In effect from
when the fact starts being true
2026-09-01 (the transition takes effect)
In effect until
when it stops being true
open (still current)
Record: relationships, asset links, and what gets replaced
Relationships (edges). Each is directional (from one entity to another) and typed as either structural context or causal:
John Ternus → Apple Inc., "appointed CEO of" — a context tie with the role "CEO", in effect from 2026-09-01 with no end yet, recorded with high confidence.
Tim Cook → Apple Inc., "appointed executive chairman of" — a context tie with the role "Executive Chairman", in effect from 2026-09-01 with no end yet, recorded with high confidence.
Both edges here are structural context ties. When an article instead asserts cause and effect ("the rate cut drove the rally"), the edge is causal and carries a strength, lag, and direction so the chain can be traversed later.
Connected together, the article becomes:
Asset links. When an entity is a public company or a supported token, Enrich connects it to the tradable instrument in the background so news can reach holdings. An exact ticker match links Apple straight to its equity:
Apple Inc. links to the equity AAPL, on an exact match.
For crypto, one entity can link to several tokens, including wrapped variants the article never names, each with the reason recorded. An article about Bitcoin links to both BTC and Coinbase-wrapped cbBTC:
Bitcoin links to two tokens:
BTC — an exact, direct match.
cbBTC — a model-verified, wrapped match, with the recorded reason "cbBTC is Coinbase-wrapped Bitcoin and tracks BTC 1:1".
Replacing what changed (supersession). Before this article, Clarity's memory already held a current record for Cook's CEO tenure. Because the article reports his exit, Record matches that prior record by the same person, company, and role, then closes it by stamping its end date and marking it no longer current. The fact is superseded in place rather than duplicated.
Before the article, the standing record read: Tim Cook is CEO of Apple Inc., in effect from 2011-08-24 with no end date, still current, backed by 8 sources. After applying the article, that same record is closed: Tim Cook is CEO of Apple Inc., in effect from 2011-08-24 until 2026-09-01, no longer current, still backed by the same 8 sources.
Two more rules complete the picture. Role exclusivity: a company has one holder of a role at a time, so recording John Ternus as the new CEO of Apple closes any other still-open "CEO of Apple" record. Exclusivity is keyed on the company and role, regardless of who held it. Coexistence: a different role for the same person (Cook becoming executive chairman) carries a different role name, so it sits alongside the CEO history instead of replacing it. And when the same fact arrives again from another source, the record isn't duplicated. Its evidence count goes up.
Apple's leadership ends up exact, with a single current CEO:
CEO of Apple
Tim Cook
2011-08-24
2026-09-01
no
CEO of Apple
John Ternus
2026-09-01
open
yes
Executive Chairman of Apple
Tim Cook
2026-09-01
open
yes
The link back to the original article. Every entity, claim, edge, and asset link is written with the source document it came from, here the Apple Newsroom post of April 20, 2026. That link is Clarity's provenance: each fact in an answer can be opened back to the exact article it was extracted from, and it is the same link every inline citation resolves to.
Answers Out
When a user asks Clarity a question, it runs a layered retrieval rather than a single lookup. Each step adds to what the previous one found. The point is to gather enough well-supported, relevant evidence to answer with citations, and to notice when that evidence is thin.
Step 1: Read the intent
Clarity first reads what kind of question this is, because that decides how it searches and how far back it looks.
Company and stock questions become analyst briefs. "Why is this moving" questions focus on catalysts. Market-window questions organize by themes. Other named-entity questions retrieve the current evidence around that entity. Intent also sets the time window: a "what's happening now" question narrows to the last few days so live questions aren't drowned by history, while a historical question keeps the window wide.
Step 2: Find the entities
Clarity locates what the question is about, running several search strategies at the same time and pooling the results, so a multi-topic question isn't collapsed into one.
One lane matches names and aliases directly. Another finds the closest entities by meaning, handling each topic separately so "oil and shipping" seeds both. A third splits a cause-and-effect question ("what did the attacks do to gas prices?") into its two sides so each can be sought independently. Everything found becomes a set of seed entities.
Step 3: Expand the neighborhood
From the seeds, Clarity walks outward through its memory to pull in related entities and the links between them, because the answer usually involves the seed's neighbors and not the seed alone.
The walk is budgeted: it caps how many neighbors each entity contributes and how far it spreads, so a highly connected hub (a big exchange, a popular topic) can't blow up the search. As the neighborhood grows, each entity also contributes its name, content words, and acronyms to the search vocabulary, so facts that use domain shorthand still surface.
Step 4: Gather the evidence
Now Clarity collects the actual facts attached to the neighborhood, bounded by the time window from Step 1. If the result is thin, it widens progressively rather than giving up.
The first pass is tightly scoped, matching facts inside the window. If too little comes back, Clarity widens the window, then drops the time bound entirely, then relaxes the wording match as a final safety net. This is why a narrow live question stays sharp while a sparse one still finds whatever evidence exists.
Step 5: Bridge cause and effect
When a question spans two sides that the neighborhood walk didn't directly connect (a cause and an effect) Clarity tries to find the chain between them.
It walks downstream from each cause along only the cause-and-effect links and keeps any path that lands on the effect side. If no such path exists, Clarity says so. It describes what it has and names the missing link instead of inventing one.
Step 6: Rank by confidence and freshness
The gathered facts are scored so the most trustworthy, most relevant ones lead the answer.
A fact's score blends how well-supported it is (its confidence and accumulated evidence) with how fresh it is, with recency mattering more for live questions and less for historical ones. Durable reference facts, the kind that don't go stale, are held to a floor so they never decay out of an answer just because they're old.
Step 7: Ground the assets and overlay prices
Before composing, Clarity makes sure any tickers it mentions are actually on-topic, then overlays live market data.
Each candidate ticker is scored against the question's topic and dropped if it's off-topic, so a question about one company doesn't drag in an unrelated ticker that happened to be nearby. Live prices are then overlaid for the surviving, relevant tickers, pulled fresh at question time and never stored as facts. Each organization also controls which asset domains (equities, tokens) Clarity may use, and a disabled domain never reaches the answer at all.
Step 8: Compose the answer
With evidence in hand, Clarity writes the reply in a single pass from the first well-supported evidence, running an extra deepening pass only when that evidence comes back thin — there is no always-on multi-round loop, so a well-covered question is answered directly and only a sparse one triggers more work:
Open with the investment thesis. The answer leads with the "so what" in plain language — what the evidence means for an investor and why it matters now — written to engage a retail reader rather than as a dry, source-by-source recap. For broad company questions that thesis carries an evidence-weighted stance such as constructive, neutral, cautious, mixed, or insufficient evidence.
Explain what happened and why it matters. Clarity draws the standout highlights out of the evidence and says why each matters, translating it into a decision frame while avoiding personalized buy/sell advice, target prices, or portfolio-specific suitability guidance. The thesis and every highlight are built only from retrieved evidence — engaging delivery never adds a fact the sources do not support.
Use only retrieved evidence. Factual statements must come from material Clarity returned for this question, never from open-ended recall.
Cite every material fact. Each number, date, and named event carries an inline citation back to the supporting source, so readers can open it.
Name evidence gaps. If Clarity has product evidence but no recent earnings evidence, it says so plainly instead of filling the gap from memory. A staleness indicator shows how recent the freshest source is.
Re-check before sending. After drafting, Clarity checks the answer back against the evidence it retrieved and drops — or turns into a stated gap — any claim it can't ground, so a well-written sentence can't smuggle an unsupported fact past the citation rule.
This is why a question like "What's up with Apple?" reads like a senior analyst brief: a plain-language investment thesis first, then recent catalysts, direct company evidence, connected global context, key risks, and any gaps Clarity can't support from current evidence.
The portfolio card
Most questions are typed in by hand. A card flips that around: the input is a portfolio rather than a question, covering its current holdings, any closed positions, a recent trade log, and an optional investor profile. The card hands that snapshot to Clarity as authoritative context and runs the same layered retrieval, then composes a fixed, scannable answer built to sit above the fold.
The portfolio is the question. Clarity reads the holdings, trades, and profile from the snapshot rather than guessing what's held. The trade log and closed positions are capped to the most recent so a long history can't crowd out current evidence.
Two sections come back. Market context covers what's moving the market right now and is holder-agnostic. Your positions ties that evidence to the specific holdings: concentration, sector tilt, and patterns visible in the trade history such as rotation or profit-taking, framed by the declared risk profile.
Same grounding as every answer. The card carries inline citations, a staleness indicator, and suggested follow-up questions, and like everything in Clarity it frames decisions without personalized buy/sell advice or price targets.
The exact holdings, trade, and profile shapes are documented in Portfolio context. The card and a conversational chat surface run on this same engine, covered in Integrate Clarity.
Advisor review and drafts
Every day, Clarity drafts a fresh individualized analysis for each active client: one portfolio-level card and a separate analysis for each position they hold. Each new draft is written with that client's analyses from the previous few days in view, so it reads as a continuing story — building on earlier observations and calling out what has changed — rather than starting cold each morning.
Clients see drafts immediately. A freshly drafted analysis is visible to the client right away, clearly marked as pending advisor review, so nothing is hidden while it waits.
Advisors review in the admin client view. A reviewer reads each draft, edits the wording where needed, and approves it. Approving removes the pending marker for the client.
Edits are preserved. When an advisor amends an analysis, that wording is what the client sees, and it is kept when the next day's draft is generated — the regeneration never overwrites an advisor's edit.
Unedited approvals re-draft daily. Approving without edits clears the marker for that day's text; the next regeneration produces a new draft to review again, keeping the client on the latest analysis.
Story threads behind the answer
Behind every answer, Clarity assembles a curated narrative from the same memory — not just prose and citations. The chat and card experiences use it to show the threads an answer rests on:
Story threads. The active narratives that touch the question or holdings, each with a short gist, whether it is still developing or has gone quiet, how much evidence backs it, and the main companies and people involved.
What developed. Within each thread, the sequence of events — and, where the evidence supports it, the direction of impact (positive, negative, or mixed) and a plain-language reason why one thing moved another.
What changed. Durable facts that have shifted — a new leader, a changed rating, a closed deal — shown with the window they apply to and a note when a new fact replaced earlier ones.
Sources. The articles behind those threads and changes, de-duplicated, so the narrative is traceable.
Chat, the portfolio card, and the per-stock view all draw this narrative from the same Clarity memory, so they tell a consistent story rather than each assembling their own. The per-stock view in particular previously leaned on recent news and a short written take; it now also surfaces these story threads and changes for the company. The narrative is a reader-facing view — it leaves out the internal scores and identifiers that operator tools expose.
Coverage States
Clarity degrades gracefully instead of refusing. Every answer carries one of four coverage states.
Full coverage: enough direct evidence exists to answer the question.
Partial coverage: Clarity has evidence for part of the question and names what is missing.
Adjacent coverage: Clarity has no direct evidence but can show related entities or themes that may help refine the question.
No coverage: Clarity has no usable evidence for the request.
Partial and adjacent coverage are intentional. They make evidence gaps visible, so teams can ingest better source material instead of receiving an unsupported answer.
Last updated