x-algorithm changelog (unofficial)

Unofficial, community-maintained project. Not affiliated with, endorsed by, or operated by X Corp. or xAI. Notes are generated from the public git history of xai-org/x-algorithm and may contain mistakes; the upstream diff is the source of truth.

· 0d3cdd8 · 47 files, +5,850/−586

Ranking weights: dwell 0 → 0.05, video open 0.05 → 0.07, VQV 0.05 → 0

candidate hydratorsconstantsfeature flagslistsnumeric tweaksparamsranking weights
  • Weight changes in home-mixer/params/param.rs: DwellWeight 0.0 → 0.05, VideoOpenWeight 0.05 → 0.07, VqvWeight (video quality view) 0.05 → 0.0.
  • PhoenixAggregationType default goes from "DENSE_WITH_SHORT_DWELL" to "DENSE_WITH_LONG_DWELL", and the shadow-traffic cluster list ShadowTrafficPhoenixClusterRates is emptied.
  • EnableAdsBrandSafetyVerdictV2 is now on by default. ColdStartTsTopK drops from 5 to 2.
  • Removed params: UseServedSlateContext, VMRankerValueModelId, VMRankerSendHeadWeights. EnableMpnScoring is replaced by a new MultiplierPreOffset flag. ranking_scorer.rs is reworked: the per-candidate effective_head_weights function is removed and the author-diversity code is restructured.
  • The author cold-start scorer now uses view_count_on_home (impressions on Home) instead of the overall view_count.
  • New following_blocked_by_hydrator flags retweets and quotes whose original author blocks the viewer.
  • The Brazil election list grows from 665 to 2,328 accounts, and the README adds an "Account list updated" note.

Full analysis → Summary: hand-written notes, checked against the diff

Automatic analysis

Config parameters (param! defaults)

ParameterFeature-switch keyOldNew
ColdStartTsTopK
home-mixer/params/param.rs
rust_home_mixer_cold_start_ts_top_k52
DwellWeight
home-mixer/params/param.rs
rust_home_mixer_dwell_weight0.00.05
EnableAdsBrandSafetyVerdictV2
home-mixer/params/param.rs
rust_home_mixer_ads_bs_v2_exp_enabledfalsetrue
PhoenixAggregationType
home-mixer/params/param.rs
rust_home_mixer_phoenix_aggregation_type"DENSE_WITH_SHORT_DWELL""DENSE_WITH_LONG_DWELL"
ShadowTrafficPhoenixClusterRates
home-mixer/params/param.rs
rust_home_mixer_shadow_traffic_phoenix_cluster_ratesvec!["Experiment6Fou:1.5".to_string()]vec![]
VideoOpenWeight
home-mixer/params/param.rs
rust_home_mixer_video_open_weight0.050.07
VqvWeight
home-mixer/params/param.rs
rust_home_mixer_vqv_weight0.050.0
Added parameterTypeDefaultFile
MultiplierPreOffsetboolfalsehome-mixer/params/param.rs
Removed parameterTypeLast defaultNote
EnableMpnScoringboolfalseremoved from home-mixer/params/param.rs
UseServedSlateContextboolfalseremoved from home-mixer/params/param.rs
VMRankerSendHeadWeightsboolfalseremoved from home-mixer/params/param.rs
VMRankerValueModelIdString"dpp"removed from home-mixer/params/param.rs

Pipeline components

KindChangeFile
Candidate hydratoraddedhome-mixer/candidate_hydrators/following_blocked_by_hydrator.rs
Filtermodifiedgrox/flows/reply_spam/task_filter.py
Candidate hydratormodifiedhome-mixer/candidate_hydrators/engagement_counts_hydrator.rs
Filtermodifiedhome-mixer/filters/brazil_2026_election_filter.rs
Scorermodifiedhome-mixer/scorers/author_cold_start.rs
Scorermodifiedhome-mixer/scorers/ranking_scorer.rs
Scorermodifiedhome-mixer/scorers/vm_ranker.rs
Candidate sourcemodifiedhome-mixer/sources/following_night_owl_source.rs

Changed constants & literal values

