#23 · Reputation decay: weekly cron drops idle reputation by 1%
+240 pts on merge
Claim on GitLab
Submit a merge request that closes this issue to earn points on merge — bounties stack on the standard
+40 merge_pr award. New to the repo? See the
Contributing guide,
and Local Development & SSO
to run the app locally (
cp .dev.vars.example .dev.vars && pnpm dev, after rebasing on main) and fully test your change before opening the MR.
Description
Context
Reputation should reflect recent activity, not lifetime hoarding. A small weekly decay (1% of reputation if user had no activity that week) keeps the leaderboard fresh and aligned with the scoreboard's existing weekly/monthly periods.
Acceptance criteria
- [ ] Sunday 04:00 UTC cron iterates all users, applies 1% decay if 0 actions in last 7 days
- [ ] Decay logged as a
reputation_decayevent for transparency - [ ] Floor: never decay below 100 reputation (or whatever the starting value is)
- [ ] Admin can disable per user (
reputation_decay_eligible=0)
Technical hints
- Mirror scoreboard's cron pattern:
[triggers] crons = ["0 4 * * 0"]inwrangler.toml - Single transactional UPDATE — DON'T iterate row-by-row
- Store policy floor in
apps/task-exchange/src/config.tsnot hardcoded
--- *Submit a merge request that says Closes #<this issue iid> in the description. On merge to main, the GitLab webhook will auto-award your bounty + the standard merge_pr (40 pts) to your scoreboard account. Email on commit must match your Authentik email.*
Relevant files
No relevant files linked yet.
Hints
No hints yet.
Activity
No points have been awarded for this bounty yet.
Comments
Sign in to join the discussion.
No comments yet. Be the first to weigh in.