UAT: agents plan execute rich output missing spec-required panels — Execution, Sandbox, Strategy Summary, and Progress panels not rendered #2612

Open
opened 2026-04-03 19:43:50 +00:00 by freemo · 3 comments
Owner

Bug Report

What Was Tested

agents plan execute rich (default) output format in src/cleveragents/cli/commands/plan.py, execute_plan() function.

Expected Behavior (from spec)

The spec requires four structured Rich panels for the execute command output:

╭─ Execution ──────────────────────╮
│ Plan: 01HXM8C2ZK4Q7C2B3F2R4VYV6J │
│ Phase: execute                   │
│ Sandbox: git_worktree            │
│ Worker: local/executor           │
│ Started: 12:58:10                │
│ Attempt: 1                       │
╰──────────────────────────────────╯

╭─ Sandbox ──────────────────────────────────╮
│ Strategy: git_worktree                     │
│ Path: /repos/api/.worktrees/plan-01HXM8    │
│ Branch: cleveragents/plan-01HXM8C2         │
│ Status: active                             │
╰────────────────────────────────────────────╯

╭─ Strategy Summary ─────────────────────╮
│ Decisions: 8                           │
│ Invariants: 2                          │
│ Planned Child Plans: 2+                │
│ Estimated Files: ~12                   │
│ Risk: low                              │
╰────────────────────────────────────────╯

╭─ Progress ─────────╮
│ ⏳ Collect context │
│ • Run tools        │
│ • Build changeset  │
│ • Validate         │
╰────────────────────╯

✓ OK Execution started

Actual Behavior

The current implementation calls _print_lifecycle_plan(plan, title="Plan Executed") which renders a generic plan details panel, not the spec-required execution-specific panels:

# src/cleveragents/cli/commands/plan.py, execute_plan() function
if fmt != OutputFormat.RICH.value:
    data = _plan_spec_dict(plan)
    console.print(format_output(data, fmt))
else:
    _print_lifecycle_plan(plan, title="Plan Executed")  # Generic plan panel only
    phase_label = f"{plan.phase.value}/{plan.state.value}"
    console.print(f"\n[dim]Plan is now in {phase_label} state. ...")

The _print_lifecycle_plan() function renders plan metadata (ID, name, phase, actors, etc.) but does NOT render the execution-specific panels required by the spec.

Missing Elements

  1. Execution panel — missing Sandbox, Worker, Started, Attempt fields
  2. Sandbox panel — entirely missing (Strategy, Path, Branch, Status)
  3. Strategy Summary panel — entirely missing (Decisions, Invariants, Planned Child Plans, Estimated Files, Risk)
  4. Progress panel — entirely missing (step-by-step execution progress)
  5. ✓ OK Execution started confirmation line — missing

Code Location

src/cleveragents/cli/commands/plan.pyexecute_plan() function, the else branch for rich format output (~line 1960).

Steps to Reproduce

agents plan execute <PLAN_ID>

Observe: generic plan details panel instead of execution-specific panels.

Impact

Users cannot see sandbox details (strategy, path, branch), execution progress, or strategy summary during plan execution. This makes it impossible to monitor what the executor is doing or verify the sandbox is correctly configured.

Metadata

  • Commit message: fix(cli): render spec-required execution panels in agents plan execute rich output
  • Branch: fix/plan-execute-rich-output-panels
  • Parent Epic: #358 (Corrections + Subplans + Checkpoints M4)

Subtasks

  • Add "Execution" Rich panel with Plan, Phase, Sandbox, Worker, Started, Attempt fields
  • Add "Sandbox" Rich panel with Strategy, Path, Branch, Status fields
  • Add "Strategy Summary" Rich panel with Decisions, Invariants, Planned Child Plans, Estimated Files, Risk fields
  • Add "Progress" Rich panel with step-by-step execution progress
  • Add ✓ OK Execution started confirmation line

