UAT: ContainerToolExecutor not wired in DI container — container execution never activated in production #6098

Open
opened 2026-04-09 14:36:26 +00:00 by HAL9000 · 0 comments
Owner

Bug Report

Feature Area: Container Tool Execution
Severity: Critical — blocks all container tool execution in production
Found by: UAT Testing (container-tool-execution worker)


What Was Tested

Code-level analysis of the DI container (src/cleveragents/application/container.py) and ToolRunner wiring against the container tool execution specification.

Expected Behavior

The ToolRunner accepts an optional container_executor: ContainerToolExecutor | None parameter. When container execution is resolved, it delegates to this executor. For container execution to work in production, the DI container must wire a ContainerToolExecutor instance into the ToolRunner.

Actual Behavior

src/cleveragents/application/container.py has no reference to ContainerToolExecutor and no ToolRunner provider at all. The ToolRunner is only instantiated in:

  1. plan_execution_context.py — but without a container_executor argument
  2. Test fixtures — with mock executors

In production, when ToolRunner.execute() resolves to ExecutionEnvironment.CONTAINER, it hits this code path:

# runner.py lines 397-406
if self._container_executor is None:
    return ToolResult(
        success=False,
        output={},
        error=(
            "Container execution is not available. "
            "A ContainerToolExecutor must be configured on the "
            "ToolRunner before container-routed tools can execute."
        ),
        duration_ms=0.0,
    )

This means every container-routed tool call returns an error in production, even if a container resource is properly configured.

Code Location

  • src/cleveragents/application/container.py — no ContainerToolExecutor or ToolRunner provider
  • src/cleveragents/application/services/plan_execution_context.pyToolRunner instantiated without container_executor
  • src/cleveragents/tool/runner.py lines 91, 397-406 — container_executor parameter and error path

Impact

Container execution is completely non-functional in production. Users who configure a container-instance or devcontainer-instance execution environment will always receive "Container execution is not available" errors.


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

## Bug Report **Feature Area:** Container Tool Execution **Severity:** Critical — blocks all container tool execution in production **Found by:** UAT Testing (container-tool-execution worker) --- ## What Was Tested Code-level analysis of the DI container (`src/cleveragents/application/container.py`) and `ToolRunner` wiring against the container tool execution specification. ## Expected Behavior The `ToolRunner` accepts an optional `container_executor: ContainerToolExecutor | None` parameter. When container execution is resolved, it delegates to this executor. For container execution to work in production, the DI container must wire a `ContainerToolExecutor` instance into the `ToolRunner`. ## Actual Behavior `src/cleveragents/application/container.py` has **no reference to `ContainerToolExecutor`** and no `ToolRunner` provider at all. The `ToolRunner` is only instantiated in: 1. `plan_execution_context.py` — but without a `container_executor` argument 2. Test fixtures — with mock executors In production, when `ToolRunner.execute()` resolves to `ExecutionEnvironment.CONTAINER`, it hits this code path: ```python # runner.py lines 397-406 if self._container_executor is None: return ToolResult( success=False, output={}, error=( "Container execution is not available. " "A ContainerToolExecutor must be configured on the " "ToolRunner before container-routed tools can execute." ), duration_ms=0.0, ) ``` This means **every container-routed tool call returns an error** in production, even if a container resource is properly configured. ## Code Location - `src/cleveragents/application/container.py` — no `ContainerToolExecutor` or `ToolRunner` provider - `src/cleveragents/application/services/plan_execution_context.py` — `ToolRunner` instantiated without `container_executor` - `src/cleveragents/tool/runner.py` lines 91, 397-406 — `container_executor` parameter and error path ## Impact Container execution is completely non-functional in production. Users who configure a `container-instance` or `devcontainer-instance` execution environment will always receive "Container execution is not available" errors. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.6.0 milestone 2026-04-09 21:18:28 +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#6098
No description provided.