UAT: agents tool add missing "Capability" panel, Config path, and Created timestamp in rich output #3497

Open
opened 2026-04-05 18:40:31 +00:00 by freemo · 0 comments
Owner

Metadata

  • Branch: fix/tool-add-rich-output-capability-panel
  • Commit Message: fix(cli): add Capability panel, Config path, and Created timestamp to agents tool add output
  • Milestone: (none — backlog)
  • Parent Epic: #392

Backlog note: This issue was discovered during autonomous operation
on milestone v3.2.0. It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.

Background and Context

The spec defines that agents tool add --config <file> should display a two-panel rich output:

╭─ Tool Registered ────────────────────────────╮
│ Name: local/run-migrations                   │
│ Description: Run database migrations         │
│ Source: custom                               │
│ Config: ./tools/run-migrations.yaml          │    ← MISSING
│ Created: 2026-02-09 10:15                    │    ← MISSING
╰──────────────────────────────────────────────╯

╭─ Capability ─────────────────────╮            ← ENTIRE PANEL MISSING
│ Writes: true                     │
│ Write Scope: database:migrations │
│ Checkpointable: true             │
│ Checkpoint Scope: transaction    │
│ Side Effects: schema_mutation    │
╰──────────────────────────────────╯

✓ OK Tool registered

Problem

The add command in src/cleveragents/cli/commands/tool.py calls _print_tool(registered, title="Tool Registered", fmt=fmt). The _print_tool() function shows a generic panel with Name, Namespace, Short Name, Description, Source, Type, Timeout, Capability (as key-value pairs), Resource Slots, and Lifecycle — but it does NOT:

  1. Show the Config path (the YAML file path used to register the tool)
  2. Show the Created timestamp
  3. Show a dedicated Capability panel with the spec-required fields (Writes, Write Scope, Checkpointable, Checkpoint Scope, Side Effects)
  4. Print ✓ OK Tool registered as a success line

The current implementation shows a single generic panel with all fields mixed together, rather than the spec-required two-panel layout (Tool Registered + Capability).

Steps to Reproduce

  1. Create a tool YAML file: ./tools/run-migrations.yaml
  2. Run: agents tool add --config ./tools/run-migrations.yaml
  3. Expected: Two panels (Tool Registered + Capability) with Config path, Created timestamp, and dedicated Capability panel
  4. Actual: Single generic panel without Config path, Created timestamp, or dedicated Capability panel

Code Location

  • src/cleveragents/cli/commands/tool.py, add() function and _print_tool() function
  • The fix requires:
    1. Passing the config path to _print_tool()
    2. Adding a Created timestamp (from the registered tool or current time)
    3. Rendering a separate "Capability" panel with the spec-required fields
    4. Adding ✓ OK Tool registered success line

Expected Behavior (from spec)

Two panels: "Tool Registered" (with Name, Description, Source, Config, Created) and "Capability" (with Writes, Write Scope, Checkpointable, Checkpoint Scope, Side Effects), followed by ✓ OK Tool registered.

Subtasks

  • Update add() in tool.py to pass the config file path to the print helper
  • Add Created timestamp field to the "Tool Registered" panel (use registered_at from the domain model or datetime.now() as fallback)
  • Add Config path field to the "Tool Registered" panel
  • Implement a dedicated "Capability" panel rendering Writes, Write Scope, Checkpointable, Checkpoint Scope, and Side Effects fields
  • Add ✓ OK Tool registered success line after the panels
  • Update/add Behave scenarios covering the two-panel output format for agents tool add
  • Verify --format json output is unaffected or also updated per spec

Definition of Done

  • All subtasks above are completed and checked off
  • agents tool add --config <file> displays two panels: "Tool Registered" (with Name, Description, Source, Config, Created) and "Capability" (with Writes, Write Scope, Checkpointable, Checkpoint Scope, Side Effects)
  • ✓ OK Tool registered success line is printed after the panels
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly
  • 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
  • All nox stages pass
  • Coverage >= 97%

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

