xai-org / xai-org/x-algorithm

Author diversity resets on every For You request, so the same author repeats across consecutive loads

Open
#202 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
33.3k
Forks
5.4k
Avg merge
1d 17h
Merged PRs (30d)
1

Description

Problem
The same author can fill For You across consecutive refreshes and scrolls, because author diversity is computed per request and starts from zero each time.

Current behavior (6bb4594)

Result: an author's first post in every new load gets a full 1.0 multiplier, even if the viewer was shown that author several times in the previous load seconds earlier.

Proposal

  1. Carry recently served author IDs (bounded, e.g. last N requests or last few minutes) with the query.
  2. Seed author_pool_counts with those counts, time-decayed, so diversity continues across loads instead of resetting.
  3. Ship behind a param, off by default, for controlled evaluation.

Related

  • #37: hard author cap within a single slate (off by default)
  • #83: cross-request semantic fatigue (topic-keyed, not author-keyed)
  • #172 (closed): diversity keyed on the retweeter

Open questions

  • Window size and decay rate
  • Whether mutual follows or authors the viewer engages with heavily should get a softer penalty

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with home-mixer/scorers/ranking_scorer.rs and inspect how author_pool_counts is built, then trace served_ids through home-mixer/models/query.rs and previously_served_posts_filter.rs. Review the parameters in home-mixer/params/param.rs and resolve the proposed window, decay, and rollout choices. Done means bounded recent author history can seed diversity across loads behind an off-by-default parameter.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.