Ranking orders posts. Visibility decides if a post can be shown at all.
X's redesigned For You feed treats ranking and visibility as two separate systems. A ten-stage pipeline runs candidates from Thunder (in-network) and Phoenix retrieval/SimClusters (out-of-network) through the Phoenix Scorer, whose predictions RankingScorer combines with 19 published signal weights — from copy-link share (+20.0) down to report (-234.0) — into a single utility score. Four post-scoring adjustments (author-diversity decay, an out-of-network discount, cold-start boosts, and dwell-regret modeling) correct that score before VMRanker's Top-K selection. Only then does a categorically separate visibility-filtering gate decide Allow, Interstitial, or Drop — so a high-ranked post can still be hidden. Six scenario guides trace what this means in practice for a high-frequency poster, a new account, an out-of-network-reliant account, a conversation-builder, an account recovering from negative feedback, and anyone trying to stay clear of the visibility gate.
X's For You feed treats ranking and visibility as two separate systems: ranking orders candidate posts by predicted multi-action utility, while visibility categorically decides whether a post may be shown at all — so a high-ranked post can still be dropped.
Candidate sources branch into two pathways at step 3: Thunder retrieves recent posts from accounts you follow (in-network), while Phoenix retrieval plus SimClusters surfaces recommended posts from accounts you don't follow (out-of-network).
RankingScorer's final score approximates the sum, over every predicted action, of a published weight times the Phoenix Scorer's predicted probability of that action — engagement and attention signals add to the score, negative-feedback signals subtract heavily.
Before Top-K selection, scores are corrected by author-diversity/repeated-author decay, an out-of-network discount, cold-start boosts for new or low-impression authors, and optional dwell-regret modeling.
Visibility filtering runs on separate inputs — botmaker/scarecrow labels, credibility signals, blocks and mutes, protected/suspended/deactivated status, subscriber-only rules, and viewer settings/country — and outputs Allow, Interstitial, or Drop, independent of how highly a post ranked.
The combined pipeline optimizes for predicted multi-action utility — especially conversation, sharing, follows, and strong attention — while heavily penalizing negative feedback, repetition, and visibility-risk content.
The ten-stage pipeline from feed request to ranked timeline, as depicted in the cheat-sheet.
Phoenix Scorer's ML-predicted action categories feed RankingScorer's published weighted-sum formula: final score ≈ Σ(weight_i × P(action_i)), normalized so net-negative posts rank below all net-positive posts.
VQV is used by the source without expanding the acronym; likely an attention/view-quality metric.
A transformer model producing ML predictions across five signal families: Engagement (favorite, reply, repost, quote, share, DM share, copy-link share), Clicks (post click, profile click, link open, photo expand, video open), Attention (VQV, dwell, dwell time, active seconds), Author (follow author), and Negative (not interested, mute, block, report, not dwelled). Scores each candidate independently — candidate isolation.
Combines Phoenix Scorer's predicted probabilities with published per-action weights into a final score ≈ Σ(weight_i × P(action_i)); after the weighted sum, normalization keeps net-negative posts below all net-positive posts.
Performs the final Top-K selection pass on RankingScorer's adjusted scores before visibility filtering.
New or low-impression authors can receive temporary score lift toward target positions; low-impression and new-user variants exist.
Recommended posts from accounts the viewer doesn't follow receive a multiplicative discount on their score.
Later posts from the same author in a session are multiplied down; factor = (1 − floor) × decay^k + floor.
Optional refinements used to reduce long-term regret from showing low-quality or disengaging posts.
A stage separate from ranking: inputs are evaluated and the post is categorically Allowed, shown Interstitial (behind a warning screen), or Dropped (not shown). A high-ranked post can still be dropped.
Because OON posts are discounted.
Repeated-author decay punishes bursts.
Not interested, mutes, blocks, and especially reports crush score.
Spammy or unsafe content may never surface.
Six recurring X usage patterns, each mapped to the specific scorer weights, post-scoring adjustments, and visibility inputs from the cheat-sheet that determine its outcome.
How an account can rank well under RankingScorer and still be Dropped or shown Interstitial — and what determines which outcome applies.
How an account whose pattern is replying and quoting into other people's threads, rather than posting original content, accrues score under RankingScorer.
How a newly created or low-follower account can use the cold-start boost window and mutual-follow signals before it expires.
How an account whose growth depends on reaching people who don't already follow it can offset the ≈0.75 out-of-network discount.
How an account whose recent posts triggered reports, blocks, or mutes can read the damage and rebuild, given how severely those signals subtract from score.
How someone who posts many times a day should pace their posting so repeated-author decay doesn't quietly suppress their own later posts.
Author of the Artificial Cognition trilogy; writes on Quaternion Process Theory, artificial intuition/fluency/empathy, and generative/agentic AI patterns.
Interactive graph visualization derived from the companion RDF. Click nodes to resolve, drag to explore. Graph data embedded from companion RDF at generation time.
Query this knowledge graph on URIBurner. The editor opens on the canonical SAMPLE entity-type summary (DAV named graph). Pick a recipe, edit freely, then run live or copy.
Ranking and visibility are separate systems: ranking orders posts by predicted utility, while visibility decides whether a post can be shown at all.
Ranking (steps 6-8) scores and orders candidates using RankingScorer's weighted-sum formula. Visibility filtering (step 9) is a categorical downstream gate on separate inputs (labels, blocks, status, viewer settings) that outputs Allow, Interstitial, or Drop regardless of rank.
Thunder retrieves recent posts from accounts you follow (in-network); Phoenix retrieval plus SimClusters retrieves recommended posts from accounts you don't follow (out-of-network).
Thunder is the in-network candidate-source component that retrieves recent posts from accounts the viewer follows.
They are the out-of-network candidate-source components that surface recommended posts from accounts the viewer doesn't follow.
It is a transformer model that predicts, for each candidate post independently (candidate isolation), the probability of every relevant action across five signal families: Engagement, Clicks, Attention, Author, and Negative.
Engagement (favorite, reply, repost, quote, share, DM share, copy-link share), Clicks (post click, profile click, link open, photo expand, video open), Attention (VQV, dwell, dwell time, active seconds), Author (follow author), and Negative (not interested, mute, block, report, not dwelled).
Final score ≈ the sum over all predicted actions of (published weight × Phoenix Scorer's predicted probability of that action); after the weighted sum, normalization keeps net-negative posts below all net-positive posts.
Copy-link share is the highest published positive weight at +20.0. Report is the harshest published negative weight at -234.0.
It multiplies down later posts from the same author in a session, using factor = (1 − floor) × decay^k + floor, with published defaults decay 0.5 and floor 0.25.
Recommended (out-of-network) posts from accounts you don't follow receive a discount of approximately 0.75 by default.
They give new or low-impression authors temporary lift toward target positions, with separate low-impression and new-user variants, so their posts aren't permanently buried by lack of engagement history.
Allow (show normally), Interstitial (show behind a warning screen), and Drop (do not show).
Yes — the cheat-sheet states explicitly that a high-ranked post can still be dropped, because visibility filtering is a separate, categorical gate applied independently of rank.
Driving replies, quotes, and shares early is listed first among the eight reach-boosting tactics.
Copy-link share carries the highest published positive RankingScorer weight (+20.0) of any signal, even though it occurs infrequently compared with likes or replies.
Repeated-author decay punishes bursts of posts from the same author within a session, multiplying down later posts' scores.
Report (-234.0), mute author (-58.8), and block author (-31.2) carry the largest published negative weights; not interested is -43.2 and not dwelled is a smaller -0.02.
The xAI open-source repository xai-org/x-algorithm, described as the August 2026 configuration release.
Carlos E. Perez (@IntuitMachine) posted it on X at 5:38 AM on August 14, 2026, captioned 'Made with AI'.
Not according to this cheat-sheet. Its published signal table contains no negative weight, post-scoring adjustment, or visibility-filtering input tied to a post containing an external or off-platform link — the only two link-related signals shown are both positive: open link (+0.2) and copy-link share (+20.0, the single highest-weighted signal in the table). An 'external links get suppressed' penalty is a long-circulated claim about X/Twitter, but it is not something this particular source documents; treat it as unconfirmed by this cheat-sheet rather than as a mechanism it describes.
The ten-stage pipeline from feed request to ranked timeline, as depicted in the cheat-sheet.
The client requests the For You timeline, initiating the pipeline.
The system hydrates the request with recent engagements, follows, blocks, mutes, keywords, seen posts, and topics.
Candidates are generated from two branches: Thunder for in-network recent posts from followed accounts, and Phoenix retrieval plus SimClusters for out-of-network recommended posts from unfollowed accounts.
Each candidate post is hydrated with post text, media, author details, language, and engagement counts.
Filters remove duplicates, posts older than 48 hours, self-posts, muted/blocked authors, already-seen posts, inaccessible posts, and subscription-only posts the viewer cannot see.
The Phoenix Scorer transformer model predicts the probability of every candidate action for each candidate post, independently of every other candidate (candidate isolation).
RankingScorer combines Phoenix Scorer's predicted probabilities with published weights into a final score, then applies post-scoring adjustments (author diversity decay, out-of-network discount, cold-start boosts, optional dwell-regret modeling).
VMRanker performs a final selection pass, choosing the top-K ranked candidates to advance.
A separate visibility-filtering stage evaluates botmaker/scarecrow labels, credibility signals, blocks/mutes, protected/suspended/deactivated status, subscriber-only rules, and viewer settings, and outputs Allow, Interstitial, or Drop — independent of rank.
Posts that passed visibility filtering are delivered as the ranked For You timeline.
How an account whose pattern is replying and quoting into other people's threads, rather than posting original content, accrues score under RankingScorer.
Reply carries a base +5.0 weight, comparable to quote (+5.0) and DM share (+5.0) — a conversation-heavy posting pattern is competing on the same signal tier as original-content sharing, not a lesser one.
The mutual-follow reply bonus (+15.0 on top of the base +5.0) means replying inside an existing mutual relationship scores nearly as high as the single best positive signal, copy-link share — a conversation-builder's most efficient move is deepening existing mutuals, not maximizing reply count to strangers.
Repeated-author decay applies per session regardless of whether the posts are original content or replies — a burst of many replies in one sitting still multiplies down the later ones, so a conversation-heavy pattern benefits from spacing replies the same way a broadcast-heavy pattern spaces original posts.
How a newly created or low-follower account can use the cold-start boost window and mutual-follow signals before it expires.
New or low-impression authors get a temporary score lift toward target positions from the cold-start boost — this is a time-limited subsidy against the out-of-network discount (≈0.75) that would otherwise apply to your posts reaching non-followers, not a permanent advantage.
Follow author (+4.0) is one of the few positive signals that structurally changes your future in-network reach for that viewer — use the cold-start window to earn follows, not just one-off likes, since likes don't change which candidate-source branch (Thunder vs. Phoenix retrieval) future posts travel through.
A reply that lands inside a mutual-follow relationship carries a +15.0 bonus on top of the base +5.0 reply weight — replying to accounts that follow you back (or that you can prompt to follow back) is a disproportionately efficient way to build score history while the cold-start subsidy is still active.
How someone who posts many times a day should pace their posting so repeated-author decay doesn't quietly suppress their own later posts.
Every additional post you publish in the same session is multiplied down by factor = (1 − floor) × decay^k + floor, with published defaults decay 0.5 and floor 0.25 — so your 4th or 5th post of a burst is competing at a structural disadvantage against your 1st, regardless of its own quality.
Because the floor is 0.25 rather than 0, decay never fully zeroes out a post's score — but spreading posts across separate sessions avoids stacking multiple posts against each other's k exponent in the same window.
Since only the decayed score competes for Top-K, put your strongest hook — the post most likely to earn a copy-link share (+20.0) or a reply (+5.0) — first in a posting burst, not buried behind three lower-value posts absorbing the same decay penalty.
How an account whose growth depends on reaching people who don't already follow it can offset the ≈0.75 out-of-network discount.
Posts surfaced via Phoenix retrieval and SimClusters to people who don't follow you enter RankingScorer already carrying a default ≈0.75 multiplicative discount versus an equivalent in-network (Thunder-sourced) post — the discount, not the ranking formula itself, is what an OON-reliant account needs to overcome.
Because the discount is multiplicative, the raw pre-discount score matters more for OON candidates: content engineered to earn copy-link shares (+20.0) or shares (+2.0) clears the ≈0.75 penalty more reliably than content that only earns favorites (+0.5) or clicks (+0.4).
SimClusters-sourced discovery depends on the Phoenix Scorer's attention signals accruing after the click — continuous dwell (+0.004 per unit) is small per-instance but compounds across a longer read or watch, so content that holds attention after the OON click helps offset the discount over the post's lifetime.
How an account whose recent posts triggered reports, blocks, or mutes can read the damage and rebuild, given how severely those signals subtract from score.
The five negative signals are not equally severe: report is -234.0, mute author is -58.8, block author is -31.2, not interested is -43.2, and not dwelled is a comparatively minor -0.02 — a post suppressed by a handful of reports has taken a far deeper hit than one that mostly earned skipped dwells.
Because Phoenix Scorer applies candidate isolation, each post is scored independently — a report-heavy post is pushed below net-positive posts by RankingScorer's normalization, but it does not retroactively alter the already-computed scores of the account's other, unrelated posts.
Recovery isn't a special mechanism in the pipeline — it's simply future posts earning enough weighted positive signal (copy-link share, replies, mutual-follow replies) to be judged on their own merits again, since RankingScorer scores each new candidate on its own predicted probabilities, not on a decaying account-level penalty.
How an account can rank well under RankingScorer and still be Dropped or shown Interstitial — and what determines which outcome applies.
Visibility filtering runs after ranking on an entirely different input set — botmaker/scarecrow labels, credibility signals, blocks and mutes, protected/suspended/deactivated status, subscriber-only rules, and viewer settings/country — none of which are RankingScorer weights, so no amount of positive-signal optimization compensates for tripping one of these inputs.
The gate outputs exactly one of three outcomes per post: Allow (shown normally), Interstitial (shown behind a warning screen), or Drop (not shown) — a post can be the highest-ranked candidate in someone's pre-scoring pool and still receive Interstitial or Drop if it trips a visibility input.
Protected, suspended, or deactivated status and subscriber-only rules are account-level and setting-level inputs, not content-level ones — an otherwise well-ranked post can still be filtered out purely because of the posting account's status or the viewer's own settings and country, independent of anything in the post itself.