UAT: Registry A2A extension methods missing show, add, update, remove operations — only list is implemented #2544

Open
opened 2026-04-03 18:51:05 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: fix/a2a-registry-crud-methods
  • Commit Message: fix(a2a): implement registry show/add/update/remove extension methods
  • Milestone: v3.6.0
  • Parent Epic: #933

Bug Description

The spec defines a full CRUD set of registry extension methods for each entity type. However, the A2aLocalFacade only implements the list operation for each entity type. The show, add, update, and remove operations are completely absent.

Spec-required registry methods per entity type:

Operation Method Pattern Status
list _cleveragents/registry/{entity}/list Implemented (tool, resource, actor, skill, action, project)
show _cleveragents/registry/{entity}/show Missing
add _cleveragents/registry/{entity}/add Missing
update _cleveragents/registry/{entity}/update Missing
remove _cleveragents/registry/{entity}/remove Missing

Entity types: actor, skill, tool, validation, resource, resource_type, project, action, automation_profile, invariant, lsp

Actual behavior: Calling any non-list registry method raises A2aOperationNotFoundError:

facade.dispatch(A2aRequest(method="_cleveragents/registry/actor/show", params={"name": "openai/gpt-4"}))
# Raises: A2aOperationNotFoundError: Unknown A2A method: _cleveragents/registry/actor/show

Expected Behavior (from spec)

Per the spec's A2A extension method table:

| Registries | _cleveragents/registry/{entity}/list, show, add, update, remove (for each entity type: actor, skill, tool, validation, resource, resource_type, project, action, automation_profile, invariant, lsp) | ActorService, ToolService, SkillService, ResourceService, ProjectService |

All five CRUD operations must be implemented for all entity types.

Code Location

  • Facade: src/cleveragents/a2a/facade.py_EXTENSION_OPERATIONS list and _handlers() method only include list variants
  • Supported operations list: _EXTENSION_OPERATIONS in facade.py is missing all show, add, update, remove entries

Steps to Reproduce

from cleveragents.a2a.facade import A2aLocalFacade
from cleveragents.a2a.models import A2aRequest

facade = A2aLocalFacade()

# This raises A2aOperationNotFoundError
response = facade.dispatch(A2aRequest(
    method="_cleveragents/registry/actor/show",
    params={"name": "openai/gpt-4"}
))

Subtasks

  • Add show, add, update, remove to _EXTENSION_OPERATIONS list for all entity types
  • Implement _handle_registry_actor_show/add/update/remove handlers
  • Implement _handle_registry_skill_show/add/update/remove handlers
  • Implement _handle_registry_tool_show/add/update/remove handlers
  • Implement _handle_registry_resource_show/add/update/remove handlers
  • Implement _handle_registry_project_show/add/update/remove handlers
  • Implement _handle_registry_action_show/add/update/remove handlers
  • Wire to appropriate application services (ActorService, ToolService, etc.)
  • Add BDD tests for all new registry operations

Definition of Done

  • All 5 CRUD operations available for all entity types via A2A
  • show returns entity details by name
  • add creates a new entity in the registry
  • update modifies an existing entity
  • remove deletes an entity from the registry
  • All operations have BDD test coverage

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

## Metadata - **Branch**: `fix/a2a-registry-crud-methods` - **Commit Message**: `fix(a2a): implement registry show/add/update/remove extension methods` - **Milestone**: v3.6.0 - **Parent Epic**: #933 ## Bug Description The spec defines a full CRUD set of registry extension methods for each entity type. However, the `A2aLocalFacade` only implements the `list` operation for each entity type. The `show`, `add`, `update`, and `remove` operations are completely absent. **Spec-required registry methods per entity type:** | Operation | Method Pattern | Status | |---|---|---| | `list` | `_cleveragents/registry/{entity}/list` | ✅ Implemented (tool, resource, actor, skill, action, project) | | `show` | `_cleveragents/registry/{entity}/show` | ❌ Missing | | `add` | `_cleveragents/registry/{entity}/add` | ❌ Missing | | `update` | `_cleveragents/registry/{entity}/update` | ❌ Missing | | `remove` | `_cleveragents/registry/{entity}/remove` | ❌ Missing | Entity types: `actor`, `skill`, `tool`, `validation`, `resource`, `resource_type`, `project`, `action`, `automation_profile`, `invariant`, `lsp` **Actual behavior:** Calling any non-`list` registry method raises `A2aOperationNotFoundError`: ```python facade.dispatch(A2aRequest(method="_cleveragents/registry/actor/show", params={"name": "openai/gpt-4"})) # Raises: A2aOperationNotFoundError: Unknown A2A method: _cleveragents/registry/actor/show ``` ## Expected Behavior (from spec) Per the spec's A2A extension method table: > | **Registries** | `_cleveragents/registry/{entity}/list`, `show`, `add`, `update`, `remove` (for each entity type: actor, skill, tool, validation, resource, resource_type, project, action, automation_profile, invariant, lsp) | `ActorService`, `ToolService`, `SkillService`, `ResourceService`, `ProjectService` | All five CRUD operations must be implemented for all entity types. ## Code Location - **Facade**: `src/cleveragents/a2a/facade.py` — `_EXTENSION_OPERATIONS` list and `_handlers()` method only include `list` variants - **Supported operations list**: `_EXTENSION_OPERATIONS` in `facade.py` is missing all `show`, `add`, `update`, `remove` entries ## Steps to Reproduce ```python from cleveragents.a2a.facade import A2aLocalFacade from cleveragents.a2a.models import A2aRequest facade = A2aLocalFacade() # This raises A2aOperationNotFoundError response = facade.dispatch(A2aRequest( method="_cleveragents/registry/actor/show", params={"name": "openai/gpt-4"} )) ``` ## Subtasks - [ ] Add `show`, `add`, `update`, `remove` to `_EXTENSION_OPERATIONS` list for all entity types - [ ] Implement `_handle_registry_actor_show/add/update/remove` handlers - [ ] Implement `_handle_registry_skill_show/add/update/remove` handlers - [ ] Implement `_handle_registry_tool_show/add/update/remove` handlers - [ ] Implement `_handle_registry_resource_show/add/update/remove` handlers - [ ] Implement `_handle_registry_project_show/add/update/remove` handlers - [ ] Implement `_handle_registry_action_show/add/update/remove` handlers - [ ] Wire to appropriate application services (`ActorService`, `ToolService`, etc.) - [ ] Add BDD tests for all new registry operations ## Definition of Done - All 5 CRUD operations available for all entity types via A2A - `show` returns entity details by name - `add` creates a new entity in the registry - `update` modifies an existing entity - `remove` deletes an entity from the registry - All operations have BDD test coverage --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-uat-tester
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • MoSCoW: Should Have — Spec compliance or quality improvement.

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Issue triaged by project owner: - **State**: Verified - **MoSCoW**: Should Have — Spec compliance or quality improvement. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo added this to the v3.7.0 milestone 2026-04-05 05:07:06 +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.

Dependencies

No dependencies set.

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