UAT: Namespace management operations (_cleveragents/namespace/*) return "not_implemented" — server namespace resolution broken #4935

Open
opened 2026-04-08 23:01:00 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Feature Area: Server Mode and Multi-User — Namespace Resolution with Server Prefix

Severity: Medium (blocks multi-user namespace management)

What Was Tested

The A2A extension methods for namespace management (_cleveragents/namespace/list, _cleveragents/namespace/show, _cleveragents/namespace/members) in src/cleveragents/a2a/facade.py.

Expected Behavior (from spec)

Per the specification (Namespace section, ADR-023):

The scoping segment in the name format [[server:]namespace/]name. Defaults to local/ when omitted. local/ is reserved for local-only items. Non-local/ namespaces with server omitted assume the default configured server.

The spec describes namespace operations that should be available:

  • List available namespaces (personal, org, server-qualified)
  • Show namespace details (members, permissions)
  • List namespace members (for org namespaces)

The spec also states:

Authorization is namespace-scoped: users can only access entities within namespaces they have been granted access to. The local/ namespace is never accessible via server.

Actual Behavior

All three namespace operations return stub responses:

# _cleveragents/namespace/list
{"status": "not_implemented", "stub": True}

# _cleveragents/namespace/show
{"status": "not_implemented", "stub": True}

# _cleveragents/namespace/members
{"status": "not_implemented", "stub": True}

The handler code in facade.py:

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

Code Location

  • src/cleveragents/a2a/facade.py_handle_namespace_stub method

Impact

  • Users cannot list available server namespaces
  • Namespace-scoped authorization cannot be enforced
  • Multi-server disambiguation (e.g., dev:freemo/actor) cannot be resolved
  • The core.namespace config key has no effect in server mode
  • Org-level namespace management is impossible
  • ADR-023 (Server Mode) — defines namespace resolution
  • ADR-002 (Namespace System)
  • Issue #4926 — A2A HTTP Transport stub (prerequisite)
  • src/cleveragents/a2a/facade.py — namespace stubs

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

## Bug Report **Feature Area:** Server Mode and Multi-User — Namespace Resolution with Server Prefix **Severity:** Medium (blocks multi-user namespace management) ### What Was Tested The A2A extension methods for namespace management (`_cleveragents/namespace/list`, `_cleveragents/namespace/show`, `_cleveragents/namespace/members`) in `src/cleveragents/a2a/facade.py`. ### Expected Behavior (from spec) Per the specification (Namespace section, ADR-023): > The scoping segment in the name format `[[server:]namespace/]name`. Defaults to `local/` when omitted. `local/` is reserved for local-only items. Non-`local/` namespaces with server omitted assume the default configured server. The spec describes namespace operations that should be available: - List available namespaces (personal, org, server-qualified) - Show namespace details (members, permissions) - List namespace members (for org namespaces) The spec also states: > **Authorization** is namespace-scoped: users can only access entities within namespaces they have been granted access to. The `local/` namespace is never accessible via server. ### Actual Behavior All three namespace operations return stub responses: ```python # _cleveragents/namespace/list {"status": "not_implemented", "stub": True} # _cleveragents/namespace/show {"status": "not_implemented", "stub": True} # _cleveragents/namespace/members {"status": "not_implemented", "stub": True} ``` The handler code in `facade.py`: ```python def _handle_namespace_stub(self, params: dict[str, Any]) -> dict[str, Any]: return {"status": "not_implemented", "stub": True} ``` ### Code Location - `src/cleveragents/a2a/facade.py` — `_handle_namespace_stub` method ### Impact - Users cannot list available server namespaces - Namespace-scoped authorization cannot be enforced - Multi-server disambiguation (e.g., `dev:freemo/actor`) cannot be resolved - The `core.namespace` config key has no effect in server mode - Org-level namespace management is impossible ### Related - ADR-023 (Server Mode) — defines namespace resolution - ADR-002 (Namespace System) - Issue #4926 — A2A HTTP Transport stub (prerequisite) - `src/cleveragents/a2a/facade.py` — namespace stubs --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.5.0 milestone 2026-04-09 05:43:15 +00:00
Author
Owner

Label compliance fix applied:

  • Assigned milestone: based on issue scope (server-side implementation area)
  • Reason: Non-Epic, non-Legendary issue in State/In Progress was missing a milestone assignment per CONTRIBUTING.md requirements.

Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: backlog-groomer

Label compliance fix applied: - Assigned milestone: based on issue scope (server-side implementation area) - Reason: Non-Epic, non-Legendary issue in `State/In Progress` was missing a milestone assignment per CONTRIBUTING.md requirements. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: backlog-groomer
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#4935
No description provided.