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.

· 3aa0fa3 · 72 files, +5,588/−2,601

New scorer vm_ranker_request and other changes.

constantsnumeric tweaksparamsscorersside effects
  • Added 2 feature flags: VMRankerComputeValueModel (default off) and VMRankerSendValueModelInputs (default off).
  • Added 5 config parameters: NewUserOonWeightFactor = 0.00001, PhoenixMoeColdStartMaxResults = 0, RetrievalCandidatesKafkaMaxCandidates = 200, RetrievalCandidatesKafkaSamplePercent = 5.0 and SimclustersMaxCandidateAgeHours = 48.
  • New scorer: vm_ranker_request.
  • New side effect: retrieval_candidates_kafka_side_effect.
  • Constants changed: FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION 50000 → 80_000 (task_filter.py) and HYDRATION_TIMEOUT Duration::from_millis(390) → Duration::from_secs(1) (mod.rs).
  • Other literal values changed in code: (4, tonic::Code::Unimplemented), 82→4 (evaluate_tweets.rs) and Some(&2) 1→2 (metrics.rs).
  • Most activity in visibility-filtering/ (+2,701/−1,442), phoenix/ (+1,371/−877), home-mixer/ (+1,075/−234), phoenix-rankall/ (+337/−44) and grox/ (+104/−4).

Full analysis → Summary: automatic analysis

Config parameters (param! defaults)

Added parameterTypeDefaultFile
NewUserOonWeightFactorf640.00001home-mixer/params/param.rs
PhoenixMoeColdStartMaxResultsu320home-mixer/params/param.rs
RetrievalCandidatesKafkaMaxCandidatesu32200home-mixer/params/param.rs
RetrievalCandidatesKafkaSamplePercentf645.0home-mixer/params/param.rs
SimclustersMaxCandidateAgeHoursi3248home-mixer/params/param.rs
VMRankerComputeValueModelboolfalsehome-mixer/params/param.rs
VMRankerSendValueModelInputsboolfalsehome-mixer/params/param.rs

Pipeline components

KindChangeFile
Scoreraddedhome-mixer/scorers/vm_ranker_request.rs
Side effectaddedhome-mixer/side_effects/retrieval_candidates_kafka_side_effect.rs
Scorermodifiedgrox/flows/reply_spam/classifier_simple_reply_scorer.py
Filtermodifiedgrox/flows/reply_spam/task_filter.py
Filtermodifiedhome-mixer/filters/drop_duplicates_filter.rs
Filtermodifiedhome-mixer/filters/retweet_deduplication_filter.rs
Scorermodifiedhome-mixer/scorers/author_cold_start.rs
Scorermodifiedhome-mixer/scorers/phoenix_scorer.rs
Scorermodifiedhome-mixer/scorers/ranking_scorer.rs
Scorermodifiedhome-mixer/scorers/vm_ranker.rs
Side effectmodifiedhome-mixer/side_effects/scored_stats_side_effect.rs
Candidate sourcemodifiedhome-mixer/sources/following_night_owl_source.rs
Candidate sourcemodifiedhome-mixer/sources/phoenix_moe_source.rs
Candidate sourcemodifiedhome-mixer/sources/phoenix_source.rs
Candidate sourcemodifiedhome-mixer/sources/phoenix_topics_source.rs
Candidate sourcemodifiedhome-mixer/sources/popular_topics_source.rs
Candidate sourcemodifiedhome-mixer/sources/simclusters_source.rs
Candidate sourcemodifiedhome-mixer/sources/thunder_source.rs
Candidate sourcemodifiedhome-mixer/sources/tweet_mixer_source.rs
Candidate hydratormodifiedvisibility-filtering/hydration/exclusive_content_hydrator.rs
Candidate hydratormodifiedvisibility-filtering/hydration/tes_hydrator.rs
Candidate hydratormodifiedvisibility-filtering/hydration/viewer_hydrator.rs

Changed constants & literal values

NameOldNewFile
FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION5000080_000grox/flows/reply_spam/task_filter.py
HYDRATION_TIMEOUTDuration::from_millis(390)Duration::from_secs(1)visibility-filtering/hydration/mod.rs
Old lineNew lineFile
(82, tonic::Code::Unimplemented),(4, tonic::Code::Unimplemented),visibility-filtering/evaluate_tweets.rs
Some(&1)Some(&2)visibility-filtering/rules/metrics.rs

Modules touched

ModuleFiles addedModifiedRemovedLines +Lines −
visibility-filtering/2230+2,701−1,442
phoenix/182+1,371−877
home-mixer/3260+1,075−234
phoenix-rankall/050+337−44
grox/020+104−4

Files (72)

