UAT: agents lsp show missing "Bound Actors" and separate "Capabilities" panels required by spec #5104

Open
opened 2026-04-09 01:02:08 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Feature Area: LSP Registry / agents lsp show
Severity: Medium
Discovered by: UAT Testing (uat-pool-1, worker: Provider Registry and LSP Integration)


What Was Tested

Tested agents lsp show <NAME> Rich output format against the spec.

Expected Behavior (from spec §agents lsp show, line 9078)

The spec shows three distinct panels:

  1. LSP Server Details panel — name, languages, command, root path, init options
  2. Capabilities panel — separate panel listing all capabilities
  3. Bound Actors panel — listing actors bound to this server with their binding mode
╭─ LSP Server Details ──────────────────────────────────────────╮
│ Name: local/pyright                                           │
│ Languages: python                                             │
│ Command: pyright-langserver --stdio                           │
│ Root path: {{ project.root }}                                 │
│ Init options:                                                 │
│   python.analysis.typeCheckingMode: standard                  │
│   python.analysis.autoSearchPaths: true                       │
╰───────────────────────────────────────────────────────────────╯

╭─ Capabilities ────────────────────────────────────────────────╮
│ diagnostics, hover, completions, references, definitions,     │
│ symbols, rename, code_actions                                 │
╰───────────────────────────────────────────────────────────────╯

╭─ Bound Actors ────────────────────────────────────────────────╮
│ local/code-reviewer      (explicit binding)                   │
│ local/refactor-agent     (language-based: python)             │
│ local/polyglot-planner   (auto-discovery)                     │
╰───────────────────────────────────────────────────────────────╯

Actual Behavior

The show command in src/cleveragents/cli/commands/lsp.py (lines 312-367):

  1. Single "LSP Server Details" panel — includes capabilities inline (not as a separate panel)
  2. No "Bound Actors" panel — completely absent
  3. Capabilities shown inline in the details panel, not as a separate panel
details = (
    f"[bold]Name:[/bold] {config.name}\n"
    f"[bold]Namespace:[/bold] {config.namespace}\n"
    f"[bold]Description:[/bold] {config.description or '(none)'}\n"
    f"[bold]Command:[/bold] {config.command}\n"
    f"[bold]Args:[/bold] {' '.join(config.args) or '(none)'}\n"
    f"[bold]Transport:[/bold] {config.transport.value}\n"
    f"[bold]Languages:[/bold] {', '.join(config.languages) or '(none)'}\n"
    f"[bold]Capabilities:[/bold] "
    f"{', '.join(c.value for c in config.capabilities) or '(none)'}"  # Inline, not separate panel
)
console.print(Panel(details, title="LSP Server Details", expand=False))
# ... shows initialization and workspace_settings panels
# ... NO Bound Actors panel

Impact

  • Operators cannot see which actors are bound to an LSP server from agents lsp show
  • The capabilities are buried in the details panel instead of being prominently displayed
  • The spec's "Bound Actors" section (showing binding mode: explicit/language-based/auto-discovery) is completely missing

Suggested Fix

  1. Move capabilities to a separate "Capabilities" panel
  2. Add a "Bound Actors" panel that queries the Actor Registry for actors with lsp: [name] bindings
  3. Show binding mode for each actor (explicit, language-based, auto-discovery)

Note: The "Bound Actors" panel requires the Actor Registry to be queryable for LSP bindings, which depends on the persistence work (see #5091).


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

## Bug Report **Feature Area:** LSP Registry / `agents lsp show` **Severity:** Medium **Discovered by:** UAT Testing (uat-pool-1, worker: Provider Registry and LSP Integration) --- ## What Was Tested Tested `agents lsp show <NAME>` Rich output format against the spec. ## Expected Behavior (from spec §agents lsp show, line 9078) The spec shows three distinct panels: 1. **LSP Server Details** panel — name, languages, command, root path, init options 2. **Capabilities** panel — separate panel listing all capabilities 3. **Bound Actors** panel — listing actors bound to this server with their binding mode ``` ╭─ LSP Server Details ──────────────────────────────────────────╮ │ Name: local/pyright │ │ Languages: python │ │ Command: pyright-langserver --stdio │ │ Root path: {{ project.root }} │ │ Init options: │ │ python.analysis.typeCheckingMode: standard │ │ python.analysis.autoSearchPaths: true │ ╰───────────────────────────────────────────────────────────────╯ ╭─ Capabilities ────────────────────────────────────────────────╮ │ diagnostics, hover, completions, references, definitions, │ │ symbols, rename, code_actions │ ╰───────────────────────────────────────────────────────────────╯ ╭─ Bound Actors ────────────────────────────────────────────────╮ │ local/code-reviewer (explicit binding) │ │ local/refactor-agent (language-based: python) │ │ local/polyglot-planner (auto-discovery) │ ╰───────────────────────────────────────────────────────────────╯ ``` ## Actual Behavior The `show` command in `src/cleveragents/cli/commands/lsp.py` (lines 312-367): 1. **Single "LSP Server Details" panel** — includes capabilities inline (not as a separate panel) 2. **No "Bound Actors" panel** — completely absent 3. **Capabilities shown inline** in the details panel, not as a separate panel ```python details = ( f"[bold]Name:[/bold] {config.name}\n" f"[bold]Namespace:[/bold] {config.namespace}\n" f"[bold]Description:[/bold] {config.description or '(none)'}\n" f"[bold]Command:[/bold] {config.command}\n" f"[bold]Args:[/bold] {' '.join(config.args) or '(none)'}\n" f"[bold]Transport:[/bold] {config.transport.value}\n" f"[bold]Languages:[/bold] {', '.join(config.languages) or '(none)'}\n" f"[bold]Capabilities:[/bold] " f"{', '.join(c.value for c in config.capabilities) or '(none)'}" # Inline, not separate panel ) console.print(Panel(details, title="LSP Server Details", expand=False)) # ... shows initialization and workspace_settings panels # ... NO Bound Actors panel ``` ## Impact - Operators cannot see which actors are bound to an LSP server from `agents lsp show` - The capabilities are buried in the details panel instead of being prominently displayed - The spec's "Bound Actors" section (showing binding mode: explicit/language-based/auto-discovery) is completely missing ## Suggested Fix 1. Move capabilities to a separate "Capabilities" panel 2. Add a "Bound Actors" panel that queries the Actor Registry for actors with `lsp: [name]` bindings 3. Show binding mode for each actor (explicit, language-based, auto-discovery) Note: The "Bound Actors" panel requires the Actor Registry to be queryable for LSP bindings, which depends on the persistence work (see #5091). --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.2.0 milestone 2026-04-09 01:11:01 +00:00
Author
Owner

Issue triaged by project owner: Verified as valid spec compliance bug. Priority: Medium. Milestone: v3.2.0.


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

Issue triaged by project owner: Verified as valid spec compliance bug. Priority: Medium. Milestone: v3.2.0. --- **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#5104
No description provided.