UAT: agents tool add --update output missing "Changes" and "References" panels required by spec #5046

Open
opened 2026-04-09 00:50:43 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Feature Area: Tools & Skills — agents tool add --update output

Severity: Medium (missing spec-required output sections)


What Was Tested

agents tool add --config <FILE> --update output format when updating an existing tool.


Expected Behavior (from spec)

The spec (§ agents tool add, lines ~7721–7830) defines the output for agents tool add --update to include:

  1. "Tool Updated" panel with Name, Source, Status (was version N → now N+1)
  2. "Changes" panel showing:
    • Input Schema: modified/unchanged
    • Capabilities: unchanged/modified
    • Description: updated/unchanged
  3. "References" panel showing:
    • Skills: N (list of skill names)
    • Actors: N
    • Note: "Referencing skills will use the updated definition."

Example:

Tool Updated
  Name: local/db-migrate
  Source: custom (Python)
  Status: updated (was version 1 -> now 2)

Changes
  Input Schema: modified (added batch_size)
  Capabilities: unchanged (writes, checkpoint)
  Description: updated

References
  Skills: 1 (local/db-tools)
  Actors: 0
  Referencing skills will use the updated definition.

Actual Behavior (from code)

The add() command in src/cleveragents/cli/commands/tool.py (lines 259–267) handles updates as:

if update:
    existing = service.get_tool(tool.name)
    if existing is not None:
        registered = service.update_tool(tool)
        _print_tool(registered, title="Tool Updated", fmt=fmt)
        return

This calls _print_tool() which only shows the basic tool details panel. It does NOT show:

  1. The "Changes" panel (what changed between old and new versions)
  2. The "References" panel (which skills/actors reference this tool)
  3. The version progression (was version N → now N+1)

Code Location

src/cleveragents/cli/commands/tool.pyadd() function, lines 259–267


Fix Required

The add() command's update path must be enhanced to:

  1. Capture the old tool definition before updating
  2. Compute a diff between old and new (schema changes, capability changes, description changes)
  3. Query which skills and actors reference this tool
  4. Display the "Changes" panel and "References" panel after the "Tool Updated" panel

This requires:

  • A get_references(tool_name) method on ToolRegistryService
  • A diff computation utility for tool definitions

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

## Bug Report **Feature Area:** Tools & Skills — `agents tool add --update` output **Severity:** Medium (missing spec-required output sections) --- ## What Was Tested `agents tool add --config <FILE> --update` output format when updating an existing tool. --- ## Expected Behavior (from spec) The spec (§ `agents tool add`, lines ~7721–7830) defines the output for `agents tool add --update` to include: 1. **"Tool Updated"** panel with Name, Source, Status (was version N → now N+1) 2. **"Changes"** panel showing: - Input Schema: modified/unchanged - Capabilities: unchanged/modified - Description: updated/unchanged 3. **"References"** panel showing: - Skills: N (list of skill names) - Actors: N - Note: "Referencing skills will use the updated definition." Example: ``` Tool Updated Name: local/db-migrate Source: custom (Python) Status: updated (was version 1 -> now 2) Changes Input Schema: modified (added batch_size) Capabilities: unchanged (writes, checkpoint) Description: updated References Skills: 1 (local/db-tools) Actors: 0 Referencing skills will use the updated definition. ``` --- ## Actual Behavior (from code) The `add()` command in `src/cleveragents/cli/commands/tool.py` (lines 259–267) handles updates as: ```python if update: existing = service.get_tool(tool.name) if existing is not None: registered = service.update_tool(tool) _print_tool(registered, title="Tool Updated", fmt=fmt) return ``` This calls `_print_tool()` which only shows the basic tool details panel. It does NOT show: 1. The "Changes" panel (what changed between old and new versions) 2. The "References" panel (which skills/actors reference this tool) 3. The version progression (was version N → now N+1) --- ## Code Location `src/cleveragents/cli/commands/tool.py` — `add()` function, lines 259–267 --- ## Fix Required The `add()` command's update path must be enhanced to: 1. Capture the old tool definition before updating 2. Compute a diff between old and new (schema changes, capability changes, description changes) 3. Query which skills and actors reference this tool 4. Display the "Changes" panel and "References" panel after the "Tool Updated" panel This requires: - A `get_references(tool_name)` method on `ToolRegistryService` - A diff computation utility for tool definitions --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.2.0 milestone 2026-04-09 01:01:46 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium — Spec compliance bug; deviates from documented behavior
  • Milestone: v3.2.0
  • Story Points: 3 — M
  • MoSCoW: Must Have — Spec compliance is required

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium — Spec compliance bug; deviates from documented behavior - **Milestone**: v3.2.0 - **Story Points**: 3 — M - **MoSCoW**: Must Have — Spec compliance is required --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: 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.

Dependencies

No dependencies set.

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