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.

· 44d37eb · 63 files, +2,569/−2,257

Ranking scorer rewritten as a shared xai-value-model crate

constantsfiltersparamsschemascorers
  • home-mixer/scorers/ranking_scorer.rs (1,255 lines) is deleted. It's replaced by a 114-line home-mixer/scorers/value_model.rs that maps feature-switch params into a ValueModelWeights struct and calls fuse_heads from a new top-level crate, xai-value-model/ (scoring.rs, weights.rs, inputs.rs, …).
  • In this version, home-mixer's weights_for hard-codes enable_author_diversity: false, oon_rescore_in_network_replies_retweets: false and multiplier_pre_offset: false.
  • 22 params leave home-mixer/params/param.rs. Eleven of them (author diversity, the OON weight factors, MultiplierPreOffset, WeightPerturbation*, …) are still defined in vm-ranker/params.rs. The other eleven aren't defined as params anywhere else, including EnableVMRanker, CachedPostsReuseWeightedScore, EnableMultiplicativePostUnexplored and the VMRankerDpp* settings.
  • VMRankerClusterId changes from "Experiment3" to "Experiment6".

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

Automatic analysis

Config parameters (param! defaults)

ParameterFeature-switch keyOldNew
VMRankerClusterId
home-mixer/params/param.rs
rust_home_mixer_vm_ranker_cluster_id"Experiment3""Experiment6"
Removed parameterTypeLast defaultNote
AuthorDiversityDecayf640.5still defined in vm-ranker/params.rs
AuthorDiversityFloorf640.25still defined in vm-ranker/params.rs
CachedPostsReuseWeightedScoreboolfalseremoved from home-mixer/params/param.rs
ContActiveSecs5mResidualNormWeightf640.0removed from home-mixer/params/param.rs
EnableAuthorDiversitybooltruestill defined in vm-ranker/params.rs
EnableCdwellOnImprboolfalseremoved from home-mixer/params/param.rs
EnableMultiplicativePostUnexploredboolfalseremoved from home-mixer/params/param.rs
EnableOonRescoreForInNetworkRepliesRetweetsbooltruestill defined in vm-ranker/params.rs
EnableVMRankerbooltrueremoved from home-mixer/params/param.rs
MultiplicativePostUnexploredAlphaf640.0removed from home-mixer/params/param.rs
MultiplierPreOffsetboolfalsestill defined in vm-ranker/params.rs
NewUserAgeThresholdSecsu640still defined in vm-ranker/params.rs
NewUserOonWeightFactorf640.00001still defined in vm-ranker/params.rs
OonWeightFactorf640.75still defined in vm-ranker/params.rs
PostUnexploredWeightInNetworkOnlybooltrueremoved from home-mixer/params/param.rs
TopicOonWeightFactorf640.5still defined in vm-ranker/params.rs
VMRankerComputeValueModelboolfalseremoved from home-mixer/params/param.rs
VMRankerDppMaxSelectedRanku32150removed from home-mixer/params/param.rs
VMRankerDppThetaf640.65removed from home-mixer/params/param.rs
VMRankerSendValueModelInputsboolfalseremoved from home-mixer/params/param.rs
WeightPerturbationSaltString""still defined in vm-ranker/params.rs
WeightPerturbationSigmaf640.0still defined in vm-ranker/params.rs

Pipeline components

KindChangeFile
Scoreraddedhome-mixer/scorers/value_model.rs
Filteraddedphoenix/xrex/data/cold_pool_filter.py
Scorerremovedhome-mixer/scorers/ranking_scorer.rs
Filtermodifiedgrox/flows/reply_spam/task_filter.py
Scorermodifiedhome-mixer/scorers/phoenix_scores_ranking_scorer.rs
Scorermodifiedhome-mixer/scorers/vm_ranker.rs
Scorermodifiedhome-mixer/scorers/vm_ranker_request.rs
Side effectmodifiedhome-mixer/side_effects/reranking_kafka_side_effect.rs
Side effectmodifiedhome-mixer/side_effects/scored_stats_side_effect.rs
Candidate sourcemodifiedhome-mixer/sources/phoenix_source.rs
Candidate sourcemodifiedhome-mixer/sources/simclusters_source.rs
Candidate hydratormodifiedvisibility-filtering/hydration/tes_hydrator.rs
Candidate hydratormodifiedvisibility-filtering/hydration/viewer_hydrator.rs

Changed constants & literal values

NameOldNewFile
GROK_GEMMA_FOLLOWER_SPLIT225_000250_000grox/flows/reply_spam/constants.py
FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION80_000100_000grox/flows/reply_spam/task_filter.py

Schema fields (1)

Show proto/thrift field changes
ChangeField
addedRetrieveTopKCandidatesRequest.num_cold_start_to_retrieve

Modules touched

ModuleFiles addedModifiedRemovedLines +Lines −
home-mixer/1121+333−1,569
visibility-filtering/0181+819−610
xai-value-model/600+807−0
phoenix/1130+575−66
grox/060+19−2
vm-ranker/030+13−7
(repo root)/010+3−3

Files (63)

Show file list
PathLinesNote
MREADME.md+3/−3
Mgrox/flows/ptos/classifier.py+5/−0
Mgrox/flows/ptos/prompts.py+5/−0
Mgrox/flows/ptos/state.py+6/−0
Mgrox/flows/ptos/task_safety_ptos_policy.py+1/−0
Mgrox/flows/reply_spam/constants.py+1/−1
Mgrox/flows/reply_spam/task_filter.py+1/−1
Mhome-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs+3/−3
Mhome-mixer/clients/vm_ranker_client.rs+6/−6
Mhome-mixer/params/param.rs+2/−136
Mhome-mixer/scorers/mod.rs+1/−1
Mhome-mixer/scorers/phoenix_scores_ranking_scorer.rs+3/−3
Dhome-mixer/scorers/ranking_scorer.rs+0/−1255
Ahome-mixer/scorers/value_model.rs+114/−0
Mhome-mixer/scorers/vm_ranker.rs+84/−76
Mhome-mixer/scorers/vm_ranker_request.rs+42/−61
Mhome-mixer/side_effects/reranking_kafka_side_effect.rs+5/−3
Mhome-mixer/side_effects/scored_stats_side_effect.rs+35/−4
Mhome-mixer/sources/phoenix_source.rs+6/−4
Mhome-mixer/sources/simclusters_source.rs+8/−4
Mhome-mixer/util/candidates_util.rs+24/−13
Mphoenix/crates/common/xai-recsys/Cargo.toml+0/−1
Mphoenix/crates/common/xai-recsys/src/util.rs+5/−1
Mphoenix/crates/serving/xai-recsys-proto/proto/recsys.proto+20/−0
Mphoenix/crates/serving/xai-recsys-proto/src/lib.rs+8/−0
Mphoenix/python/common/xai-proto/proto/recsys.proto+20/−0
Mphoenix/xrex/configs/xrecsys_two_tower.py+8/−0
Aphoenix/xrex/data/cold_pool_filter.py+78/−0
Mphoenix/xrex/data/recsys/feature_config.py+8/−0
Mphoenix/xrex/data/retrieval_dataset.py+103/−8
Mphoenix/xrex/eval/recsys_eval.py+5/−0
Mphoenix/xrex/inference/model_runner.py+91/−3
Mphoenix/xrex/models/recsys_two_tower_model.py+45/−7
Mphoenix/xrex/train/recsys_bundle_export.py+170/−46
Mphoenix/xrex/train/trainer_recsys.py+14/−0
Dvisibility-filtering/clock_cache.rs+0/−412
Mvisibility-filtering/evaluate_tweets.rs+157/−18
Mvisibility-filtering/filter.rs+146/−24
Mvisibility-filtering/filter_tweets.rs+42/−1
Mvisibility-filtering/hydration/batch.rs+6/−0
Mvisibility-filtering/hydration/mod.rs+244/−18
Mvisibility-filtering/hydration/tes_hydrator.rs+13/−10
Mvisibility-filtering/hydration/viewer_hydrator.rs+3/−3
Mvisibility-filtering/lib.rs+0/−1
Mvisibility-filtering/models/author.rs+0/−93
Mvisibility-filtering/models/mod.rs+15/−5
Mvisibility-filtering/models/verdict.rs+60/−0
Mvisibility-filtering/reference_compare.rs+67/−7
Mvisibility-filtering/rules/golden_corpus.rs+13/−3
Mvisibility-filtering/rules/metrics.rs+1/−1
Mvisibility-filtering/rules/registry.rs+0/−1
Mvisibility-filtering/rules/tweet_rules.rs+0/−7
Mvisibility-filtering/safety_label_source/source.rs+49/−3
Mvisibility-filtering/server_deps.rs+3/−3
Mvm-ranker/ranking_config.rs+6/−0
Mvm-ranker/scoring/mod.rs+6/−6
Mvm-ranker/scoring/value_model.rs+1/−1
Axai-value-model/inputs.rs+35/−0
Axai-value-model/lib.rs+14/−0
Axai-value-model/phoenix_scores.rs+28/−0
Axai-value-model/proto.rs+92/−0
Axai-value-model/scoring.rs+444/−0
Axai-value-model/weights.rs+194/−0