The X Algorithm's August 2026 Update: What the New Code Actually Reveals

On 13 August 2026, X pushed two new commits to its open-source algorithm repo, and almost nobody noticed. Every guide out there is still quoting the January drop and those famous +75 and āˆ’369 weights, which were legacy numbers even then. This X algorithm update from August 2026 is the one that actually matters, because it open-sourced the half of the system X had kept quiet: the part that decides who gets suppressed, throttled, or actioned. Not the part that ranks your post. The part that decides whether your post is allowed to be seen at all.

I read the commits so you don't have to, though you can see them yourself at github.com/xai-org/x-algorithm. And what's in there is more useful than a year of "post consistently" advice, because for the first time you can read, in plain code, the exact mechanism behind a shadowban. There are three possible verdicts for every post you write. There's a spam rule that explains why your reach to strangers can collapse overnight while your own followers still see everything. And there's a multiplier that quietly punishes you for posting too much in a row.

What landed on 13 August 2026

Let's start with the facts, because a lot of coverage of this repo is written by people who've clearly never opened it. Two commits landed on 13 August 2026, roughly a quarter of an hour apart, at 17:09 and 17:23 UTC. Like every push to this repo, both carry the same generic message, "Open-source X Recommendation Algorithm," so the message tells you nothing. The diff tells you everything.

The larger of the two commits adds on the order of 360,000 lines. A lot of that is configuration, generated code, and model artefacts, so don't read too much into the raw number. What matters is what those lines represent: a new top-level directory called abuse-enforcement-service, a whole visibility-filtering component, the labeling and classifier systems, Phoenix model training code, and SimClusters retrieval, which is a candidate-sourcing method that longtime watchers will remember from the 2023 release. The README was rewritten too, roughly 350 lines added and 230 removed, and it now describes the system honestly for the first time.

There's one more thing worth flagging, because it's the part X will want to talk about. The release was paired with a transparency tool that shows users aggregate statistics about the labels applied to their own accounts and posts. That's the friendly, public face of what is otherwise a fairly blunt enforcement machine. Both things are true at once, and this piece covers both.

For context, this is only the fourth meaningful push to the repo: the January launch, two commits in May that added the runnable inference pipeline and the mini Phoenix model, and now August. A widely shared article in May mocked the repo for "sitting at one commit," and it wasn't wrong at the time. It's out of date now.

The algorithm now has two halves

Before August, the public story was a single flow: gather candidate posts, score them with a Grok-based transformer, rank, show. The new README splits the system into two paths that run on completely different clocks, and understanding that split is the key to everything else.

The first is the request path, and it runs the instant you open the app. The README describes a Post Pipeline that "finds, ranks and filters posts," wrapped by a Blending Pipeline that "adds what the model does not rank: ads, Who to Follow recommendations, prompts." This is the real-time part, the bit that has to answer in milliseconds when you pull to refresh. It's fast, and it's mostly what the earlier commits already covered.

The second is the labeling path, and this is the new material. It doesn't run when you open the app. It runs continuously, offline, in the background, all the time. It reads content as it's published, applies classifiers and rules, stores labels against posts and accounts, and feeds the visibility-filtering system that later decides what the request path is even allowed to show you. So by the time you load your feed, the judgements about your posts have already been made. The request path just enforces them.

Why does this matter to you, practically? Because it means your reach isn't decided in the moment you post. It's decided by labels that were attached to you and your content beforehand, sometimes based on your behaviour over days or weeks, not on the single post in front of the ranker. That reframes the whole game, and the rest of this article is about the machinery that does the labelling.

Visibility filtering: the shadowban, in code

Here's the section people have wanted for years. The visibility-filtering component "determines whether a post is shown to a viewer," and the README states plainly that for each post and viewer it returns one of exactly three answers.

ALLOW means show the post normally. INTERSTITIAL means show it, but behind a warning screen the viewer has to click through, the "this post may contain sensitive content" curtain you've seen. DROP means do not show it at all. That's it. Three outcomes, and the entire folklore of shadowbanning collapses into that one enum.

This is genuinely clarifying, because "shadowban" has always been a fuzzy word people reach for whenever their numbers dip. Now you can be precise. A DROP for a specific viewer or context is the closest thing to the classic shadowban, where your post exists but isn't distributed. An INTERSTITIAL is a softer penalty that tanks engagement without removing the post, because most people don't click through a warning. And crucially, these are decided per post and per viewer, not as a permanent flag on your account, which is why "am I shadowbanned?" is usually the wrong question. The right question is which of your posts are getting DROPPED, for which audiences, and why.

If your reach has fallen off and you want to check the account-level basics before assuming the worst, the Shadowban Check tool walks through the visible tests. It can't read X's internal labels, nothing outside X can, but it rules out the obvious causes so you're not guessing.

Why your reach can vanish while your followers still see you

This is the single most useful line in the entire August update, and I've not seen another article mention it. Some visibility rules, the README says, "drop a post only when it is a recommendation from an account the viewer does not follow," with spam caught at high recall given as the example. The same post "is allowed to a follower."

