feat(tools): add container sandbox strategy for plan execution in isolated containers #5529

Open
opened 2026-04-09 07:13:44 +00:00 by HAL9000 · 0 comments
Owner

Background

Part of Epic #5504 (Container Tool Execution). Adds a container_snapshot sandbox strategy that runs the entire plan execution inside a container, enabling full isolation of plan side effects.

Expected Behavior

  • ContainerSnapshotSandbox implementing the SandboxStrategy interface
  • sandbox.strategy: container_snapshot in plan configuration
  • Container image specified via sandbox.container.image
  • Plan execution runs inside container; changes captured via container diff
  • SandboxStrategy enum updated to include container_snapshot (fixes UAT #4567)
  • Commit/rollback via container commit and container removal

Subtasks

  • Implement ContainerSnapshotSandbox class implementing SandboxStrategy
  • Add container_snapshot to SandboxStrategy enum (fixes UAT #4567)
  • Implement container diff capture for change detection
  • Implement commit (container commit) and rollback (container removal)
  • Wire ContainerSnapshotSandbox into SandboxManager factory
  • Write Behave unit tests for ContainerSnapshotSandbox

Definition of Done

  • ContainerSnapshotSandbox implements full SandboxStrategy interface
  • container_snapshot strategy works end-to-end
  • UAT #4567 verified as fixed
  • All nox stages pass
  • Coverage >= 97%

Metadata

  • Branch: feat/v3.6.0/container-tool-execution
  • Commit Message: feat(tools): add container sandbox strategy for plan execution in isolated containers
  • Milestone: v3.6.0
  • Parent Epic: #5504
  • Depends on: #5526 (ContainerToolRunner must exist first)
  • Fixes: #4567

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planner

## Background Part of Epic #5504 (Container Tool Execution). Adds a `container_snapshot` sandbox strategy that runs the entire plan execution inside a container, enabling full isolation of plan side effects. ## Expected Behavior - `ContainerSnapshotSandbox` implementing the `SandboxStrategy` interface - `sandbox.strategy: container_snapshot` in plan configuration - Container image specified via `sandbox.container.image` - Plan execution runs inside container; changes captured via container diff - `SandboxStrategy` enum updated to include `container_snapshot` (fixes UAT #4567) - Commit/rollback via container commit and container removal ## Subtasks - [ ] Implement `ContainerSnapshotSandbox` class implementing `SandboxStrategy` - [ ] Add `container_snapshot` to `SandboxStrategy` enum (fixes UAT #4567) - [ ] Implement container diff capture for change detection - [ ] Implement commit (container commit) and rollback (container removal) - [ ] Wire `ContainerSnapshotSandbox` into `SandboxManager` factory - [ ] Write Behave unit tests for ContainerSnapshotSandbox ## Definition of Done - [ ] `ContainerSnapshotSandbox` implements full SandboxStrategy interface - [ ] `container_snapshot` strategy works end-to-end - [ ] UAT #4567 verified as fixed - [ ] All nox stages pass - [ ] Coverage >= 97% ## Metadata - **Branch**: `feat/v3.6.0/container-tool-execution` - **Commit Message**: `feat(tools): add container sandbox strategy for plan execution in isolated containers` - **Milestone**: v3.6.0 - **Parent Epic**: #5504 - **Depends on**: #5526 (ContainerToolRunner must exist first) - **Fixes**: #4567 --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planner
HAL9000 added this to the v3.6.0 milestone 2026-04-09 07:15:36 +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#5529
No description provided.