UAT: Registry CRUD operations (show, add, update, remove) missing from A2aLocalFacade — only list implemented for most entity types #5102

Open
opened 2026-04-09 01:01:50 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Feature Area: A2A Protocol — registry CRUD extension methods
Severity: High — registry management (add/update/remove entities) is completely non-functional via A2A


What Was Tested

Code-level analysis of src/cleveragents/a2a/facade.py — checking for registry CRUD operation implementations.

Expected Behavior (from spec)

Per the spec's Server and Client Architecture section (§CleverAgents Extension Methods):

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

The spec requires full CRUD operations for each entity type:

  • _cleveragents/registry/{entity}/list — list entities
  • _cleveragents/registry/{entity}/show — show a single entity
  • _cleveragents/registry/{entity}/add — add/register an entity
  • _cleveragents/registry/{entity}/update — update an entity
  • _cleveragents/registry/{entity}/remove — remove an entity

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

This maps to the spec's CLI commands (e.g., agents actor add, agents tool remove, agents skill update) which per the spec "maps to either a standard A2A operation or a _cleveragents/ extension method."

Actual Behavior

File: src/cleveragents/a2a/facade.py

Only list operations are registered, and most are stubs:

# Registry — only list operations, no show/add/update/remove
"_cleveragents/registry/tool/list": self._handle_registry_list_tools,
"_cleveragents/registry/resource/list": self._handle_registry_list_resources,
"_cleveragents/registry/actor/list": self._handle_registry_list_stub,    # stub
"_cleveragents/registry/skill/list": self._handle_registry_list_stub,    # stub
"_cleveragents/registry/action/list": self._handle_registry_list_stub,   # stub
"_cleveragents/registry/project/list": self._handle_registry_list_stub,  # stub
# NO show, add, update, remove for ANY entity type
# NO validation, resource_type, automation_profile, invariant, lsp list operations

Missing operations (not in _EXTENSION_OPERATIONS or _handlers()):

  • All show operations: _cleveragents/registry/{entity}/show
  • All add operations: _cleveragents/registry/{entity}/add
  • All update operations: _cleveragents/registry/{entity}/update
  • All remove operations: _cleveragents/registry/{entity}/remove
  • Missing entity types: validation, resource_type, automation_profile, invariant, lsp

Impact

  • No entity can be added, updated, or removed via A2A
  • The spec's "CLI is a thin rendering layer with no business logic" principle is violated — CLI commands that add/update/remove entities bypass A2A entirely
  • Registry management in server mode is completely non-functional

Code Location

  • src/cleveragents/a2a/facade.py_EXTENSION_OPERATIONS list (lines 72–78) and _handlers() registry section (lines 261–268)

Fix Required

Add all CRUD operations for all entity types to _EXTENSION_OPERATIONS and implement handlers:

# For each entity in [actor, skill, tool, validation, resource, resource_type,
#                     project, action, automation_profile, invariant, lsp]:
"_cleveragents/registry/{entity}/list",
"_cleveragents/registry/{entity}/show",
"_cleveragents/registry/{entity}/add",
"_cleveragents/registry/{entity}/update",
"_cleveragents/registry/{entity}/remove",

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

## Bug Report **Feature Area:** A2A Protocol — registry CRUD extension methods **Severity:** High — registry management (add/update/remove entities) is completely non-functional via A2A --- ### What Was Tested Code-level analysis of `src/cleveragents/a2a/facade.py` — checking for registry CRUD operation implementations. ### Expected Behavior (from spec) Per the spec's Server and Client Architecture section (§CleverAgents Extension Methods): > **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` The spec requires full CRUD operations for each entity type: - `_cleveragents/registry/{entity}/list` — list entities - `_cleveragents/registry/{entity}/show` — show a single entity - `_cleveragents/registry/{entity}/add` — add/register an entity - `_cleveragents/registry/{entity}/update` — update an entity - `_cleveragents/registry/{entity}/remove` — remove an entity For entity types: `actor`, `skill`, `tool`, `validation`, `resource`, `resource_type`, `project`, `action`, `automation_profile`, `invariant`, `lsp` This maps to the spec's CLI commands (e.g., `agents actor add`, `agents tool remove`, `agents skill update`) which per the spec "maps to either a standard A2A operation or a `_cleveragents/` extension method." ### Actual Behavior **File:** `src/cleveragents/a2a/facade.py` Only `list` operations are registered, and most are stubs: ```python # Registry — only list operations, no show/add/update/remove "_cleveragents/registry/tool/list": self._handle_registry_list_tools, "_cleveragents/registry/resource/list": self._handle_registry_list_resources, "_cleveragents/registry/actor/list": self._handle_registry_list_stub, # stub "_cleveragents/registry/skill/list": self._handle_registry_list_stub, # stub "_cleveragents/registry/action/list": self._handle_registry_list_stub, # stub "_cleveragents/registry/project/list": self._handle_registry_list_stub, # stub # NO show, add, update, remove for ANY entity type # NO validation, resource_type, automation_profile, invariant, lsp list operations ``` Missing operations (not in `_EXTENSION_OPERATIONS` or `_handlers()`): - All `show` operations: `_cleveragents/registry/{entity}/show` - All `add` operations: `_cleveragents/registry/{entity}/add` - All `update` operations: `_cleveragents/registry/{entity}/update` - All `remove` operations: `_cleveragents/registry/{entity}/remove` - Missing entity types: `validation`, `resource_type`, `automation_profile`, `invariant`, `lsp` ### Impact - No entity can be added, updated, or removed via A2A - The spec's "CLI is a thin rendering layer with no business logic" principle is violated — CLI commands that add/update/remove entities bypass A2A entirely - Registry management in server mode is completely non-functional ### Code Location - `src/cleveragents/a2a/facade.py` — `_EXTENSION_OPERATIONS` list (lines 72–78) and `_handlers()` registry section (lines 261–268) ### Fix Required Add all CRUD operations for all entity types to `_EXTENSION_OPERATIONS` and implement handlers: ```python # For each entity in [actor, skill, tool, validation, resource, resource_type, # project, action, automation_profile, invariant, lsp]: "_cleveragents/registry/{entity}/list", "_cleveragents/registry/{entity}/show", "_cleveragents/registry/{entity}/add", "_cleveragents/registry/{entity}/update", "_cleveragents/registry/{entity}/remove", ``` --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.2.0 milestone 2026-04-09 01:11:02 +00:00
Author
Owner

Issue triaged by project owner: Verified as valid spec compliance bug. Priority: Medium. Milestone: v3.2.0.


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

Issue triaged by project owner: Verified as valid spec compliance bug. Priority: Medium. Milestone: v3.2.0. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
HAL9000 modified the milestone from v3.2.0 to v3.5.0 2026-04-09 01:11:42 +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#5102
No description provided.