   async update({ weekKey }: { weekKey?: string } = {}): Promise<void> {
     const client    = DiscordClient.get();
     const channelId = Config.get({ section: "channels", key: "leaderboard" });
     if (!channelId) { log.warn("leaderboard channel not configured"); return; }
 
     const week = weekKey ? WRank.weekFromKey(weekKey) : WRank.currentWeek();
     
     if (!week) { log.warn(`Week ${weekKey} not found`); return; }

     const rows = [
      ...buildEntries(Nation.Capella, week),
      ...buildEntries(Nation.Procyon, week),
    ];
    const embed = LeaderboardUI.buildEmbed(week, rows);
 
     await PersistentMessage.post({
       store:     "leaderboard",
       key:       week.weekKey,
       channelId,
       embeds:    [embed],
       client,
     });
 
     log.info(`Leaderboard updated for ${week.weekKey}`);
   },