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.

· a707cc2 · 89 files, +9,552/−2,325

Ranking weights: click 0.4 → 0.3, click-dwell 0 → 0.4, not-interested −43.2 → −47.52

numeric tweaksparamsranking weightsschema
  • Weight changes, made identically in home-mixer/params/param.rs and vm-ranker/params.rs: ClickWeight 0.4 → 0.3. ContClickDwellTimeWeight 0.0 → 0.4, so predicted time spent after clicking into a post now counts. NotInterestedWeight -43.2 → -47.52, a 10% larger penalty.
  • Cold-start holdout: in author_cold_start.rs the MoE "ranking policy" that zeroed arm-gated retrieval candidates for non-treatment viewers is removed, along with the author_policy_zeroed field. Holdout viewers no longer exclude arm-gated retrieval candidates from cold-start eligibility.
  • New flag PhoenixRetrievalExcludeSeenPosts (default off). When on, Phoenix retrieval is sent the viewer's seen/served post IDs and impression bloom filters so it can skip posts already shown.
  • The ads request now forwards the client's seen post IDs (client_seen_post_ids).
  • Removed flag: UseEngagementCounterViewCountForImpressionBoost.
  • README: documents abuse-ledger-service/. When an enforcement is overturned on appeal, it is not re-applied for a fixed period.

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

Automatic analysis

Config parameters (param! defaults)

ParameterFeature-switch keyOldNew
ClickWeight
home-mixer/params/param.rs
rust_home_mixer_click_weight0.40.3
ContClickDwellTimeWeight
home-mixer/params/param.rs
rust_home_mixer_cont_click_dwell_time_weight0.00.4
NotInterestedWeight
home-mixer/params/param.rs
rust_home_mixer_not_interested_weight-43.2-47.52
ClickWeight
vm-ranker/params.rs
rust_home_mixer_click_weight0.40.3
ContClickDwellTimeWeight
vm-ranker/params.rs
rust_home_mixer_cont_click_dwell_time_weight0.00.4
NotInterestedWeight
vm-ranker/params.rs
rust_home_mixer_not_interested_weight-43.2-47.52
Added parameterTypeDefaultFile
PhoenixRetrievalExcludeSeenPostsboolfalsehome-mixer/params/param.rs
Removed parameterTypeLast defaultNote
UseEngagementCounterViewCountForImpressionBoostbooltrueremoved from home-mixer/params/param.rs

Pipeline components

KindChangeFile
Scorermodifiedhome-mixer/scorers/author_cold_start.rs
Scorermodifiedhome-mixer/scorers/value_model.rs
Scorermodifiedhome-mixer/scorers/vm_ranker.rs
Scorermodifiedhome-mixer/scorers/vm_ranker_request.rs
Candidate sourcemodifiedhome-mixer/sources/ads_source.rs
Candidate sourcemodifiedhome-mixer/sources/phoenix_source.rs

Changed constants & literal values

Old lineNew lineFile
cold_start_candidate(1, minutes(10), 3),cold_start_candidate(1, minutes(10), 1000),home-mixer/scorers/author_cold_start.rs

Schema fields (3)

Show proto/thrift field changes
ChangeField
addedFlattenedBlinkScore.scoreOutbound
addedFlattenedBlinkScore.support
addedFlattenedBlinkScore.supportOutbound

Modules touched

ModuleFiles addedModifiedRemovedLines +Lines −
visibility-filtering/7470+6,671−2,152
abuse-ledger-service/1100+2,282−0
phoenix/080+415−51
home-mixer/080+86−68
agatha/020+90−28
xai-value-model/030+1−23
vm-ranker/010+3−3
(repo root)/010+2−0
visibility-filtering-client/010+2−0

Files (89)