Definition of Done

  • Rich output matches the spec's four-panel layout for agents plan execute
  • Sandbox panel shows actual sandbox strategy, path, and branch from the plan's sandbox_refs
  • Progress panel shows execution steps with status indicators
  • JSON/YAML output format issues tracked separately

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

## Bug Report ### What Was Tested `agents plan execute` rich (default) output format in `src/cleveragents/cli/commands/plan.py`, `execute_plan()` function. ### Expected Behavior (from spec) The spec requires four structured Rich panels for the execute command output: ``` ╭─ Execution ──────────────────────╮ │ Plan: 01HXM8C2ZK4Q7C2B3F2R4VYV6J │ │ Phase: execute │ │ Sandbox: git_worktree │ │ Worker: local/executor │ │ Started: 12:58:10 │ │ Attempt: 1 │ ╰──────────────────────────────────╯ ╭─ Sandbox ──────────────────────────────────╮ │ Strategy: git_worktree │ │ Path: /repos/api/.worktrees/plan-01HXM8 │ │ Branch: cleveragents/plan-01HXM8C2 │ │ Status: active │ ╰────────────────────────────────────────────╯ ╭─ Strategy Summary ─────────────────────╮ │ Decisions: 8 │ │ Invariants: 2 │ │ Planned Child Plans: 2+ │ │ Estimated Files: ~12 │ │ Risk: low │ ╰────────────────────────────────────────╯ ╭─ Progress ─────────╮ │ ⏳ Collect context │ │ • Run tools │ │ • Build changeset │ │ • Validate │ ╰────────────────────╯ ✓ OK Execution started ``` ### Actual Behavior The current implementation calls `_print_lifecycle_plan(plan, title="Plan Executed")` which renders a generic plan details panel, not the spec-required execution-specific panels: ```python # src/cleveragents/cli/commands/plan.py, execute_plan() function if fmt != OutputFormat.RICH.value: data = _plan_spec_dict(plan) console.print(format_output(data, fmt)) else: _print_lifecycle_plan(plan, title="Plan Executed") # Generic plan panel only phase_label = f"{plan.phase.value}/{plan.state.value}" console.print(f"\n[dim]Plan is now in {phase_label} state. ...") ``` The `_print_lifecycle_plan()` function renders plan metadata (ID, name, phase, actors, etc.) but does NOT render the execution-specific panels required by the spec. ### Missing Elements 1. **Execution panel** — missing `Sandbox`, `Worker`, `Started`, `Attempt` fields 2. **Sandbox panel** — entirely missing (Strategy, Path, Branch, Status) 3. **Strategy Summary panel** — entirely missing (Decisions, Invariants, Planned Child Plans, Estimated Files, Risk) 4. **Progress panel** — entirely missing (step-by-step execution progress) 5. **`✓ OK Execution started`** confirmation line — missing ### Code Location `src/cleveragents/cli/commands/plan.py` — `execute_plan()` function, the `else` branch for rich format output (~line 1960). ### Steps to Reproduce ```bash agents plan execute <PLAN_ID> ``` Observe: generic plan details panel instead of execution-specific panels. ### Impact Users cannot see sandbox details (strategy, path, branch), execution progress, or strategy summary during plan execution. This makes it impossible to monitor what the executor is doing or verify the sandbox is correctly configured. ### Metadata - **Commit message**: `fix(cli): render spec-required execution panels in agents plan execute rich output` - **Branch**: `fix/plan-execute-rich-output-panels` - **Parent Epic**: #358 (Corrections + Subplans + Checkpoints M4) ### Subtasks - [ ] Add "Execution" Rich panel with Plan, Phase, Sandbox, Worker, Started, Attempt fields - [ ] Add "Sandbox" Rich panel with Strategy, Path, Branch, Status fields - [ ] Add "Strategy Summary" Rich panel with Decisions, Invariants, Planned Child Plans, Estimated Files, Risk fields - [ ] Add "Progress" Rich panel with step-by-step execution progress - [ ] Add `✓ OK Execution started` confirmation line ### Definition of Done - Rich output matches the spec's four-panel layout for `agents plan execute` - Sandbox panel shows actual sandbox strategy, path, and branch from the plan's sandbox_refs - Progress panel shows execution steps with status indicators - JSON/YAML output format issues tracked separately --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-uat-tester
Author
Owner