## Metadata - **Branch**: `fix/tool-add-rich-output-capability-panel` - **Commit Message**: `fix(cli): add Capability panel, Config path, and Created timestamp to agents tool add output` - **Milestone**: (none — backlog) - **Parent Epic**: #392 > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.2.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. ## Background and Context The spec defines that `agents tool add --config <file>` should display a two-panel rich output: ``` ╭─ Tool Registered ────────────────────────────╮ │ Name: local/run-migrations │ │ Description: Run database migrations │ │ Source: custom │ │ Config: ./tools/run-migrations.yaml │ ← MISSING │ Created: 2026-02-09 10:15 │ ← MISSING ╰──────────────────────────────────────────────╯ ╭─ Capability ─────────────────────╮ ← ENTIRE PANEL MISSING │ Writes: true │ │ Write Scope: database:migrations │ │ Checkpointable: true │ │ Checkpoint Scope: transaction │ │ Side Effects: schema_mutation │ ╰──────────────────────────────────╯ ✓ OK Tool registered ``` ## Problem The `add` command in `src/cleveragents/cli/commands/tool.py` calls `_print_tool(registered, title="Tool Registered", fmt=fmt)`. The `_print_tool()` function shows a generic panel with Name, Namespace, Short Name, Description, Source, Type, Timeout, Capability (as key-value pairs), Resource Slots, and Lifecycle — but it does NOT: 1. Show the **Config path** (the YAML file path used to register the tool) 2. Show the **Created** timestamp 3. Show a dedicated **Capability** panel with the spec-required fields (Writes, Write Scope, Checkpointable, Checkpoint Scope, Side Effects) 4. Print `✓ OK Tool registered` as a success line The current implementation shows a single generic panel with all fields mixed together, rather than the spec-required two-panel layout (Tool Registered + Capability). ## Steps to Reproduce 1. Create a tool YAML file: `./tools/run-migrations.yaml` 2. Run: `agents tool add --config ./tools/run-migrations.yaml` 3. **Expected**: Two panels (Tool Registered + Capability) with Config path, Created timestamp, and dedicated Capability panel 4. **Actual**: Single generic panel without Config path, Created timestamp, or dedicated Capability panel ## Code Location - `src/cleveragents/cli/commands/tool.py`, `add()` function and `_print_tool()` function - The fix requires: 1. Passing the config path to `_print_tool()` 2. Adding a Created timestamp (from the registered tool or current time) 3. Rendering a separate "Capability" panel with the spec-required fields 4. Adding `✓ OK Tool registered` success line ## Expected Behavior (from spec) Two panels: "Tool Registered" (with Name, Description, Source, Config, Created) and "Capability" (with Writes, Write Scope, Checkpointable, Checkpoint Scope, Side Effects), followed by `✓ OK Tool registered`. ## Subtasks - [ ] Update `add()` in `tool.py` to pass the config file path to the print helper - [ ] Add `Created` timestamp field to the "Tool Registered" panel (use `registered_at` from the domain model or `datetime.now()` as fallback) - [ ] Add `Config` path field to the "Tool Registered" panel - [ ] Implement a dedicated "Capability" panel rendering Writes, Write Scope, Checkpointable, Checkpoint Scope, and Side Effects fields - [ ] Add `✓ OK Tool registered` success line after the panels - [ ] Update/add Behave scenarios covering the two-panel output format for `agents tool add` - [ ] Verify `--format json` output is unaffected or also updated per spec ## Definition of Done - [ ] All subtasks above are completed and checked off - [ ] `agents tool add --config <file>` displays two panels: "Tool Registered" (with Name, Description, Source, Config, Created) and "Capability" (with Writes, Write Scope, Checkpointable, Checkpoint Scope, Side Effects) - [ ] `✓ OK Tool registered` success line is printed after the panels - [ ] A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly - [ ] 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** - 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 20:36:12 +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.

Blocks
#392 Epic: Actor YAML & Compiler
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#3497
No description provided.