# x-algorithm-teardown-growth-recommendations-2026-05-16

## Veille

Internal teardown report on the open-source release **`xai-org/x-algorithm`** (May 15, 2026) — the **For You feed** algorithm of **X (formerly Twitter)** in 2026, with four audience-tuned growth recommendation tracks (personal/founder, brand/company, generalized framework, client/consulting deliverable). **Pivot thesis**: ***« The famous 2023 weight table — replies count more than likes by a big multiplier — describes a system that no longer exists in this form. »*** The 2026 algorithm is a **transformer (Phoenix, Grok-1-derived)** that learns weights from your engagement history, scored against a **19-dimension multi-action surface**, gated by an offline content-understanding service (**Grox**). **The shape of scoring now matters far more than the numbers — and the numbers themselves are not in the public release**. **4-component architecture**: (1) **Home Mixer** (Rust, request-time orchestrator, hydrate → source → filter → score → select → filter); (2) **Thunder** (Rust, Kafka-fed in-memory store of recent posts, sub-ms lookups for in-network candidates); (3) **Phoenix** (JAX ML, two-tower retrieval + ranking transformer, ~Grok-1-derived); (4) **Grox** (offline, spam/safety/PTOS/banger classifiers + multimodal v5 embedder). **The 19 actions predicted by Phoenix** (key change vs. 2023): favorite, reply, repost, photo_expand, click, profile_click, vqv (video quality view gated by min duration), share, share_via_dm, share_via_copy_link, dwell, quote, quoted_click, follow_author, not_interested, block_author, mute_author, report, dwell_time (continuous). **Final score** = `Σ (weight × P(action))` modified by **3 structural multipliers**: (a) **OON_WEIGHT_FACTOR < 1** (out-of-network penalty), (b) **author diversity decay** `(1-floor) × decay_factor^position + floor` (exponential attenuation of repeated posts from the same author within a single render), (c) **video duration gate** (vqv only contributes if `video_duration_ms > MIN_VIDEO_DURATION_MS`). **Key caveat**: **no numeric weight value** (`FAVORITE_WEIGHT`, `OON_WEIGHT_FACTOR`, `AUTHOR_DIVERSITY_DECAY`, `MIN_VIDEO_DURATION_MS`...) is in the release — everything is `crate::params::*`, managed by an internal X feature-switch service for A/B testing. ***« Anyone telling you 'replies are worth N.N× more than likes in 2026' is fabricating a number that is not derivable from the OSS release. »*** **Key differences vs. 2023**: (1) removal of every hand-engineered feature (*« We have eliminated every single hand-engineered feature and most heuristics from the system »*); (2) a single model predicting 19 actions vs. multiple single-action models; (3) Grox separates content understanding from ranking; (4) new first-class signals (continuous dwell, gated vqv, follow_author, 3 share variants); (5) two-tower OON retrieval (vs. SimClusters+heuristics) with multimodal text+image+ASR-video embeddings. **Three layers of reach** (generalized framework): Eligibility (binary, Grox+filters) → Retrieval (probabilistic, two-tower ANN) → Ranking (continuous, weighted-sum + multipliers). **Two laws of mechanical growth**: (1) In-network is multiplicative, OON is additive; (2) The model's job is to predict you, not reward you. **Deliberate honesty boundary**: released Phoenix checkpoint = mini (2 layers, 4 heads, 256-dim, 537K sports-post corpus), not the production model; Thrift integrations stubbed (`panic!("Not implemented")` in `candidate_features.rs`); brand-safety lists, topic ID mappings, language penalties, ad-blending rules absent from the public release.

## Titre Article

How the X Algorithm Actually Works in 2026 — and What That Means for Growth

## Date

2026-05-16

## URL

- **Rapport long (HTML, Sharp Artisan, FR)** : https://raw.githack.com/dgirard/fiches-veille/main/docs/report/x-algorithm-growth-report.html
- **Slides 16:9 (HTML, Sharp Artisan, FR, 22 slides)** : https://raw.githack.com/dgirard/fiches-veille/main/docs/report/x-algorithm-slides.html
- **Source markdown** : `docs/report/x-algorithm-growth-report.md`
- **Repo source analysé** : https://github.com/xai-org/x-algorithm (release 15 mai 2026)

## Keywords

