Restyle in the PostTrain Arena brand, with fixes from worst-case testing and dogfooding

#16
by xdotli - opened

Restyles the page in the posttrain.com brand on the existing layout, then fixes what worst-case data and three dogfood passes (laptop, phone and tablet, keyboard and screen reader) found.

Preview with live data and with test data (BenchFlow Vercel team only): https://openenv-arena-preview-gf0lshweo-benchflow.vercel.app โ€” add ?data=worst, empty, one, huge, error or slow.

Restyle (layout and markup unchanged): Inter for text and Instrument Serif for the title, one electric blue (#0006fc), posttrain.com pill buttons (full size for page actions, compact inside sections), hairlines and blue-square section heads.

Fixes

  • Leaderboard: Average sits next to User; Rank and User stay in view while the scores scroll; every column fits at 1280 px with today's data; long names truncate with the full name on hover; ranks and counts use separators; rows keep one height with or without a profile photo.
  • Submissions: rejected submissions show their error code and first error; runs show their error and alert text; one card per submission on phones.
  • Messages: a refresh keeps the reader's selection and place; a failed refresh keeps the list with a note; links are clickable (nofollow, ugc); long messages fold behind Show more; right-to-left messages read right to left; dates from another year show the year.
  • Chart: runs on the same point share one dot that lists them all; dots keep their tooltips; tapping a dot names its runs; loading and error states say so; a text summary for screen readers.
  • Keyboard and screen readers: every dialog takes focus, makes the page behind it inert and returns focus; a visible focus ring everywhere; refreshes no longer drop focus; Send announces the result; a skip link to the messages.
  • Layout: the messages column shrinks (35%, 340โ€“570 px) instead of squeezing the leaderboard; the message panel is never taller than the screen; dialogs keep their close button in view and lock the page behind them.
  • Copy that contradicted AGENTS.md: the agent prompt no longer offers Hugging Face Spaces as an image registry (the arena refuses them); the manual dialog gives the full endpoint and says only accepted submissions count toward the 24-hour limit; AGENTS.md calls the section "Your submissions".

Tests: all 19 Python tests and 29 JS tests pass. New: test_messages.cjs (in-place refresh, failed refresh, links) and leaderboard tests for runs on the same point, large counts, focus hand-off and unchanged refreshes.

Not in this PR (each needs a decision): shared ranks for ties and a "vs. untrained" column; the wording of "+ Add your agent"; dates and prizes on the page; the openenvarena organization card that "Human Docs" opens still describes the retired submission.yaml format; the launch video says 8ร—H200 while the page and guide say one H200; the messages API sends the full history every 15 s.

xdotli changed pull request status to merged

Sign up or log in to comment