UAT: agents automation-profile show rich output uses single combined panel instead of spec-required 5 separate panels #2078

Open
opened 2026-04-03 03:50:45 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: fix/automation-profile-show-rich-panels
  • Commit Message: fix(cli): refactor automation-profile show to render 5 separate rich panels per spec
  • Milestone: v3.7.0
  • Parent Epic: #362

Background and Context

During UAT testing of the agents automation-profile show command, the rich terminal output was found to be non-compliant with the UI specification defined in docs/specification.md (lines 17102–17134). The current implementation consolidates all profile information into a single Rich panel, whereas the specification mandates 5 distinct, separately-titled panels — one for identity metadata and one for each threshold category.

This discrepancy makes the output harder to scan visually and is inconsistent with the documented UI contract.

Current Behavior

In src/cleveragents/cli/commands/automation_profile.py, the _print_profile() function (lines 107–155) renders all profile data in a single Rich panel titled "Automation Profile Details". All threshold categories (Phase Transitions, Decision Automation, Self-Repair, Execution Controls) are concatenated within that single panel using \n separators.

The show_profile() command at line 293 calls _print_profile() directly.

Steps to Reproduce:

agents automation-profile show trusted
# Actual: 1 combined panel titled "Automation Profile Details"
# Expected: 5 separate panels per spec

Expected Behavior

Per docs/specification.md lines 17102–17134, the rich output must render 5 separate panels followed by a footer status message:

╭─ 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           │
╰──────────────────────────────────────╯

✓ OK Profile loaded

Acceptance Criteria

  • agents automation-profile show <name> renders exactly 5 separate Rich panels in the order specified
  • Panel 1 is titled "Automation Profile" and shows name, source, description
  • Panel 2 is titled "Phase Transitions (thresholds)" and shows the correct threshold keys
  • Panel 3 is titled "Decision Automation (thresholds)" and shows the correct threshold keys
  • Panel 4 is titled "Self-Repair (thresholds)" and shows the correct threshold keys
  • Panel 5 is titled "Execution Controls (thresholds)" and shows the correct threshold keys
  • A ✓ OK Profile loaded footer message is printed after the panels
  • No single combined panel titled "Automation Profile Details" is produced
  • All existing tests continue to pass; new tests cover the 5-panel output structure
  • All nox stages pass
  • Coverage >= 97%

Supporting Information

  • Spec reference: docs/specification.md lines 17102–17134
  • Code location: src/cleveragents/cli/commands/automation_profile.py
    • _print_profile() function: lines 107–155 (renders single panel — must be refactored)
    • show_profile() command: line 293 (calls _print_profile())
  • Parent Epic: #362 (Epic: Security & Safety Hardening)

Subtasks

  • Refactor _print_profile() in automation_profile.py to render 5 separate Rich panels
  • Panel 1: "Automation Profile"name, source, description
  • Panel 2: "Phase Transitions (thresholds)"decompose_task, create_tool, select_tool
  • Panel 3: "Decision Automation (thresholds)"edit_code, execute_command
  • Panel 4: "Self-Repair (thresholds)"create_file, delete_content, access_network, modify_config, approve_plan
  • Panel 5: "Execution Controls (thresholds)"install_dependency, require_sandbox, require_checkpoints, allow_unsafe_tools
  • Add ✓ OK Profile loaded footer message after the panels
  • Remove the old single-panel "Automation Profile Details" rendering
  • Tests (Behave): Add/update scenarios for automation-profile show rich output verifying 5-panel structure
  • Tests (Robot): Add/update integration test for 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): refactor automation-profile show to render 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-rich-panels).
  • 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-uat-tester

