UAT: _cleveragents/namespace/* A2A handlers are unimplemented stubs — namespace resolution in server mode not functional #4905

Open
opened 2026-04-08 20:18:11 +00:00 by HAL9000 · 2 comments
Owner

Bug Report

Feature Area: Server Mode — namespace resolution in server mode

What Was Tested

The _cleveragents/namespace/* A2A extension method handlers for namespace resolution functionality.

Expected Behavior (from spec)

Per ADR-023 (Server Mode) and the spec's Namespace section:

  • local/ always resolves locally, regardless of server connection.
  • <username>/ and <orgname>/ resolve against the server.
  • Server-qualified names (dev:freemo/actor) resolve against a specific server when multiple servers are connected.

The _cleveragents/namespace/* extension methods should support:

  • _cleveragents/namespace/list — list available namespaces (local + server namespaces the user has access to)
  • _cleveragents/namespace/show — show details of a specific namespace
  • _cleveragents/namespace/members — list members/ACLs of a namespace

These are required for the multi-user collaboration feature where teams share namespaces.

Actual Behavior (from code)

File: src/cleveragents/a2a/facade.py

All three namespace handlers return not_implemented:

def _handle_namespace_stub(self, params: dict[str, Any]) -> dict[str, Any]:
    return {"status": "not_implemented", "stub": True}

The handlers for _cleveragents/namespace/list, _cleveragents/namespace/show, and _cleveragents/namespace/members all call _handle_namespace_stub().

Additionally, there is no namespace resolution logic that distinguishes between local/ (always local), <username>/ (server namespace), and dev:freemo/actor (server-qualified names).

Steps to Reproduce

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

facade = A2aLocalFacade()
req = A2aRequest(method="_cleveragents/namespace/list", params={})
resp = facade.dispatch(req)
print(resp.result)
# → {"status": "not_implemented", "stub": True}

Code Location

  • src/cleveragents/a2a/facade.py_handle_namespace_stub() method
  • No namespace resolution service exists in the codebase

Impact

Namespace resolution in server mode is completely non-functional. Users cannot list available server namespaces, check namespace membership, or resolve server-qualified names. The multi-user collaboration feature (shared <orgname>/ namespaces) cannot work without namespace resolution.


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

## Bug Report **Feature Area:** Server Mode — namespace resolution in server mode ### What Was Tested The `_cleveragents/namespace/*` A2A extension method handlers for namespace resolution functionality. ### Expected Behavior (from spec) Per ADR-023 (Server Mode) and the spec's Namespace section: > - `local/` always resolves locally, regardless of server connection. > - `<username>/` and `<orgname>/` resolve against the server. > - Server-qualified names (`dev:freemo/actor`) resolve against a specific server when multiple servers are connected. The `_cleveragents/namespace/*` extension methods should support: - `_cleveragents/namespace/list` — list available namespaces (local + server namespaces the user has access to) - `_cleveragents/namespace/show` — show details of a specific namespace - `_cleveragents/namespace/members` — list members/ACLs of a namespace These are required for the multi-user collaboration feature where teams share namespaces. ### Actual Behavior (from code) **File:** `src/cleveragents/a2a/facade.py` All three namespace handlers return `not_implemented`: ```python def _handle_namespace_stub(self, params: dict[str, Any]) -> dict[str, Any]: return {"status": "not_implemented", "stub": True} ``` The handlers for `_cleveragents/namespace/list`, `_cleveragents/namespace/show`, and `_cleveragents/namespace/members` all call `_handle_namespace_stub()`. Additionally, there is no namespace resolution logic that distinguishes between `local/` (always local), `<username>/` (server namespace), and `dev:freemo/actor` (server-qualified names). ### Steps to Reproduce ```python from cleveragents.a2a.facade import A2aLocalFacade from cleveragents.a2a.models import A2aRequest facade = A2aLocalFacade() req = A2aRequest(method="_cleveragents/namespace/list", params={}) resp = facade.dispatch(req) print(resp.result) # → {"status": "not_implemented", "stub": True} ``` ### Code Location - `src/cleveragents/a2a/facade.py` — `_handle_namespace_stub()` method - No namespace resolution service exists in the codebase ### Impact Namespace resolution in server mode is completely non-functional. Users cannot list available server namespaces, check namespace membership, or resolve server-qualified names. The multi-user collaboration feature (shared `<orgname>/` namespaces) cannot work without namespace resolution. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium — UAT-discovered spec deviation, A2A namespace handlers are stubs
  • Milestone: v3.5.0 — Server mode / A2A features are M6 scope
  • Story Points: 5 — L — Implementing 4 namespace A2A handlers with proper routing
  • MoSCoW: Should Have — Server mode namespace management is important but not blocking core local workflow
  • Parent Epic: #360 (Autonomy Hardening + Stubs M6)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium — UAT-discovered spec deviation, A2A namespace handlers are stubs - **Milestone**: v3.5.0 — Server mode / A2A features are M6 scope - **Story Points**: 5 — L — Implementing 4 namespace A2A handlers with proper routing - **MoSCoW**: Should Have — Server mode namespace management is important but not blocking core local workflow - **Parent Epic**: #360 (Autonomy Hardening + Stubs M6) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
freemo added this to the v3.5.0 milestone 2026-04-08 23:39:29 +00:00
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: High — Namespace resolution in server mode is core A2A functionality; stubs block multi-user workflows
  • Milestone: v3.5.0 (already assigned correctly — Autonomy Hardening includes server mode)
  • Story Points: 5 — L — Implementing namespace resolution handlers requires understanding the A2A protocol and server architecture
  • MoSCoW: Must Have — Server mode namespace resolution is required for multi-user operation per spec
  • Parent Epic: #4947 (Server Implementation Legendary)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: High — Namespace resolution in server mode is core A2A functionality; stubs block multi-user workflows - **Milestone**: v3.5.0 (already assigned correctly — Autonomy Hardening includes server mode) - **Story Points**: 5 — L — Implementing namespace resolution handlers requires understanding the A2A protocol and server architecture - **MoSCoW**: Must Have — Server mode namespace resolution is required for multi-user operation per spec - **Parent Epic**: #4947 (Server Implementation Legendary) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#4905
No description provided.