X drops 665 Brazilian candidate accounts out of For You, and corrects how its new weights are being read
A day after publishing its ranking weights, X added a second dated update to the repo's README. The larger half of it is a country-specific change to who gets recommended.
From 16th August, Brazilian electoral law requires providers that run recommendation systems to exclude the official accounts of candidates registered with the Electoral Court, and those accounts' posts, from their recommendations. X says it is complying, and For You now runs a filter named Brazil2026ElectionFilter.
One word in the English README is worth reading carefully. It describes accounts "reported to Brazil's Electoral Court", which means declared to it in the candidate registry, not reported by users for misconduct. X's own Portuguese announcement is the clearer statement: these are the official accounts of registered candidates, and the measure is compliance with Resolution 23.610/2019 rather than a sanction or a change to X's own rules.
The code names every account. A hardcoded list of 665 user IDs, each annotated with its username, is checked against the author of every candidate post, and a post is dropped unless the viewer explicitly follows that account. The filter also catches reposts and quotes of a listed account, and replies whose conversation thread reaches one.
X is explicit that the accounts are not suspended and their content stays on their profiles, and equally explicit that the change will affect the visibility and reach of those profiles and their posts. The legal text quoted in the code carries one carve-out that marketers should note: the exclusion applies "except in cases of paid boosting".
The second half of the update answers something that happened to X within a day of the weights going public. Reading the published numbers as if a report cancels out a fixed number of likes spread quickly, and X has now written the rebuttal into the code itself.
The weights multiply predicted probabilities, not engagement tallies. As the new comment in the scoring code puts it, "the weights do not multiply raw engagement counts", so treating the ratio between two weights as a count equivalence is wrong.
The README is blunter about the specific claim, calling "1 report cancels out 468 likes" incorrect. It adds that the weights are "a multiple on your own predicted probability of Liking, Reporting, etc, which is substantially driven by your own behavior".
The comment also explains why the report weight is large in the first place: "the baseline probability of a Report is more than 1000x lower than a Like", so it has to be weighted up before the prediction can move the ranking at all.
That leads into the claim most likely to matter to anyone managing an account, that coordinated mass reporting or blocking can bury reach. X gives two reasons it does not work that way. Recommendations are personalised, so "reports from bad actors will primarily affect recommendations for users who are similar to the bad actors" rather than suppressing the post for everyone.
The second reason is narrower and more concrete. An action only counts in the recommendation system if it happens on a post that was served in the Home Timeline, so "directly navigating to a post (i.e., coordinating via groupchat) has no ranking impact", and a group cannot reliably make a target post appear in their own timelines to begin with.
X says it added the comments "so that LLMs or people reading it are more likely to understand it correctly", which is a fair description of what open-sourcing a ranking system now costs it. On the Brazil filter it makes the opposite point in its favour: "A benefit of open-source is that you can see that changes like this exist, and exactly how they work".