UAT: agents automation-profile show rich output uses single panel instead of spec-required 4 separate panels #2910

Open
opened 2026-04-05 02:47:08 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: fix/automation-profile-show-multi-panel-output
  • Commit Message: fix(cli): render automation-profile show output as 5 separate Rich panels per spec
  • Milestone: v3.7.0
  • Parent Epic: #362

Background and Context

The agents automation-profile show command is responsible for displaying the full details of a named automation profile in the terminal. The specification defines a precise visual layout using five separate Rich panels — one for profile identity and four for the threshold categories — to help users quickly scan and distinguish each group of settings.

The current implementation collapses all of this into a single panel, violating the spec's visual design contract and making it harder for users to parse threshold categories at a glance.

Current Behavior

The implementation in src/cleveragents/cli/commands/automation_profile.py (lines 122–174) renders everything in a single panel using a single console.print(Panel(details, title=title, expand=False)) call. All sections (Phase Transitions, Decision Automation, Self-Repair, Execution Controls) are concatenated into one string and displayed in one panel.

Steps to Reproduce:

agents automation-profile show trusted

Observe that all threshold groups appear in a single panel instead of separate panels.

Expected Behavior

From docs/specification.md section "agents automation-profile show", the rich output should render 5 separate panels:

╭─ Automation Profile ───────────────────────────────────────────╮
│ Name: trusted                                                   │
│ Source: built-in                                                │
│ Description: Auto-exec, manual apply. Day-to-day development   │
╰─────────────────────────────────────────────────────────────────╯

╭─ Phase Transitions (thresholds) ─────╮
│ decompose_task: 0.0                   │
│ create_tool: 0.0                      │
│ select_tool: 1.0                      │
╰───────────────────────────────────────╯

╭─ Decision Automation (thresholds) ───╮
│ edit_code: 0.0                        │
│ execute_command: 0.0                  │
╰───────────────────────────────────────╯

╭─ Self-Repair (thresholds) ───────────╮
│ create_file: 0.0                      │
│ delete_content: 1.0                   │
│ access_network: 1.0                   │
│ modify_config: 0.0                    │
│ approve_plan: 1.0                     │
╰───────────────────────────────────────╯

╭─ Execution Controls (thresholds) ────╮
│ install_dependency: 0.0               │
│ require_sandbox: true                 │
│ require_checkpoints: true             │
│ allow_unsafe_tools: false             │
╰───────────────────────────────────────╯

Acceptance Criteria

  • agents automation-profile show <name> renders exactly 5 separate Rich panels: Automation Profile, Phase Transitions (thresholds), Decision Automation (thresholds), Self-Repair (thresholds), and Execution Controls (thresholds).
  • Each panel contains only the fields belonging to its category, matching the spec layout.
  • The profile identity panel (name, source, description) is rendered first.
  • All four threshold-category panels follow in the order defined by the spec.
  • Output is visually consistent with other show commands in the CLI.
  • No regression in plain/JSON output modes (if applicable).

Supporting Information

  • Code Location: src/cleveragents/cli/commands/automation_profile.py, lines 122–174 — _print_profile() function
  • Root Cause: _print_profile() uses a single Panel() call with all sections concatenated into one string instead of issuing five separate console.print(Panel(...)) calls.
  • Impact: Rich output does not match the spec's visual design, making it harder for users to scan and distinguish threshold categories at a glance.
  • Related UAT Bug: Similar single-panel rendering issues have been found across multiple agents plan * commands (e.g., agents plan use, agents plan status, agents plan execute).

Subtasks

  • Refactor _print_profile() in src/cleveragents/cli/commands/automation_profile.py to issue 5 separate console.print(Panel(...)) calls
  • Panel 1 — Automation Profile: name, source, description
  • Panel 2 — Phase Transitions (thresholds): decompose_task, create_tool, select_tool (and any other phase-transition thresholds)
  • Panel 3 — Decision Automation (thresholds): edit_code, execute_command (and any other decision-automation thresholds)
  • Panel 4 — Self-Repair (thresholds): create_file, delete_content, access_network, modify_config, approve_plan (and any other self-repair thresholds)
  • Panel 5 — Execution Controls (thresholds): install_dependency, require_sandbox, require_checkpoints, allow_unsafe_tools (and any other execution-control thresholds)
  • Tests (Behave): Add/update scenario for agents automation-profile show verifying 5-panel output
  • Tests (Robot): Add/update integration test for agents automation-profile show rich output
  • Verify coverage >= 97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly (fix(cli): render automation-profile show output as 5 separate Rich panels per spec), followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly (fix/automation-profile-show-multi-panel-output).
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.
  • All nox stages pass.
  • Coverage >= 97%.

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

