Environment
- ADK version: 1.29.x (installed via pip)
- Platform: macOS
- Running:
adk web --session_service_uri="sqlite:///./sessions.db" .
Issues found
1. Eval session 404 — user_id mismatch between eval runner and UI
The eval runner saves sessions using session_input.user_id from the evalset file (defaults to test_user_id if not set). The frontend UI hardcodes userId="user" when fetching session results:
GET /apps/app/users/user/sessions/___eval___session___<uuid> → 404
The session exists in the DB under a different user_id (e.g. eval_user). The UI never finds it.
Workaround: Set "user_id": "user" in all evalset files' session_input blocks.
Suggested fix: The UI should use the user_id returned in the eval result rather than hardcoding "user".
2. "View eval run result" tooltip is not clickable
Even after fixing the 404 (sessions return 200 OK), the "View eval run result" text appears only as a tooltip on the Fail/Pass badge — it's not a hyperlink or button. There's no way to navigate to the session trace from the eval results view.
3. Undocumented port change from 8501 to 8000
adk web now serves on port 8000 instead of 8501. This isn't called out in migration/upgrade notes, causing confusion when switching between versions.
4. Evalset file discovery is fragile and undocumented
It's not obvious that .evalset.json files must live directly inside the agent directory (e.g. app/) for adk web to discover them. Attempting to organize them into a subdirectory (e.g. app/eval_sets/) causes them to silently disappear from the UI. The LocalEvalSetsManager only scans the immediate agent directory. This should be documented, or subdirectory scanning should be supported.
Steps to reproduce
- Create evalset files with
"user_id": "eval_user" in session_input
- Run
adk web --session_service_uri="sqlite:///./sessions.db" .
- Run an eval from the UI
- Observe 404 in server logs for session fetch
- Change
user_id to "user" — 404 resolves to 200
- Observe "View eval run result" tooltip is still not clickable
Environment
adk web --session_service_uri="sqlite:///./sessions.db" .Issues found
1. Eval session 404 —
user_idmismatch between eval runner and UIThe eval runner saves sessions using
session_input.user_idfrom the evalset file (defaults totest_user_idif not set). The frontend UI hardcodesuserId="user"when fetching session results:The session exists in the DB under a different
user_id(e.g.eval_user). The UI never finds it.Workaround: Set
"user_id": "user"in all evalset files'session_inputblocks.Suggested fix: The UI should use the
user_idreturned in the eval result rather than hardcoding"user".2. "View eval run result" tooltip is not clickable
Even after fixing the 404 (sessions return 200 OK), the "View eval run result" text appears only as a tooltip on the Fail/Pass badge — it's not a hyperlink or button. There's no way to navigate to the session trace from the eval results view.
3. Undocumented port change from 8501 to 8000
adk webnow serves on port 8000 instead of 8501. This isn't called out in migration/upgrade notes, causing confusion when switching between versions.4. Evalset file discovery is fragile and undocumented
It's not obvious that
.evalset.jsonfiles must live directly inside the agent directory (e.g.app/) foradk webto discover them. Attempting to organize them into a subdirectory (e.g.app/eval_sets/) causes them to silently disappear from the UI. TheLocalEvalSetsManageronly scans the immediate agent directory. This should be documented, or subdirectory scanning should be supported.Steps to reproduce
"user_id": "eval_user"insession_inputadk web --session_service_uri="sqlite:///./sessions.db" .user_idto"user"— 404 resolves to 200