On 13 August 2026, xAI’s public repository github.com/xai-org/x-algorithm got a large, dated README update. The project is labeled plainly: the code that decides which posts a viewer sees in X’s For You feed. Apache License 2.0. Org: xai-org. That is the news — not a mysterious dump, not a “someone left the door open” story.

X’s VP of Product, Keith Coleman, told TechCrunch the same day that this expansion includes ranking parameters, filters, and core ranking-system detail, and that the codebase is roughly 10 to 15 times larger than the earlier public slice. He framed it as something people would be “fairly shocked” X would release. Shock is marketing. The repo is the artifact.

What happened

The repository has existed since 19 January 2026. Thursday’s note is an expansion of what is inside it, not the first commit. README’s “Latest update — August 13th, 2026” lists four concrete additions:

  • Configuration parameters, including weights that blend predicted user actions into a post score (home-mixer/params/param.rs).
  • Code for systems that decide whether a post is filtered from For You.
  • Phoenix training and serving code plus synthetic data, replacing a demonstration model so outsiders can run a proof-of-concept training run.
  • SimClusters as another out-of-network candidate source, alongside Thunder (follows) and Phoenix retrieval.

The pipeline the README draws is ordinary recommender architecture, written down: hydrate the viewer (recent engagements, follows, blocks, mutes, already-seen posts) → pull candidates in parallel (in-network Thunder; out-of-network Phoenix + SimClusters) → hydrate posts → pre-scoring filters (age over 48 hours, self-posts, mutes, duplicates, and so on) → Phoenix scores action probabilities → a weighted ranker plus diversity/out-of-network tweaks → top-K → visibility filtering can still drop a post after the order is set → ads and Who to Follow are blended in a separate stage the model does not rank.

Two design claims in the same file matter more than the diagram. Ranking and visibility are separate services. The transformer predicts many actions, not one “relevance” number; combining those probabilities into a score is an explicit weighted sum. Negative actions (reports, “not interested”) sit in that arithmetic as negative weights. That is how a high-engagement post can still be demoted or dropped.

Was it a mistake?

No. The README is an announcement. Coleman’s interview is an announcement. X is pairing the code with a pilot Under the Hood tool (x.com/i/under_the_hood) so people who post enough can download aggregate stats on visibility-impacting labels on their account and posts. TechCrunch reports a JSON export for accounts with 10+ posts in the past month, initially a test group of accounts at least a year old. The repo even ships jobs under under-the-hood/.

The political word is “shadowban.” X’s internal term in this release is visibility filtering: show, drop, or put behind an interstitial, driven by labels from other systems (rules, account-scoring models, media models, enforcement). Publishing that path is the transparency claim. It does not prove the live feed is a level playing field. It proves X wants the argument to happen against code, not against screenshots of a missing like count.

Coleman told TechCrunch outside researchers previewed the codebase and trained/ran the Phoenix scoring system themselves. TechCrunch later clarified they did not get the production per-post score. That correction is the right size of claim: you can inspect and, in places, run scoring code. You are not handed X’s live For You as a laptop app.

What is shared — and what is not

In the repo (per README): candidate sources, home-mixer filters, ranking scorer arithmetic, visibility-filtering rules registry, labeling-path services named in the update (including botmaker, scarecrow, account-scoring and media-model packages), Phoenix train/serve plus synthetic data, SimClusters, Under the Hood serving code, Apache 2.0. Cron is described as copying primary production defaults into param.rs so notable experiments (they give “10% or more of traffic” as an example) can show up in public.

Held back (README + Coleman): Grox LLM prompt files; some botmaker rules; systems that use Grok to predict whether a post may violate rules — withheld, they say, so people cannot reverse-engineer spam and policy evasion. Deployment glue (xai_service_runner, Kafka wrappers) is not the point of the dump. Experiments on small slices of traffic may not be in the tree yet.

That split is the honest product: more of the ranker and the filter machinery than in 2023-style “here is a diagram.” Still not a full audit of every model that can silently suppress a post. If you treat GitHub as a complete copy of production, you will over-read every param and miss every withheld prompt.

What it means if you just use For You

You will not wake up to a different timeline because a README landed. The feed still optimizes predicted actions on your recent history, still mixes people you follow with people you do not, still drops posts for age, mutes, blocks, and visibility labels. Ads still insert after ranking.

Fairer? Auditable is not the same as fair. Public weights let critics argue that replies are over-weighted or that out-of-network discounting buries small accounts. They do not automatically rebalance politics or “fix” reach. X says it will look at pull requests. Incorporation is optional.

Spam and gaming? Opening ranker math always helps people who already try to farm For You. X’s answer is to keep Grok-based violation predictors and some rules closed. Whether that is enough is an empirical question after 13 August, not a slogan in the README.

Visibility / “shadowban”? The practical new object is the label report plus the filter code. If Under the Hood shows a label, you can try to match it to visibility-filtering/ and see whether the effect is drop, interstitial, or something narrower. If the tool shows nothing, that is not proof you were never downranked — ranking can bury you without a visibility drop. Ranking vs filtering is the sentence to keep.

Unknown

  • How fast param.rs actually tracks production when experiments are small or when defaults lag the live mixer.
  • Whether PRs from outside X ever land in the live ranker in a way users can verify.
  • How complete the public label allowlist is versus labels the platform applies but does not display.

Our take

This is a real transparency increment: weights, visibility code, and a user-facing label dump beat a press line about “open algorithms.” It is not a confession, not a leak, and not a promise that For You is now a public utility. Read the repo as X’s offered map of ranking versus filtering. Use Under the Hood for labels. Do not confuse either with a full, real-time copy of what you were shown this morning.

Sources