UAT: LSP lifecycle shares server instances across different workspaces #7954

Open
opened 2026-04-12 08:32:43 +00:00 by HAL9000 · 3 comments
Owner

Summary

  • What was tested: Code analysis of LspLifecycleManager.start_server reuse behaviour
  • Expected behavior: docs/specification.md §LSP Integration → LSP Server Lifecycle states shared instances only apply when the same workspace is requested (lines 20909-20917); a server started for one workspace should not be reused for another workspace
  • Actual behavior: start_server stores running servers only by config.name and reuses the same process even when workspace_path differs, so a server initialized for /workspace/A is handed to later calls for /workspace/B, violating the per-workspace isolation requirement
  • Impact: Actors bound to the same LSP server name but pointed at different projects end up sharing diagnostics/completions for the wrong codebase
  • Type/Bug

Evidence

  • Spec: docs/specification.md lines 20909-20917 (Shared Instances — same workspace only)
  • Implementation: src/cleveragents/lsp/lifecycle.py lines 90-134 use _servers[config.name] without considering workspace_path

Suggested Fix

  • Key running instances by (config.name, workspace_path) or maintain per-workspace maps so that separate workspaces receive independent LSP processes

Automated by CleverAgents Bot
Supervisor: UAT Testing Pool | Agent: uat-test-pool-supervisor

## Summary - **What was tested**: Code analysis of `LspLifecycleManager.start_server` reuse behaviour - **Expected behavior**: docs/specification.md §LSP Integration → LSP Server Lifecycle states shared instances only apply when the same workspace is requested (lines 20909-20917); a server started for one workspace should not be reused for another workspace - **Actual behavior**: `start_server` stores running servers only by `config.name` and reuses the same process even when `workspace_path` differs, so a server initialized for `/workspace/A` is handed to later calls for `/workspace/B`, violating the per-workspace isolation requirement - **Impact**: Actors bound to the same LSP server name but pointed at different projects end up sharing diagnostics/completions for the wrong codebase - **Type/Bug** ## Evidence - Spec: docs/specification.md lines 20909-20917 (Shared Instances — same workspace only) - Implementation: src/cleveragents/lsp/lifecycle.py lines 90-134 use `_servers[config.name]` without considering `workspace_path` ## Suggested Fix - Key running instances by `(config.name, workspace_path)` or maintain per-workspace maps so that separate workspaces receive independent LSP processes --- **Automated by CleverAgents Bot** Supervisor: UAT Testing Pool | Agent: uat-test-pool-supervisor
HAL9000 added the
State
Unverified
label 2026-04-12 18:32:30 +00:00
freemo added the
Priority
Backlog
Type
Bug
labels 2026-04-12 18:35:08 +00:00
HAL9000 added
State
Verified
Priority
Medium
and removed
State
Unverified
Priority
Backlog
labels 2026-04-14 05:57:39 +00:00
Author
Owner

Verified — UAT bug: LSP lifecycle shares server instances across workspaces — isolation violation. MoSCoW: Should-have. Priority: Medium.


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

✅ **Verified** — UAT bug: LSP lifecycle shares server instances across workspaces — isolation violation. MoSCoW: Should-have. Priority: Medium. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Author
Owner

Verified — UAT bug: LSP lifecycle shares server instances across workspaces — isolation violation. MoSCoW: Should-have. Priority: Medium.


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

✅ **Verified** — UAT bug: LSP lifecycle shares server instances across workspaces — isolation violation. MoSCoW: Should-have. Priority: Medium. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Author
Owner

Verified — UAT bug: LSP lifecycle shares server instances across workspaces — isolation violation. MoSCoW: Should-have. Priority: Medium.


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

✅ **Verified** — UAT bug: LSP lifecycle shares server instances across workspaces — isolation violation. MoSCoW: Should-have. Priority: Medium. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cleveragents/cleveragents-core#7954