UAT: cli_bootstrap.py does not wire context_service, sync_service, namespace_service, or event_queue — operations always return stubs #6623

Open
opened 2026-04-09 22:23:30 +00:00 by HAL9000 · 0 comments
Owner

Bug Report

Feature Area: A2A Protocol — Service wiring in CLI bootstrap

Spec Reference

docs/reference/a2a.md — Service Keys table:

Key Type Wired Methods
session_service SessionWorkflow Standard message operations
plan_lifecycle_service PlanLifecycleService _cleveragents/plan/*
tool_registry ToolRegistry _cleveragents/registry/tool/*
resource_registry_service ResourceRegistryService _cleveragents/registry/resource/*
sync_service SyncService _cleveragents/sync/*
namespace_service NamespaceService _cleveragents/namespace/*
context_service ContextService _cleveragents/context/*

Expected Behavior

cli_bootstrap.py should wire all available services from the DI container, including context_service, sync_service, namespace_service, and event_queue.

Actual Behavior

src/cleveragents/a2a/cli_bootstrap.py only wires 4 of the 7 spec-required services:

def _build_facade() -> A2aLocalFacade:
    services: dict[str, Any] = {}
    
    with contextlib.suppress(Exception):
        services["plan_lifecycle_service"] = container.plan_lifecycle_service()
    
    with contextlib.suppress(Exception):
        services["session_service"] = container.session_service()
    
    with contextlib.suppress(Exception):
        services["resource_registry_service"] = container.resource_registry_service()
    
    with contextlib.suppress(Exception):
        services["tool_registry"] = container.tool_registry()
    
    # ← MISSING: context_service, sync_service, namespace_service, event_queue
    
    return A2aLocalFacade(services=services)

Missing wiring:

  • context_service_cleveragents/context/show, inspect, simulate, set always return stubs
  • sync_service_cleveragents/sync/pull, push, status always return stubs
  • namespace_service_cleveragents/namespace/list, show, members always return stubs
  • event_queueevent.subscribe always returns a stub subscription ID

Code Location

src/cleveragents/a2a/cli_bootstrap.py, _build_facade() function

Impact

  • Context operations (_cleveragents/context/*) always return {"context": {}, "stub": True} even when a real ContextService is available
  • Sync operations always return {"status": "not_implemented", "stub": True}
  • Namespace operations always return {"status": "not_implemented", "stub": True}
  • Event subscriptions always return a random ULID instead of a real subscription
  • This silently degrades functionality — callers get stub responses without any error indication

Note

The _handle_context_get handler also has a TODO comment: # TODO: Wire to ACMS ContextAssemblyPipeline once available. — this is tracked separately in issue [AUTO-GUARD].


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

## Bug Report **Feature Area:** A2A Protocol — Service wiring in CLI bootstrap ### Spec Reference `docs/reference/a2a.md` — Service Keys table: | Key | Type | Wired Methods | |---|---|---| | `session_service` | `SessionWorkflow` | Standard message operations | | `plan_lifecycle_service` | `PlanLifecycleService` | `_cleveragents/plan/*` | | `tool_registry` | `ToolRegistry` | `_cleveragents/registry/tool/*` | | `resource_registry_service` | `ResourceRegistryService` | `_cleveragents/registry/resource/*` | | `sync_service` | `SyncService` | `_cleveragents/sync/*` | | `namespace_service` | `NamespaceService` | `_cleveragents/namespace/*` | | `context_service` | `ContextService` | `_cleveragents/context/*` | ### Expected Behavior `cli_bootstrap.py` should wire all available services from the DI container, including `context_service`, `sync_service`, `namespace_service`, and `event_queue`. ### Actual Behavior `src/cleveragents/a2a/cli_bootstrap.py` only wires 4 of the 7 spec-required services: ```python def _build_facade() -> A2aLocalFacade: services: dict[str, Any] = {} with contextlib.suppress(Exception): services["plan_lifecycle_service"] = container.plan_lifecycle_service() with contextlib.suppress(Exception): services["session_service"] = container.session_service() with contextlib.suppress(Exception): services["resource_registry_service"] = container.resource_registry_service() with contextlib.suppress(Exception): services["tool_registry"] = container.tool_registry() # ← MISSING: context_service, sync_service, namespace_service, event_queue return A2aLocalFacade(services=services) ``` **Missing wiring:** - `context_service` → `_cleveragents/context/show`, `inspect`, `simulate`, `set` always return stubs - `sync_service` → `_cleveragents/sync/pull`, `push`, `status` always return stubs - `namespace_service` → `_cleveragents/namespace/list`, `show`, `members` always return stubs - `event_queue` → `event.subscribe` always returns a stub subscription ID ### Code Location `src/cleveragents/a2a/cli_bootstrap.py`, `_build_facade()` function ### Impact - Context operations (`_cleveragents/context/*`) always return `{"context": {}, "stub": True}` even when a real `ContextService` is available - Sync operations always return `{"status": "not_implemented", "stub": True}` - Namespace operations always return `{"status": "not_implemented", "stub": True}` - Event subscriptions always return a random ULID instead of a real subscription - This silently degrades functionality — callers get stub responses without any error indication ### Note The `_handle_context_get` handler also has a `TODO` comment: `# TODO: Wire to ACMS ContextAssemblyPipeline once available.` — this is tracked separately in issue [AUTO-GUARD]. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.2.0 milestone 2026-04-09 22:34:47 +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#6623
No description provided.