Skip to content

fix(acp): align protocol version negotiation - #424

Merged
benbrandt merged 1 commit into
mainfrom
fix/v2-version-negotiation
Oct 16, 2026
Merged

benbrandt merged 1 commit into
mainfrom
fix/v2-version-negotiation

Conversation

@benbrandt

Copy link
Copy Markdown
Member

Summary

  • Align standalone v2 agents and agent routers with the v2 selection rule and structured -32022 mismatch error.
  • Preserve native v1 legacy fallback with or without the draft v2 feature enabled.
  • Share v1 initialization normalization across standalone and routed agents without enabling file-system or terminal capabilities from unknown newer fields.
  • Update conductor rejection handling and assertions while retaining exact-version proxy initialization.
  • Cover negotiation, legacy-client error handling, rejection flushing under backpressure, and no routed application startup after rejection.
  • Expand routing guidance and add the no-default-features negotiation matrix to just test.

Protocol companion: agentclientprotocol/agent-client-protocol#2412

Compatibility

No blanket v1/v2 traffic conversion or fixed-response initializer is introduced. V1 clients retain the v2-only diagnostic as an unknown numeric JSON-RPC error.

The runtime helper works against the pinned schema dependency. No schema dependency bump or v1 error-catalog change is required.

Validation

  • just test (all-features workspace and core without default features)
  • cargo fmt --all -- --check
  • cargo clippy -p agent-client-protocol --all-targets --all-features --locked -- -D warnings
  • cargo clippy -p agent-client-protocol --all-targets --no-default-features --locked -- -D warnings
  • mdbook build
  • git diff --check

@benbrandt
benbrandt marked this pull request as ready for review October 16, 2026 10:40
@benbrandt
benbrandt merged commit 53dd268 into main Oct 16, 2026
13 checks passed
@benbrandt
benbrandt deleted the fix/v2-version-negotiation branch October 16, 2026 10:40
This was referenced Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant