UAT: agents plan cancel rich output missing spec-required panels — Plan Cancelled, Sandbox, Child Plans, and Recovery panels not rendered #2897

Open
opened 2026-04-05 02:45:28 +00:00 by freemo · 2 comments
Owner

Metadata

  • Branch: fix/m5-plan-cancel-rich-output-panels
  • Commit Message: fix(cli): render spec-required panels in agents plan cancel rich output
  • Milestone: v3.5.0
  • Parent Epic: #397

Background and Context

The spec (docs/specification.md §agents plan cancel) requires the rich output to include 4 separate panels: "Plan Cancelled", "Sandbox", "Child Plans", and "Recovery". The current implementation in src/cleveragents/cli/commands/plan.py cancel_plan() function only prints a simple success message and optional reason text. None of the spec-required panels are rendered.

Current Behavior

agents plan cancel <PLAN_ID> --reason "..." outputs only:

✓ Plan cancelled: <namespaced_name>
Reason: <reason>

Code location: src/cleveragents/cli/commands/plan.py, cancel_plan() function (around line 2564).

Expected Behavior

Per the spec, agents plan cancel must render 4 separate Rich panels:

╭─ Plan Cancelled ─────────────────╮
│ Plan: 01HXM8C2ZK4Q7C2B3F2R4VYV6J │
│ Phase: execute                   │
│ Reason: blocked on credentials   │
│ State: cancelled                 │
│ Cancelled At: 13:02:15           │
╰──────────────────────────────────╯

╭─ Sandbox ────────────────╮
│ Status: preserved        │
│ Files Modified: 3        │
│ Checkpoints: 2           │
╰──────────────────────────╯

╭─ Child Plans ─────────────╮
│ Completed: 1              │
│ Cancelled: 1              │
│ Artifacts Preserved: yes  │
╰───────────────────────────╯

╭─ Recovery ───────────────────────────────────────────╮
│ - Resolve credentials                                │
│ - Run agents plan execute 01HXM8C2ZK4Q7C2B3F2R4VYV6J │
╰──────────────────────────────────────────────────────╯

✓ OK Plan cancelled

Acceptance Criteria

  • agents plan cancel <PLAN_ID> renders a "Plan Cancelled" panel with Plan ID, Phase, Reason, State, and Cancelled At fields
  • A separate "Sandbox" panel is rendered with Status, Files Modified, and Checkpoints fields
  • A separate "Child Plans" panel is rendered with Completed, Cancelled, and Artifacts Preserved fields
  • A separate "Recovery" panel is rendered with suggested recovery steps
  • All 4 panels appear in the correct order as specified
  • The final ✓ OK Plan cancelled status line is present
  • JSON/YAML output formats are unaffected
  • All nox stages pass with coverage >= 97%

Subtasks

  • Audit cancel_plan() in plan.py and identify the simple print statements to replace
  • Implement _print_plan_cancel_panels(plan, reason) helper rendering all 4 spec-required panels
  • Replace the plain-text output in cancel_plan() with the new helper
  • Write Behave unit tests covering each panel's content and ordering
  • Write Robot Framework integration test for agents plan cancel rich output
  • Verify JSON/YAML output paths are unaffected
  • Run nox and confirm all stages pass with coverage >= 97%

