Every claim, with its receipt

This is the whole registry — every factual claim in the library, each labeled by how strong its source is and linked to the exact line of code it came from. Filter by tier, search the text, and click any citation through to the source at its pinned commit. Nothing here is asserted without one.
73 claims
ads_spacing_rules
CODE-CURRENT0bfc279verified 2026-06-12
Ad insertion is constrained by a minimum number of posts before ads appear (MIN_POSTS_FOR_ADS), a computed minimum spacing between ads, and safe-gap selection that searches for the best eligible gap at or after each ideal position rather than forcing fixed intervals.
xai-org/x-algorithm — home-mixer/ads/safe_gap_blender.rs, MIN_POSTS_FOR_ADS + compute_spacing + find_best_gap (L10, L26, L72-L77)mechanism present; exact constants in withheld params as of the May 15, 2026 release
home-mixer/ads/safe_gap_blender.rs
author_diversity_decay
CODE-CURRENT0bfc279verified 2026-06-12
Within a single feed response, candidates from the same author are sorted best-first and each subsequent one is multiplied by (1 \− floor) \× decay^position + floor \— a geometric decay toward a floor, so only an author's top-scored post receives full value per feed load. The decay and floor constants are in the withheld params module.
xai-org/x-algorithm — home-mixer/scorers/author_diversity_scorer.rs, multiplier (L29\–L31) and per-author application (L52\–L65)as of the May 15, 2026 release
home-mixer/scorers/author_diversity_scorer.rs
cn_bridging_factor
CODE-CURRENTefa16caverified 2026-06-12
The model places notes and raters on a shared viewpoint 'factor' axis; a note's intercept only rises when raters across different factor positions agree, and the not-helpful threshold applies a negative note-factor multiplier (default -0.8) so more polarized notes must clear a harder bar. This is the bridging mechanism that resists single-viewpoint agreement.
twitter/communitynotes — scoring/src/scoring/mf_base_scorer.py, crnhThresholdNoteFactorMultiplier=-0.8 + factor docstring (L168-L169, L224-L226)twitter/communitynotes main as of 2026-06-12
scoring/src/scoring/mf_base_scorer.py
cn_matrix_factorization
CODE-CURRENTefa16caverified 2026-06-12
Community Notes scores notes with a matrix factorization model: it learns a note intercept (helpfulness), a note factor (viewpoint), a rater intercept and rater factor, and a global intercept, fitting all parameters to the full rating history.
twitter/communitynotes — scoring/src/scoring/matrix_factorization/matrix_factorization.py, note_intercepts/note_factors/user_intercepts/user_factors/global_intercept (L226, L241-L250)twitter/communitynotes main as of 2026-06-12; distinct repo from the ranking algorithm
scoring/src/scoring/matrix_factorization/matrix_factorization.py
cn_rater_helpfulness
CODE-CURRENTefa16caverified 2026-06-12
Community Notes computes rater and author helpfulness from rating outcomes: author helpfulness is the mean intercept of notes a user wrote, and rater helpfulness aggregates a rater's ratings against the intercepts those notes ultimately earned.
twitter/communitynotes — scoring/src/scoring/helpfulness_scores.py, author_helpfulness meanNoteScore (L50) + _rater_helpfulness (L55-L66)twitter/communitynotes main as of 2026-06-12
scoring/src/scoring/helpfulness_scores.py
cn_separate_repo
CODE-CURRENTefa16caverified 2026-06-12
The Community Notes scoring algorithm is open-sourced in twitter/communitynotes — a distinct repository from the xai-org/x-algorithm ranking code — and operates on public note and rating data; individual rater data is pseudonymized in the public release.
twitter/communitynotes — repository root; scoring/src/scoring/distinct repo, distinct SHA from the ranking algorithm
scoring/src/scoring/scorer.py
grox_classifiers
CODE-CURRENT0bfc279verified 2026-06-12
The May 2026 release includes Grox, a content-understanding service with classifiers for spam detection, post-category classification, and PTOS policy enforcement — including spam.py, safety_ptos.py, banger_initial_screen.py, post_safety_screen_deluxe.py, and reply_ranking.py.
xai-org/x-algorithm — README.md line 34 + grox/classifiers/content/ (file presence verified at pinned SHA)as of the May 15, 2026 release
README.md, grox/classifiers/content/spam.py, grox/classifiers/content/safety_ptos.py, grox/classifiers/content/banger_initial_screen.py, grox/classifiers/content/post_safety_screen_deluxe.py, grox/classifiers/content/reply_ranking.py
grox_spam_vision_deterministic
CODE-CURRENT0bfc279verified 2026-06-12
The spam classifier runs a Grok vision-language model (VisionSampler, ModelName.VLM_PRIMARY) at temperature 0.000001, scoring the SPAM_COMMENT content category — images are in scope, the verdict is deterministic, and replies are the screened surface.
xai-org/x-algorithm — grox/classifiers/content/spam.py, constructor (L26–L30)as of the May 15, 2026 release
grox/classifiers/content/spam.py
grox_user_context_in_judging
CODE-CURRENT0bfc279verified 2026-06-12
Grox content classifiers render the post's AUTHOR into the judging prompt: UserRenderer.render(post.user) places the user's profile in the model's context alongside the post, in the PTOS, banger, and post-safety-screen classifiers alike.
xai-org/x-algorithm — safety_ptos.py L84, banger_initial_screen.py L68, post_safety_screen_deluxe.py L54as of the May 15, 2026 release
grox/classifiers/content/safety_ptos.py, grox/classifiers/content/banger_initial_screen.py, grox/classifiers/content/post_safety_screen_deluxe.py
home_mixer_pipeline
CODE-CURRENT0bfc279verified 2026-06-12
The For You feed is assembled by a Home Mixer candidate pipeline: the server calls pipeline.execute(query) and serializes the selected_candidates into the timeline. The pipeline composes sources, hydrators, filters, scorers, and selectors.
xai-org/x-algorithm — home-mixer/for_you_server.rs, pipeline execution (L36-L40); candidate_pipeline/for_you_candidate_pipeline.rsas of the May 15, 2026 release
home-mixer/for_you_server.rs, home-mixer/candidate_pipeline/for_you_candidate_pipeline.rs
inferred_gender_gated
CODE-CURRENT0bfc279verified 2026-06-12
The inferred-gender hydrator is gated: its enable() returns true only when the EnableInferredGenderHydration param is set or the request is shadow traffic. The released code does not show this hydrator running unconditionally on production timeline requests, nor a scorer consuming the attached label.
xai-org/x-algorithm — home-mixer/query_hydrators/user_inferred_gender_query_hydrator.rs, enable gate (L30–L32)gating verified at the pinned SHA; production flag state and downstream use not in the release
home-mixer/query_hydrators/user_inferred_gender_query_hydrator.rs
may_2026_release_scope
CODE-CURRENT0bfc279verified 2026-06-12
The May 15, 2026 release changed 187 files (+18,263/−926 lines), adding: a runnable end-to-end inference pipeline (phoenix/run_pipeline.py), pre-trained mini Phoenix model artifacts, the Grox content-understanding service, an ads blending module (home-mixer/ads/), and new query hydrators, candidate hydrators, and candidate sources.
xai-org/x-algorithm — README.md, Updates section (lines 26–42); diff figures verified against repository history (aaa167b…e414c17)as of the May 15, 2026 release
README.md
multimodal_embedding_text_image_transcript
CODE-CURRENT0bfc279verified 2026-06-12
The multimodal post embedder appends a video's transcript directly to the post text, then assembles that text together with the post's images into a single document embedded by one model — text, images, and spoken-word transcript share one representation.
xai-org/x-algorithm — grox/embedder/multimodal_post_embedder_v5.py, transcript append (L76–L77) and document assembly (L79–L81)as of the May 15, 2026 release
grox/embedder/multimodal_post_embedder_v5.py
mutual_follow_jaccard_machinery
CODE-CURRENT0bfc279verified 2026-07-15
The May 15, 2026 release contains a complete mutual-follow similarity subsystem in home-mixer: a query hydrator fetches a MinHash signature (minimum 256 hashes) for the viewer, a candidate hydrator fetches each post author's signature and computes their Jaccard similarity into a per-candidate mutual_follow_jaccard score (0 to 1), and a side effect logs score-distribution metrics — all wired into the Phoenix candidate pipeline and all gated by EnableMutualFollowJaccardHydration, a parameter defined in the withheld params module.
xai-org/x-algorithm — home-mixer/candidate_hydrators/mutual_follow_jaccard_hydrator.rs; home-mixer/query_hydrators/mutual_follow_query_hydrator.rs; home-mixer/side_effects/mutual_follow_stats_side_effect.rs; home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs (lines 207, 312, 333)The signatures are fetched from a data service; the release does not define how the underlying follow-graph sets are constructed, nor the flag's production value.
mutual_follow_jaccard_no_named_consumer
CODE-CURRENT0bfc279verified 2026-07-15
At the May 15, 2026 release, no scorer, filter, or feature-mapping in the published home-mixer reads mutual_follow_jaccard by name: its only named consumers are the hydrators that set it and a metrics side effect that measures its distribution.
xai-org/x-algorithm — whole-tree grep for mutual_follow_jaccard and jaccard at the pinned SHA; named references limited to the two hydrators, pipeline wiring, the candidate.rs field (models/candidate.rs line 51), and the stats side effectAbsence claim (whole-tree). PostCandidate derives Serialize, so consumption via wholesale serialization of the candidate struct to the model service cannot be ruled out from the release.
no_link_deboost
CODE-CURRENT0bfc279verified 2026-06-12
The released ranking pipeline contains no link-penalty, URL-deboost, or external-link downranking mechanism. The only link-related signal is click_score in the weighted scorer, which is a positive term. Claim is scoped to the open release at the pinned commit.
xai-org/x-algorithm — absence across home-mixer/filters/* and home-mixer/scorers/*; only link reference is click_score in weighted_scorer.rs L53no link-deboost present in the open release; cannot prove absence in withheld layers
home-mixer/filters/, home-mixer/scorers/weighted_scorer.rs
phoenix_candidate_isolation
CODE-CURRENT0bfc279verified 2026-06-12
In the ranking transformer, candidates cannot attend to each other during inference — a deliberate design choice ensuring a candidate's score does not depend on which other candidates are in the batch. Candidates still attend to the user and the user's history.
xai-org/x-algorithm — phoenix/README.md, Ranking: Candidate Isolation (L70–L73) and attention-mask description (L121–L161)as of the May 15, 2026 release
phoenix/README.md, phoenix/recsys_model.py
phoenix_multi_action
CODE-CURRENT0bfc279verified 2026-06-12
The ranking model predicts multiple engagement types simultaneously per candidate (output shape [B, num_candidates, num_actions]); the mini config declares 19 action types, and the README decodes part of the proto ActionName enum: 1=favorite, 4=reply, 5=quote, 6=repost, 11=dwell, 13=video quality view.
xai-org/x-algorithm — phoenix/README.md, Multi-Action Prediction (L175–L186), action enum (L250), Action types=19 (L267)as of the May 15, 2026 release
phoenix/README.md
phoenix_new_user_history
CODE-CURRENT0bfc279verified 2026-06-12
Phoenix applies a new-user history threshold in both retrieval and ranking: when the configured threshold is positive, the system checks the length of the user's interaction sequence (action_count) and handles low-history (new) users via a separate path. This is cold-start handling, not a penalty, and resolves as a user accrues history.
xai-org/x-algorithm — home-mixer/sources/phoenix_source.rs PhoenixRetrievalNewUserHistoryThreshold (L25) + home-mixer/scorers/phoenix_scorer.rs PhoenixRankerNewUserHistoryThreshold (L29)as of the May 15, 2026 release
home-mixer/sources/phoenix_source.rs, home-mixer/scorers/phoenix_scorer.rs
phoenix_two_stage
CODE-CURRENT0bfc279verified 2026-06-12
Phoenix operates in two stages: retrieval narrows millions of candidates to hundreds via approximate-nearest-neighbor similarity search (a two-tower model), then a more expressive transformer ranks the retrieved set.
xai-org/x-algorithm — phoenix/README.md, Overview (L22–L26) and Architecture (L58–L73)as of the May 15, 2026 release
phoenix/README.md, phoenix/recsys_retrieval_model.py, phoenix/recsys_model.py
post_safety_deluxe_annotator
CODE-CURRENT0bfc279verified 2026-06-12
The post safety screen is an annotator, not a judge: it runs a critical-tier vision model (VLM_PRIMARY_CRITICAL) and returns only boolean metadata, with the verdict hardcoded to positive=False and score=0.0 — it attaches safety facts for downstream systems rather than flagging posts itself.
xai-org/x-algorithm — grox/classifiers/content/post_safety_screen_deluxe.py, constructor (L36–L44) and verdict (L83–L90)as of the May 15, 2026 release
grox/classifiers/content/post_safety_screen_deluxe.py
prescore_filters
CODE-CURRENT0bfc279verified 2026-06-12
Before scoring, Home Mixer removes: duplicates, posts that failed metadata hydration, posts older than a threshold, your own posts, repost duplicates, paywalled content you can't access, posts you've already seen or been served, posts containing your muted keywords, and posts from authors you've blocked or muted.
xai-org/x-algorithm — README.md, Filtering section (Pre-Scoring Filters table, lines 296–314)as of the May 15, 2026 release
README.md
ptos_redaction_seams
CODE-CURRENT0bfc279verified 2026-06-12
The released safety_ptos.py carries visible redaction seams: the _THINKING_RESTRICTION_LINES set contains only empty strings (L40–L43), and a boolean condition is missing its first operand (L241–L244: "if ( / and self.deluxe / and …") — clauses were removed from the file before publication.
xai-org/x-algorithm — grox/classifiers/content/safety_ptos.py, L40–L43 and L241–L244 (observable in the published file)as of the May 15, 2026 release
grox/classifiers/content/safety_ptos.py
ptos_two_stage
CODE-CURRENT0bfc279verified 2026-06-12
PTOS enforcement is a two-stage pipeline on two model tiers: SafetyPtosCategoryClassifier (VLM_SAFETY) detects whether a post violates anything, then SafetyPtosPolicyClassifier (VLM_PRIMARY_CRITICAL) re-judges it against the specific detected policy — both vision models at temperature 0.000001.
xai-org/x-algorithm — grox/classifiers/content/safety_ptos.py, class constructors (L57–L70 and L140–L152)as of the May 15, 2026 release
grox/classifiers/content/safety_ptos.py
query_hydrator_family
CODE-CURRENT0bfc279verified 2026-06-12
The home mixer includes a family of query hydrators that load viewer context before ranking: followed/blocked/muted/subscribed user IDs, muted keywords, impressed and served history, mutual-follow overlap, IP/country, and (gated) demographics and inferred gender.
xai-org/x-algorithm — home-mixer/query_hydrators/ (followed_user_ids, blocked_user_ids, muted_user_ids, subscribed_user_ids, impressed_posts, served_history, mutual_follow, ip, user_demographics, user_inferred_gender)as of the May 15, 2026 release
home-mixer/query_hydrators/mod.rs, home-mixer/models/user_features.rs
thunder_phoenix_split
CODE-CURRENT0bfc279verified 2026-06-12
For You candidates come from two sources: Thunder (in-network — posts from accounts you follow) and Phoenix Retrieval (out-of-network — ML-based similarity search across a global corpus). Both are ranked together by Phoenix.
xai-org/x-algorithm — README.md, lines 48–53 (Overview)as of the May 15, 2026 release
README.md
two_source_paths
CODE-CURRENT0bfc279verified 2026-06-12
Candidates are gathered by multiple sources, including Thunder (in-network posts from accounts the viewer follows) and Phoenix (out-of-network retrieval), plus a Who-To-Follow source for account recommendations.
xai-org/x-algorithm — home-mixer/sources/ (thunder_source.rs, phoenix_source.rs, who_to_follow_source.rs)as of the May 15, 2026 release
home-mixer/sources/thunder_source.rs, home-mixer/sources/phoenix_source.rs, home-mixer/sources/who_to_follow_source.rs
user_demographics_hydrator
CODE-CURRENT0bfc279verified 2026-06-12
A query hydrator exists that fetches a viewer's demographics and attaches them to the ranking query. It is gated: its enable() returns true only when the EnableContextFeatures param is set or the request is shadow traffic — it does not run unconditionally on production requests in the released code.
xai-org/x-algorithm — home-mixer/query_hydrators/user_demographics_query_hydrator.rs, enable gate (L14–L16) and hydrate (L18–L24)capability present and gated as of the May 15, 2026 release; production flag state not in the release
home-mixer/query_hydrators/user_demographics_query_hydrator.rs
user_inferred_gender_hydrator
CODE-CURRENT0bfc279verified 2026-06-12
A query hydrator can attach a discrete InferredGenderLabel plus a prediction_score to the ranking query. The label is read from a store; for same-day-created accounts with no stored value, a gRPC gender-prediction service is called to predict one live.
xai-org/x-algorithm — home-mixer/query_hydrators/user_inferred_gender_query_hydrator.rs, hydrate with store/predict fallback (L34–L45) and is_new_user (L56–L58)capability present and gated as of the May 15, 2026 release
home-mixer/query_hydrators/user_inferred_gender_query_hydrator.rs
viewer_features_struct
CODE-CURRENT0bfc279verified 2026-06-12
The per-viewer feature struct consumed by ranking contains six fields: muted_keywords, blocked_user_ids, muted_user_ids, followed_user_ids, subscribed_user_ids, and follower_count \— the viewer's muted keywords and block/mute lists are first-class ranking inputs.
xai-org/x-algorithm — home-mixer/models/user_features.rs, UserFeatures struct (L7\–L14)as of the May 15, 2026 release
home-mixer/models/user_features.rs
weighted_scorer_actions
CODE-CURRENT0bfc279verified 2026-06-12
The current WeightedScorer combines predicted probabilities for: favorite, reply, retweet, photo expand, click, profile click, video quality view, share, share via DM, share via copied link, dwell, quote, quoted click, continuous dwell time, follow author, not interested, block author, mute author, and report.
xai-org/x-algorithm — home-mixer/scorers/weighted_scorer.rs, lines 44–68 (compute_weighted_score)as of the May 15, 2026 release
home-mixer/scorers/weighted_scorer.rs
bier_following_misuse_2026_07
OFFICIAL-STATEDverified 2026-07-15
On July 14, 2026, Bier stated in a reply that user groups which misused Following as account promotion (naming crypto) with no intent to engage with the accounts they followed now have timelines "destroyed beyond all recognition" as a result of the mutuals change.
Nikita Bier (@nikitabier), X Head of Product — Official @nikitabier reply on X, 2026-07-14Official statement in a reply; timeline-level and mechanism implications are labeled inference in content, never code fact.
bier_mutuals_boost_2026_07
OFFICIAL-STATEDverified 2026-07-15
On July 13, 2026, X Head of Product Nikita Bier announced that posts now receive a visibility boost to mutuals (accounts you follow that follow you back), stating the mutual-follow data "was missing from the algo" and that its absence made friends appear less in replies.
Nikita Bier (@nikitabier), X Head of Product — Official @nikitabier post on X, 2026-07-13Official product statement; not yet confirmed in released code as of the May 15, 2026 release (see mutual_follow_jaccard claims for what the release does contain).
phoenix_grok_architecture
OFFICIAL-STATED0bfc279verified 2026-06-12
Phoenix's transformer is ported from the Grok-1 open-source release, adapted for recommendation with custom input embeddings and attention masking; the release states it is representative of the model used internally except for specific scaling optimizations.
xai-org/x-algorithm — phoenix/README.md, Note on Grok-1 lineage (L5)as of the May 15, 2026 release; describes a representative model
phoenix/README.md
ta2023_weights_stated
OFFICIAL-STATEDverified 2026-06-12
The specific 2023 engagement-weight multipliers (e.g. replies weighted far above likes, large negative weights for reports/'show less often') were published in X's 2023 engineering blog post about the release, rather than as a single readable constant table in the open code. The model producing the predictions is open; the exact combining weights are best cited as officially stated.
X 2023 engineering blog + twitter/the-algorithm-ml — X engineering blog (2023 'Twitter Recommendation Algorithm'); model in the-algorithm-mlHISTORICAL + STATED: 2023 blog values; not a current-code constant and not 2026-applicable
xalgo_live_release
OFFICIAL-STATEDverified 2026-06-12
In January 2026, X Engineering open-sourced its production For You feed algorithm at xai-org/x-algorithm, built on the same transformer architecture as xAI's Grok model.
X Engineering (@Engineering) — announcement post, January 2026X's own characterization of the release as the production system
interaction_graph_2023_realgraph
CODE-HISTORICALc54bec0verified 2026-07-15
The 2023 open-source release included RealGraph, a user-to-user graph measuring relationship strength between accounts from interaction counts (favorites, replies, retweets, clicks) and follow, mute, and block state, with its aggregated interaction-graph output exported as ranking features for timelines.
twitter/the-algorithm — follow-recommendations-service/common/src/main/scala/com/twitter/follow_recommendations/common/candidate_sources/real_graph/README.md (definition); src/scala/com/twitter/interaction_graph/scio/agg_all/README.md ("exported as features for timelines")Historical Scala stack, superseded by the 2026 Phoenix rebuild; cited as context for what the rebuild left behind.
jan_2026_initial_release
CODE-HISTORICALaaa167bverified 2026-06-12
The initial January 20, 2026 release (commit aaa167b) contained Home Mixer, Thunder, Phoenix, and the candidate-pipeline framework; the Grox content-understanding service and the home-mixer/ads module were not yet included, and the weighted scorer's numeric parameters were absent from the very first commit.
xai-org/x-algorithm — initial release tree at commit aaa167b (component presence/absence verified by direct inspection)the January 20, 2026 initial release; superseded by the May 15, 2026 release
ta2023_heavy_ranker
CODE-HISTORICALb852108verified 2026-06-12
The 2023 'For You' Heavy Ranker (open-sourced in twitter/the-algorithm-ml, projects/home/recap) was a neural model that predicted probabilities of multiple engagement outcomes (favorite, reply, reply-engaged-by-author, retweet, video view, dwell, profile click, and negative actions); the final tweet score combined these predictions with weights.
twitter/the-algorithm-ml — projects/home/recap (Heavy Ranker), README + model configHISTORICAL: 2023 heavy ranker; the architecture files are open, combining weights were stated in X blog
projects/home/recap/README.md, projects/home/recap/model/config.py
ta2023_open_source
CODE-HISTORICALc54bec0verified 2026-06-12
In March 2023, Twitter first open-sourced its recommendation algorithm at twitter/the-algorithm: a large Scala/Python stack covering candidate sourcing, a heavy-ranker model, heuristics, and a visibility-filtering rule engine. This is the historical predecessor to the 2026 xai-org/x-algorithm release.
twitter/the-algorithm — repository root README (2023 release)HISTORICAL: describes the 2023 system X has since replaced
README.md
ta2023_visibilitylib
CODE-HISTORICALc54bec0verified 2026-06-12
The 2023 VisibilityFiltering library (visibilitylib) was a centralized rule engine that altered content display at read time — supporting hard-filtering (Drop), soft-filtering (labels, interstitials), and coarse-grained downranking — via SafetyLevels, Features, Conditions, Policies, and a RuleEngine. Its README stated part of the code had been removed and comments sanitized before release.
twitter/the-algorithm — visibilitylib/README.md (2023 release)HISTORICAL: 2023 visibility engine; partly removed even at release; 2026 uses PTOS
visibilitylib/README.md
weighted_sum_2023
CODE-HISTORICALb852108verified 2026-06-12
The 2023 heavy ranker also combined predicted engagement probabilities into a weighted sum — the same structural idea the 2026 system retains, with different models producing the probabilities and different (unpublished) weights.
twitter/the-algorithm-ml — projects/home/recap/README.md, lines 26–28as of the 2023 release
weights_2023_values
CODE-HISTORICALb852108verified 2026-06-12
In the 2023 open-source release, the heavy ranker's published weights (dated April 5, 2023 in the source) were: favorite 0.5, retweet 1.0, reply 13.5, good profile click 12.0, video playback (50%) 0.005, reply engaged by author 75.0, good click 11.0, good click v2 10.0, negative feedback v2 −74.0, report −369.0.
twitter/the-algorithm-ml — projects/home/recap/README.md, lines 30–41as of the March–April 2023 open-source release; superseded by the 2026 system
current_weights_unpublished
UNKNOWN0bfc279verified 2026-06-12
The numeric values of the current weights are not included in the open-source release: weighted_scorer.rs references a params module (e.g. p::FAVORITE_WEIGHT, p::REPLY_WEIGHT) whose values are not present anywhere in the published repository.
xai-org/x-algorithm (verified by direct inspection of the full repository tree at the pinned SHA) — home-mixer/scorers/weighted_scorer.rs references crate::params; no params definitions with weight values exist in the releaseabsence verified at the pinned SHA; values may be published in a future release
home-mixer/scorers/weighted_scorer.rs