Discourse opportunity
The discourse opportunity is the card at the center of Today. It answers a single question. Given everything Sadie knows about you, and everything it is watching in live discourse, where do you belong in the conversation right now?
Three a day, at most. Editorial and selective. Not an infinite feed.
What a card contains
Section titled “What a card contains”Each opportunity is structured, not a prose blurb:
- Title and summary. What the topic is, in one line.
- Why now. Why this conversation is live at this specific moment. Which feed items or clusters triggered it.
- Why you. Why you, given your Soul and wiki, are positioned to contribute. Grounded in specific entries and voice evidence.
- Who’s talking. A few voices already in the discourse, with handles, stances, and sample quotes so you can see the room before you enter it.
- Three to five candidate angles. Each angle carries a confidence score, an optional engagement score, and a top critique (the single most useful refinement to consider). These are things you could plausibly say, not things Sadie is posting for you.
Cards also carry relatedWikiIds, sourceFeedItemIds, a Clay accent color, and a rank within Today’s three slots.
LLM-generated live cards are provenance-gated before they are saved. A live card must cite at least one feed item Sadie actually included in the prompt, add fresh cited evidence if an earlier accepted live card already used the same feed items, name a cited live voice or theme in whyNow, reuse concrete cited feed-body language in whyNow, connect whyYou to a specific wiki/Soul/source/calibration signal, carry a concrete whatsMissing observation, ground at least one surviving visible angle in concrete language from the cited feed body, make at least one surviving visible angle answer whatsMissing, connect at least one surviving visible angle text back to the user’s memory, keep “who’s talking” stance/quote evidence tied to cited source language, avoid known template angles, avoid recycling posts you already made, avoid replaying recent saved or filed Today wins, and avoid prompt/model caveats like “as an AI” or “based on the provided feed items.” Invalid IDs are stripped; missing “who’s talking” rows are rebuilt from the cited feed items.
The Today UI also renders a compact “Why Sadie believes this” panel. It is derived from existing card data: cited voices and source links, wiki/topic anchors, the strongest available angle quality scores, and, when observed posts exist, the compact posting-calibration lesson from past outcomes. That keeps the evidence trail visible without asking the model to invent another explanation field.
When you record manually posted angles and add observed engagement, future generation uses those outcomes as calibration evidence. Sadie sees which angle shapes landed, which high-predicted ideas underperformed, and feature-level patterns like specificity, filler, question shape, and length. Clear outcomes also become Soul learning signals, so repeated audience lessons can move from a one-off post into durable preference memory. Sadie uses those lessons to shape new candidates while preserving the rule that you post manually; copied old-post text is stripped before a card can be saved and is not replayed in the trust panel.
From Today, the inline “I posted this” action records the text you drafted in the card when present, falling back to Sadie’s suggested angle only when the draft box is empty. That keeps calibration attached to what you actually shipped.
Status lifecycle
Section titled “Status lifecycle”active, saved, dismissed, or expired. Active cards show on Today. Saved cards persist for you to return to. Dismissed cards feed the preference engine. The reason you dismissed (for example wrong_audience or stale_topic) becomes substance-tier evidence that sharpens the next batch.
If you open a Today card in Studio and later file the draft to Sources, Sadie records that filed draft as positive discourse feedback too. The next Today refresh can see a short excerpt of what you chose to keep, while the filed source feeds the longer wiki compiler loop. Those excerpts are examples, not reusable copy: near-duplicate angles are stripped before a new card can be saved.
active -> saved kept for later -> dismissed reason feeds the preference engine -> expired fell off the window without actionWhy three
Section titled “Why three”Today is meant to feel like a short read, not a scroll. The intent is a handful of high-conviction moments you could act on, not a trending topics dump. Generation is policy-gated by a minimum confidence threshold so that on a quiet day you might see only one or two cards rather than three low-conviction ones.
The three-per-session ceiling is designed to force editorial selection at the compiler level.
See also
Section titled “See also”- Feed for the raw signal
- Brief for adjacent time-boxed synthesis
- Today surface for the reading experience