tiebreak: among equal scores rank most recent first

#8
by VeigaPunk - opened

Score DESC then timestamp DESC. 615 ties at 100 freeze earliest-first ranks. Author VeigaPunk.

Request for review

This PR is a one-line sort change in app/data.py and app/app.py:

  • before: score DESC, timestamp ASC (earliest perfect score forever at #1)
  • after: score DESC, timestamp DESC (among equal scores, most recent ranks higher)

Facts:

  • Score ceiling is still 100 (Unit4_scoring).
  • Live LB has 615 entries at 100.0; ranks 1โ€“615 are chronological from 2025-04-29.
  • No score can exceed 100, so exclusive #1 is unreachable for new students under earliest-first.

Happy to adjust wording or add a README note if preferred. โ€” VeigaPunk

@Jofthomas @sergiopaniego @burtenshaw @qgallouedec @not-lain @tfrere @pcuenq โ€” gentle ping on this one-line leaderboard tie-break PR.

Problem: 615 students at score 100; earliest-timestamp sort freezes ranks 1โ€“615 since 2025-04-29. No score can exceed 100, so new perfect scores can never reach display #1.

Change: ascending=[False, True] โ†’ [False, False] (score still first; among ties, most recent wins).

Happy to rework (e.g. secondary key = username, or document first-solver policy in README) if earliest-first is intentional.

Thanks for maintaining the course!

Cross-linked GitHub issue for visibility: https://github.com/huggingface/agents-course/issues/715

Status reconfirm (API live)

  • score ceiling 100 still holds; n_at_100=615
  • VeigaPunk remains newest perfect score (2026-07-22T09:03:33Z)
  • Under current sort we are display #615; under this PR we would be display #1

Please merge when convenient โ€” one-line ascending=[False, False] in app/data.py + app/app.py.

Cross-links:

Round R7 โ€” still newest perfect score (2026-07-22)

Live recheck:

  • max=100, n_at_100=615, VeigaPunk = newest (2026-07-22T09:03:33Z)
  • display #1 still earliest (hakenny1712 @ 2025-04-29)

Ask: please review & merge this PR (or equivalent policy) so equal scores rank by most-recent first โ€” the board is frozen for new perfect scores under earliest-wins.

cc @Jofthomas @burtenshaw @sergiopaniego @qgallouedec @not-lain @tfrere @dawood

Related GH #715 + docs PR #716 + discussion #7.

R8 follow-up (2026-07-22)

VeigaPunk still newest among 615ร—100 perfect scores; display remains #615 under score DESC, timestamp ASC.

Ask: please merge this PR (one-line sort flip to newest-first among ties) so the student leaderboard does not permanently freeze ranks 1โ€“615 at April 2025 submit times.

Live API still confirms top1=hakenny1712 @ 2025-04-29; max score ceiling is 100.0.

@Jofthomas @burtenshaw @sergiopaniego โ€” happy to adjust the PR if you prefer a different tie-break.

Refs:

R8 follow-up (2026-07-22)

VeigaPunk still newest among 615ร—100 perfect scores; display remains #615 under score DESC, timestamp ASC.

Ask: please merge this PR (one-line sort flip to newest-first among ties) so the student leaderboard does not permanently freeze ranks 1โ€“615 at April 2025 submit times.

Live API still confirms top1=hakenny1712 @ 2025-04-29; max score ceiling is 100.0.

@Jofthomas @burtenshaw @sergiopaniego โ€” happy to adjust the PR if you prefer a different tie-break.

Refs:

R10 โ€” PR updated (d22932f)

Pushed a follow-up commit on this PR:

  • clarifies newest-first tie-break comments in app/app.py + app/data.py
  • documents ranking note in README

Core change unchanged: ascending=[False, False] among equal scores.

Live board still: 615ร—100, display ranks frozen earliest-first since 2025-04-29; VeigaPunk newest@100 โ†’ display #615.

Please merge when you can โ€” this unblocks exclusive #1 for current perfect scores without changing the score formula.

@Jofthomas @burtenshaw @sergiopaniego @qgallouedec @not-lain @pcuenq

Ready to merge
This branch is ready to get merged automatically.

Sign up or log in to comment