A small update.

X Open Source called it a first public contribution.

The note

On the evening of September 1, X Open Source wrote a short public note. They called what they had taken a small update. They used the phrase a first public contribution for a change based on pull request 55, now live on X.

Avatar for X Open Source

X Open Source

Today marks 2+ weeks of daily updates to the open-source X algorithm.

We've also integrated a first public contribution - a small update based on a Pull Request submitted to our GitHub repository, now live on X: https://github.com/xai-org/x-algorithm/pull/55

Thank you to everyone submitting PRs.

Snapshot, Wednesday evening, September 9, 2026, ET: about 5.42 million views, 2,112 likes, 186 reposts, 125 replies, 78 quotes, 267 bookmarks. The live post is the record. These numbers will move.

Timeline

Eastern Time.

  1. Pull request 55 opened: Stop VF hydrator from overwriting in-network verdicts with OON, by Pitchfork-and-Torch. +162 / −10 in one file.

  2. GitHub user x-open-source wrote: "Thank you for the PR. We've integrated a change to address this, and it's now live." They pointed at line 108 of vf_candidate_hydrator.rs in commit 6384ca7 and closed the pull request as completed.

  3. @XOpenSource posted the first-public-contribution note.

The collision

X's For You path runs Visibility Filtering on candidates. Posts from accounts you follow - in-network - use a gentler TimelineHome rule set. Posts from accounts you do not follow use TimelineHomeRecommendations, which adds hard Drop rules: high-precision NSFW, do-not-amplify, malicious URL, high-recall spam, and some NSFW-author drops that are only an interstitial in-network but a Drop out-of-network. A Drop is final. The filter removes that candidate.

The hydrator that applied those verdicts fetched in-network primaries as TimelineHome and fetched ancestors and quotes as TimelineHomeRecommendations. Then it merged the two maps so the later key won.

Thunder, the conversation builder, sets the ancestors of an in-network reply to the parent and the conversation root. When a parent post and a reply to it landed in the same batch, the parent tweet id sat in both maps. The later, out-of-network verdict overwrote the in-network one. A post from someone you follow could be hard-dropped as if it were a stranger's post.

This was a successful Visibility Filtering result applied at the wrong safety level. Not fail-open on a miss, and not missing labels. The wrong rulebook, on a post you already chose to follow.

How it was found

After X published the algorithm, Jon read the hydrator. The two Visibility Filtering maps and the later-key-wins merge are visible in the open code. Thunder's ancestor list on in-network replies is also in the open code. Put those together and the collision is obvious: a parent you follow, sitting in the same batch as a reply, could inherit the stranger rules. He opened pull request 55 that same night, August 14.

What changed

Jon's proposal was modest. Keep both maps. Look up a candidate only from the map that matches whether it is in-network. Ancestor and quote checks still use the Recommendations rules. A retweet's original tweet stays on TimelineHome.

The tests he added were specific. An in-network parent that is also a sibling reply's ancestor keeps the TimelineHome interstitial and is not overwritten by a Recommendations Drop. A true out-of-network primary still uses Recommendations.

X did not merge that pull request as written. They integrated a change based on it. The work lives in home-mixer/candidate_hydrators/vf_candidate_hydrator.rs. On September 1 they pointed at line 108 of that file in the live commit, thanked him, and closed the request as completed. Thirty-five minutes later, @XOpenSource called it a small update, and the first public contribution.

Questions

What is this page?
A record of the public note X Open Source posted on September 1, 2026. They called a change based on pull request 55 a first public contribution.
What was pull request 55?
It stopped the Visibility Filtering hydrator from overwriting in-network verdicts with out-of-network ones when the same tweet id sat in both maps.
Did X merge the pull request as written?
No. They integrated a change based on it, pointed at line 108 of vf_candidate_hydrator.rs, and closed the request as completed.
Was this the only contribution?
No. This page records one public note. X Open Source used the phrase a first public contribution. That is their wording, not a count of every pull request.
Are the view counts live?
No. The counts on this page are a snapshot from Wednesday evening, September 9, 2026, ET. The live post is the record.

Read the PR Read the post