refactor(a2a): Rename ACP module and symbols to A2A standard #688

Closed
opened 2026-03-11 18:11:35 +00:00 by freemo · 1 comment
Owner

Background and Context

Per ADR-047 (A2A Standard Adoption), CleverAgents adopts the Agent-to-Agent (A2A) Protocol as the sole client-server protocol. The existing src/cleveragents/acp/ module uses ACP (Agent Client Protocol) naming throughout. This issue covers the source code rename from ACP to A2A.

This is the cosmetic rename only. The actual A2A protocol implementation (JSON-RPC 2.0, stdio/HTTP transports, Agent Cards) is tracked in separate v3.8.0/M9 issues.

Scope

Category Count
Source files to rename/update 10 (8 in acp/ + 2 external)
Classes to rename (Acp*A2a*) 13
Structlog event names to update 11
Field names to update (acp_versiona2a_version) 2 locations
Module path to rename (cleveragents.acpcleveragents.a2a) All imports

Symbol Rename Map

Old New
AcpLocalFacade A2aLocalFacade
AcpHttpTransport A2aHttpTransport
AcpEventQueue A2aEventQueue
AcpVersionNegotiator A2aVersionNegotiator
AcpError A2aError
AcpNotAvailableError A2aNotAvailableError
AcpVersionMismatchError A2aVersionMismatchError
AcpOperationNotFoundError A2aOperationNotFoundError
AcpErrorDetail A2aErrorDetail
AcpRequest A2aRequest
AcpResponse A2aResponse
AcpEvent A2aEvent
AcpVersion A2aVersion

External consumers to update

  • src/cleveragents/lsp/server.py — imports AcpLocalFacade
  • src/cleveragents/cli/commands/server.py — imports ServerConnectionConfig from acp.server_config
  • src/cleveragents/cli/commands/lsp.py — comment referencing ACP

Acceptance Criteria

  • src/cleveragents/a2a/ directory exists with all renamed modules
  • src/cleveragents/acp/ directory is removed
  • All 13 Acp* classes renamed to A2a*
  • All from cleveragents.acp.* imports updated to from cleveragents.a2a.*
  • All 11 structlog events renamed (acp.*a2a.*)
  • acp_version fields renamed to a2a_version
  • LSP server and CLI commands updated
  • All BDD tests pass
  • All Robot Framework tests pass
  • ruff check and ruff format pass

Metadata

  • Commit message: refactor(a2a): rename ACP module and symbols to A2A standard
  • Branch name: refactor/m7-acp-to-a2a-rename

Subtasks

  • Create src/cleveragents/a2a/ package
  • Rename all 10 source files
  • Rename all 13 classes
  • Update all imports across src/
  • Update structlog event names
  • Update field names
  • Remove src/cleveragents/acp/
  • Verify all tests pass

Definition of Done

  • Zero references to acp remain in src/ (except comments noting the rename)
  • Full test suite passes
  • All linting passes
## Background and Context Per ADR-047 (A2A Standard Adoption), CleverAgents adopts the Agent-to-Agent (A2A) Protocol as the sole client-server protocol. The existing `src/cleveragents/acp/` module uses ACP (Agent Client Protocol) naming throughout. This issue covers the **source code rename** from ACP to A2A. **This is the cosmetic rename only.** The actual A2A protocol implementation (JSON-RPC 2.0, stdio/HTTP transports, Agent Cards) is tracked in separate v3.8.0/M9 issues. ### Scope | Category | Count | |---|---| | Source files to rename/update | 10 (8 in `acp/` + 2 external) | | Classes to rename (`Acp*` → `A2a*`) | 13 | | Structlog event names to update | 11 | | Field names to update (`acp_version` → `a2a_version`) | 2 locations | | Module path to rename (`cleveragents.acp` → `cleveragents.a2a`) | All imports | ### Symbol Rename Map | Old | New | |---|---| | `AcpLocalFacade` | `A2aLocalFacade` | | `AcpHttpTransport` | `A2aHttpTransport` | | `AcpEventQueue` | `A2aEventQueue` | | `AcpVersionNegotiator` | `A2aVersionNegotiator` | | `AcpError` | `A2aError` | | `AcpNotAvailableError` | `A2aNotAvailableError` | | `AcpVersionMismatchError` | `A2aVersionMismatchError` | | `AcpOperationNotFoundError` | `A2aOperationNotFoundError` | | `AcpErrorDetail` | `A2aErrorDetail` | | `AcpRequest` | `A2aRequest` | | `AcpResponse` | `A2aResponse` | | `AcpEvent` | `A2aEvent` | | `AcpVersion` | `A2aVersion` | ### External consumers to update - `src/cleveragents/lsp/server.py` — imports `AcpLocalFacade` - `src/cleveragents/cli/commands/server.py` — imports `ServerConnectionConfig` from `acp.server_config` - `src/cleveragents/cli/commands/lsp.py` — comment referencing ACP ## Acceptance Criteria - [ ] `src/cleveragents/a2a/` directory exists with all renamed modules - [ ] `src/cleveragents/acp/` directory is removed - [ ] All 13 Acp* classes renamed to A2a* - [ ] All `from cleveragents.acp.*` imports updated to `from cleveragents.a2a.*` - [ ] All 11 structlog events renamed (`acp.*` → `a2a.*`) - [ ] `acp_version` fields renamed to `a2a_version` - [ ] LSP server and CLI commands updated - [ ] All BDD tests pass - [ ] All Robot Framework tests pass - [ ] `ruff check` and `ruff format` pass ## Metadata - **Commit message**: `refactor(a2a): rename ACP module and symbols to A2A standard` - **Branch name**: `refactor/m7-acp-to-a2a-rename` ## Subtasks - [ ] Create `src/cleveragents/a2a/` package - [ ] Rename all 10 source files - [ ] Rename all 13 classes - [ ] Update all imports across `src/` - [ ] Update structlog event names - [ ] Update field names - [ ] Remove `src/cleveragents/acp/` - [ ] Verify all tests pass ## Definition of Done - Zero references to `acp` remain in `src/` (except comments noting the rename) - Full test suite passes - All linting passes
freemo self-assigned this 2026-03-11 18:13:20 +00:00
freemo added this to the v3.6.0 milestone 2026-03-11 18:13:20 +00:00
Author
Owner