NameOldNewFile
FOLLOWER_COUNT_THRESHOLD_FOR_REPLY_RANKING100000120000grox/flows/reply_spam/task_filter.py
Old lineNew lineFile
FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION = 100000FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION = 120000grox/flows/reply_spam/task_filter.py

Modules touched

ModuleFiles addedModifiedRemovedLines +Lines −
home-mixer/1180+3,646−421
abuse-enforcement-service/180+1,432−22
phoenix-rankall/030+345−73
phoenix/060+221−30
visibility-filtering/010+170−12
grox/070+18−25
phoenix-rankall-strato/010+15−0
(repo root)/010+3−3

Files (47)

Show file list
PathLinesNote
MREADME.md+3/−3
Mabuse-enforcement-service/service-lib/rules/enforcement_post.yaml+6/−1
Mabuse-enforcement-service/service-lib/rules/enforcement_user.yaml+16/−1
Mabuse-enforcement-service/service-lib/src/decision.rs+1/−0
Mabuse-enforcement-service/service-lib/src/facts.rs+100/−0
Aabuse-enforcement-service/service-lib/src/generic_actions.rs+663/−0
Mabuse-enforcement-service/service-lib/src/growthbook.rs+126/−0
Mabuse-enforcement-service/service-lib/src/lib.rs+276/−19
Mabuse-enforcement-service/service-lib/src/metrics.rs+10/−1
Mabuse-enforcement-service/service-lib/src/rules.rs+234/−0
Mgrox/flows/reply_spam/generators.py+1/−1
Mgrox/flows/reply_spam/plan_reply_ranking.py+1/−6
Mgrox/flows/reply_spam/plan_spam_comment.py+1/−6
Mgrox/flows/reply_spam/task_filter.py+2/−2
Mgrox/flows/reply_spam/task_rate_limit.py+0/−10
Mgrox/flows/upa/constants.py+2/−0
Mgrox/flows/upa/generators.py+11/−0
Mhome-mixer/candidate_hydrators/engagement_counts_hydrator.rs+16/−1
Ahome-mixer/candidate_hydrators/following_blocked_by_hydrator.rs+65/−0
Mhome-mixer/candidate_hydrators/mod.rs+1/−0
Mhome-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs+1/−4
Mhome-mixer/candidate_pipeline/reverse_chron_posts_pipeline.rs+27/−2
Mhome-mixer/filters/brazil_2026_election_filter.rs+3379/−5
Mhome-mixer/main.rs+1/−1
Mhome-mixer/models/candidate.rs+6/−9
Mhome-mixer/params/param.rs+10/−29
Mhome-mixer/scorers/author_cold_start.rs+12/−9
Mhome-mixer/scorers/ranking_scorer.rs+28/−201
Mhome-mixer/scorers/vm_ranker.rs+11/−128
Mhome-mixer/sources/following_night_owl_source.rs+5/−0
Mhome-mixer/util/author_rules.rs+0/−1
Mhome-mixer/util/urt/ad_marshaller.rs+18/−8
Mhome-mixer/util/urt/client_event.rs+27/−7
Mhome-mixer/util/urt/mod.rs+13/−8
Mhome-mixer/util/urt/reverse_chron_following/mod.rs+12/−5
Mhome-mixer/util/urt/wtf_marshaller.rs+14/−3
Mphoenix-rankall-strato/columns/phoenix_rank_all/phoenixRankAllCandidateProcessor.strato+15/−0
Mphoenix-rankall/src/config/mod.rs+51/−12
Mphoenix-rankall/src/store/base.rs+202/−61
Mphoenix-rankall/tests/integration_test.rs+92/−0
Mphoenix/crates/serving/xai-recsys-engine/src/copy_port_client.rs+155/−2
Mphoenix/python/common/xai-configlib/src/xai_configlib/__init__.py+15/−13
Mphoenix/xrex/driver/hooks.py+24/−11
Mphoenix/xrex/train/checkpoint_write.py+2/−0
Mphoenix/xrex/train/trainer.py+7/−0
Mphoenix/xrex/utils/metadata.py+18/−4
Mvisibility-filtering/dark_traffic_setup.rs+170/−12