{
  "_meta": {
    "source_repo": "https://github.com/xai-org/x-algorithm",
    "source_commit": "0bfc279",
    "verified": "2026-07-31",
    "formula_file": "home-mixer/scorers/ranking_scorer.rs",
    "formula": "combined = Σ P(action_i) × weight_i over 22 terms, then offset: if total_sum==0 → max(combined,0); elif combined<0 → (combined+negative_sum)/total_sum × NEGATIVE_SCORES_OFFSET; else combined + NEGATIVE_SCORES_OFFSET. Then author-diversity multiplier, then out-of-network multiplier.",
    "weights_status": "Every 2026 weight constant is read from crate::params / xai_feature_switches at runtime — the params module is NOT in the repo. No 2026 weight value is public.",
    "heads_note": "P(action) values come from the Phoenix transformer (Grok-1 architecture port, phoenix/README.md). 19 binary heads + continuous heads (dwell_time, video_watch_time, scroll_depth) are listed in phoenix/runners.py:233-266."
  },
  "signals": [
    {
      "slug": "favorite",
      "name": "Favorite (Like)",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (FavoriteWeight); phoenix/runners.py ACTIONS[0]",
      "weight_2026": "withheld (crate::params)",
      "weight_2023": 0.5,
      "what": "Predicted probability the viewer likes the post. In 2023 this was famously the LOWEST-weighted positive action (0.5 vs 13.5 for a reply) — likes are cheap.",
      "lever": "Likes follow reach; almost everything else on this list is worth more per unit. Do not optimize for likeability alone.",
      "tag": "CODE"
    },
    {
      "slug": "reply",
      "name": "Reply",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (ReplyWeight); phoenix/runners.py ACTIONS[1]",
      "weight_2026": "withheld",
      "weight_2023": 13.5,
      "what": "Predicted probability the viewer replies. 27× a like in the 2023 stack; the 2026 weight is withheld but the head exists and is separately modeled.",
      "lever": "Posts that leave something to answer — a real question, a defensible claim, a gap the reader can fill — earn this head. Note Grox separately ranks replies and screens reply-spam, so low-effort bait cuts the other way.",
      "tag": "CODE"
    },
    {
      "slug": "retweet",
      "name": "Repost",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (RetweetWeight); phoenix/runners.py ACTIONS[2]",
      "weight_2026": "withheld",
      "weight_2023": 1.0,
      "what": "Predicted probability of a repost. The 2023 reference unit (weight 1.0).",
      "lever": "People repost what makes them look smart, early, or right to THEIR audience. Write the post they wish they'd written.",
      "tag": "CODE"
    },
    {
      "slug": "photo-expand",
      "name": "Photo expand",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (PhotoExpandWeight); phoenix/runners.py ACTIONS[3]",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted probability the viewer taps to expand an attached photo. A head your post cannot earn at all without an image.",
      "lever": "An image that rewards a tap (detail, a chart, a screenshot with small text worth zooming) activates a whole scoring term text-only posts forfeit.",
      "tag": "CODE"
    },
    {
      "slug": "click",
      "name": "Click (open post)",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (ClickWeight); phoenix/runners.py ACTIONS[4]",
      "weight_2026": "withheld",
      "weight_2023": 11.0,
      "what": "Predicted probability the viewer opens/clicks into the post (detail view). Weighted with click-dwell separately (cont_click_dwell_time).",
      "lever": "Long posts, threads, and quote contexts that make the reader open the detail view earn this; the follow-up dwell is measured too, so the inside has to deliver.",
      "tag": "CODE"
    },
    {
      "slug": "profile-click",
      "name": "Profile click",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (ProfileClickWeight); phoenix/runners.py ACTIONS[5]",
      "weight_2026": "withheld",
      "weight_2023": 12.0,
      "what": "Predicted probability the viewer clicks through to your profile. 24× a like in 2023.",
      "lever": "Posts that make a stranger ask 'who IS this?' — strong specific claims, unusual expertise — drive profile clicks, which also feed follow_author.",
      "tag": "CODE"
    },
    {
      "slug": "vqv",
      "name": "Video quality view",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs — vqv_weight() zeroes this unless video_duration > MinVideoDurationMs",
      "weight_2026": "withheld; gated by MinVideoDurationMs (value withheld)",
      "weight_2023": 0.005,
      "what": "Predicted probability of a quality video view. HARD GATE in code: videos shorter than the minimum duration earn ZERO video weight — the weight itself is zeroed, not just the probability.",
      "lever": "A too-short video is scored as if it had no video. If you attach video, make it long enough to clear the gate and good enough to hold watch time (video_watch_time is a separate continuous head).",
      "tag": "CODE"
    },
    {
      "slug": "share",
      "name": "Share",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (ShareWeight); phoenix/runners.py ACTIONS[7]",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted probability the viewer hits the share button at all (superset intent of the two heads below).",
      "lever": "Reference-quality content — the post someone saves to send later — earns the share family, three separate scoring terms.",
      "tag": "CODE"
    },
    {
      "slug": "share-via-dm",
      "name": "Share via DM",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (ShareViaDmWeight)",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted probability the viewer sends your post to someone privately. A distinct modeled head — private sends are a first-class ranking signal.",
      "lever": "'Send this to the friend who…' content (useful, funny, niche-specific) travels through DMs. This is the signal engagement-pods can't fake.",
      "tag": "CODE"
    },
    {
      "slug": "share-via-copy-link",
      "name": "Share via copy link",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (ShareViaCopyLinkWeight)",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted probability the viewer copies the post link — off-platform distribution as a modeled action.",
      "lever": "Content people cite elsewhere (group chats, Discord, newsletters) earns this head.",
      "tag": "CODE"
    },
    {
      "slug": "dwell",
      "name": "Dwell",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (DwellWeight); phoenix/runners.py ACTIONS[10]",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted probability the viewer stops and actually reads (dwells on) the post, as a binary head — with continuous dwell-time modeled separately.",
      "lever": "The first line decides this. A hook that stops the scroll earns dwell; its evil twin not_dwelled is an explicit NEGATIVE head — scroll-past is scored against you.",
      "tag": "CODE"
    },
    {
      "slug": "quote",
      "name": "Quote",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (QuoteWeight); phoenix/runners.py ACTIONS[11]",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted probability the viewer quote-posts you.",
      "lever": "Takes that invite commentary — strong opinions, incomplete lists, rankings — get quoted. Quoted posts also earn quoted_click and quoted_vqv downstream.",
      "tag": "CODE"
    },
    {
      "slug": "quoted-click",
      "name": "Quoted click",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (QuotedClickWeight)",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted probability a viewer clicks through into the post you quoted / your post when quoted.",
      "lever": "Quote-posting with real added context (not bare dunks) keeps both posts earning.",
      "tag": "CODE"
    },
    {
      "slug": "quoted-vqv",
      "name": "Quoted video view",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs — quoted_vqv_weight(), duration-gated when EnableQuotedVqvDurationCheck",
      "weight_2026": "withheld; same MinVideoDurationMs gate (flag-controlled)",
      "weight_2023": null,
      "what": "Video-quality-view probability for video inside a quoted post — with its own duration-gate feature flag.",
      "lever": "Quoting a video post extends its earning surface; the same too-short-video rule applies.",
      "tag": "CODE"
    },
    {
      "slug": "cont-dwell-time",
      "name": "Dwell time (continuous)",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (ContDwellTimeWeight); phoenix/runners.py CONTINUOUS_ACTIONS",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted dwell DURATION (not just yes/no) enters the sum as its own weighted term — depth of read is scored, continuously.",
      "lever": "Substance pays twice: once on the dwell head, again on predicted seconds. A 40-word post that takes 8 seconds to read cannot earn what a genuinely engrossing post earns.",
      "tag": "CODE"
    },
    {
      "slug": "cont-click-dwell-time",
      "name": "Click dwell time (continuous)",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (ContClickDwellTimeWeight)",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted time spent AFTER clicking into the post. Clickbait that gets the open but not the stay leaks value here.",
      "lever": "The inside of the thread has to be as good as the hook. Open-then-bounce is modeled.",
      "tag": "CODE"
    },
    {
      "slug": "follow-author",
      "name": "Follow author",
      "polarity": "positive",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (FollowAuthorWeight); phoenix/runners.py ACTIONS[13]",
      "weight_2026": "withheld",
      "weight_2023": null,
      "what": "Predicted probability this post makes the viewer follow you — the compounding action is a first-class scoring term.",
      "lever": "The post that best predicts a follow is one that promises more of the same: a clear lane, demonstrated repeatedly. Random virality doesn't signal followability.",
      "tag": "CODE"
    },
    {
      "slug": "not-interested",
      "name": "Not interested",
      "polarity": "negative",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (NotInterestedWeight); phoenix/runners.py NEGATIVE_FEEDBACK_INDICES",
      "weight_2026": "withheld (negative)",
      "weight_2023": null,
      "what": "Predicted probability the viewer hits 'Not interested in this post'. One of four explicit negative heads subtracted in the formula.",
      "lever": "Off-lane content shown broadly (rage-bait, forced trends, repetitive formats) accumulates not-interested risk. Relevance beats reach-grabbing.",
      "tag": "CODE"
    },
    {
      "slug": "block-author",
      "name": "Block author",
      "polarity": "negative",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (BlockAuthorWeight)",
      "weight_2026": "withheld (negative)",
      "weight_2023": null,
      "what": "Predicted probability the viewer blocks you off this post. Blocks also remove you from that viewer's candidate pool permanently (author_socialgraph_filter.rs).",
      "lever": "Aggressive reply-guy tactics and bait risk the one signal with a permanent tail: a block is forever-zero future distribution to that viewer.",
      "tag": "CODE"
    },
    {
      "slug": "mute-author",
      "name": "Mute author",
      "polarity": "negative",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (MuteAuthorWeight)",
      "weight_2026": "withheld (negative)",
      "weight_2023": null,
      "what": "Predicted probability the viewer mutes you. Muted authors are filtered from that viewer's timeline at the socialgraph filter.",
      "lever": "Posting volume into the same audience raises mute risk faster than reach — see the author-diversity decay: the algorithm already discounts your Nth post.",
      "tag": "CODE"
    },
    {
      "slug": "report",
      "name": "Report",
      "polarity": "negative",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (ReportWeight)",
      "weight_2026": "withheld (negative)",
      "weight_2023": -369.0,
      "what": "Predicted probability the viewer reports the post. In 2023 this was the most powerful single weight in the system (−369, i.e. one predicted report erased ~738 likes).",
      "lever": "Anything that flirts with report-bait (shock content, scams, impersonation) risks the heaviest negative in the known history of the system.",
      "tag": "CODE"
    },
    {
      "slug": "not-dwelled",
      "name": "Not dwelled (scroll-past)",
      "polarity": "negative",
      "code_ref": "home-mixer/scorers/ranking_scorer.rs (NotDwelledWeight)",
      "weight_2026": "withheld (negative)",
      "weight_2023": null,
      "what": "Predicted probability the viewer scrolls past without engaging — being ignored is an explicit negative scoring term, not just an absence of positives.",
      "lever": "A weak first line doesn't merely earn nothing; it actively costs. The hook is a defensive play.",
      "tag": "CODE"
    }
  ]
}
