Repository navigation
Conversation
|
📁 PR Artifacts Notice This PR contains a |
Endpoint auditContract: pinned release artifact
Actionable client-only calls (0)none Actionable server-only operations (18)
Documented non-divergences (13)Client calls intentionally absent from the filtered contract (11)
Reason: Operational Agent Server endpoints intentionally excluded from the filtered public release artifact.
Reason: Client-ahead API stacked on the pending Agent Server meta-profiles implementation.
Reason: Client-ahead API stacked on the pending Agent Server pre-flight LLM validation endpoint. Server operations covered by an exposed browser URL (2)
Reason: RemoteWorkspace.startWorkspaceSession exposes these authenticated URLs for browser iframe and file requests; they are not HttpClient method calls. |
Python API breakage checks — ✅ PASSEDResult: ✅ PASSED |
REST API breakage checks (OpenAPI) — ✅ PASSEDResult: ✅ PASSED |
AGENT:
This PR qualifies Claude Sonnet 5.5 on the existing exact-model path. The evidence below is from a live run on this branch at
1a3865f9a3e57580ee665782980b66b6d9ea224d, whose tree is identical to the squash result.uv run python live_probe.py claude-sonnet-5-5. It uses the realACPAgentandLocalConversationwith:npx -y @agentclientprotocol/claude-agent-acp@0.81.0);acp_model="claude-sonnet-5-5",acp_permission_policy="read_only",acp_config_options={"effort": "medium"}andacp_isolate_data_dir=True;ANTHROPIC_API_KEY,ANTHROPIC_BASE_URLandANTHROPIC_AUTH_TOKENunset.agent_name='@agentclientprotocol/claude-agent-acp', agent_version='0.81.0'.0.3.280, withclaudeCodeVersion2.1.280.Seeded Claude OAuth credentials into isolated config), with no API key or PAYG path.claude-sonnet-5-5.defaulton fresh sessions, andclaude-sonnet-5-5after the in-process restart/load.message.modelfrom_claude/sdkMessage.Claude ACP same-turn root model verification passed: requested=claude-sonnet-5-5 selector=default root_models=['claude-sonnet-5-5', 'claude-sonnet-5-5', 'claude-sonnet-5-5'] delegated_models=[]root_models=['claude-sonnet-5-5', 'claude-sonnet-5-5']load_sessionof the same session (viarestart_for_updated_credentials):selector=claude-sonnet-5-5 root_models=['claude-sonnet-5-5']load_sessionreturned "Resource not found" because the isolated config dir is per instance, so it fell back to a fresh session androot_models=['claude-sonnet-5-5'].ACP session config option verified: effort=mediumon every session, checked separately from model identity.default, which is the Claude read-only mode from P0: Preserve and re-prove Claude read-only session mode after config updates #41.ACP denying permission under read_only policy ... (option: reject).README.txtsha2560437f84c…,git statusclean), andprobe.txtwas not created.openhands-claude-acp-*runtime dirs hold no.credentials.jsonafterwards.sonnetas "Sonnet 5", the previous generation, andclaude-sonnet-5-5only as "Custom model". The newer host Claude Code 2.1.284 mapssonnettoclaude-sonnet-5-5instead. The alias's meaning depends on the runtime version, sosonnetmust never count as Sonnet 5.5 identity. The code already works this way: only concreteclaude-*requests turn on the exact gate..venv/bin/python -m pytest tests/sdk tests/agent_server tests/crossgives 8569 passed and 4 failed.test_activation_route_rejects_unavailable_bindingandtest_openai_chat_completions_gateway_over_real_serverfail the same way on unchangedmainin this environment.Why
ai-dev-workflow-goPlanner, Reviewer and ScopeJudge are moving from Claude Opus 5.5 Medium to Claude Sonnet 5.5 Medium. Before that, the SDK has to qualifyclaude-sonnet-5-5as an exact-model, read-only, subscription-only profile on the built-in Claude ACP path.Summary
claude-sonnet-5-5("Claude Sonnet 5.5") as an explicit full-model pin in the Claude pre-session suggestions and the TypeScriptacp-providers.jsonmirror. Comments no longer describe the qualified 0.81.0 exact path as Opus-only.claude-request on the pinned adapter;message.modelequality;effortcheck.sonnetanddefaultselectors with same-turn exact evidence;sonnetrequest, which does not publish an exact identity;claude-sonnet-5), which is rejected;Issue Number
Closes #58
How to Test
The live probe needs Claude subscription OAuth and no API key.
Video/Screenshots
N/A
Design Doc
N/A (small change)
Type
Notes
Qualified tuple for downstream geeen-jp/ai-dev-workflow-go#201:
claude-sonnet-5-5medium@agentclientprotocol/claude-agent-acp@0.81.0(Claude Agent SDK 0.3.280, Claude Code 2.1.280)There are no workflow or scheduler changes, and the Opus 5.5 profile is untouched.