Problem
TerritoryStats.weekly_rank/all_time_rank are written as 999 on every claim/conquest (ClaimTerritoryAction.ts, ProcessActivityConquestAction.ts) and never recomputed. TerritoryLeaderboardAction recomputes order per-request but never persists ranks, so any per-user rank display is wrong.
Acceptance
- A job/command recomputes weekly + all-time ranks (by area/count/conquests) and writes them to
territory_stats. - Scheduled (cron) and runnable on demand.