chore(acp): adopt agent-client-protocol 2.0.0 - #511
Conversation
The bridge decodes every message into typed SDK structs and re-serializes them, so lagging the pinned spec level is silent data loss rather than graceful passthrough. Closes #508. The SDK pins its schema crate exactly, so schema 1.6.0 is not adoptable without forking the schema crate out of the graph and disarming every schema-level unstable flag. The freshness check now resolves that pin so it stops reporting drift nobody can act on. Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
PR SummaryMedium Risk Overview SDK 2.0 boundary change is a single rename: Conformance and policy docs move spec position to SDK 2.0 / schema 1.5.0, note highest adoptable schema vs crates.io 1.6.0, add ACP freshness ( Reviewed by Cursor Bugbot for commit 650798e. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
Warning Review limit reached
Next review available in: 49 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
WalkthroughThe PR upgrades the ACP SDK and schema pins to 2.0.0 and 1.5.0, updates boundary response routing with batch coverage, makes freshness checks SDK-aware, and revises conformance and migration documentation. ChangesACP SDK upgrade
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3eb484a. Configure here.
Reading one lockfile entry made the exact failure this pin guards against report healthy: cargo writes same-name packages oldest-first, so a graph carrying both the SDK pin and a newer direct dependency matched the target on its older entry. Nothing fails to compile in that state, so the check was the only thing standing between it and a silent field drop. The schema-only title also called the resolved version "behind" when it can just as easily be ahead. Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Code Coverage SummaryDetailsDiff against mainResults for commit: 650798e Minimum allowed coverage is ♻️ This comment has been updated with latest results |

ClientRequest/ClientNotificationenums instead of the low-level channel (ADR#0020), the whole migration was one method rename, which is the payoff that design was chosen for.agent-client-protocol-schemaat exactly=1.5.0, and moving our direct schema dependency past that pin would put two schema crates in the graph, at which point the schema-level unstable flags silently stop applying to the types the SDK re-exports.unstable_tool_call_nameis therefore tracked as a matrix gap instead of enabled against policy.