Show file list
PathLinesNote
Mgrox/flows/reply_spam/classifier_simple_reply_scorer.py+103/−3
Mgrox/flows/reply_spam/task_filter.py+1/−1
Mhome-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs+20/−0
Mhome-mixer/clients/vm_ranker_client.rs+2/−0
Mhome-mixer/filters/drop_duplicates_filter.rs+12/−8
Mhome-mixer/filters/retweet_deduplication_filter.rs+12/−8
Mhome-mixer/models/candidate.rs+48/−0
Ahome-mixer/models/fs_recipient.rs+55/−0
Mhome-mixer/models/mod.rs+1/−1
Mhome-mixer/models/query.rs+4/−0
Mhome-mixer/params/config.rs+0/−1
Mhome-mixer/params/param.rs+43/−1
Mhome-mixer/scorers/author_cold_start.rs+85/−20
Mhome-mixer/scorers/mod.rs+1/−0
Mhome-mixer/scorers/phoenix_scorer.rs+1/−1
Mhome-mixer/scorers/ranking_scorer.rs+88/−7
Mhome-mixer/scorers/vm_ranker.rs+112/−41
Ahome-mixer/scorers/vm_ranker_request.rs+74/−0
Mhome-mixer/server.rs+32/−60
Mhome-mixer/side_effects/mod.rs+1/−0
Ahome-mixer/side_effects/retrieval_candidates_kafka_side_effect.rs+209/−0
Mhome-mixer/side_effects/scored_stats_side_effect.rs+90/−1
Mhome-mixer/sources/following_night_owl_source.rs+5/−2
Mhome-mixer/sources/phoenix_moe_source.rs+66/−19
Mhome-mixer/sources/phoenix_source.rs+20/−30
Mhome-mixer/sources/phoenix_topics_source.rs+6/−18
Mhome-mixer/sources/popular_topics_source.rs+4/−1
Mhome-mixer/sources/simclusters_source.rs+17/−10
Mhome-mixer/sources/thunder_source.rs+2/−1
Mhome-mixer/sources/tweet_mixer_source.rs+4/−1
Mhome-mixer/util/phoenix_request.rs+61/−3
Mphoenix-rankall/src/config/mod.rs+1/−9
Mphoenix-rankall/src/processor/metadata_processor.rs+1/−1
Mphoenix-rankall/src/processor/record.rs+126/−16
Mphoenix-rankall/src/processor/sid_tail_processor.rs+1/−1
Mphoenix-rankall/src/store/base.rs+208/−17
Mphoenix/crates/serving/xai-recsys-engine/src/copy_port_client.rs+879/−93
Mphoenix/crates/serving/xai-recsys-engine/src/emb_table.rs+51/−6
Mphoenix/xrex/inference/h2d.py+44/−23
Aphoenix/xrex/inference/int8_post_table.py+11/−0
Mphoenix/xrex/inference/launch_inference.py+2/−3
Mphoenix/xrex/inference/model_runner.py+328/−17
Dphoenix/xrex/inference/serving_filters_runner.py+0/−543
Mphoenix/xrex/inference/serving_services.py+0/−13
Mphoenix/xrex/models/recsys_gen_recs_model.py+1/−1
Mphoenix/xrex/models/recsys_two_tower_model.py+55/−5
Dphoenix/xrex/models/recsys_two_tower_serving_filters.py+0/−173
Mvisibility-filtering/clients/socialgraph_client.rs+4/−1
Mvisibility-filtering/evaluate_tweets.rs+52/−96
Mvisibility-filtering/filter.rs+31/−31
Mvisibility-filtering/filter_tweets.rs+12/−52
Mvisibility-filtering/hydration/exclusive_content_hydrator.rs+1/−1
Mvisibility-filtering/hydration/metrics.rs+24/−2
Mvisibility-filtering/hydration/mod.rs+17/−1
Mvisibility-filtering/hydration/tes_hydrator.rs+17/−4
Mvisibility-filtering/hydration/viewer_hydrator.rs+6/−6
Mvisibility-filtering/lib.rs+1/−0
Mvisibility-filtering/models/mod.rs+11/−15
Avisibility-filtering/models/verdict.rs+62/−0
Mvisibility-filtering/reference_compare.rs+85/−39
Mvisibility-filtering/rules/author_rules.rs+212/−170
Mvisibility-filtering/rules/context.rs+8/−6
Mvisibility-filtering/rules/fixtures.rs+55/−60
Mvisibility-filtering/rules/golden_corpus.rs+372/−235
Mvisibility-filtering/rules/metrics.rs+82/−52
Mvisibility-filtering/rules/mod.rs+0/−18
Mvisibility-filtering/rules/registry.rs+303/−126
Mvisibility-filtering/rules/rule_spec.rs+240/−69
Mvisibility-filtering/rules/tweet_rules.rs+634/−410
Mvisibility-filtering/safety_label_source/source.rs+3/−4
Mvisibility-filtering/server_deps.rs+23/−44
Avisibility-filtering/treatment.rs+446/−0