Anyone reading the repo can verify this list. We've cross-referenced every claim against the technical breakdown.
Everything that tells creators what to do or not do is named explicitly:
report, not_dwelled, block_author, mute_author, not_interested — prominently named, with their own slots in the prediction proto.Every value an auditor would need to verify the system is missing:
params.rs file is absent. Without it, none of the 22 named actions has a magnitude. The system cannot be run.TopicOonWeightFactor exists as a knob. The actual topic lists and their values do not ship.xai_* Rust crates. The whole dependency tree. No Cargo.toml exists. You cannot build it.grox.config, grox.lm, grox.prompts, grok_sampler, monitor, strato_http — all referenced, none included.The kindest read on what's missing is engineering pragmatism: contracts with ad partners, employee privacy in tracked configs, GPU-bound model weights too large to host. All real constraints. None of them explain the clustering of the omissions.
The published surface tells creators what to do. The withheld surface contains every value that would let someone check whether the system actually does what it says. If the cuts were random — some weights here, some retrieval ratios there, a few classifier prompts elsewhere — pragmatism would be a plausible story. The cuts are not random. They are categorical.
The 22 actions don't have to be named at this level of granularity to make the code work. The score fields could be opaque indices. They are not — they are favorite_score, reply_score, report_score, not_dwelled_score. The names are doing work. The names are the announcement. They tell creators what counts even when the weight is hidden.
Four months after the rewrite, the top-level README still describes the three-scorer system from January. The repo's outermost layer of documentation has not been updated. The architectural changes — RankingScorer, VMRanker, BlenderSelector, Grox — are discoverable only by reading the source. The release ships, the announcement happens, the README stays stale.
No Cargo.toml. No internal Rust crates. No Grox internals. The mini Phoenix model is a sports-only toy. A third party cannot stand up a comparable system from what was published. That is not a side effect — it is the entire integration surface, withheld.
Read as a transparency document, the release fails — it conceals the values that determine behavior. Read as a behavior-modification document, it succeeds beautifully. Three effects, all working as designed:
Every creator who reads "not_dwelled is now a penalty" rewrites their hook. Every creator who reads "cont_click_dwell_time" starts front-loading payoff. Every creator who reads "report is a scored action" gets quieter about spicy takes. The publication of the action list is a coordination signal for the entire creator economy. Within a week, posting patterns will shift in the direction the named signals point.
"The only open-source social media algorithm" is a brand. The fact that the repo doesn't build, the model is a toy, and every weight is missing does not impair the brand — the brand needs only the gesture of openness, not the substance. Most coverage will report the release on its terms. Few outlets will note that nothing in it can be reproduced.
Regulators and researchers asking "what's in the algorithm" can be pointed at GitHub. Anyone trying to actually answer the question discovers the values are missing — but that discovery happens slowly, in technical write-ups, after the press cycle has moved on. The release pays the political cost of transparency at the engineering cost of nothing verifiable.
We have the code. We don't have the meetings. The pattern of omissions is consistent with deliberate curation, and also consistent with a half-finished engineering effort and a marketing department that pushed the publish button anyway. We can't prove intent.
Production model weights are huge and GPU-bound — releasing them is a real cost. Ad-brand-safety lists may be under contract. Employee names in config files raise privacy concerns. None of this is fake. But none of it explains why every weight, every list, every tier modifier, and every classifier prompt is missing together.
Meta, TikTok, YouTube publish nothing comparable. The xai-org repo, even in its curated form, is the most code anyone has shipped from a major recommendation system. That deserves acknowledgment.
The shape of the gap is easy to describe. A release that actually enabled audit would include:
If report_score has a coefficient of -47.3 in production, that number could be published. If it varies by experiment, the range could be published. The current release names the signal and hides the magnitude — making serious analysis impossible while appearing to invite it.
Of the candidates that enter ranking, what fraction came from Following, In-Network, and Out-of-Network sources? This single ratio determines how much of your feed is shaped by people you chose vs. people the algorithm chose for you. It is not in the code.
Premium boost? Verified boost? Special handling for high-follower accounts? For employee accounts? For ownership-tier accounts? Researchers have documented the existence of differential treatment with empirical methods. The code does not acknowledge it.
Even without releasing prompts, X could publish hashes of representative inputs alongside the classifier's outputs — letting external researchers run their own posts through the same model and check for consistency. Currently the classifier exists only as a wrapper around a missing brain.
Does a serial reporter's signal decay? Are coordinated report patterns detected and discounted? These are real ML problems with real published literature. X's approach is invisible. Whether the platform is brigadable is the question — and the question cannot be answered from this release.
A file titled WITHHELD.md listing every withheld category and the reason — legal, contractual, privacy, size, security — would convert the current ambiguity into accountable decisions. Right now the absences are silent.
X did not open-source the algorithm. They open-sourced the rulebook for creators. Those are different artifacts. The first would let outsiders verify whether the feed is fair. The second tells creators how to win inside a system whose fairness cannot be checked.
The release is not nothing. The architectural picture is real and useful — we wrote two pages about it. But calling this "the algorithm" is a category error that benefits the publisher and disadvantages everyone trying to think clearly about how the platform shapes public conversation.
The two companion pages cover the architecture in detail — every claim above is sourced from them.