Complete historical snapshot generation and weekly fallback

This commit is contained in:
devRaGonSa
2026-03-23 12:35:47 +01:00
parent 14820888a6
commit 1ea1d4b3c6
9 changed files with 372 additions and 37 deletions

View File

@@ -240,10 +240,18 @@ def build_weekly_leaderboard_payload(
"title": title_by_metric.get(metric, "Ranking semanal por servidor"),
"context": "historical-weekly-leaderboard",
"metric": metric,
"summary_basis": "closed-matches-last-7-days",
"window_days": 7,
"summary_basis": "closed-matches-calendar-week",
"window_days": result.get("window_days", 7),
"window_start": result["window_start"],
"window_end": result["window_end"],
"window_kind": result.get("window_kind"),
"window_label": result.get("window_label"),
"uses_fallback": bool(result.get("uses_fallback")),
"selection_reason": result.get("selection_reason"),
"current_week_start": result.get("current_week_start"),
"current_week_closed_matches": result.get("current_week_closed_matches"),
"previous_week_closed_matches": result.get("previous_week_closed_matches"),
"sufficient_sample": result.get("sufficient_sample"),
"limit": limit,
"items": result["items"],
},
@@ -331,6 +339,18 @@ def build_weekly_leaderboard_snapshot_payload(
"window_days": payload.get("window_days") if isinstance(payload, dict) else 7,
"window_start": payload.get("window_start") if isinstance(payload, dict) else None,
"window_end": payload.get("window_end") if isinstance(payload, dict) else None,
"window_kind": payload.get("window_kind") if isinstance(payload, dict) else None,
"window_label": payload.get("window_label") if isinstance(payload, dict) else None,
"uses_fallback": bool(payload.get("uses_fallback")) if isinstance(payload, dict) else False,
"selection_reason": payload.get("selection_reason") if isinstance(payload, dict) else None,
"current_week_start": payload.get("current_week_start") if isinstance(payload, dict) else None,
"current_week_closed_matches": (
payload.get("current_week_closed_matches") if isinstance(payload, dict) else None
),
"previous_week_closed_matches": (
payload.get("previous_week_closed_matches") if isinstance(payload, dict) else None
),
"sufficient_sample": payload.get("sufficient_sample") if isinstance(payload, dict) else None,
"snapshot_limit": payload.get("limit") if isinstance(payload, dict) else None,
"limit": limit,
"items": sliced_items,