UAT: agents plan guard command not implemented — spec v3.5.0 deliverable #12 #5188

Open
opened 2026-04-09 03:02:38 +00:00 by HAL9000 · 0 comments
Owner

Bug Report

Feature Area: Plan Lifecycle — agents plan guard CLI command
Severity: High — entire command is missing; spec deliverable #12 for v3.5.0 is unmet
Source: src/cleveragents/cli/commands/plan.py — command not present


What Was Tested

Code-level analysis of the plan CLI commands to verify all spec-required commands are implemented.

Expected Behavior (from spec §CLI Commands — plan guard, line 46897)

The spec defines agents plan guard as a required deliverable for v3.5.0:

Deliverable #12: agents plan guard shows active guards for a plan
Verifiable Check: Command shows denylist, budget caps, tool limits

The command should display the active AutomationGuard configuration for a plan, including:

  • Tool denylist: Tools that are blocked for this plan
  • Tool allowlist: Tools that are permitted (if configured)
  • Budget caps: max_total_cost and max_cost_per_plan limits
  • Tool call limits: max_tool_calls_per_step
  • Write approval: Whether write operations require approval
  • Apply approval: Whether apply phase requires approval

Actual Behavior

The command does not exist. Running agents plan guard would produce:

Error: No such command 'guard'.

The AutomationGuard model is fully implemented in src/cleveragents/domain/models/core/automation_guard.py and the AutomationProfile.check_guard() method is functional, but there is no CLI command to inspect the active guards for a running plan.

Code Location

  • src/cleveragents/cli/commands/plan.py — no @app.command("guard") exists
  • src/cleveragents/domain/models/core/automation_guard.pyAutomationGuard model is implemented
  • src/cleveragents/domain/models/core/automation_profile.pyAutomationProfile.check_guard() is implemented

Impact

  • v3.5.0 deliverable #12 is unmet
  • Users cannot inspect active guard constraints for a plan without reading the automation profile directly
  • Debugging guard enforcement issues requires manual inspection of the automation profile
  • The agents plan guard command is referenced in the spec's acceptance criteria for the Guard Enforcement epic (#4951)

Expected Command Signature

Based on the spec pattern for similar commands:

agents plan guard <PLAN_ID>

Expected output (rich format):

╭─ Active Guards ─────────────────────────────────────────╮
│ Plan: <PLAN_ID>                                          │
│ Profile: trusted                                         │
│                                                          │
│ Tool Denylist: (none)                                    │
│ Tool Allowlist: (all allowed)                            │
│ Max Tool Calls/Step: (unlimited)                         │
│ Max Total Cost: $5.00                                    │
│ Require Write Approval: no                               │
│ Require Apply Approval: yes                              │
╰──────────────────────────────────────────────────────────╯

Parent Epic

Part of #4951 (EPIC: Guard Enforcement & Safety Profiles)


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

## Bug Report **Feature Area:** Plan Lifecycle — `agents plan guard` CLI command **Severity:** High — entire command is missing; spec deliverable #12 for v3.5.0 is unmet **Source:** `src/cleveragents/cli/commands/plan.py` — command not present --- ## What Was Tested Code-level analysis of the plan CLI commands to verify all spec-required commands are implemented. ## Expected Behavior (from spec §CLI Commands — plan guard, line 46897) The spec defines `agents plan guard` as a required deliverable for v3.5.0: > **Deliverable #12**: `agents plan guard` shows active guards for a plan > **Verifiable Check**: Command shows denylist, budget caps, tool limits The command should display the active `AutomationGuard` configuration for a plan, including: - **Tool denylist**: Tools that are blocked for this plan - **Tool allowlist**: Tools that are permitted (if configured) - **Budget caps**: `max_total_cost` and `max_cost_per_plan` limits - **Tool call limits**: `max_tool_calls_per_step` - **Write approval**: Whether write operations require approval - **Apply approval**: Whether apply phase requires approval ## Actual Behavior The command does not exist. Running `agents plan guard` would produce: ``` Error: No such command 'guard'. ``` The `AutomationGuard` model is fully implemented in `src/cleveragents/domain/models/core/automation_guard.py` and the `AutomationProfile.check_guard()` method is functional, but there is no CLI command to inspect the active guards for a running plan. ## Code Location - `src/cleveragents/cli/commands/plan.py` — no `@app.command("guard")` exists - `src/cleveragents/domain/models/core/automation_guard.py` — `AutomationGuard` model is implemented - `src/cleveragents/domain/models/core/automation_profile.py` — `AutomationProfile.check_guard()` is implemented ## Impact - v3.5.0 deliverable #12 is unmet - Users cannot inspect active guard constraints for a plan without reading the automation profile directly - Debugging guard enforcement issues requires manual inspection of the automation profile - The `agents plan guard` command is referenced in the spec's acceptance criteria for the Guard Enforcement epic (#4951) ## Expected Command Signature Based on the spec pattern for similar commands: ``` agents plan guard <PLAN_ID> ``` Expected output (rich format): ``` ╭─ Active Guards ─────────────────────────────────────────╮ │ Plan: <PLAN_ID> │ │ Profile: trusted │ │ │ │ Tool Denylist: (none) │ │ Tool Allowlist: (all allowed) │ │ Max Tool Calls/Step: (unlimited) │ │ Max Total Cost: $5.00 │ │ Require Write Approval: no │ │ Require Apply Approval: yes │ ╰──────────────────────────────────────────────────────────╯ ``` ## Parent Epic Part of #4951 (EPIC: Guard Enforcement & Safety Profiles) --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.5.0 milestone 2026-04-09 03:13:01 +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#5188
No description provided.