fix: stabilize benchmark leaders, model benchmark sorting, and HF bucket reads
Anton Malykhin
644ba85
- Fix benchmark card leader selection on the Details page
- Keep using F1 when a benchmark group has F1 values
- Fall back to FNR, then FPR, when F1 is unavailable
- Treat FNR/FPR as lower-is-better metrics when selecting the leader
- Show the selected leader metric in the card preview label
- Format FNR/FPR leader values as percentages instead of score decimals
- Sort model benchmark cards on the Ranking sheet
- Sort benchmark details by score descending
- Ensure the Benchmarks tab in the model flyout shows highest score first and lowest score last
- Improve Hugging Face bucket read resilience
- Increase default bucket request timeout from 10s to 60s
- Add configurable HF_BUCKET_REQUEST_RETRIES with a default of 2 retries
- Retry timeout/network-level bucket read failures without retrying HTTP errors like 401/403/404
- Load Tools visualization bucket files sequentially instead of issuing all visualization reads in parallel
- Update .env.example and deployment…
feat: refine leaderboard metrics, metadata, and visualizations
Anton Malykhin
bed709e
feat: add benchmark leaders to details cards
- select leaders by F1 with group score fallback
- show localized F1 leader labels
- add overflow tooltips for truncated model names
---
fix(ranking): show model-specific description in overview
---
fix(tools): remove F1 scale switch from radar
Remove the radar scale selector from the Visualizations tab.
Always build radar polygons and points using group score values.
Keep the selected-items counter and Export CSV button unchanged.
---
fix: replace FNR/FPR with recall and precision in benchmark views
- pass recall and precision through grouped bars payload parsing
- use Recall, Precision, and F1 series in the Grouped bars chart
- mark Recall and Precision as higher-is-better
- pass group-level recall and precision into model details
- replace FNR/FPR columns in the weakest benchmark groups table
- update English and Russian hints and accessibility labels
---
fix(ranking): show minimum dataset score in benchmark group chip
Read the op…
fix: tolerate unknown heatmap dataset rows
Anton Malykhin
0e784d8
feat: refine leaderboard visualizations and CSV exports
Anton Malykhin
236e9a2
Polish the Ranking, Details, and Visualizations experiences with clearer
sorting states, reusable cursor tooltips, better chart labels, and working
CSV exports.
- add reusable cursor-based tooltip components for charts and overflowing text
- refactor OverflowTooltip to use the new cursor tooltip behavior
- add RadarLabelsOverlay for radar chart labels that can truncate and reveal
full names on hover
- add global thin scrollbar styling for light and dark themes
- allow table column header/cell classes to be computed reactively so active
sort columns can be highlighted
Ranking:
- show active sort direction with up/down icons instead of a static sort icon
- highlight the active sorted column in headers and cells
- add overflow tooltip support for long model names
- display model params consistently in filter rows and table summaries
Details:
- add CSV serialization for benchmark matrix rows and filtered model rows
- replace inactive matrix export buttons with a single working CSV e…
feat: optimize bucket data caching and document refresh behavior
Anton Malykhin
a290b8b
- Add private five-minute browser caching for SvelteKit page-data responses:
- Ranking,
- Details,
- Visualizations.
- Set Cache-Control to private, max-age=300.
- Remove the stale-while-revalidate window so expired route data is refreshed before rendering.
- Support cache handling for both localized and non-localized __data.json routes.
- Add gzip compression for page-data responses larger than 1 KB.
- Respect the client Accept-Encoding header and gzip quality value.
- Set Content-Encoding and Vary headers for compressed responses.
- Preserve uncompressed responses for clients without gzip support.
- Reduce transferred payload sizes approximately:
- Ranking from 171 KB to 58 KB,
- Details from 643 KB to 158 KB,
- Visualizations from 709 KB to 122 KB.
- Refresh the small bucket manifest whenever a browser cache miss reaches the server.
- Add refreshManifest snapshot option to separate manifest checks from full payload refreshes.
- Reuse catalog, leaderboard, and adapted d…
feat: refine leaderboard metric presentation and bucket data handling
Anton Malykhin
614eca7
- Add bucket support for error_rate and metrics_evaluated_samples.
- Surface error rate in Details model cards and the Tools performance table.
- Detect partial model runs from metrics_evaluated_samples < sample_count and show a partial badge instead of clean.
- Keep eval-leak badges, but remove the always-on clean badge.
- Rename Weakest link to Min score across EN/RU UI.
- Add column direction subtitles for Integral, Min score, FPR, FNR, and p95.
- Remove up/down metric arrows from values, badges, legends, and Details matrix cells.
- Remove hard-coded threshold coloring and deleted threshold-based metric helpers.
- Highlight only visible best/worst rounded values per column in Ranking and Details matrix.
- Keep Size uncolored.
- Add data-driven heatmap scaling based on visible min/max values.
- Apply sqrt normalization to heatmap color interpolation.
- Show real min/max labels in the heatmap legend.
- Remove dead prompts UX from Visualizations:
- prompt sheet,
- heatmap/scatte…
feat: stabilize HF deploy, locale routing, and bucket caching
Anton Malykhin
c85bc2e
- Pin pnpm 11.9.0 through Corepack in GitLab CI and Docker builds
- Add workspace pnpm safeguards for engine strictness and dependency verification warnings
- Validate required Hugging Face deploy CI variables before pushing to the Space repository
- Enable Paraglide URL/baseLocale strategy for generated runtime and Vite integration
- Localize main navigation, logo, error page, and fallback links so language-prefixed routes are preserved
- Cache Hugging Face bucket ranking, details, and visualization data by snapshot_id
- Reuse cached adapted datasets when the bucket manifest still points to the same snapshot
- Share the ranking snapshot across details and visualization fetches to avoid duplicate manifest/data requests
- Rewrite README in English with setup, environment, development, and validation instructions
- Split docs into explicit Russian and English versions with _ru and _en suffixes
- Add English translations for backend data contract and Hugging Face Space deployment docs
feat: integrate bucket-backed leaderboard data
Anton Malykhin
c6afb12
Original commit b2bb6261a92895c93392dac18ff716d51625d4b0
feat: serve leaderboard data from a private Hugging Face bucket
- add a server-only Hugging Face bucket client with manifest, schema,
checksum, and payload validation
- cache ranking, details, and manifest responses with stale-data
fallbacks and request deduplication
- adapt bucket catalog and leaderboard payloads to shared UI types
- migrate ranking, details, and tools routes from embedded fixtures
to SvelteKit server load data
- remove the obsolete static leaderboard dataset
- localize bucket labels, dataset availability messages, error pages,
and run dates
- add a global navigation loader with page fade transitions and
reduced-motion support
- add localized 404/500 pages and a static fallback error document
- add favicon, Apple touch icon, PWA icons, and web manifest
- improve select, sheet, and empty-state behavior for dynamic data
- document private bucket configuration and runtime environment variables
- add pro…