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.

· 49815da · 78 files, +10,938/−982

New filter task_safety_ptos_adult_content_leading_frames_filter and other changes.

constantsfiltersnumeric tweaksparamsschema
  • Parameter defaults changed: PhoenixRetrievalMOEInferenceClusterId: "Experiment1Fou" → "Experiment2Memy04".
  • Added 2 config parameters: WeightPerturbationSalt = "" and WeightPerturbationSigma = 0.0.
  • New filter: task_safety_ptos_adult_content_leading_frames_filter.
  • Constants changed: FOLLOWER_COUNT_THRESHOLD_FOR_REPLY_RANKING 120000 → 150000 (task_filter.py), _MOTION_REVEAL_MAX_RESIDUAL_P99 75.0 → 100.0 (image.py), _MOTION_REVEAL_DENSE_SAMPLES 16 → 32 (video_frames.py) and AOT_CACHE_VERSION "20260705" → "20260904" (aot.py).
  • Other literal values changed in code: FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION 120000→150000 (task_filter.py) and FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION 5000→10000 (task_filter.py).
  • Proto/Thrift schema: 9 fields added (e.g. ContentFeatures.hasPhoto, ContentFeatures.hasUrl, ContentFeatures.hasVideo, ContentFeatures.maxVideoDurationMs and 5 more).
  • Most activity in phoenix/ (+8,569/−679), grox/ (+1,535/−74), home-mixer/ (+574/−141), candidate-pipeline/ (+105/−47) and visibility-filtering-client/ (+119/−0).

Full analysis → Summary: automatic analysis

Config parameters (param! defaults)

ParameterFeature-switch keyOldNew
PhoenixRetrievalMOEInferenceClusterId
home-mixer/params/param.rs
rust_home_mixer_phoenix_retrieval_moe_inference_cluster_id"Experiment1Fou""Experiment2Memy04"
Added parameterTypeDefaultFile
WeightPerturbationSaltString""home-mixer/params/param.rs
WeightPerturbationSigmaf640.0home-mixer/params/param.rs

Pipeline components

KindChangeFile
Filteraddedgrox/flows/ptos/task_safety_ptos_adult_content_leading_frames_filter.py
Candidate hydratormodifiedcandidate-pipeline/query_hydrator.rs
Filtermodifiedgrox/flows/reply_spam/task_filter.py
Candidate hydratormodifiedhome-mixer/candidate_hydrators/core_data_candidate_hydrator.rs
Candidate hydratormodifiedhome-mixer/candidate_hydrators/filtered_topics_hydrator.rs
Candidate hydratormodifiedhome-mixer/candidate_hydrators/media_info_hydrator.rs
Candidate hydratormodifiedhome-mixer/candidate_hydrators/quote_hydrator.rs
Scorermodifiedhome-mixer/scorers/ranking_scorer.rs

Changed constants & literal values

NameOldNewFile
FOLLOWER_COUNT_THRESHOLD_FOR_REPLY_RANKING120000150000grox/flows/reply_spam/task_filter.py
_MOTION_REVEAL_MAX_RESIDUAL_P9975.0100.0grox/libs/video_tools/image.py
_MOTION_REVEAL_DENSE_SAMPLES1632grox/libs/video_tools/video_frames.py
AOT_CACHE_VERSION"20260705""20260904"phoenix/xrex/utils/aot.py
Old lineNew lineFile
FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION = 120000FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION = 150000grox/flows/reply_spam/task_filter.py
FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION = 5000FOLLOWER_COUNT_THRESHOLD_FOR_SPAM_DETECTION = 10000grox/flows/reply_spam/task_filter.py

Schema fields (9)

Show proto/thrift field changes
ChangeField
addedContentFeatures.hasPhoto
addedContentFeatures.hasUrl
addedContentFeatures.hasVideo
addedContentFeatures.maxVideoDurationMs
addedContentFeatures.mediaCount
addedContentFeatures.newlineCount
addedContentFeatures.weightedTextLen
addedTweetInfo.contentFeatures
addedTweetInfo.quotedContentFeatures

Modules touched

ModuleFiles addedModifiedRemovedLines +Lines −
phoenix/6150+8,569−679
grox/13210+1,535−74
home-mixer/1101+574−141
candidate-pipeline/080+105−47
visibility-filtering-client/010+119−0
visibility-filtering/020+36−41

Files (78)

