UAT: agents lsp list rich output shows "Capabilities" count column instead of spec-required "Bound" (actor count) column #6836

Open
opened 2026-04-10 02:44:25 +00:00 by HAL9000 · 0 comments
Owner

Background and Context

UAT code analysis of src/cleveragents/cli/commands/lsp.py and docs/specification.md §agents lsp list (lines ~8900–8940) reveals that agents lsp list (rich output) displays a "Capabilities" column instead of the spec-required "Bound" column showing how many actors are bound to each LSP server.

Current Behavior

list_servers() in lsp.py (lines 294–308) builds a Rich table with columns:

  • Name
  • Command
  • Languages
  • Capabilities (showing str(len(server.capabilities)) — a count of capabilities)

The table title is LSP Servers ({N} total).

Expected Behavior (from spec §8918–8939)

The spec's example shows:

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

Required columns: Name, Languages, Command, Bound
Table title: LSP Registry (N servers) — not LSP Servers (N total)

The "Bound" column must show the number of actors currently bound to each LSP server, not the count of LSP capabilities.

Affected Code

src/cleveragents/cli/commands/lsp.py lines 294–308:

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")  # <-- should be "Bound"

Steps to Reproduce

  1. Register 2+ LSP servers
  2. Run: agents lsp list
  3. Observe: 4th column is "Capabilities" (count of LSP capability strings), table title is "LSP Servers"
  4. Expected: 4th column is "Bound" (count of actors bound to each server), title is "LSP Registry"

Acceptance Criteria

  • agents lsp list table title is LSP Registry (N servers) (not LSP Servers (N total))
  • Table has columns: Name, Languages, Command, Bound
  • "Bound" column shows number of actors that have lsp: [<name>] in their configuration
  • When --language filter is applied, title updates to LSP Registry (N server(s), filtered: language=X)

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

## Background and Context UAT code analysis of `src/cleveragents/cli/commands/lsp.py` and `docs/specification.md` §agents lsp list (lines ~8900–8940) reveals that `agents lsp list` (rich output) displays a "Capabilities" column instead of the spec-required "Bound" column showing how many actors are bound to each LSP server. ## Current Behavior `list_servers()` in `lsp.py` (lines 294–308) builds a Rich table with columns: - Name - Command - Languages - **Capabilities** (showing `str(len(server.capabilities))` — a count of capabilities) The table title is `LSP Servers ({N} total)`. ## Expected Behavior (from spec §8918–8939) The spec's example shows: ``` ╭─ LSP Registry (3 servers) ──────────────────────────────────────────────╮ │ Name │ Languages │ Command │ Bound │ │─────────────────────────│────────────────────│────────────────────────────│───────│ │ local/pyright │ python │ pyright-langserver --stdio │ 3 │ │ local/ts-server │ typescript, jsx... │ typescript-language-server │ 2 │ │ local/gopls │ go │ gopls serve │ 1 │ ╰─────────────────────────────────────────────────────────────────────────╯ ``` Required columns: **Name**, **Languages**, **Command**, **Bound** Table title: `LSP Registry (N servers)` — not `LSP Servers (N total)` The "Bound" column must show the number of actors currently bound to each LSP server, not the count of LSP capabilities. ## Affected Code `src/cleveragents/cli/commands/lsp.py` lines 294–308: ```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") # <-- should be "Bound" ``` ## Steps to Reproduce 1. Register 2+ LSP servers 2. Run: `agents lsp list` 3. Observe: 4th column is "Capabilities" (count of LSP capability strings), table title is "LSP Servers" 4. Expected: 4th column is "Bound" (count of actors bound to each server), title is "LSP Registry" ## Acceptance Criteria - `agents lsp list` table title is `LSP Registry (N servers)` (not `LSP Servers (N total)`) - Table has columns: Name, Languages, Command, Bound - "Bound" column shows number of actors that have `lsp: [<name>]` in their configuration - When `--language` filter is applied, title updates to `LSP Registry (N server(s), filtered: language=X)` --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.5.0 milestone 2026-04-10 02:44:57 +00:00
HAL9000 self-assigned this 2026-04-10 06:07:48 +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#6836
No description provided.