X algorithm 2026, xai-org/x-algorithm, For You feed, Phoenix transformer, Grok-1 derived, Home Mixer Rust, Thunder Kafka in-memory store, Grox offline content understanding, JAX ML service, two-tower retrieval, multimodal post embedder v5, ASR transcript video, candidate isolation attention, 19 actions surface, favorite reply repost share, dwell continuous vs binary, vqv video quality view, follow_author prediction, share_via_dm share_via_copy_link, NEGATIVE_FEEDBACK_INDICES not_interested block mute report, weighted scorer formula, OON_WEIGHT_FACTOR out-of-network penalty, NEW_USER_OON_WEIGHT_FACTOR onboarding bias, author_diversity_scorer exponential decay, decay_factor position floor formula, MIN_VIDEO_DURATION_MS video gate, hand-engineered features eliminated, user action sequence transformer input, mutual_follow_jaccard_hydrator, following_replied_users_hydrator, AuthorSocialgraphFilter bidirectional block, MutedKeywordFilter, PreviouslySeenPostsFilter, IneligibleSubscriptionFilter paywall, VFFilter visibility filter, DedupConversationFilter, Grox task_spam_detection, task_post_safety_screen_deluxe, task_safety_ptos_policy, task_banger_screen, task_reply_ranking, params.rs absent OSS, weights not in release, mini Phoenix checkpoint 2 layers 4 heads 256-dim, 537K sports posts corpus, Thrift to_thrift not implemented stub, brand-safety brand lists absent, topic ID mappings absent, language penalties absent, ad blending rules absent, three layers of reach eligibility retrieval ranking, action surface as product question, transformer as fairness mechanism, author-diversity decay as structural feature, negative signals one-shot vetoes cumulative cost, eligibility-time silent exclusion, in-network multiplicative OON additive, model predicts not rewards, personal founder voice growth tactics, brand company account playbook, generalized framework seven pillars, client consulting deliverable evidence table, action-targeted content design, author distribution playbook, video specification subtitled ASR-friendly, topic-embedding consistency, eligibility-gate audit, negative-signal hygiene, follower-acquisition reframing OON-to-Thunder conversion, May 15 2026 release, ads module brand-safety tracking, NEGATIVE_SCORES_OFFSET, WEIGHTS_SUM, NEGATIVE_WEIGHTS_SUM, NewUserAgeThresholdSecs, NEW_USER_MIN_FOLLOWING, structural model not quantitative predictor, semantic clarity over keyword overlap, embedding neighborhood density, 70/30 topical core exploratory split, employee amplification Thunder source union, product overhang feed render, candidate isolation batch-independent cacheable scores, P(action) per-user per-post not global, going viral as population-level outcome

## Authors