## Metadata - **Branch**: `fix/automation-profile-show-rich-panels` - **Commit Message**: `fix(cli): refactor automation-profile show to render 5 separate rich panels per spec` - **Milestone**: v3.7.0 - **Parent Epic**: #362 ## Background and Context During UAT testing of the `agents automation-profile show` command, the rich terminal output was found to be non-compliant with the UI specification defined in `docs/specification.md` (lines 17102–17134). The current implementation consolidates all profile information into a single Rich panel, whereas the specification mandates 5 distinct, separately-titled panels — one for identity metadata and one for each threshold category. This discrepancy makes the output harder to scan visually and is inconsistent with the documented UI contract. ## Current Behavior In `src/cleveragents/cli/commands/automation_profile.py`, the `_print_profile()` function (lines 107–155) renders all profile data in a **single** Rich panel titled `"Automation Profile Details"`. All threshold categories (Phase Transitions, Decision Automation, Self-Repair, Execution Controls) are concatenated within that single panel using `\n` separators. The `show_profile()` command at line 293 calls `_print_profile()` directly. **Steps to Reproduce:** ```bash agents automation-profile show trusted # Actual: 1 combined panel titled "Automation Profile Details" # Expected: 5 separate panels per spec ``` ## Expected Behavior Per `docs/specification.md` lines 17102–17134, the rich output must render **5 separate panels** followed by a footer status message: ``` ╭─ 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 │ ╰──────────────────────────────────────╯ ✓ OK Profile loaded ``` ## Acceptance Criteria - [ ] `agents automation-profile show <name>` renders exactly 5 separate Rich panels in the order specified - [ ] Panel 1 is titled `"Automation Profile"` and shows `name`, `source`, `description` - [ ] Panel 2 is titled `"Phase Transitions (thresholds)"` and shows the correct threshold keys - [ ] Panel 3 is titled `"Decision Automation (thresholds)"` and shows the correct threshold keys - [ ] Panel 4 is titled `"Self-Repair (thresholds)"` and shows the correct threshold keys - [ ] Panel 5 is titled `"Execution Controls (thresholds)"` and shows the correct threshold keys - [ ] A `✓ OK Profile loaded` footer message is printed after the panels - [ ] No single combined panel titled `"Automation Profile Details"` is produced - [ ] All existing tests continue to pass; new tests cover the 5-panel output structure - [ ] All nox stages pass - [ ] Coverage >= 97% ## Supporting Information - **Spec reference**: `docs/specification.md` lines 17102–17134 - **Code location**: `src/cleveragents/cli/commands/automation_profile.py` - `_print_profile()` function: lines 107–155 (renders single panel — must be refactored) - `show_profile()` command: line 293 (calls `_print_profile()`) - **Parent Epic**: #362 (Epic: Security & Safety Hardening) ## Subtasks - [ ] Refactor `_print_profile()` in `automation_profile.py` to render 5 separate Rich panels - [ ] Panel 1: `"Automation Profile"` — `name`, `source`, `description` - [ ] Panel 2: `"Phase Transitions (thresholds)"` — `decompose_task`, `create_tool`, `select_tool` - [ ] Panel 3: `"Decision Automation (thresholds)"` — `edit_code`, `execute_command` - [ ] Panel 4: `"Self-Repair (thresholds)"` — `create_file`, `delete_content`, `access_network`, `modify_config`, `approve_plan` - [ ] Panel 5: `"Execution Controls (thresholds)"` — `install_dependency`, `require_sandbox`, `require_checkpoints`, `allow_unsafe_tools` - [ ] Add `✓ OK Profile loaded` footer message after the panels - [ ] Remove the old single-panel `"Automation Profile Details"` rendering - [ ] Tests (Behave): Add/update scenarios for `automation-profile show` rich output verifying 5-panel structure - [ ] Tests (Robot): Add/update integration test for `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): refactor automation-profile show to render 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-rich-panels`). - 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-uat-tester
freemo added this to the v3.7.0 milestone 2026-04-03 03:50:49 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium (confirmed)
  • Milestone: v3.7.0 (confirmed — part of the Security & Safety Hardening Epic #362)
  • MoSCoW: Should Have — The spec defines 5 separate panels for automation-profile show output. The current single-panel output works but doesn't match the spec. Important for spec compliance and visual consistency with other commands.
  • Parent Epic: #362 (confirmed correct)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium (confirmed) - **Milestone**: v3.7.0 (confirmed — part of the Security & Safety Hardening Epic #362) - **MoSCoW**: Should Have — The spec defines 5 separate panels for `automation-profile show` output. The current single-panel output works but doesn't match the spec. Important for spec compliance and visual consistency with other commands. - **Parent Epic**: #362 (confirmed correct) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo self-assigned this 2026-04-03 16:58:10 +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.

Depends on
#362 Epic: Security & Safety Hardening
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#2078
No description provided.