Label compliance fix applied:

  • Added missing label: State/Unverified
  • Reason: Issue had Priority/High and Type/Bug but was missing required State/* label per CONTRIBUTING.md. Applied State/Unverified as default for new issues.

Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: ca-backlog-groomer

Label compliance fix applied: - Added missing label: `State/Unverified` - Reason: Issue had `Priority/High` and `Type/Bug` but was missing required `State/*` label per CONTRIBUTING.md. Applied `State/Unverified` as default for new issues. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: ca-backlog-groomer
freemo added this to the v3.7.0 milestone 2026-04-04 20:34:18 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: High — Spec-required CLI output panels are missing for plan execute, impacting user visibility into execution progress.
  • Milestone: v3.7.0
  • MoSCoW: Should have — The spec defines these panels as the expected output format. Important for spec compliance but not blocking core functionality.
  • Parent Epic: #394 (Decision Framework) — plan execute is part of the plan lifecycle. Note: original parent #358 is closed.

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

Issue triaged by project owner: - **State**: Verified - **Priority**: High — Spec-required CLI output panels are missing for plan execute, impacting user visibility into execution progress. - **Milestone**: v3.7.0 - **MoSCoW**: Should have — The spec defines these panels as the expected output format. Important for spec compliance but not blocking core functionality. - **Parent Epic**: #394 (Decision Framework) — plan execute is part of the plan lifecycle. Note: original parent #358 is closed. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Author
Owner

Current labels: State/Verified, MoSCoW/Should have, Priority/High, Type/Bug.

Preconditions:

  • Issue is not paused (no Blocked label)
  • Target transition: State/Verified -> State/In Progress is allowed per the Ticket Lifecycle (Verified to In Progress is valid)

Planned actions:

  • Remove all existing State/* labels
  • Add State/In Progress label

Status:

  • I attempted to perform the label updates, but the current Forgejo API wrapper in this environment does not expose label manipulation endpoints. Therefore I could not complete Steps 3-4 (remove old state label, add new state label) programmatically.

Next steps:

  • If you want me to proceed, please provide a method to modify issue labels (e.g., a REST/GraphQL endpoint or a tool that supports label updates), or authorize an alternative approach (e.g., updating the issue via a script using the PAT you provided).
  • Once permitted, I will:
    • Remove all State/* labels (e.g., State/Verified)
    • Add State/In Progress
    • Report which labels were removed and added
    • If any preconditions fail, I will report them and not perform changes

Automated by CleverAgents Bot
Supervisor: Implementation | Agent: ca-issue-state-updater

Current labels: State/Verified, MoSCoW/Should have, Priority/High, Type/Bug. Preconditions: - Issue is not paused (no Blocked label) - Target transition: State/Verified -> State/In Progress is allowed per the Ticket Lifecycle (Verified to In Progress is valid) Planned actions: - Remove all existing State/* labels - Add State/In Progress label Status: - I attempted to perform the label updates, but the current Forgejo API wrapper in this environment does not expose label manipulation endpoints. Therefore I could not complete Steps 3-4 (remove old state label, add new state label) programmatically. Next steps: - If you want me to proceed, please provide a method to modify issue labels (e.g., a REST/GraphQL endpoint or a tool that supports label updates), or authorize an alternative approach (e.g., updating the issue via a script using the PAT you provided). - Once permitted, I will: - Remove all State/* labels (e.g., State/Verified) - Add State/In Progress - Report which labels were removed and added - If any preconditions fail, I will report them and not perform changes --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: ca-issue-state-updater
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
#394 Epic: Decision Framework
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#2612
No description provided.