UAT: agents lsp list shows wrong column — displays Capabilities count instead of spec-required Bound (actors bound) count #4472

Open
opened 2026-04-08 13:17:31 +00:00 by HAL9000 · 0 comments
Owner

Metadata

  • Milestone: (none — backlog)
  • Parent Epic: (LSP Registry)

Bug Report

What Was Tested

The agents lsp list command output was analyzed against the specification.

Expected Behavior (from spec)

Per docs/specification.md (lines 8920-8926), agents lsp list should show a table with columns:

  • Name
  • Languages
  • Command
  • Bound (number of actors currently bound to this LSP server)

Example spec output:

╭─ LSP Registry (3 servers) ─────────────────────────────────────────────────────────╮
│ Name                    │ Languages            │ Command                     │ Bound │
│─────────────────────────│──────────────────────│─────────────────────────────│───────│
│ local/pyright           │ python               │ pyright-langserver --stdio  │   3   │
│ local/ts-server         │ typescript, jsx, tsx │ typescript-language-server  │   2   │
│ local/gopls             │ go                   │ gopls serve                 │   1   │
╰────────────────────────────────────────────────────────────────────────────────────╯

The spec also says the title should be "LSP Registry (N servers)" not "LSP Servers (N total)".

Actual Behavior

The implementation in src/cleveragents/cli/commands/lsp.py (lines 294-308) shows:

  • Name
  • Command
  • Languages
  • Capabilities (count of LSP capabilities, not bound actors count)
table = Table(title=f"LSP Servers ({len(servers)} total)", show_header=True)
table.add_column("Name", style="cyan")
table.add_column("Command")
table.add_column("Languages")
table.add_column("Capabilities", justify="right")  # ← Wrong column!

for server in servers:
    table.add_row(
        server.name,
        server.command,
        ", ".join(server.languages) or "(none)",
        str(len(server.capabilities)),  # ← Shows capability count, not bound actors
    )

Differences from spec:

  1. Wrong 4th column: Shows "Capabilities" (count of LSP capabilities) instead of "Bound" (count of actors bound to this server)
  2. Column order: Spec shows Name, Languages, Command, Bound — implementation shows Name, Command, Languages, Capabilities
  3. Table title: Spec says "LSP Registry (N servers)" — implementation says "LSP Servers (N total)"

Code Location

  • src/cleveragents/cli/commands/lsp.py lines 294-308 (list_servers command)

Impact

Users cannot see how many actors are bound to each LSP server from the list view, making it harder to assess the impact of removing an LSP server. The column order also differs from the spec.


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

## Metadata - **Milestone**: *(none — backlog)* - **Parent Epic**: *(LSP Registry)* ## Bug Report ### What Was Tested The `agents lsp list` command output was analyzed against the specification. ### Expected Behavior (from spec) Per `docs/specification.md` (lines 8920-8926), `agents lsp list` should show a table with columns: - **Name** - **Languages** - **Command** - **Bound** (number of actors currently bound to this LSP server) Example spec output: ``` ╭─ LSP Registry (3 servers) ─────────────────────────────────────────────────────────╮ │ Name │ Languages │ Command │ Bound │ │─────────────────────────│──────────────────────│─────────────────────────────│───────│ │ local/pyright │ python │ pyright-langserver --stdio │ 3 │ │ local/ts-server │ typescript, jsx, tsx │ typescript-language-server │ 2 │ │ local/gopls │ go │ gopls serve │ 1 │ ╰────────────────────────────────────────────────────────────────────────────────────╯ ``` The spec also says the title should be "LSP Registry (N servers)" not "LSP Servers (N total)". ### Actual Behavior The implementation in `src/cleveragents/cli/commands/lsp.py` (lines 294-308) shows: - **Name** - **Command** - **Languages** - **Capabilities** (count of LSP capabilities, not bound actors count) ```python table = Table(title=f"LSP Servers ({len(servers)} total)", show_header=True) table.add_column("Name", style="cyan") table.add_column("Command") table.add_column("Languages") table.add_column("Capabilities", justify="right") # ← Wrong column! for server in servers: table.add_row( server.name, server.command, ", ".join(server.languages) or "(none)", str(len(server.capabilities)), # ← Shows capability count, not bound actors ) ``` Differences from spec: 1. **Wrong 4th column**: Shows "Capabilities" (count of LSP capabilities) instead of "Bound" (count of actors bound to this server) 2. **Column order**: Spec shows Name, Languages, Command, Bound — implementation shows Name, Command, Languages, Capabilities 3. **Table title**: Spec says "LSP Registry (N servers)" — implementation says "LSP Servers (N total)" ### Code Location - `src/cleveragents/cli/commands/lsp.py` lines 294-308 (`list_servers` command) ### Impact Users cannot see how many actors are bound to each LSP server from the list view, making it harder to assess the impact of removing an LSP server. The column order also differs from the spec. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.5.0 milestone 2026-04-08 17:42:21 +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.

Dependencies

No dependencies set.

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