Definition of Done

  • All subtasks above are checked
  • agents plan cancel rich output renders all 4 spec-required panels in the correct order
  • Behave unit tests cover all 4 panels
  • Robot Framework integration test passes for rich output
  • Commit pushed to fix/m5-plan-cancel-rich-output-panels with message fix(cli): render spec-required panels in agents plan cancel rich output
  • PR merged and issue closed
  • All nox stages pass
  • Coverage >= 97%

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `fix/m5-plan-cancel-rich-output-panels` - **Commit Message**: `fix(cli): render spec-required panels in agents plan cancel rich output` - **Milestone**: v3.5.0 - **Parent Epic**: #397 ## Background and Context The spec (`docs/specification.md` §agents plan cancel) requires the rich output to include 4 separate panels: "Plan Cancelled", "Sandbox", "Child Plans", and "Recovery". The current implementation in `src/cleveragents/cli/commands/plan.py` `cancel_plan()` function only prints a simple success message and optional reason text. None of the spec-required panels are rendered. ## Current Behavior `agents plan cancel <PLAN_ID> --reason "..."` outputs only: ``` ✓ Plan cancelled: <namespaced_name> Reason: <reason> ``` **Code location**: `src/cleveragents/cli/commands/plan.py`, `cancel_plan()` function (around line 2564). ## Expected Behavior Per the spec, `agents plan cancel` must render 4 separate Rich panels: ``` ╭─ Plan Cancelled ─────────────────╮ │ Plan: 01HXM8C2ZK4Q7C2B3F2R4VYV6J │ │ Phase: execute │ │ Reason: blocked on credentials │ │ State: cancelled │ │ Cancelled At: 13:02:15 │ ╰──────────────────────────────────╯ ╭─ Sandbox ────────────────╮ │ Status: preserved │ │ Files Modified: 3 │ │ Checkpoints: 2 │ ╰──────────────────────────╯ ╭─ Child Plans ─────────────╮ │ Completed: 1 │ │ Cancelled: 1 │ │ Artifacts Preserved: yes │ ╰───────────────────────────╯ ╭─ Recovery ───────────────────────────────────────────╮ │ - Resolve credentials │ │ - Run agents plan execute 01HXM8C2ZK4Q7C2B3F2R4VYV6J │ ╰──────────────────────────────────────────────────────╯ ✓ OK Plan cancelled ``` ## Acceptance Criteria - [ ] `agents plan cancel <PLAN_ID>` renders a "Plan Cancelled" panel with Plan ID, Phase, Reason, State, and Cancelled At fields - [ ] A separate "Sandbox" panel is rendered with Status, Files Modified, and Checkpoints fields - [ ] A separate "Child Plans" panel is rendered with Completed, Cancelled, and Artifacts Preserved fields - [ ] A separate "Recovery" panel is rendered with suggested recovery steps - [ ] All 4 panels appear in the correct order as specified - [ ] The final `✓ OK Plan cancelled` status line is present - [ ] JSON/YAML output formats are unaffected - [ ] All nox stages pass with coverage >= 97% ## Subtasks - [ ] Audit `cancel_plan()` in `plan.py` and identify the simple print statements to replace - [ ] Implement `_print_plan_cancel_panels(plan, reason)` helper rendering all 4 spec-required panels - [ ] Replace the plain-text output in `cancel_plan()` with the new helper - [ ] Write Behave unit tests covering each panel's content and ordering - [ ] Write Robot Framework integration test for `agents plan cancel` rich output - [ ] Verify JSON/YAML output paths are unaffected - [ ] Run `nox` and confirm all stages pass with coverage >= 97% ## Definition of Done - [ ] All subtasks above are checked - [ ] `agents plan cancel` rich output renders all 4 spec-required panels in the correct order - [ ] Behave unit tests cover all 4 panels - [ ] Robot Framework integration test passes for rich output - [ ] Commit pushed to `fix/m5-plan-cancel-rich-output-panels` with message `fix(cli): render spec-required panels in agents plan cancel rich output` - [ ] PR merged and issue closed - [ ] All nox stages pass - [ ] Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.5.0 milestone 2026-04-05 02:46:51 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium (confirmed)
  • MoSCoW: Should Have — rich output panels missing per spec

Valid UAT finding verified during batch triage.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium (confirmed) - **MoSCoW**: Should Have — rich output panels missing per spec Valid UAT finding verified during batch triage. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Author
Owner

This issue has been moved to the backlog as part of an aggressive grooming of the v3.5.0 milestone. It has been deemed non-critical for the minimal viability of the milestone and will be addressed in a future release.

This issue has been moved to the backlog as part of an aggressive grooming of the v3.5.0 milestone. It has been deemed non-critical for the minimal viability of the milestone and will be addressed in a future release.
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.

Blocks
#397 Epic: Server & Autonomy Infrastructure
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#2897
No description provided.