## Metadata - **Branch**: `fix/automation-profile-show-multi-panel-output` - **Commit Message**: `fix(cli): render automation-profile show output as 5 separate Rich panels per spec` - **Milestone**: v3.7.0 - **Parent Epic**: #362 ## Background and Context The `agents automation-profile show` command is responsible for displaying the full details of a named automation profile in the terminal. The specification defines a precise visual layout using five separate Rich panels — one for profile identity and four for the threshold categories — to help users quickly scan and distinguish each group of settings. The current implementation collapses all of this into a single panel, violating the spec's visual design contract and making it harder for users to parse threshold categories at a glance. ## Current Behavior The implementation in `src/cleveragents/cli/commands/automation_profile.py` (lines 122–174) renders everything in a **single panel** using a single `console.print(Panel(details, title=title, expand=False))` call. All sections (Phase Transitions, Decision Automation, Self-Repair, Execution Controls) are concatenated into one string and displayed in one panel. **Steps to Reproduce:** ```bash agents automation-profile show trusted ``` Observe that all threshold groups appear in a single panel instead of separate panels. ## Expected Behavior From `docs/specification.md` section "agents automation-profile show", the rich output should render **5 separate panels**: ``` ╭─ Automation Profile ───────────────────────────────────────────╮ │ Name: trusted │ │ Source: built-in │ │ Description: Auto-exec, manual apply. Day-to-day development │ ╰─────────────────────────────────────────────────────────────────╯ ╭─ Phase Transitions (thresholds) ─────╮ │ decompose_task: 0.0 │ │ create_tool: 0.0 │ │ select_tool: 1.0 │ ╰───────────────────────────────────────╯ ╭─ Decision Automation (thresholds) ───╮ │ edit_code: 0.0 │ │ execute_command: 0.0 │ ╰───────────────────────────────────────╯ ╭─ Self-Repair (thresholds) ───────────╮ │ create_file: 0.0 │ │ delete_content: 1.0 │ │ access_network: 1.0 │ │ modify_config: 0.0 │ │ approve_plan: 1.0 │ ╰───────────────────────────────────────╯ ╭─ Execution Controls (thresholds) ────╮ │ install_dependency: 0.0 │ │ require_sandbox: true │ │ require_checkpoints: true │ │ allow_unsafe_tools: false │ ╰───────────────────────────────────────╯ ``` ## Acceptance Criteria - [ ] `agents automation-profile show <name>` renders exactly 5 separate Rich panels: **Automation Profile**, **Phase Transitions (thresholds)**, **Decision Automation (thresholds)**, **Self-Repair (thresholds)**, and **Execution Controls (thresholds)**. - [ ] Each panel contains only the fields belonging to its category, matching the spec layout. - [ ] The profile identity panel (name, source, description) is rendered first. - [ ] All four threshold-category panels follow in the order defined by the spec. - [ ] Output is visually consistent with other `show` commands in the CLI. - [ ] No regression in plain/JSON output modes (if applicable). ## Supporting Information - **Code Location**: `src/cleveragents/cli/commands/automation_profile.py`, lines 122–174 — `_print_profile()` function - **Root Cause**: `_print_profile()` uses a single `Panel()` call with all sections concatenated into one string instead of issuing five separate `console.print(Panel(...))` calls. - **Impact**: Rich output does not match the spec's visual design, making it harder for users to scan and distinguish threshold categories at a glance. - **Related UAT Bug**: Similar single-panel rendering issues have been found across multiple `agents plan *` commands (e.g., `agents plan use`, `agents plan status`, `agents plan execute`). ## Subtasks - [ ] Refactor `_print_profile()` in `src/cleveragents/cli/commands/automation_profile.py` to issue 5 separate `console.print(Panel(...))` calls - [ ] Panel 1 — **Automation Profile**: name, source, description - [ ] Panel 2 — **Phase Transitions (thresholds)**: decompose_task, create_tool, select_tool (and any other phase-transition thresholds) - [ ] Panel 3 — **Decision Automation (thresholds)**: edit_code, execute_command (and any other decision-automation thresholds) - [ ] Panel 4 — **Self-Repair (thresholds)**: create_file, delete_content, access_network, modify_config, approve_plan (and any other self-repair thresholds) - [ ] Panel 5 — **Execution Controls (thresholds)**: install_dependency, require_sandbox, require_checkpoints, allow_unsafe_tools (and any other execution-control thresholds) - [ ] Tests (Behave): Add/update scenario for `agents automation-profile show` verifying 5-panel output - [ ] Tests (Robot): Add/update integration test for `agents automation-profile show` rich output - [ ] Verify coverage >= 97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly (`fix(cli): render automation-profile show output as 5 separate Rich panels per spec`), followed by a blank line, then additional lines providing relevant details about the implementation. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly (`fix/automation-profile-show-multi-panel-output`). - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. - All nox stages pass. - Coverage >= 97%. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.7.0 milestone 2026-04-05 02:47:13 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium (confirmed)
  • MoSCoW: Should Have — output format doesn't match spec panels

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 — output format doesn't match spec panels Valid UAT finding verified during batch triage. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
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
#362 Epic: Security & Safety Hardening
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#2910
No description provided.