Read that again, because it explains a thing that has confused creators for years. You post something. Your regular followers see it, reply to it, tell you it's great. But your impressions crater and no new people find you. You assume you're imagining it, because clearly the post is live, your friends can see it. You're not imagining it. The system is doing exactly what the code describes: allowing the post to your followers while dropping it from the out-of-network recommendations that reach strangers.

The phrase "high recall" is the tell. In spam-filtering, high recall means the filter is tuned to catch as much bad content as possible, accepting that it'll wrongly catch some good content too. Applied only to out-of-network distribution, that's a sensible trade for X: a false positive doesn't hide your post from your audience, it just declines to push a maybe-spammy post to people who didn't ask for it. For you, though, it means the penalty for looking spammy is invisible from the inside. Your followers are a blindfold. They see you fine, so you never notice the front door to new reach quietly closing.

The takeaway is blunt. If your posts reach your followers but never seem to travel, stop assuming the content's the problem and start asking what about the post looks like spam to a high-recall filter: links, repetitive phrasing, hashtag stacks, engagement bait, a burst of near-identical posts. Any of those can trip the out-of-network drop while leaving your follower reach untouched.

Three down-ranking multipliers you can actually read

Beyond the allow-or-drop decision, the README now spells out three scoring multipliers that adjust how far a post travels. These aren't secret weights. They're described in words, and each one has a direct implication for how you post.

The first is Author Diversity: "each post after an author's first is multiplied by a decaying factor." In plain terms, if several of your posts are candidates for the same feed, the first gets full weight and each subsequent one is discounted. This is the algorithm actively preventing any single account from flooding a feed. It's also the code-level confirmation of advice I and others have given for years: posting ten times in an hour doesn't get you ten times the reach, it gets you one good shot and a series of discounted follow-ups. Space your posts out. The machine rewards it.

The second is the Out-of-Network Discount: "posts from accounts the viewer does not follow are multiplied by a factor below 1." Reaching strangers is inherently harder than reaching followers, by design and by a fixed handicap. This isn't a penalty on you specifically, it's a structural tax on all out-of-network content, and it's why a post that does modestly among your followers has to be genuinely good to break out to new people. Good enough to overcome a multiplier below one.

The third is the cheerful one. New-Author Boost: "posts from authors whose impressions are below a threshold are lifted." New and small accounts get a helping hand. If you're just starting, the system is tilted slightly in your favour to give you a chance to get seen, which is the opposite of the "the algorithm buries small accounts" complaint you'll read everywhere. It buries spammy accounts. It lifts new ones. Those are not the same thing, and conflating them has cost a lot of people a lot of wasted worry.

Meet the enforcement stack

The August commit named the services that do the labelling, and reading the list is like getting the org chart for X's immune system. I'll keep this quick, because the point isn't to memorise codenames, it's to understand that a lot of separate systems are watching, and most of them judge your account, not just your post.

grox runs as posts are published and classifies them for categories such as spam and adult content. scarecrow "applies label rules to events as they happen," and it runs on botmaker, described as the rule engine, "the language rules are written in, its compiler, and its runtime," with botmaker-rules holding the actual rules. So there's a real, compiled rule language sitting behind enforcement, not just a model spitting out vibes.

Then there are the account-level judges, and these are the ones to respect. agatha runs "offline batch jobs that label an account from how others respond to its posts," which means your reputation is partly built from how people react to you, not just what you say. user-cred-v2 "runs PageRank over the follow graph and engagement edges," so credibility is computed from who follows and engages with you, the same maths that ranked web pages twenty-five years ago. And there's a service with a genuinely unfortunate acronym, bdsm, whose job is to "read the sequence of actions an account takes over time to identify signs of inauthentic or abusive behaviour." That's the one watching for bot-like patterns: mass following, burst posting, the mechanical rhythms that automation leaves behind.

Sitting on top is the new abuse-enforcement-service, and the README is clear that it "acts on model scores about an account rather than on events." When those scores cross a line, the service "labels it or its posts, challenges it, or suspends it." The open-sourced code includes the actual rule files, enforcement_post.yaml and enforcement_user.yaml, and a client for routing enforcement actions through a central intake service. This is account-level punishment, driven by an accumulated score, and it's now sitting in a public repo for anyone to read.

What the August update means for how you post

Enough architecture. Here's what actually changes about your behaviour, given what the code now says.

Stop thinking about single posts and start thinking about your account's standing. The labeling path judges you over time, agatha and bdsm and user-cred-v2 all build a picture of your account across days and weeks, and the enforcement service acts on that accumulated picture. One good post won't rescue a spammy pattern, and one weak post won't sink a healthy account. Consistency of behaviour, not just posting, is what you're managing now.

Space your posts out, because Author Diversity is a real multiplier and burst-posting genuinely discounts your own later posts. If you tend to write in sprints, draft in a sprint and then schedule the posts across the week rather than firing them all at once. A queue does this for you, and a spare five minutes with the Best Time to Post tool will give you sensible slots to spread them into.

Treat "my followers can see it, so it's fine" as a trap, not reassurance. The high-recall out-of-network drop means the penalty for looking spammy is invisible from inside your own account. So audit your posts for the things that trip spam filters, external links in the main post, hashtag stacks, repetitive templated phrasing, and engagement bait, even when your followers seem happy. And measure reach to new people specifically, not just total engagement, because that's where suppression hides. The Engagement Rate Calculator helps you track the trend week to week rather than panicking over one post.

If you're new or small, take the New-Author Boost as permission to start now. The system is briefly tilted in your favour while your impressions are low, and that window closes as you grow. And whatever your size, the fastest way to a bad account score is to behave like a bot, so anything that automates follows, DMs, or engagement is playing directly into the hands of the exact services the August update just documented. The rest of X's free tools are built around doing the human parts well rather than automating them badly, which is the right side of this line to be on.

What the update still doesn't tell us

Now the honest part, because a piece that only breathlessly hypes an update isn't worth reading. The August commit reveals a lot, but there are real limits, and pretending otherwise would make everything above less trustworthy.

The exact weights are still missing. The README describes the scoring formula and names the multipliers, but the specific learned values the production Phoenix model uses are not published, which a critical article rightly pointed out back in May. You can see that Author Diversity applies a decaying factor. You cannot see the number. So anyone selling you a tactic "calibrated to the exact 2026 weights" is still guessing.

The thresholds are undisclosed too. New-Author Boost lifts accounts "below a threshold," the enforcement service acts when scores "cross a line," and none of those cutoffs are given. The rule files are open, but the tuning behind them isn't. And this is a code snapshot, not a live feed: it shows the architecture as of 13 August 2026, not what's running in production this second, and X has already changed direction between drops. Treat it as a reliable map of how the system works, not a real-time readout of your account.

None of that undermines the value here. Knowing the shape of the machine, three visibility outcomes, an out-of-network spam drop, account-level enforcement built from behaviour over time, tells you far more than a leaked number ever would. The mechanism is the insight. The exact constants are just trivia you couldn't act on anyway.

Frequently asked questions

What changed in the X algorithm in August 2026?

On 13 August 2026, X pushed two commits to its open-source repo that added the enforcement and labeling half of the system. The big additions were a visibility-filtering component that decides whether each post is shown, a new abuse-enforcement-service that acts on account-level scores, the classifier and rule-engine services behind them, Phoenix model training code, and SimClusters retrieval. The README was rewritten to describe a two-path system, and the release was paired with a transparency tool showing users the labels applied to their accounts. You can read it all at github.com/xai-org/x-algorithm.

Does the X algorithm code prove shadowbanning is real?

It proves a mechanism exists that produces the effect people call shadowbanning. The visibility-filtering system returns one of three verdicts per post and viewer: ALLOW, INTERSTITIAL, or DROP. A DROP means the post isn't shown, which is a shadowban in everything but name. What the code doesn't do is confirm your specific account is being suppressed, since the decisions are made per post and per viewer using internal labels no external tool can read. So the mechanism is real, but "am I shadowbanned?" is still the wrong question. Ask which posts are getting dropped, and for whom.

Why do my followers see my posts but nobody new does?

Because of a rule the August update made public. Some spam filters drop a post only when it's a recommendation to someone who doesn't follow you, while allowing the same post to your actual followers. It's called high-recall filtering, and it means a post that looks even slightly spammy can be quietly withheld from strangers while your followers see it normally. Your followers become a blindfold that hides the penalty. If this is happening, audit your posts for links, hashtag stacks, repetitive phrasing, and engagement bait, which are the usual triggers.

Does posting more often help or hurt on X in 2026?

Past a point, it hurts, and the code now says so. The Author Diversity multiplier discounts each of your posts after the first when they compete for the same feed, so burst-posting devalues your own later posts. Spreading posts across the day beats dumping them together. For most accounts, one to three well-spaced posts a day plus genuine replies is the sustainable range. Volume for its own sake runs straight into a multiplier designed to stop any single account flooding feeds.

Do new or small X accounts get suppressed by the algorithm?

No, the opposite. The August README documents a New-Author Boost that lifts posts from accounts whose impressions are below a threshold. New and small accounts get a temporary tailwind to help them get seen, and that advantage fades as you grow. What does get suppressed is spammy or bot-like behaviour, which is a different thing that people often mistake for anti-small-account bias. If you're starting out, the system is briefly on your side, so post now rather than waiting.

Are the exact X algorithm ranking weights public now?

No. The code names the scoring formula and describes the multipliers in words, but the specific learned weights the production model uses are still not published, and neither are the thresholds for boosts or enforcement. This was a fair criticism of the earlier drops and it remains true after August. Anyone claiming to optimise for the exact current weights is guessing. The value in the repo is the mechanism, not the missing constants.

X (Twitter) Algorithm Update: The August 2026 Commits Explained | Xpert