3.3 KiB
3.3 KiB
id, title, status, type, team, supporting_teams, roadmap_item, priority
| id | title | status | type | team | supporting_teams | roadmap_item | priority | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-180-define-global-ranking-page-contract | Define global ranking page contract | done | documentation | Analista |
|
foundation | high |
TASK-180-define-global-ranking-page-contract - Define global ranking page contract
Goal
Define a separate, explicit global ranking page contract that is clearly distinct from Stats, so product and engineering can execute backend and frontend ranking work independently.
Context
Stats focuses on one player workflow (search and personal performance), while Ranking exposes public top lists. This task formalizes the Ranking contract, filters, payload shape and UI states needed for an incremental, RCON-first implementation.
Steps
- Read the listed files first.
- Draft a concise, implementation-ready contract for Ranking.
- Document how Ranking and Stats are separated and where they can share frontend patterns safely.
- Define API expectations for weekly/monthly vs annual reads, including missing/ready/error behavior.
- Keep constraints explicit.
- Capture follow-up items and a clear next-task suggestion.
Files to Read First
AGENTS.mdai/repo-context.mdai/architecture-index.mddocs/stats-section-functional-plan.mddocs/annual-ranking-snapshot-runbook.mdbackend/app/rcon_historical_leaderboards.pybackend/app/rcon_annual_rankings.pyfrontend/stats.htmlfrontend/assets/js/stats.js
Expected Files to Modify
docs/global-ranking-page-plan.mdai/tasks/done/TASK-180-define-global-ranking-page-contract.md
Constraints
- Documentation-only task.
- No backend implementation changes.
- No frontend implementation changes.
- No migrations or schema modifications.
- Keep the contract aligned with RCON-first architecture.
- No Elo/MMR reactivation.
- No reintroduction of Comunidad Hispana #03.
- No public-scoreboard as primary source when RCON coverage is available.
Validation
- Confirm
docs/global-ranking-page-plan.mdexists. - Confirm no backend/frontend files were modified.
- Run
git diff --name-onlywithin task scope. - Document explicitly that no automated tests apply.
Outcome
- Created
docs/global-ranking-page-plan.md. - Documented a dedicated
Rankingpage contract separate fromStats. - Defined dedicated endpoint direction as
GET /api/ranking. - Documented timeframe behavior:
- weekly/monthly from RCON materialized leaderboard reads
- annual from persisted annual snapshots
- Documented required payload fields:
ranking_positionplayer_idplayer_namemetric_valuematches_consideredkillsdeathsteamkillskd_ratiowindow_startwindow_endsnapshot_status
- Documented required UI states:
- loading
- backend offline
- no data
- annual snapshot missing
- unsupported metric
- controlled error
- Explicitly preserved constraints:
- no Elo/MMR
- no Comunidad Hispana #03
- no public-scoreboard primary path while RCON exists
Validation performed:
- Confirmed documentation file creation.
- Kept changes out of
backend/andfrontend/. - Automated tests do not apply to this documentation-only task.
Recommended next task:
TASK-181-add-global-ranking-backend-support