Bug
In lib/ranking.ts, the rising algorithm computes acceleration = recentScore / priorScore. When a storyline has zero prior window activity, priorScore approaches 0, causing acceleration to inflate to extreme values. New storylines with any recent activity will always dominate the rising tab.
Impact: Rising tab is dominated by brand-new storylines regardless of actual acceleration, making it useless for discovering genuinely accelerating content.
Fix:
- Add a minimum threshold for
priorScore (e.g., if priorScore < threshold, exclude from rising or cap the acceleration ratio)
- Alternatively, require a minimum age (e.g., storyline must be older than the prior window) to appear in rising
- Consider a minimum activity threshold (e.g., at least N ratings or plots in prior window)
Context: Introduced in PR #86. The filter trendScore > 1 (line ~245) does not prevent this — it just checks recent > prior, not the magnitude.
Checklist:
Labels: bug, agent/T3
Bug
In
lib/ranking.ts, the rising algorithm computesacceleration = recentScore / priorScore. When a storyline has zero prior window activity,priorScoreapproaches 0, causingaccelerationto inflate to extreme values. New storylines with any recent activity will always dominate the rising tab.Impact: Rising tab is dominated by brand-new storylines regardless of actual acceleration, making it useless for discovering genuinely accelerating content.
Fix:
priorScore(e.g., if priorScore < threshold, exclude from rising or cap the acceleration ratio)Context: Introduced in PR #86. The filter
trendScore > 1(line ~245) does not prevent this — it just checks recent > prior, not the magnitude.Checklist:
npm run lintandnpm run typecheckpassLabels:
bug,agent/T3