litellm/ui
Abhimanyu Kapur 0b96dccd07 shadow-eval: fix production issues & add comprehensive tests
- Registry check now scans all pre-routing strategy registries (auto, complexity,
  adaptive, quality), not just auto_routers. Fixes 400 on adoption for
  complexity-router or adaptive-router users.

- Split auth into _require_admin_viewer (GET) and _require_admin_writer
  (start/stop); view-only admins can no longer initiate paid work (judge calls).

- request_count UPDATE buffering: in-memory counter flushed every 10s instead
  of one UPDATE per request. High-traffic keys now cost one DB op per flush
  interval, not per request.

- Default judge model: anthropic/claude-sonnet-5 (was unmapped claude-3-5-sonnet).
  Cost estimation now prices correctly; fallback is no longer needed.

- completion_cost error handling: try/except around litellm.completion_cost() so
  unmapped judge models don't crash the verdict write.

- UI: ShadowEvalSection now always renders (pre-adoption keys have no router
  sessions yet but still show the start form). Added judge_model parameter to
  the start form. Fixed accessToken undefined in AutoRouterBenchmarksTab.

Tests:
- test_shadow_eval_logger.py (26 tests): sampling, verdict parsing, unmasking,
  skip logic, metadata isolation.
- ShadowEvalSection.test.tsx (7 tests): form, active job display, per-tier
  results, low-sample flagging, completed job handling.
- All existing auto-router endpoint tests (22) and component tests (96) pass.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-07 20:58:07 -07:00
..
litellm-dashboard shadow-eval: fix production issues & add comprehensive tests 2026-08-07 20:58:07 -07:00
Dockerfile chore(build): move the Admin UI toolchain to Node 24 (#35801) 2026-08-04 12:36:07 -07:00
nginx.conf fix(ui): serve /ui/assets from the nginx image instead of SPA fallback (#34066) 2026-07-21 09:22:02 -07:00