Skip to content

fix(acp): discovery endpoint hardcodes "protocol_version": "0.9" — should reflect actual ProtocolVersion::LATEST #2412

@bug-ops

Description

@bug-ops

Summary

/.well-known/acp.json discovery manifest hardcodes "protocol_version": "0.9", but Zeph's ACP implementation uses acp::ProtocolVersion::LATEST in the initialize response. As the agent-client-protocol crate advances, the discovery endpoint falls further behind.

Current value in crates/zeph-acp/src/transport/discovery.rs:26:
```rust
"protocol_version": "0.9",
```

Actual version advertised during handshake (crates/zeph-acp/src/agent/mod.rs:746):
```rust
Ok(acp::InitializeResponse::new(acp::ProtocolVersion::LATEST)
```

acp::ProtocolVersion::LATEST in the current crate (0.10.2) corresponds to 0.10.x, not 0.9. This discrepancy means Zed IDE and other ACP clients that inspect /.well-known/acp.json before connecting see a stale protocol version.

Fix

Replace the hardcoded string with a dynamic value derived from acp::ProtocolVersion::LATEST:

```rust
"protocol_version": acp::ProtocolVersion::LATEST.to_string(),
```

This should stay in sync automatically when agent-client-protocol is updated (tracked in #2411).

Zed IDE Impact

Zed checks the discovery manifest before initiating the ACP handshake. A stale protocol_version can cause Zed to skip the agent or log a compatibility warning.

Related

Metadata

Metadata

Assignees

Labels

P3Research — medium-high complexitybugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions