test(sdk): reproduce delegate resume compatibility regression#2382
test(sdk): reproduce delegate resume compatibility regression#2382VascoSch92 merged 2 commits intomainfrom
Conversation
Co-authored-by: openhands <openhands@all-hands.dev>
API breakage checks (Griffe)Result: Passed |
Agent server REST API breakage checks (OpenAPI)Result: Failed Log excerpt (first 1000 characters) |
…ckward compatibility (#2393)
all-hands-bot
left a comment
There was a problem hiding this comment.
🟢 Good taste - Elegant fix that eliminates an unnecessary restriction. The logic went from "reject any tool changes" to "only reject removing tools", which is exactly right for SDK upgrade compatibility. Simple, well-tested with real v1.11.5 fixture, solves a real problem. Previous description issue has been addressed.
all-hands-bot
left a comment
There was a problem hiding this comment.
Taste Rating: 🟢 Good taste - Elegant fix that eliminates an unnecessary restriction.
KEY INSIGHT: The logic went from "reject any tool changes" to "only reject removing tools", which is exactly right for SDK upgrade compatibility. Simple, well-tested with real v1.11.5 fixture, solves a real problem.
VERDICT: ✅ Worth merging
Summary
Solution for problem discussed in: https://openhands-ai.slack.com/archives/C0A6XE64XK4/p1773178175274459
Error reproduction
base_state.jsonfixture generated from a simple v1.11.5 CLI conversationdelegateReproduction
I reproduced this locally by:
v1.11.5terminal,file_editor,task_tracker)maindelegateThat resume path raises:
Testing
uv run pytest tests/sdk/conversation/local/test_state_serialization.py -k "builtin_tool_removed or v1_11_5_cli_default_conversation_fails_when_runtime_adds_delegate" -quv run pre-commit run --files tests/sdk/conversation/local/test_state_serialization.py tests/fixtures/conversations/v1_11_5_cli_default/base_state.jsonAgent 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-nodejs22golang: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:a51ef46-pythonRun
All tags pushed for this build
About Multi-Architecture Support
a51ef46-python) is a multi-arch manifest supporting both amd64 and arm64a51ef46-python-amd64) are also available if needed