UAT: SkillCapabilitySummary missing requires_approval field — skill show capability summary panel incomplete #2077

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

Metadata

  • Branch: fix/skill-capability-summary-requires-approval
  • Commit Message: fix(skill): add requires_approval field to SkillCapabilitySummary and skill show panel
  • Milestone: v3.7.0
  • Parent Epic: #936

Background

The SkillCapabilitySummary domain model is missing the requires_approval field. The spec's capability summary for agents skill show includes "Requires Approval: N" as a field, but neither the model nor the _print_skill_detail CLI function includes this field. The capability summary panel is therefore incomplete.

Spec Reference (§agents skill show, Capability Summary panel):

╭─ Capability Summary ──────────╮
│ Total Tools: 23               │
│ Read-Only: 10                 │
│ Writes: 13                    │
│ Checkpointable: 10            │
│ Has Side Effects: 3           │
│ Requires Approval: 1          │   ← MISSING
╰───────────────────────────────╯

Affected Code Locations:

  • src/cleveragents/domain/models/core/skill.py, SkillCapabilitySummary class — missing requires_approval field
  • src/cleveragents/cli/commands/skill.py, _print_skill_detail() function — missing "Requires Approval" line in capability summary panel
  • src/cleveragents/skills/registry.py, SkillRegistryrefresh() and related methods don't compute requires_approval

Root Cause:
The SkillCapabilitySummary model was implemented without the requires_approval field. The SkillResolver.compute_capability_summary() method also doesn't compute this value.

Note: This requires understanding what "requires approval" means at the tool level — likely tools with require_human_approval: true in their capability metadata or tools in certain categories per the automation profile.

Subtasks

  • Add requires_approval: int = Field(0, ge=0, description="Number of tools requiring human approval") to SkillCapabilitySummary in src/cleveragents/domain/models/core/skill.py
  • Update SkillResolver.compute_capability_summary() to compute requires_approval from tool capability metadata (e.g. require_human_approval: true)
  • Update SkillRegistry.refresh() and related methods in src/cleveragents/skills/registry.py to propagate requires_approval
  • Update _print_skill_detail() in src/cleveragents/cli/commands/skill.py to display "Requires Approval" row in the capability summary panel
  • Update JSON/YAML output for skill show to include requires_approval in capability_summary
  • Tests (Behave): Add/update scenarios covering requires_approval field population and display
  • Tests (Robot): Add/update integration test for agents skill show verifying "Requires Approval" appears in 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.
  • SkillCapabilitySummary contains a requires_approval: int field with correct Pydantic Field definition.
  • SkillResolver.compute_capability_summary() correctly counts tools with require_human_approval: true (or equivalent capability metadata).
  • agents skill show <NAME> displays "Requires Approval: N" in the Capability Summary panel, matching the spec exactly.
  • JSON and YAML output modes for skill show include requires_approval in capability_summary.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, 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.
  • 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/skill-capability-summary-requires-approval` - **Commit Message**: `fix(skill): add requires_approval field to SkillCapabilitySummary and skill show panel` - **Milestone**: v3.7.0 - **Parent Epic**: #936 ## Background The `SkillCapabilitySummary` domain model is missing the `requires_approval` field. The spec's capability summary for `agents skill show` includes "Requires Approval: N" as a field, but neither the model nor the `_print_skill_detail` CLI function includes this field. The capability summary panel is therefore incomplete. **Spec Reference (§agents skill show, Capability Summary panel):** ``` ╭─ Capability Summary ──────────╮ │ Total Tools: 23 │ │ Read-Only: 10 │ │ Writes: 13 │ │ Checkpointable: 10 │ │ Has Side Effects: 3 │ │ Requires Approval: 1 │ ← MISSING ╰───────────────────────────────╯ ``` **Affected Code Locations:** - `src/cleveragents/domain/models/core/skill.py`, `SkillCapabilitySummary` class — missing `requires_approval` field - `src/cleveragents/cli/commands/skill.py`, `_print_skill_detail()` function — missing "Requires Approval" line in capability summary panel - `src/cleveragents/skills/registry.py`, `SkillRegistry` — `refresh()` and related methods don't compute `requires_approval` **Root Cause:** The `SkillCapabilitySummary` model was implemented without the `requires_approval` field. The `SkillResolver.compute_capability_summary()` method also doesn't compute this value. > **Note:** This requires understanding what "requires approval" means at the tool level — likely tools with `require_human_approval: true` in their capability metadata or tools in certain categories per the automation profile. ## Subtasks - [ ] Add `requires_approval: int = Field(0, ge=0, description="Number of tools requiring human approval")` to `SkillCapabilitySummary` in `src/cleveragents/domain/models/core/skill.py` - [ ] Update `SkillResolver.compute_capability_summary()` to compute `requires_approval` from tool capability metadata (e.g. `require_human_approval: true`) - [ ] Update `SkillRegistry.refresh()` and related methods in `src/cleveragents/skills/registry.py` to propagate `requires_approval` - [ ] Update `_print_skill_detail()` in `src/cleveragents/cli/commands/skill.py` to display "Requires Approval" row in the capability summary panel - [ ] Update JSON/YAML output for `skill show` to include `requires_approval` in `capability_summary` - [ ] Tests (Behave): Add/update scenarios covering `requires_approval` field population and display - [ ] Tests (Robot): Add/update integration test for `agents skill show` verifying "Requires Approval" appears in 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. - `SkillCapabilitySummary` contains a `requires_approval: int` field with correct Pydantic `Field` definition. - `SkillResolver.compute_capability_summary()` correctly counts tools with `require_human_approval: true` (or equivalent capability metadata). - `agents skill show <NAME>` displays "Requires Approval: N" in the Capability Summary panel, matching the spec exactly. - JSON and YAML output modes for `skill show` include `requires_approval` in `capability_summary`. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, 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. - 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-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 Output Rendering Pipeline Epic #936)
  • MoSCoW: Should Have — The requires_approval field is spec-defined for the capability summary panel. Missing it makes the panel incomplete per spec.
  • Parent Epic: #936 (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 Output Rendering Pipeline Epic #936) - **MoSCoW**: Should Have — The `requires_approval` field is spec-defined for the capability summary panel. Missing it makes the panel incomplete per spec. - **Parent Epic**: #936 (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.

Reference
cleveragents/cleveragents-core#2077
No description provided.