Implementation Complete: ACP → A2A Rename

Commit: 2fe95d1b38b613531cf977b32cd01772ce3e463f
Branch: refactor/m7-acp-to-a2a-rename

Changes Summary

  • 42 files changed (854 insertions, 854 deletions — pure cosmetic rename)
  • Renamed src/cleveragents/acp/src/cleveragents/a2a/
  • Renamed all 13 Acp* classes to A2a*
  • Updated all imports, structlog event names (acp.*a2a.*), field names (acp_versiona2a_version)
  • Renamed feature files, step definitions, robot test files, benchmark files, and fixture JSON
  • Updated all test markers (@acp@a2a)

Quality Gates

  • nox -e lint — passed
  • nox -e typecheck — passed (0 errors)
  • nox -e unit_tests — passed (10,553 scenarios, 0 failures)
  • nox -e integration_tests — 1,305 passed, 14 failed (all 14 failures are pre-existing in Cli Plan Context Commands, confirmed failing on master as well)
  • nox -e coverage_report98% (≥97% threshold met)

Verification

Zero ACP references remain in source code:

grep -rn 'from cleveragents.acp' src/ features/ robot/ benchmarks/  # 0 results
grep -rn 'AcpLocal\|AcpHttp\|AcpEvent' src/ features/ robot/ benchmarks/  # 0 results

This is a cosmetic rename only — no behavioral changes. Per ADR-047.

## Implementation Complete: ACP → A2A Rename Commit: `2fe95d1b38b613531cf977b32cd01772ce3e463f` Branch: `refactor/m7-acp-to-a2a-rename` ### Changes Summary - **42 files changed** (854 insertions, 854 deletions — pure cosmetic rename) - Renamed `src/cleveragents/acp/` → `src/cleveragents/a2a/` - Renamed all 13 `Acp*` classes to `A2a*` - Updated all imports, structlog event names (`acp.*` → `a2a.*`), field names (`acp_version` → `a2a_version`) - Renamed feature files, step definitions, robot test files, benchmark files, and fixture JSON - Updated all test markers (`@acp` → `@a2a`) ### Quality Gates - ✅ `nox -e lint` — passed - ✅ `nox -e typecheck` — passed (0 errors) - ✅ `nox -e unit_tests` — passed (10,553 scenarios, 0 failures) - ✅ `nox -e integration_tests` — 1,305 passed, 14 failed (all 14 failures are pre-existing in `Cli Plan Context Commands`, confirmed failing on master as well) - ✅ `nox -e coverage_report` — **98%** (≥97% threshold met) ### Verification Zero ACP references remain in source code: ``` grep -rn 'from cleveragents.acp' src/ features/ robot/ benchmarks/ # 0 results grep -rn 'AcpLocal\|AcpHttp\|AcpEvent' src/ features/ robot/ benchmarks/ # 0 results ``` This is a cosmetic rename only — no behavioral changes. Per ADR-047.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#688
No description provided.