UAT: A2aLocalFacade legacy operation names (session.create, plan.create, etc.) do not emit DeprecationWarning — callers have no migration signal #6153

Open
opened 2026-04-09 15:45:45 +00:00 by HAL9000 · 0 comments
Owner

Bug Report

Summary

A2aLocalFacade supports legacy proprietary operation names (session.create, plan.create, plan.execute, plan.status, plan.diff, plan.apply, registry.list_tools, registry.list_resources, context.get, event.subscribe) for backward compatibility, but dispatching these operations does not emit a DeprecationWarning. Callers using the old operation names receive no signal that they should migrate to the spec-aligned _cleveragents/ extension methods.

Feature Area

ACP → A2A module rename and symbol standardization (v3.6.0 deliverable #1)

Expected Behavior (per spec)

Per ADR-047 and the v3.6.0 spec deliverable #1: "No acp references in public API; all imports use a2a namespace." The legacy operation names are the ACP-era API surface. When a caller dispatches a legacy operation name, the facade should emit:

import warnings
warnings.warn(
    f"A2A operation '{operation}' is a legacy name and will be removed in a future version. "
    f"Use the equivalent '_cleveragents/' extension method instead.",
    DeprecationWarning,
    stacklevel=2,
)

This follows the same pattern used elsewhere in the codebase (e.g., PlanService, PlanRepository, ChangeRepository, rm_command).

Actual Behavior

from cleveragents.a2a import A2aLocalFacade, A2aRequest

facade = A2aLocalFacade()
# No DeprecationWarning emitted — caller has no migration signal
response = facade.dispatch(A2aRequest(method="plan.create", params={"action_name": "test"}))

Code Location

src/cleveragents/a2a/facade.py_LEGACY_OPERATIONS list and _handlers() method (lines 98-110, 285-296)

The legacy operations are clearly marked as deprecated in comments but no runtime warning is issued.

Impact

  • Callers using legacy operation names will continue to use them indefinitely without knowing they need to migrate
  • When legacy operations are eventually removed, the breakage will be unexpected
  • Inconsistent with the project's deprecation pattern used in other modules

Priority Assessment

Non-critical (legacy operations still work, no functional regression). Assigned to backlog.


Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: uat-tester

## Bug Report ### Summary `A2aLocalFacade` supports legacy proprietary operation names (`session.create`, `plan.create`, `plan.execute`, `plan.status`, `plan.diff`, `plan.apply`, `registry.list_tools`, `registry.list_resources`, `context.get`, `event.subscribe`) for backward compatibility, but dispatching these operations does **not** emit a `DeprecationWarning`. Callers using the old operation names receive no signal that they should migrate to the spec-aligned `_cleveragents/` extension methods. ### Feature Area ACP → A2A module rename and symbol standardization (v3.6.0 deliverable #1) ### Expected Behavior (per spec) Per ADR-047 and the v3.6.0 spec deliverable #1: "No `acp` references in public API; all imports use `a2a` namespace." The legacy operation names are the ACP-era API surface. When a caller dispatches a legacy operation name, the facade should emit: ```python import warnings warnings.warn( f"A2A operation '{operation}' is a legacy name and will be removed in a future version. " f"Use the equivalent '_cleveragents/' extension method instead.", DeprecationWarning, stacklevel=2, ) ``` This follows the same pattern used elsewhere in the codebase (e.g., `PlanService`, `PlanRepository`, `ChangeRepository`, `rm_command`). ### Actual Behavior ```python from cleveragents.a2a import A2aLocalFacade, A2aRequest facade = A2aLocalFacade() # No DeprecationWarning emitted — caller has no migration signal response = facade.dispatch(A2aRequest(method="plan.create", params={"action_name": "test"})) ``` ### Code Location `src/cleveragents/a2a/facade.py` — `_LEGACY_OPERATIONS` list and `_handlers()` method (lines 98-110, 285-296) The legacy operations are clearly marked as deprecated in comments but no runtime warning is issued. ### Impact - Callers using legacy operation names will continue to use them indefinitely without knowing they need to migrate - When legacy operations are eventually removed, the breakage will be unexpected - Inconsistent with the project's deprecation pattern used in other modules ### Priority Assessment Non-critical (legacy operations still work, no functional regression). Assigned to backlog. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.5.0 milestone 2026-04-09 21:17:46 +00:00
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#6153
No description provided.