Rapport interne **non signé** (typique des deliverables d'analyse interne / brouillon de livrable client). Sources primaires citées : (a) le repo public **`xai-org/x-algorithm`** (release 15 mai 2026), (b) les `README.md` du repo et de ses sous-modules (`home-mixer/`, `phoenix/`, `thunder/`, `grox/`), (c) le code source Rust (Home Mixer, Thunder) et Python/JAX (Phoenix, Grox) inspecté directement avec citations file:line. Le rapport est explicitement écrit en posture *"what we observe in the public source release, and what it implies for measurable growth interventions"* — registre de teardown analytique avec discipline d'honnêteté épistémique (section A.3 *"Honesty boundary"* listant exhaustivement ce qui n'est pas dérivable de l'OSS).

## Ton

**Profile**: Technical teardown of an open-source recommendation-algorithm release, structured in two asymmetric parts (**Part 1 — Teardown**, descriptive and citational; **Part 2 — Recommendations**, prescriptive and audience-segmented), followed by an **Appendix** (file index, glossary, honesty boundary). Hybrid format between a **consulting white paper** (evidence table, recommended cadence Month 1/2/3, cover-page executive summary) and **documentary reverse-engineering** (file:line citations, sign-vs-magnitude distinction, explicit discussion of `panic!("Not implemented")` stubs). Volume: ~470 markdown lines, ~12,000 words, dense.

**Audience**: Four audiences explicitly addressed by Part 2 (A=personal/founder, B=brand/company, C=generalized framework, D=client/consulting deliverable). Overall readership: creators on X, brand growth/marketing teams, algorithm analysts, growth consultants, competing-platform executives, recommendation-systems researchers.

**Style**: **Analytical-disillusioned** expert voice of someone who has read the code and rejects the *"X algorithm hacks"* industry. Three distinctive markers:

1. **Aggressive epistemic honesty** — The report repeats, in bold and italics in several places, that the numeric weight values are not in the release: ***« Anyone telling you 'replies are worth N.N× more than likes in 2026' is fabricating a number that is not derivable from the OSS release »***. An entire section (A.3) is dedicated to *« what we cannot know from the OSS »*. Magnitude claims are marked `(directional)`; direction claims (sign, presence of a gate) are cited file:line. This discipline is the very authority of the text.

2. **Systematic file:line citations** — Every structural claim comes with its source: `home-mixer/scorers/oon_scorer.rs:20-23`, `phoenix/runners.py:233-252`, `author_diversity_scorer.rs:29-31`. The *Evidence table* section of the consulting deliverable (Part 2.D) lists 14 main claims with their file:line. Posture of *"if a creator pushes back, cite X"* (Part 2.A, pillar 7).

3. **Transposable pillar architecture** — The 7 pillars (in-network advantage, P(action) framing, high-weight actions, diversity decay, negative signals, two-tower retrievability, Grox/VF eligibility) are **rigorously the same** across the Personal, Brand, and generalized-framework recommendations — only the tactics per pillar change. Effect: the sections are **comparable line by line**, which validates the analytical grid as a genuine grid rather than an improvised list.

**Key metaphors and formulas**:
- ***« The shape of scoring matters far more than the numbers »*** — pivot phrase of the epistemic caveat.
- ***« Going viral is a population-level outcome of many independent personal predictions clearing the bar, not a single metric Phoenix optimizes »*** — dismantling of the "viral post" imaginary.
- ***« Borderline content doesn't get 'demoted' in the 2026 system. It gets disqualified at hydration time and never reaches scoring »*** — the most politically charged structural difference between 2023 and 2026 (eligibility-time silent exclusion vs. visibility filtering).
- ***« Three layers of reach »***: Eligibility (binary) → Retrieval (probabilistic) → Ranking (continuous). Pedagogical framework of Part 2.C.
- ***« Two laws of mechanical growth »***: *In-network is multiplicative, OON is additive*; *The model's job is to predict you, not reward you*.
- ***« Eligibility-time exclusion is the silent killer »*** — the report's most political phrase.
- ***« There is no signal to the creator that a Grox classifier excluded their post from candidate pools »*** — transparency implication.
- ***« The optimal cadence is non-monotonic in post count »*** — counter-intuitive growth insight.
- ***« Subtitle your videos for the model, not just for the viewer »*** — concrete embedder-aware tactic.
- ***« Stop optimizing for total likes; total likes are a population artifact »*** — reframing of the primary KPI.

**Epistemic stance**: The report simultaneously rejects (a) **growth-hack technosolutionism** (*"5 secrets to game the algorithm"*) which asserts non-derivable magnitudes; (b) **conspiracist skepticism** (*"we can't know anything, it's all a black box"*) which ignores what is legible in the code. Intermediate posture: *« structural levers that are documented in code »* — one can prescribe from the system's **shape** even without its **parameters**. This position is rare and methodologically sound.

**Authority built through**: (a) **file:line traceability** on every structural claim; (b) **caveat discipline** (*Limitations and honest disclosures* sections in the client deliverable, *Honesty boundary* in the appendix); (c) **internal comparability** of the recommendations (same pillars, different audiences); (d) **explicit refusal of numeric fabrication** (the report specifically calls out analyses that invent weights as dishonest); (e) **proactive identification of stubs** (`panic!("Not implemented")` in `candidate_features.rs`, mini Phoenix model trained on 537K sports posts) — the report sells its limitations as much as its claims.

**Audience and expected impact**: The report is calibrated to **equip a consultant or growth lead** with an operable methodological framework for clients/teams asking *"how does the X algorithm work in 2026"*. The fourfold structure (personal/brand/framework/client) suggests a **modular toolbox** use: pick the section matching your interlocutor. The **consulting deliverable (Part 2.D)** is nearly a ready-to-send *client brief* as-is, with an evidence table, prioritized recommended interventions, Month 1/2/3 cadence, and a mandatory *limitations and honest disclosures* section. Primary target: growth/consulting practitioners. Secondary target: algorithm analysts, tech journalists, competing-platform teams wanting to compare their architecture.

## Pense-betes

- **Primary source**: open-source release **`xai-org/x-algorithm`** on **May 15, 2026**. The report is dated 2026-05-16 (likely D+1 of the release). Watch-file addition date: 2026-05-16 (= today).
- **4 architectural components**:
- **Home Mixer** (`x-algorithm/home-mixer/`) — Rust request-time orchestrator, pipeline `hydrate → source → hydrate → filter → score → select → filter`.
- **Thunder** (`x-algorithm/thunder/`) — Rust Kafka-fed in-memory store of recent posts, sub-millisecond lookups for **in-network** candidates. Key files: `thunder/main.rs`, `thunder/post_store.rs`, `thunder/kafka_utils.rs`.
- **Phoenix** (`x-algorithm/phoenix/`) — JAX ML service, **two roles**: (1) **two-tower retrieval** for OON, (2) **ranking** via a Grok-1-derived transformer predicting 19 actions.
- **Grox** (`x-algorithm/grox/`) — **offline** content-understanding service, classifiers (spam, safety, PTOS, banger, reply ranking) + multimodal v5 embedder. **Does not sit in the hot path**; writes to the feature store, Home Mixer hydrates the signals.
- **Home Mixer pipeline (architecture quoted from README)**: 1. Query hydration (User Action Sequence + User Features) 2. Candidate sources (Thunder in-network + Phoenix retrieval OON + ads + who-to-follow + topics + MoE + prompts) 3. Hydration (core metadata, author info, media, engagement counts) 4. Pre-scoring filtering (dedupe, age, self, blocks, mutes, paywall, already-seen) 5. Scoring (Phoenix Scorer P(action) for each of 19 actions → Weighted Scorer Σ(weight × P) → Author Diversity → OON Scorer) 6. Selection (sort by final score, select top K) 7. Post-selection filters (VFFilter for deletes/spam/violence/gore, conversation dedup)
- **The 19 actions predicted by Phoenix** (`phoenix/runners.py:233-252`, `home-mixer/candidate_pipeline/candidate.rs:30-51` `PhoenixScores`):
- **Positives**: 0 favorite, 1 reply, 2 repost, 3 photo_expand, 4 click, 5 profile_click, 6 vqv (gated), 7 share, 8 share_via_dm, 9 share_via_copy_link, 10 dwell, 11 quote, 12 quoted_click, 13 follow_author, 18 dwell_time (continuous)
- **Negatives** (`NEGATIVE_FEEDBACK_INDICES = [14, 15, 16, 17]`): 14 not_interested, 15 block_author, 16 mute_author, 17 report
- **New first-class signals vs. 2023**: continuous `dwell_time` (not just binary), `vqv_score` (gated by `MIN_VIDEO_DURATION_MS`), `follow_author_score` (Phoenix predicts *"will this post earn its author a follower"*), 3 share variants (`share`, `share_via_dm`, `share_via_copy_link`).
- **Score formula** (`home-mixer/scorers/weighted_scorer.rs:44-91`): ``` score = Σ_i (weight_i × P(action_i)) × OON_WEIGHT_FACTOR (if OON, else 1) × diversity_multiplier(position) + offset_score()  (keeps negative aggregates well-ordered) ``` where `vqv_weight` is replaced by 0 if `video_duration_ms ≤ MIN_VIDEO_DURATION_MS`.
- **CRITICAL caveat — the weights are not in the release**:
- `FAVORITE_WEIGHT`, `REPLY_WEIGHT`, `RETWEET_WEIGHT`, `OON_WEIGHT_FACTOR`, `NEW_USER_OON_WEIGHT_FACTOR`, `AUTHOR_DIVERSITY_DECAY`, `AUTHOR_DIVERSITY_FLOOR`, `MIN_VIDEO_DURATION_MS`, `NEGATIVE_SCORES_OFFSET`, `WEIGHTS_SUM`, `NEGATIVE_WEIGHTS_SUM` are all referenced as `crate::params::*`.
- **No `params.rs` exists in the repo** (verified via exhaustive `grep -rn`).
- Managed by an internal X **feature-switch / parameter service** for A/B testing and tuning without code changes.
- **Implication**: only the **directions** (positive vs. negative, gate vs. soft adjustment, presence vs. absence of a multiplier) are citable. **Magnitudes** are fabricated.
- **3 structural multipliers** (more important than individual weights):
- **OON penalty** (`oon_scorer.rs:20-23`): `score = base_score × OON_WEIGHT_FACTOR if OON else base_score`. Comment on line 7: *« Prioritize in-network candidates over out-of-network candidates »*. **Codification of "followers matter"**.
- **New-user OON exception** (`ranking_scorer.rs:220-239`): if account < `NewUserAgeThresholdSecs` AND follows ≥ `NEW_USER_MIN_FOLLOWING`, the OON penalty is replaced by `NEW_USER_OON_WEIGHT_FACTOR`. **Structural bias** on what new accounts see (and therefore what new accounts can reach).
- **Author diversity decay** (`author_diversity_scorer.rs:29-31`): `multiplier(position) = (1 - floor) × decay_factor^position + floor`. Position = number of posts by the same author already appearing higher in the sorted list. **An author's best post keeps its score, each subsequent one is attenuated exponentially** without dropping below `floor`. **Cadence implication**: structural, not heuristic.
- **Video duration gate** (`weighted_scorer.rs:72-81`): `vqv_score` only enters the weighted sum if `video_duration_ms > MIN_VIDEO_DURATION_MS`. **Hard gate, not soft penalty**: clips that are too short simply don't receive the VQV contribution.
- **What never enters the ranker** (invisible lost reach):
- **Pre-scoring filters**: `DropDuplicatesFilter`, `CoreDataHydrationFilter`, `AgeFilter`, `SelfpostFilter`, `RepostDeduplicationFilter`, `IneligibleSubscriptionFilter` (paywall), `PreviouslySeenPostsFilter`, `PreviouslyServedPostsFilter`, `MutedKeywordFilter`, `AuthorSocialgraphFilter` (bidirectional block, **including the quoted author of a quote tweet**).
- **Post-selection filters**: `VFFilter` (deleted/spam/violence/gore), `DedupConversationFilter`.
- **Grox offline gates** (eligibility, **not** score modifiers): `task_spam_detection.py` / `classifiers/content/spam.py`, `task_post_safety_screen_deluxe.py`, `task_safety_ptos_policy.py`, `task_banger_screen.py` (positive), `task_reply_ranking.py`.
- **Fundamental architectural point**: *« Borderline content doesn't get 'demoted' in the 2026 system. It gets disqualified at hydration time and never reaches scoring. This is materially different from the 2023 system's reduced-reach / visibility-filtering model. »*
- **What Phoenix actually learns from**:
- **The most consequential input = the user's action sequence** (`user_action_seq_query_hydrator.rs`), not the candidate post.
- **Candidate-isolation attention** (`phoenix/recsys_model.py`): candidates can attend to the user's action sequence, **but not to each other** → **per-user per-post**, **batch-independent**, **cacheable** scores.
- **No single global "this post is good"**: *"the same post predicted to earn a like from User A at probability p₁ is predicted at p₂ for User B"*.
- **Going viral** = a population-level outcome of independent personal predictions, not an optimized metric.
- **Hand-engineered features removed** (`README` line 55): *"We have eliminated every single hand-engineered feature and most heuristics from the system."*
- **Two signals explicitly hydrated** nonetheless: `mutual_follow_jaccard_hydrator.rs` (Jaccard of viewer followers ∩ candidate author followers), `following_replied_users_hydrator.rs` (someone the viewer follows replied to the candidate).
- **OON retrieval (two-tower)**: your action history → user embedding, candidate posts → post embeddings (from `grox/embedder/multimodal_post_embedder_v5.py`, which encodes text+images+video ASR transcript into a normalized 1024-dim vector). **Your discoverability by strangers is a function of embedding proximity between your posts and the ones your target audience already engages with.**
- **5 load-bearing differences vs. 2023**: 1. **No hand-engineered features** (2023 had explicit verified status, paid subscribers, network distance). 2. **A single model predicting 19 actions** vs. multiple single-action models. 3. **Grox separates content understanding from ranking** (`grox/plan_master.py` orchestrates 9 parallel plans). 4. **New first-class signals** (continuous dwell, gated vqv, follow_author, 3 share variants). 5. **Two-tower OON retrieval** (vs. 2023's SimClusters + heuristics). ### 7 pillars (recurring across Personal / Brand / Framework) 1. **In-network advantage** (`oon_scorer.rs:20-23`) — OON × factor < 1. 2. **P(action) framing** (`phoenix/recsys_model.py`) — per-user probabilities. 3. **High-weight actions** (`weighted_scorer.rs:49-67`) — choosing which of the 19 to trigger. 4. **Diversity decay** (`author_diversity_scorer.rs:29-31`) — `(1-floor) × decay_factor^position + floor`. 5. **Negative signals** (`weighted_scorer.rs:64-67` + `AuthorSocialgraphFilter` + `MutedKeywordFilter`) — direct subtractions + hard gates. 6. **Two-tower retrievability** (`phoenix_source.rs` + `multimodal_post_embedder_v5.py`) — embedding proximity to your target audience. 7. **Grox / VF eligibility** (`grox/plan_master.py` + `home-mixer/filters/vf_filter.rs`) — silent exclusion, not demotion. ### Personal / Founder Recommendations (Part 2.A) — summary
- **Pillar 1**: convert IRL relationships into follows (DMs, podcast cross-promo, newsletter footers, replies) = taxing OON → deterministic Thunder lookup.
- **Pillar 2**: name **one target action per post** (reply, follow, dwell, share). *"When you can't articulate which action you're aiming at, the post is unlikely to score well for any of them."*
- **Pillar 3**: trigger personal high-weight actions:
- Reply: questions with a defensible answer (not *"what do you think?"*).
- Dwell time: threads and long-form content (continuous dwell signal, index 18).
- Profile click: a stranger wanting to know who you are (bio-relevant signaling).
- Follow-author: *"here is my premise and I will defend it across many future posts"*.
- **Pillar 4**: **publish your best post first** (the 1st keeps full score, the 2nd is attenuated). Don't stack, space them out.
- **Pillar 5**: avoid mutes/blocks from warm followers (a **cumulative** negative on all your future posts for that user).
- **Pillar 6**: multimodal (text + image + video) = 3 embedding shots.
- **Pillar 7**: too many @mentions / link-spam patterns → silent exclusion by the spam classifier. ### Brand / Company Recommendations (Part 2.B) — summary
- **Pillar 1**: **employee amplification** = union of each employee's in-network via Thunder.
- **Pillar 2**: report **action distribution per post** vs. total impressions.
- **Pillar 3**: brand-relevant actions:
- Click (index 4) + quoted click (index 12) = site traffic.
- **VQV** (index 6) = videos that clear `MIN_VIDEO_DURATION_MS`. *"Cutting a video too short kills the contribution entirely."*
- **Share via DM** (index 8) + **share via copy-link** (index 9) = pricing teardowns, product comparisons, controversy forwarded privately.
- Follow-author (index 13) = one *follow-magnet* post per week.
- **Pillar 4**: *« A 'drumbeat' of four posts spaced 30 minutes apart underperforms the single best one of them, alone »*. Coordinating brand + CEO + employees (distinct authors) **beats** brand posting alone twice.
- **Pillar 5**: `home-mixer/ads/` module added May 15, 2026 = **brand-safety tracking**. Organic posts near sensitive content → adjacency risk.
- **Pillar 6**: **topical consistency over weeks** (embedding diluted if too many topics), multimodal posts, **subtitle videos for the ASR path**.
- **Pillar 7**: `task_spam_detection.py` keys on low-follower / low-quality reply patterns → brands that reply heavily on big posts can get flagged. **Reply substantively or not at all.** ### Generalized Framework (Part 2.C)
- **Three layers of reach**: 1. **Eligibility** (Grox + filters) — binary, in/out, no optimization beyond not being excluded. 2. **Retrieval** (two-tower OON) — probabilistic, optimized by **what** you post (topic, embedding, multimodal). 3. **Ranking** (weighted sum + multipliers) — continuous, optimized by **how** you post (action triggered, cadence).
- **Action surface as product question**: 19 actions = 4 categories (social: like/reply/quote/share; private: DM-share, copy-link, dwell, photo expand; identity: follow, profile click; rejection: not-interested/block/mute/report). A post that targets no relation = predicted ~0 across the board.
- **Transformer as fairness mechanism**: per-user probabilities → "good content" is not a global property. *Probabilistic targeting, not deterministic quality.*
- **Author-diversity decay as structural feature**: *« publishing more posts per day past a threshold reduces, not increases, total reach »*. Optimal cadence is **non-monotonic** in post count.
- **Negative signals as one-shot vetoes**: a mute costs the post AND every subsequent one to that user (a permanent entry in their action sequence).
- **Eligibility-time exclusion = silent killer**: no signal to the creator when a Grox classifier excludes. Diagnosis = comparative reach analysis.
- **Two laws**:
- **Law 1**: *In-network is multiplicative, OON is additive.* Followers compound on every future post.
- **Law 2**: *The model's job is to predict you, not reward you.* Engagement-baiting / manufactured controversy → degrades your predictability → downgrades future posts. ### Consulting Deliverable (Part 2.D) — key points
- **Executive summary** ready for the cover page.
- **Evidence table**: 14 main claims, each with file:line.
- **7 recommended interventions ordered by expected impact** (all *directional*): 1. Action-targeted content design (target_action annotated in the editorial calendar). 2. Author distribution playbook (audit cadence vs. decay, multi-account amplification). 3. Video specification (`MIN_VIDEO_DURATION_MS` client-side A/B test, subtitles). 4. Topic-embedding consistency (70/30 core/exploratory). 5. Eligibility-gate audit (sample underperforming posts → check gate types). 6. Negative-signal hygiene (quantify cumulative cost of mute rate). 7. Follower-acquisition reframing (OON-to-Thunder conversion = multiplicative future reach).
- **Cadence**: M1 calendar+playbook+video / M2 topical audit + follower test / M3 cohort measurement + gate recalibration / Quarterly: re-read `xai-org/x-algorithm`.
- **Limitations and honest disclosures (mandatory)**: weights not derivable, mini checkpoint (2 layers, 4 heads, 256-dim), Thrift stubs (`panic!("Not implemented")`), brand-safety lists / topic ID mappings / language penalties / ad blending rules absent. *« The client should treat this report as a structural model, not a quantitative predictor. »* ### Honesty Boundary (Appendix A.3) — what we CANNOT know
- **Numeric weight values** (all external, no `params.rs`).
- **Production model behavior**: released checkpoint = 2 layers, 4 heads, 256-dim, **537K-post sports corpus**, prod Phoenix is larger and continuously trained.
- **Stub integrations**: `panic!("Not implemented: to_thrift for ...")` in `candidate_features.rs` and `user_features.rs`. **The public code does not run end-to-end against X's internal services.**
- **Policy data**: brand-safety brand lists, topic ID mappings, language-penalty tables, ad-blending rules, muted-keyword corpora, spam/safety/PTOS classifier weights = absent.
- **Continuous retraining cadence**: OSS = static snapshot, prod = continuously updated. ### Links to existing fiches
- **Convergence with [[wallace-wells-nyt-magazine-ai-populism-altman-backlash-no-one-ready-2026-05-08]]**: the report factually documents the **structural mechanics** of an algorithm that shapes political information at mass scale, whereas Wallace-Wells documents the **popular reception / backlash** against tech oligarchs (including Musk). The report shows that **"who reaches whom" is now determined by transformers trained on personal action sequences** — and that **silent exclusion** (eligibility-time, no signal) is a deliberate mode of operation.
- **Convergence with [[ng-the-batch-352-no-ai-jobpocalypse-2026-05-08]]**: same anti-narrative epistemic posture, discipline of *"what is derivable from the facts vs. what is fabricated"*. Ng dismantles the jobpocalypse narrative; this report dismantles growth-hack narratives built on fabricated weights.
- **Implicit convergence with [[mensch-mistral-commission-enquete-vulnerabilites-numeriques-souverainete-ia-2026-05-13]]**: Mensch discusses **dependence on foreign digital services** as a vassalization risk. The `xai-org/x-algorithm` release is an ambiguous precedent — a partial open-sourcing of a system that governs public conversation, but with **the operational parameters (the weights) intentionally absent**.
- **Anti-narrative growth-hack**: this report is the **documentary response** to the "X algorithm secrets / 5 tactics to game the For You feed" industry. Discipline of file:line citation vs. anecdote.
- **Anthropic-vs-X transparency pattern**: this report can serve as a methodological **comparison point** for assessing the relative transparency of major labs' algorithm releases (Anthropic Mythos, OpenAI evals, xAI grok-1, xai-org/x-algorithm). **Form of transparency**: enough code to describe the architecture, not enough parameters to reproduce the behavior.

## RésuméDe400mots

On May 15, 2026, xAI open-sources `xai-org/x-algorithm`, X's **For You feed** algorithm. This internal report turns it into a two-part technical teardown: **(1) a system breakdown** with file:line citations, and **(2) four growth recommendation tracks** segmented by audience (personal/founder, brand, generalized framework, consulting deliverable).

**Pivot thesis**: the famous *"2023 weight table"* (*"replies count more than likes by a big multiplier"*) **describes a system that no longer exists**. The 2026 algorithm is a **transformer (Phoenix, Grok-1-derived)** that learns weights from personal engagement history and scores each candidate against a **surface of 19 distinct actions**, gated by an offline service (**Grox**). **The shape of scoring matters more than the numbers — and the numbers are not in the release.**

**4-component architecture**: **Home Mixer** (Rust, orchestrator), **Thunder** (Rust, Kafka-fed in-memory store, sub-ms in-network candidates), **Phoenix** (JAX, two-tower retrieval + ranking transformer), **Grox** (offline, classifiers and multimodal v5 text+image+ASR-video embedder).

**The 19 actions predicted by Phoenix** combine positives (favorite, reply, repost, click, profile_click, gated vqv, share, share_via_dm, share_via_copy_link, dwell, quote, quoted_click, follow_author, continuous dwell_time) and negatives (not_interested, block, mute, report). **Final score** = `Σ (weight × P(action))` modified by 3 structural multipliers: **OON_WEIGHT_FACTOR < 1** (out-of-network penalty), **author diversity decay** `(1-floor) × decay_factor^position + floor`, and **video duration gate** (vqv only contributes if video > `MIN_VIDEO_DURATION_MS`).

**Key caveat**: **no numeric weight value is in the release** (everything is `crate::params::*`, no `params.rs`). ***« Anyone telling you 'replies are worth N.N× more than likes in 2026' is fabricating a number. »*** Only the **directions** (sign, gate vs. soft adjustment, presence) are citable.

**Three layers of reach**: Eligibility (binary, Grox) → Retrieval (probabilistic, two-tower) → Ranking (continuous, weighted sum). **Two laws of mechanical growth**: (1) In-network is multiplicative, OON is additive; (2) The model's job is to **predict** you, not reward you.

**Differences vs. 2023**: removal of hand-engineered features, a single model for 19 actions vs. multiple models, Grox separates understanding from ranking, new first-class signals (continuous dwell, gated vqv, follow_author, 3 share variants), two-tower OON retrieval with multimodal embeddings. **Eligibility-time exclusion is the silent killer**: borderline content is no longer demoted, it disappears from the candidate pool with no signal to the creator.

**Honesty boundary**: released checkpoint = mini (2 layers, 4 heads, 256-dim, 537K sports-post corpus), Thrift stubs (`panic!("Not implemented")`), policy data absent. The report should be treated as a **structural model**, not a quantitative predictor.

## GrapheDeConnaissance

- xAI —publie→ x-algorithm (TECHNOLOGIE, 0.99)
- xAI —publie→ release open-source du 15 mai 2026 (EVENEMENT, 0.99)
- Home Mixer —fait_partie_de→ x-algorithm (TECHNOLOGIE, 0.99)
- Thunder —fait_partie_de→ x-algorithm (TECHNOLOGIE, 0.99)
- Phoenix —fait_partie_de→ x-algorithm (TECHNOLOGIE, 0.99)
- Grox —fait_partie_de→ x-algorithm (TECHNOLOGIE, 0.99)
- Home Mixer —utilise→ Rust (TECHNOLOGIE, 0.98)
- Home Mixer —dirige→ pipeline For You feed (orchestration) (METHODOLOGIE, 0.99)
- Thunder —permet→ lookups sub-ms des posts récents in-network (CONCEPT, 0.99)
- Thunder —utilise→ Kafka (TECHNOLOGIE, 0.98)
- Phoenix —est_basé_sur→ Grok-1 (TECHNOLOGIE, 0.96)
- Phoenix —utilise→ JAX (TECHNOLOGIE, 0.98)
- Phoenix —prédit→ 19 actions par candidat (CONCEPT, 0.99)
- Phoenix —utilise→ candidate-isolation attention (METHODOLOGIE, 0.97)
- Phoenix —utilise→ two-tower model (METHODOLOGIE, 0.98)
- Grox —est_instance_de→ service offline (hors hot path) (CONCEPT, 0.99)
- Grox —utilise→ feature store (écriture) (TECHNOLOGIE, 0.98)
- multimodal_post_embedder_v5 —utilise→ text + images + ASR transcript video (CONCEPT, 0.98)
- multimodal_post_embedder_v5 —permet→ embedding normalisé 1024-dim (CONCEPT, 0.97)
- Weighted Scorer —utilise→ formule Σ (weight × P(action)) sur 19 actions (METHODOLOGIE, 0.99)
- OON Scorer —utilise→ OON_WEIGHT_FACTOR (CONCEPT, 0.99)
- Author Diversity Scorer —utilise→ (1-floor) × decay_factor^position + floor (METHODOLOGIE, 0.98)
- vqv_score —est_basé_sur→ MIN_VIDEO_DURATION_MS (CONCEPT, 0.98)
- [14, 15, 16, 17] = not_interested block mute report —fait_partie_de→ NEGATIVE_FEEDBACK_INDICES (CONCEPT, 0.99)
- x-algorithm —utilise→ dwell_time continu comme signal first-class (nouveau vs 2023) (CONCEPT, 0.97)
- x-algorithm —utilise→ follow_author_score (CONCEPT, 0.97)
- share_via_dm + share_via_copy_link —est_variante_de→ share standard (signaux distincts) (CONCEPT, 0.97)
- x-algorithm —remplace→ features hand-engineered (toutes éliminées) (METHODOLOGIE, 0.97)
- Phoenix —est_basé_sur→ user action sequence (apprentissage) (CONCEPT, 0.98)
- Phoenix —est_instance_de→ scores per-user per-post (pas globaux) (CONCEPT, 0.97)
- "going viral" —est_instance_de→ population-level outcome de prédictions personnelles (CONCEPT, 0.95)
- rapport interne x-algorithm growth —affirme_que→ params.rs (valeurs des poids) est absent du release open-source (AFFIRMATION, 0.99)
- X —utilise→ feature-switch service interne pour gérer FAVORITE_WEIGHT, REPLY_WEIGHT etc. (TECHNOLOGIE, 0.95)
- rapport interne x-algorithm growth —affirme_que→ quiconque cite des magnitudes de poids 2026 fabrique des chiffres (AFFIRMATION, 0.98)
- AuthorSocialgraphFilter —s_applique_à→ blocks dans les deux sens incluant auteur cité du quote tweet (METHODOLOGIE, 0.97)
- Grox —remplace→ démotion 2023 par exclusion eligibility-time (METHODOLOGIE, 0.97)
- rapport interne x-algorithm growth —affirme_que→ l'exclusion eligibility-time est silencieuse pour le créateur (no signal) (AFFIRMATION, 0.97)
- rapport interne x-algorithm growth —recommande→ Action-targeted content design (METHODOLOGIE, 0.96)
- rapport interne x-algorithm growth —recommande→ Author distribution playbook (METHODOLOGIE, 0.96)
- rapport interne x-algorithm growth —recommande→ subtitler les vidéos pour l'ASR path (pas seulement le viewer) (METHODOLOGIE, 0.95)
- rapport interne x-algorithm growth —recommande→ 70/30 split topical core / exploratory (METHODOLOGIE, 0.93)
- rapport interne x-algorithm growth —affirme_que→ in-network is multiplicative, OON is additive (AFFIRMATION, 0.97)
- rapport interne x-algorithm growth —affirme_que→ the model's job is to predict you, not reward you (AFFIRMATION, 0.97)
- Phoenix checkpoint released —est_instance_de→ mini model (2 layers, 4 heads, 256-dim) (CONCEPT, 0.98)
- Phoenix checkpoint released —est_basé_sur→ corpus 537K posts sports (entraînement) (CONCEPT, 0.97)
- `panic!("Not implemented: to_thrift for ...")` stubs —fait_partie_de→ candidate_features.rs / user_features.rs (TECHNOLOGIE, 0.96)
- rapport interne x-algorithm growth —affirme_que→ brand-safety lists, topic ID mappings, language penalties et ad blending sont absents du release (AFFIRMATION, 0.97)
- Home Mixer —fait_partie_de→ x-algorithm (EVENEMENT, 0.94)
- Home Mixer —permet→ brand-safety tracking (METHODOLOGIE, 0.93)
- author diversity decay —soutient→ cadence optimale non-monotone en post count (CONCEPT, 0.95)
- mute ou block utilisateur —réduit→ reach de tous les posts futurs vers cet utilisateur (cumulatif) (CONCEPT, 0.95)
- NEW_USER_OON_WEIGHT_FACTOR —s_applique_à→ nouveaux comptes (jeune compte + min following) (CONCEPT, 0.96)
- rapport interne x-algorithm growth —converge_avec→ démantèlement narratif jobpocalypse [[ng-the-batch-352-no-ai-jobpocalypse-2026-05-08]] (CONCEPT, 0.9)
- rapport interne x-algorithm growth —converge_avec→ AI populism + algorithmic information shaping [[wallace-wells-nyt-magazine-ai-populism-altman-backlash-no-one-ready-2026-05-08]] (documentation de la mécanique) (CONCEPT, 0.89)

---
Canonical: https://www.thekb.eu/en/fiches/x-algorithm-teardown-growth-recommendations-2026-05-16/
