UAT: agents lsp list shows capability count instead of actor-bound count as specified #3525

Open
opened 2026-04-05 18:56:23 +00:00 by freemo · 2 comments
Owner

Metadata

  • Branch: fix/backlog-lsp-list-actor-bound-count
  • Commit Message: fix(lsp): replace capability count with actor-bound count in lsp list output
  • Milestone: (backlog — no milestone assigned)
  • Parent Epic: #824

Backlog note: This issue was discovered during autonomous operation
on milestone v3.6.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 agents lsp list command was analysed during UAT of the LSP Integration feature area (Epic #824). The command's Rich table output does not match the column specification in docs/specification.md. This is a display-correctness bug: the wrong data is shown in the table, which could mislead users about server utilisation.

Current Behavior

The list_servers() command at src/cleveragents/cli/commands/lsp.py lines 294–306 renders a table with these columns:

Name Command Languages Capabilities
pyright pyright --stdio python 3

The Capabilities column shows the count of LSP capability enum values the server supports (e.g., 3), not the number of actors currently bound to the server. The spec-required "actors bound" column is entirely absent.

Steps to Reproduce

  1. Register an LSP server: agents lsp add --config pyright.yaml
  2. Run agents lsp list
  3. Observe the table shows a "Capabilities" column with a count (e.g., 3) instead of an "Actors" column showing how many actors are bound to this server.

Expected Behavior

Per docs/specification.md (agents lsp list section):

Purpose: List registered LSP servers with optional filters. Shows each server's name, supported languages, command, and the number of actors currently bound to it.

The table must include an Actors column showing how many actors are currently bound to each LSP server, replacing the current "Capabilities" count column.

Subtasks

  • Replace the "Capabilities" column in agents lsp list output with an "Actors" column showing the number of actors currently bound to each server
  • Implement the actor-binding count lookup (requires querying the actor registry for actors that reference each LSP server)
  • Update unit tests in features/lsp_cli_new_coverage.feature to assert the "Actors" column is present and correct
  • Verify all nox stages pass

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • agents lsp list output includes an "Actors" column showing the number of actors bound to each server (not a capability count).
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation.
  • 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 before this issue is marked done.
  • All nox stages pass.
  • Coverage >= 97%.

Supporting Information

  • Code location: src/cleveragents/cli/commands/lsp.py, lines 294–306 (list_servers() table definition)
  • Parent Epic: #824 — Epic: LSP Functional Runtime
  • Spec reference: docs/specification.mdagents lsp list command description

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

## Metadata - **Branch**: `fix/backlog-lsp-list-actor-bound-count` - **Commit Message**: `fix(lsp): replace capability count with actor-bound count in lsp list output` - **Milestone**: *(backlog — no milestone assigned)* - **Parent Epic**: #824 > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.6.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 `agents lsp list` command was analysed during UAT of the LSP Integration feature area (Epic #824). The command's Rich table output does not match the column specification in `docs/specification.md`. This is a display-correctness bug: the wrong data is shown in the table, which could mislead users about server utilisation. ## Current Behavior The `list_servers()` command at **`src/cleveragents/cli/commands/lsp.py` lines 294–306** renders a table with these columns: | Name | Command | Languages | Capabilities | |------|---------|-----------|--------------| | pyright | pyright --stdio | python | 3 | The **Capabilities** column shows the count of LSP capability enum values the server supports (e.g., `3`), **not** the number of actors currently bound to the server. The spec-required "actors bound" column is entirely absent. ### Steps to Reproduce 1. Register an LSP server: `agents lsp add --config pyright.yaml` 2. Run `agents lsp list` 3. Observe the table shows a "Capabilities" column with a count (e.g., `3`) instead of an "Actors" column showing how many actors are bound to this server. ## Expected Behavior Per `docs/specification.md` (agents lsp list section): > **Purpose**: List registered LSP servers with optional filters. Shows each server's name, supported languages, command, and the **number of actors currently bound to it**. The table must include an **Actors** column showing how many actors are currently bound to each LSP server, replacing the current "Capabilities" count column. ## Subtasks - [ ] Replace the "Capabilities" column in `agents lsp list` output with an "Actors" column showing the number of actors currently bound to each server - [ ] Implement the actor-binding count lookup (requires querying the actor registry for actors that reference each LSP server) - [ ] Update unit tests in `features/lsp_cli_new_coverage.feature` to assert the "Actors" column is present and correct - [ ] Verify all nox stages pass ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - `agents lsp list` output includes an **"Actors"** column showing the number of actors bound to each server (not a capability count). - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation. - 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** before this issue is marked done. - All nox stages pass. - Coverage >= 97%. ## Supporting Information - **Code location**: `src/cleveragents/cli/commands/lsp.py`, lines 294–306 (`list_servers()` table definition) - **Parent Epic**: #824 — Epic: LSP Functional Runtime - **Spec reference**: `docs/specification.md` — `agents lsp list` command description --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.6.0 milestone 2026-04-05 20:05:39 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Low — agents lsp list shows capability count instead of actor-bound count. Wrong data in the table column, but the command is functional.
  • Milestone: v3.6.0
  • Story Points: 2 — S — Replace column data source and implement actor-binding count lookup.
  • MoSCoW: Could Have — Display correctness issue. The list command works but shows misleading data in one column. Not blocking any workflow.
  • Parent Epic: #824 (dependency link already exists)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Low — `agents lsp list` shows capability count instead of actor-bound count. Wrong data in the table column, but the command is functional. - **Milestone**: v3.6.0 - **Story Points**: 2 — S — Replace column data source and implement actor-binding count lookup. - **MoSCoW**: Could Have — Display correctness issue. The list command works but shows misleading data in one column. Not blocking any workflow. - **Parent Epic**: #824 (dependency link already exists) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Author
Owner

Milestone Triage Decision: Moved to Backlog (Belongs in Earlier Milestone)

This CLI output format fix has been moved out of v3.6.0 during aggressive milestone triage. Basic CLI format fixes belong in earlier milestones, not in Advanced Concepts.

Reasoning:

  • v3.6.0 focus: Advanced concepts that extend beyond core MVP
  • This issue: LSP list output format - basic CLI functionality
  • Impact: Basic CLI polish, not advanced conceptual capability

Should be addressed in v3.4.0 alongside LSP core functionality implementation.

**Milestone Triage Decision: Moved to Backlog (Belongs in Earlier Milestone)** This CLI output format fix has been moved out of v3.6.0 during aggressive milestone triage. Basic CLI format fixes belong in earlier milestones, not in Advanced Concepts. **Reasoning:** - v3.6.0 focus: Advanced concepts that extend beyond core MVP - This issue: LSP list output format - basic CLI functionality - Impact: Basic CLI polish, not advanced conceptual capability Should be addressed in v3.4.0 alongside LSP core functionality implementation.
freemo removed this from the v3.6.0 milestone 2026-04-06 23:43:33 +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
#824 Epic: LSP Functional Runtime
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#3525
No description provided.