More logging#3871
Conversation
Python API breakage checks — ✅ PASSEDResult: ✅ PASSED |
REST API breakage checks (OpenAPI) — ✅ PASSEDResult: ✅ PASSED |
all-hands-bot
left a comment
There was a problem hiding this comment.
⚠️ QA Report: PASS WITH ISSUES
Functional behavior was verified end-to-end: the PR adds the expected conversation-service startup logs while the agent server still starts and serves /server_info.
Does this PR achieve its stated goal?
Yes. The PR description is still an empty template, so I treated the title, “More logging,” as the stated goal. Running the real agent-server, creating a conversation through POST /api/conversations, then restarting with that persisted conversation showed the base branch starts without the new ConversationService:__aenter__ lines, while this PR logs both the conversations directory and the persisted meta.json path at INFO level.
| Phase | Result |
|---|---|
| Environment Setup | ✅ make build completed successfully; no tests/linters were run locally. |
| CI Status | pre-commit, PR description), 1 skipped at review time. |
| Functional Verification | ✅ Started the real agent server, made HTTP requests, created a conversation, and verified before/after startup logs. |
Functional Verification
Test 1: Agent server still starts and serves a real request on the PR branch
Step 1 — Establish baseline / entry point:
The changed behavior is in conversation-service startup, so I exercised it through the actual user-facing server command rather than importing internals.
Step 2 — Apply the PR's changes:
Checked out debug-conversation-service at 39a9f0710aec2de32bdcfc9546eee73a60737e3e.
Step 3 — Run the server and request /server_info:
Ran:
OH_LOG_LEVEL=INFO OH_SECRET_KEY=qa-secret OPENHANDS_SUPPRESS_BANNER=1 uv run agent-server
curl -fsS http://127.0.0.1:8000/server_infoObserved:
{"title":"OpenHands Agent Server","version":"1.29.2","sdk_version":"1.29.2", ...}This confirms the PR did not prevent the real agent server from starting and serving HTTP requests.
Test 2: Before/after logging with a real persisted conversation
Step 1 — Reproduce / establish baseline without the fix:
First I created a conversation through the actual API on the PR branch:
curl -H 'Content-Type: application/json' -H 'X-Session-API-Key: qa-secret' --data '{"workspace":{"kind":"LocalWorkspace","working_dir":"/tmp/oh-qa-workspace-created"},"agent":{"kind":"Agent","llm":{"model":"openai/gpt-4o-mini","api_key":"sk-test-not-used"},"tools":[{"name":"terminal"}]}}' http://127.0.0.1:8000/api/conversationsObserved:
HTTP_STATUS:201
workspace/conversations/9d28e621dc7649ea9a815af620fd14cb/meta.json
Then I checked out main and restarted the same server against that persisted conversation:
git checkout main
OH_LOG_LEVEL=INFO OH_SECRET_KEY=qa-secret OPENHANDS_SUPPRESS_BANNER=1 uv run agent-server
curl -fsS http://127.0.0.1:8000/server_infoSelected base logs:
Server initialization complete - ready to serve requests
Application startup complete.
This shows the server starts successfully on base, but the selected startup output does not include the new ConversationService:__aenter__ INFO messages.
Step 2 — Apply the PR's changes:
Checked out debug-conversation-service again, keeping the same persisted conversation directory.
Step 3 — Re-run with the fix in place:
Ran the same startup/request flow:
OH_LOG_LEVEL=INFO OH_SECRET_KEY=qa-secret OPENHANDS_SUPPRESS_BANNER=1 uv run agent-server
curl -fsS http://127.0.0.1:8000/server_infoSelected PR logs:
Server initialization complete - ready to serve requests
ConversationService:__aenter__:conversations_dir:workspace/conversations
ConversationService:__aenter__:meta_file:workspace/conversations/9d28e621dc7649ea9a815af620fd14cb/meta.json
Application startup complete.
This confirms the PR achieves the “More logging” goal on the real startup path, including the persisted-conversation meta.json discovery path, while the server remains responsive.
Issues Found
⚠️ CI: Functional QA passed, but GitHub checks were not green at review time:pre-commitandPR Description Check / Validate PR descriptionwere failing, with several build/QA checks still pending. I did not rerun tests, linters, or pre-commit locally per QA instructions.
AI-generated QA review posted by OpenHands on behalf of the requester.
HUMAN:
AGENT:
Why
Summary
Issue Number
How to Test
Video/Screenshots
Type
Notes
Agent Server images for this PR
• GHCR package: https://github.com/OpenHands/agent-sdk/pkgs/container/agent-server
Variants & Base Images
eclipse-temurin:17-jdknikolaik/python-nodejs:python3.13-nodejs22-slimgolang:1.21-bookwormPull (multi-arch manifest)
# Each variant is a multi-arch manifest supporting both amd64 and arm64 docker pull ghcr.io/openhands/agent-server:39a9f07-pythonRun
All tags pushed for this build
About Multi-Architecture Support
39a9f07-python) is a multi-arch manifest supporting both amd64 and arm6439a9f07-python-amd64) are also available if needed