Show file list
PathLinesNote
Mcandidate-pipeline/candidate_pipeline.rs+29/−11
Mcandidate-pipeline/filter.rs+10/−9
Mcandidate-pipeline/hydrator.rs+39/−10
Mcandidate-pipeline/query_hydrator.rs+2/−2
Mcandidate-pipeline/scorer.rs+7/−2
Mcandidate-pipeline/selector.rs+10/−9
Mcandidate-pipeline/side_effect.rs+6/−2
Mcandidate-pipeline/source.rs+2/−2
Mgrox/core/data_loaders/data_types.py+1/−0
Mgrox/core/data_loaders/media_loader.py+6/−1
Mgrox/core/lm/convo.py+5/−4
Agrox/flows/mm_emb/adaptive_min_fav.py+63/−0
Agrox/flows/mm_emb/backfill_consumer_dedup.py+49/−0
Agrox/flows/mm_emb/batched_fav_hydrator.py+65/−0
Mgrox/flows/mm_emb/constants.py+9/−0
Agrox/flows/mm_emb/embedder_v8_search.py+113/−0
Mgrox/flows/mm_emb/generators.py+82/−1
Agrox/flows/mm_emb/plan_post_embedding_v8_search.py+34/−0
Agrox/flows/mm_emb/plan_post_embedding_v8_search_backfill.py+43/−0
Agrox/flows/mm_emb/plan_post_embedding_v8_search_backfill_batch.py+16/−0
Agrox/flows/mm_emb/plan_post_embedding_v8_search_for_reply.py+37/−0
Agrox/flows/mm_emb/renderer_v8_search.py+461/−0
Agrox/flows/mm_emb/task_backfill_fanout.py+85/−0
Agrox/flows/mm_emb/task_backfill_gate.py+60/−0
Mgrox/flows/mm_emb/task_embedding_pub.py+5/−0
Mgrox/flows/mm_emb/task_multimodal_post_embedding.py+52/−0
Mgrox/flows/mm_emb/task_rate_limit.py+15/−0
Mgrox/flows/mm_emb/task_write_mm_embedding_sink.py+90/−0
Mgrox/flows/ptos/constants.py+15/−1
Mgrox/flows/ptos/generators.py+14/−0
Agrox/flows/ptos/plan_safety_ptos_adult_content_leading_frames.py+56/−0
Mgrox/flows/ptos/task_rate_limit.py+5/−0
Mgrox/flows/ptos/task_safety_ptos_adult_content_cross_validation.py+2/−2
Agrox/flows/ptos/task_safety_ptos_adult_content_leading_frames_filter.py+81/−0
Mgrox/flows/ptos/task_safety_ptos_policy.py+4/−1
Mgrox/flows/reply_spam/strato_loader.py+8/−8
Mgrox/flows/reply_spam/task_filter.py+3/−3
Mgrox/flows/reply_spam/task_multi_step_reply_spam.py+2/−9
Mgrox/flows/reply_spam/task_write.py+2/−17
Mgrox/libs/video_tools/image.py+42/−19
Mgrox/libs/video_tools/subtitles.py+3/−1
Mgrox/libs/video_tools/video_frames.py+7/−7
Dhome-mixer/bin/pipeline_components_json.rs+0/−76
Mhome-mixer/candidate_hydrators/core_data_candidate_hydrator.rs+22/−1
Mhome-mixer/candidate_hydrators/filtered_topics_hydrator.rs+2/−2
Mhome-mixer/candidate_hydrators/media_info_hydrator.rs+70/−15
Mhome-mixer/candidate_hydrators/quote_hydrator.rs+142/−12
Mhome-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs+8/−1
Mhome-mixer/candidate_pipeline/phoenix_scores_pipeline.rs+4/−2
Mhome-mixer/models/candidate.rs+33/−1
Ahome-mixer/models/content_features.rs+185/−0
Mhome-mixer/models/mod.rs+1/−0
Mhome-mixer/params/param.rs+14/−2
Mhome-mixer/scorers/ranking_scorer.rs+93/−29
Mphoenix/NOTICE+198/−0
Mphoenix/crates/common/xai-recsys/src/model_config.rs+2/−2
Mphoenix/crates/common/xai-recsys/src/util.rs+1/−0
Mphoenix/crates/serving/xai-recsys-engine/src/copy_port_client.rs+207/−9
Mphoenix/crates/serving/xai-recsys-proto/proto/recsys.proto+12/−0
Mphoenix/python/common/xai-configlib/src/xai_configlib/__init__.py+23/−0
Mphoenix/python/common/xai-proto/proto/recsys.proto+12/−0
Mphoenix/xrex/cutedsl/ranker_attention_fa4.py+273/−130
Mphoenix/xrex/cutedsl/ranker_attention_varlen_fa4.py+178/−211
Aphoenix/xrex/cutedsl/ranker_fa4/ampere_helpers.py+135/−0
Mphoenix/xrex/cutedsl/ranker_fa4/block_sparse_utils.py+412/−314
Aphoenix/xrex/cutedsl/ranker_fa4/flash_bwd.py+1954/−0
Mphoenix/xrex/cutedsl/ranker_fa4/flash_bwd_postprocess.py+2/−7
Aphoenix/xrex/cutedsl/ranker_fa4/flash_bwd_preprocess.py+329/−0
Aphoenix/xrex/cutedsl/ranker_fa4/flash_bwd_sm90.py+1864/−0
Aphoenix/xrex/cutedsl/ranker_fa4/flash_fwd.py+1333/−0
Aphoenix/xrex/cutedsl/ranker_fa4/flash_fwd_sm90.py+1465/−0
Mphoenix/xrex/cutedsl/ranker_fa4/mask.py+63/−1
Mphoenix/xrex/models/recsys_attention.py+4/−4
Mphoenix/xrex/train/recsys_bundle_export.py+48/−0
Mphoenix/xrex/utils/aot.py+54/−1
Mvisibility-filtering-client/vf_client.rs+119/−0
Mvisibility-filtering/safety_label_source/codec.rs+2/−3
Mvisibility-filtering/safety_label_source/proto.rs+34/−38