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. It was the first public contribution they had put into the live recommendation path.
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 morning, September 2, 2026, ET: about 2.87 million views, 1,573 likes, 143 reposts, 101 replies, 54 quotes, 196 bookmarks. The live post is the record. These numbers will move.
Timeline
Eastern Time.
-
Pull request 55 opened: Stop VF hydrator from overwriting in-network verdicts with OON, by Pitchfork-and-Torch. +162 / −10 in one file.
-
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.rsin commit 6384ca7 and closed the pull request as completed. -
@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.