Add Daily Leaderboard to Competition#132
Conversation
Reuse the same chart/table UI with ?period=daily over the last completed weekday, cache under leaderboard-daily, and ship a nightly refresh script for baselines (and optional LLM redeploys). Co-authored-by: Cursor <cursoragent@cursor.com>
|
@Allan-Feng is attempting to deploy a commit to the allan-feng's projects Team on Vercel. A member of the Team first needs to authorize it. |
…oad. mean_variance (and similar) failures were never persisted, so each Daily Leaderboard open treated the window as incomplete and pulled 30 symbols again. Co-authored-by: Cursor <cursoragent@cursor.com>
A one-day window alone lacks bars for technicals; fetch the prior month for features and clip decision steps to the daily contest window. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Reviewed (backend correctness, H6 integrity, route-contract freeze, frontend/XSS). Two things to fix before merge; everything else is clean. Clean: H6 guard is intact (the daily path still hard-skips 1. Blocker — 4 failing tests (test-only, verified fix)
# dashboard/backend/tests/domain/leaderboard/test_service_move.py:153
- lambda force_refresh=False: {
+ lambda force_refresh=False, period="contest", config=None: {# same file, ~line 195 — get_leaderboard() now returns 4 more keys
assert set(result.keys()) == {
"window", "updated_at", "total_entries", "leader", "entries", "display_capital",
+ "board_title", "period", "standings_label", "phase_label",
}Verified locally on Note your branch predates #126/#133, so it needs a 2. Important — daily tab is the new default but boot CSS doesn't reveal itThe PR defaults the competition tab to So the default landing path is the one the anti-FOUC block no longer covers. Needs a Minors (your call)
Not flagged: |
Summary
GET /api/v1/leaderboard?period=dailyover the last completed US weekday; caches underleaderboard-dailydashboard/scripts/refresh_daily_leaderboard.py --models(nightly after market close)Test plan
GET /api/v1/leaderboard?period=dailyreturnsperiod: dailyand ranked entriespytest dashboard/backend/tests/test_leaderboard_api.py -vpassespython dashboard/scripts/refresh_daily_leaderboard.pyrefreshes baselinesMade with Cursor