Show file list
PathLinesNote
MREADME.md+2/−0
Aabuse-ledger-service/src/api.rs+259/−0
Aabuse-ledger-service/src/boot.rs+117/−0
Aabuse-ledger-service/src/codes.rs+130/−0
Aabuse-ledger-service/src/config.rs+146/−0
Aabuse-ledger-service/src/lib.rs+9/−0
Aabuse-ledger-service/src/main.rs+84/−0
Aabuse-ledger-service/src/metrics.rs+91/−0
Aabuse-ledger-service/src/pg.rs+893/−0
Aabuse-ledger-service/src/repo.rs+145/−0
Aabuse-ledger-service/src/sql.rs+60/−0
Aabuse-ledger-service/src/tls.rs+348/−0
Magatha/scalding/blink/BlinkScoreJobTemplate.scala+87/−28
Magatha/thrift/agatha.thrift+3/−0
Mhome-mixer/models/candidate.rs+0/−2
Mhome-mixer/params/param.rs+11/−10
Mhome-mixer/scorers/author_cold_start.rs+23/−48
Mhome-mixer/scorers/value_model.rs+0/−1
Mhome-mixer/scorers/vm_ranker.rs+0/−2
Mhome-mixer/scorers/vm_ranker_request.rs+0/−1
Mhome-mixer/sources/ads_source.rs+14/−0
Mhome-mixer/sources/phoenix_source.rs+38/−4
Mphoenix/crates/common/xai-recsys/src/util.rs+84/−4
Mphoenix/crates/serving/xai-recsys-proto/src/purchase_value.rs+3/−8
Mphoenix/xrex/configs/xrecsys.py+14/−0
Mphoenix/xrex/data/recsys/feature_config.py+4/−1
Mphoenix/xrex/data/recsys/recsys_batch.py+16/−0
Mphoenix/xrex/data/recsys/sequence_packing.py+77/−0
Mphoenix/xrex/inference/model_runner.py+134/−38
Mphoenix/xrex/models/recsys_model.py+83/−0
Mvisibility-filtering-client/links.rs+2/−0
Mvisibility-filtering/clients/about_this_account_client.rs+2/−2
Mvisibility-filtering/clients/gizmoduck_client.rs+26/−1
Mvisibility-filtering/evaluate_tweets.rs+101/−102
Mvisibility-filtering/filter.rs+64/−16
Mvisibility-filtering/filter_tweets.rs+7/−15
Mvisibility-filtering/hydration/decode/tweet.rs+1/−21
Mvisibility-filtering/hydration/decode/viewer.rs+103/−6
Mvisibility-filtering/hydration/execute.rs+129/−66
Mvisibility-filtering/hydration/mod.rs+8/−2
Mvisibility-filtering/hydration/plan.rs+26/−14
Mvisibility-filtering/hydration/sources.rs+28/−32
Mvisibility-filtering/hydration/store.rs+43/−19
Rvisibility-filtering/hydration/tweet_source.rs+83/−77
Mvisibility-filtering/lib.rs+2/−0
Mvisibility-filtering/main.rs+0/−1
Mvisibility-filtering/models/mod.rs+5/−3
Mvisibility-filtering/models/tweet.rs+1/−0
Mvisibility-filtering/models/verdict.rs+51/−70
Mvisibility-filtering/models/viewer.rs+41/−1
Mvisibility-filtering/params.rs+311/−144
Avisibility-filtering/params/client_switches.rs+225/−0
Avisibility-filtering/reference/mod.rs+224/−0
Avisibility-filtering/reference/tweetypie.rs+714/−0
Mvisibility-filtering/reference_compare.rs+13/−38
Avisibility-filtering/retweet.rs+318/−0
Mvisibility-filtering/rules/author_rules.rs+168/−203
Mvisibility-filtering/rules/context.rs+25/−8
Mvisibility-filtering/rules/fixtures.rs+150/−7
Mvisibility-filtering/rules/golden_corpus/age_gating.rs+39/−39
Avisibility-filtering/rules/golden_corpus/age_verification.rs+705/−0
Mvisibility-filtering/rules/golden_corpus/author_state.rs+111/−13
Mvisibility-filtering/rules/golden_corpus/baseline.rs+10/−4
Mvisibility-filtering/rules/golden_corpus/builders.rs+48/−2
Mvisibility-filtering/rules/golden_corpus/conversation_control.rs+15/−15
Mvisibility-filtering/rules/golden_corpus/exclusive_content.rs+74/−12
Mvisibility-filtering/rules/golden_corpus/interstitial.rs+52/−41
Avisibility-filtering/rules/golden_corpus/legacy_interstitial.rs+130/−0
Avisibility-filtering/rules/golden_corpus/local_regulations.rs+62/−0
Mvisibility-filtering/rules/golden_corpus/mod.rs+42/−0
Mvisibility-filtering/rules/golden_corpus/oon_media.rs+41/−17
Mvisibility-filtering/rules/golden_corpus/oon_tweet_label.rs+68/−14
Mvisibility-filtering/rules/golden_corpus/oon_user_label.rs+41/−20
Mvisibility-filtering/rules/golden_corpus/relationship.rs+19/−7
Mvisibility-filtering/rules/golden_corpus/takedown.rs+9/−9
Mvisibility-filtering/rules/golden_corpus/tweet_label.rs+88/−19
Mvisibility-filtering/rules/golden_corpus/tweet_state.rs+70/−6
Mvisibility-filtering/rules/metrics.rs+6/−4
Mvisibility-filtering/rules/mod.rs+3/−4
Mvisibility-filtering/rules/registry.rs+543/−353
Mvisibility-filtering/rules/rule_spec.rs+465/−33
Mvisibility-filtering/rules/tweet_rules.rs+904/−543
Mvisibility-filtering/server.rs+5/−7
Mvisibility-filtering/server_deps.rs+27/−62
Mvisibility-filtering/treatment.rs+225/−80
Mvm-ranker/params.rs+3/−3
Mxai-value-model/inputs.rs+0/−1
Mxai-value-model/proto.rs+0/−1
Mxai-value-model/scoring.rs+1/−21