Epic: LSP Functional Runtime #824
Labels
No labels
auto/needs-reevaluation
controller-managed
auto/blocked-by-deps
auto/ci-timeout
auto/claimed-implementer
auto/claimed-merge
auto/claimed-reviewer
auto/driver-down
auto/invariant-violation
auto/last-attempt-tier-0
auto/last-attempt-tier-1
auto/last-attempt-tier-2
auto/last-attempt-tier-min
Automation Tracking
auto/needs-conflict-resolution
auto/needs-implementer
auto/postmortem
auto/ready-to-merge
auto/restart-throttled
auto/revert
auto/sentinel
auto/stale-inactivity
auto/unstable
Blocked
Bounty
$100
Bounty
$1000
Bounty
$10000
Bounty
$20
Bounty
$2000
Bounty
$250
Bounty
$50
Bounty
$500
Bounty
$5000
Bounty
$750
MoSCoW
Could have
MoSCoW
Must have
MoSCoW
Should have
Needs Feedback
Points
1
Points
13
Points
2
Points
21
Points
3
Points
34
Points
5
Points
55
Points
8
Points
88
Priority
Backlog
Priority
CI Blocker
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Signed-off: Owner
Signed-off: Scrum Master
Signed-off: Tech Lead
Spike
State
Completed
State
Duplicate
State
In Progress
State
In Review
State
Paused
State
Unverified
State
Verified
State
Wont Do
Type
Automation
Type
Bug
Type
Discussion
Type
Documentation
Type
Epic
Type
Feature
Type
Legendary
Type
Refactor
Type
Support
Type
Task
Type
Testing
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#374 Legendary: Actors, Skills & Tool Execution (Workstream C)
cleveragents/cleveragents-core
#945 Legendary: Specification Alignment — Close All Gaps Between Implementation and Specification
cleveragents/cleveragents-core
#826 feat(lsp): implement functional LSP runtime (start/stop/diagnostics/completions)
cleveragents/cleveragents-core
#832 feat(resource): add LSP resource types (executable, lsp-server, lsp-workspace, lsp-document)
cleveragents/cleveragents-core
#834 feat(lsp): add missing LspCapability enum values (hover, definitions, signature_help, document_symbols, workspace_symbols)
cleveragents/cleveragents-core
#835 feat(lsp): add missing LspServerConfig model fields (description, transport, initialization, workspace_settings)
cleveragents/cleveragents-core
#1243 feat(lsp): implement LspRuntime get_hover and get_definitions methods
cleveragents/cleveragents-core
#1833 There are no examples for
agents lsp.
cleveragents/cleveragents-core
#2071 test(runtime): add missing BDD unit tests for the runtime module
cleveragents/cleveragents-core
#2129 UAT: agents lsp remove rich output panel missing
Languages: field — spec requires it
cleveragents/cleveragents-core
#2137 UAT:
agents lsp list shows Capabilities column instead of spec-required Bound column
cleveragents/cleveragents-core
#2149 UAT:
agents lsp show missing Bound Actors panel — spec requires listing actors bound to the LSP server
cleveragents/cleveragents-core
#2150 TDD:
agents lsp show missing Bound Actors panel — capture failing test for spec-required panel
cleveragents/cleveragents-core
#2468 UAT:
LspToolAdapter raises LspNotAvailableError for 7 of 11 LSP capabilities — references, rename, code_actions, formatting, signature_help, document_symbols, workspace_symbols not implemented in runtime
cleveragents/cleveragents-core
#2476 UAT: LSP context enrichment (
lsp_context_enrichment) not wired to ACMS hot context — diagnostics and type annotations are never injected
cleveragents/cleveragents-core
#2496 UAT:
LspRegistry.remove() does not terminate running LSP server processes — spec requires process termination on removal
cleveragents/cleveragents-core
#2513 UAT:
agents lsp remove does not warn about actors referencing the removed LSP server — spec requires warning with actor list
cleveragents/cleveragents-core
#2523 UAT:
LspLifecycleManager.restart_server() holds the lock during process start — potential deadlock under concurrent access
cleveragents/cleveragents-core
#2913 UAT: LSP resource handlers referenced in registry but not implemented —
cleveragents.resource.handlers.lsp module missing
cleveragents/cleveragents-core
#2919 UAT:
LspToolAdapter only routes 4 of 11 declared LSP capabilities to runtime — 7 capabilities raise LspNotAvailableError even with runtime attached
cleveragents/cleveragents-core
#2944 UAT Bug: LSP context enrichment (
lsp_context_enrichment) defined in actor schema but never wired to ACMS hot context injection
cleveragents/cleveragents-core
#3004 UAT: No dedicated YAML configuration file schema or loader for LSP server registration —
agents lsp add --config cannot validate LSP server YAML configs
cleveragents/cleveragents-core
#3012 UAT:
NodeDefinition.lsp_binding typed field silently ignored by actor compiler — only raw lsp_bindings dict key is read
cleveragents/cleveragents-core
#3026 UAT:
LspLifecycleManager.restart_server() holds _lock during blocking I/O — potential deadlock under concurrent access
cleveragents/cleveragents-core
#3031 UAT:
LspRegistry is in-memory only — all LSP server registrations lost on process restart, no persistence mechanism
cleveragents/cleveragents-core
#3045 bug(lsp):
LspLifecycleManager ignores LspServerConfig.transport field — always uses StdioTransport even when TCP is configured
cleveragents/cleveragents-core
#3394 Proposal: update specification — document LSP Runtime thread-safety and 3-phase lock pattern for concurrent server operations
cleveragents/cleveragents-core
#3397 UAT: LspToolAdapter generates wrong tool names — uses server-namespaced format instead of spec-required lsp/ prefix
cleveragents/cleveragents-core
#3401 UAT: LspLifecycleManager ignores TCP transport configuration — always uses StdioTransport
cleveragents/cleveragents-core
#3404 UAT: LspLifecycleManager.stop_server() holds lock during blocking I/O — potential deadlock
cleveragents/cleveragents-core
#3409 UAT: LspServerConfig.languages field not validated as required (min 1) — spec violation
cleveragents/cleveragents-core
#3412 UAT: LspServerConfig missing health_check and root_path fields defined in spec
cleveragents/cleveragents-core
#3524 UAT: LspToolAdapter generates incorrect tool names — uses server-namespaced names instead of spec-defined lsp/* names
cleveragents/cleveragents-core
#3525 UAT:
agents lsp list shows capability count instead of actor-bound count as specified
cleveragents/cleveragents-core
#3526 UAT:
agents lsp show does not display which actors are bound to the server as specified
cleveragents/cleveragents-core
#3528 UAT:
agents lsp remove does not terminate running LSP server processes as specified
cleveragents/cleveragents-core
#3530 UAT: LspClient missing
textDocument/didChange notification — file synchronization incomplete per spec
cleveragents/cleveragents-core
#3532 UAT:
LspLifecycleManager.restart_server() does not re-open tracked documents after restart as specified
cleveragents/cleveragents-core
#3534 UAT: 7 of 11 LSP capabilities registered as tools but raise LspNotAvailableError when called — runtime handlers incomplete
cleveragents/cleveragents-core
#4667 UAT: LspLifecycleManager.start_server() silently ignores LspServerConfig.initialization options — never passed to LspClient.initialize()
cleveragents/cleveragents-core
#7044 Bug: LSP Transport Process Resource Leak on Exception in StdioTransport.start()
cleveragents/cleveragents-core
#7047 TDD: LSP Transport Process Resource Leak on Exception in StdioTransport.start()
cleveragents/cleveragents-core
#7083 BUG-HUNT: [security] DoS vulnerability in LSP server message reading
cleveragents/cleveragents-core
#7101 BUG-HUNT: [security] Path traversal vulnerability in LSP runtime file operations
cleveragents/cleveragents-core
#7102 BUG-HUNT: [concurrency] Race condition in LspLifecycleManager.start_server() creates redundant server processes
cleveragents/cleveragents-core
#7112 BUG-HUNT: [security] Header injection vulnerability in LSP transport ASCII decoding
cleveragents/cleveragents-core
#7144 BUG-HUNT: [concurrency] Race condition in LSP lifecycle manager restart sequence
cleveragents/cleveragents-core
#7160 TDD: BUG-HUNT: [security] Resource exhaustion DoS in LSP language discovery directory traversal
cleveragents/cleveragents-core
#7161 BUG-HUNT: [security] Resource exhaustion DoS in LSP language discovery directory traversal
cleveragents/cleveragents-core
#7179 BUG-HUNT: [concurrency] Race condition in StdioTransport.is_alive property causes AttributeError
cleveragents/cleveragents-core
#7184 BUG-HUNT: [security] Environment variable injection in LSP server process creation allows code execution
cleveragents/cleveragents-core
#7197 BUG-HUNT: [concurrency] Race condition in LSP lifecycle manager causes incorrect reference counting
cleveragents/cleveragents-core
#7209 BUG-HUNT: [spec-alignment] Error suppression in LanguageDiscovery violates fail-fast specification
cleveragents/cleveragents-core
#7215 BUG-HUNT: [security] Path traversal vulnerability in LSP runtime file reading allows access to sensitive files
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#824
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Background
Covers the functional implementation of the Language Server Protocol (LSP) runtime beyond the current stub scaffolding. The specification defines LSP integration as a core capability for code intelligence: diagnostics, completions, hover, definitions, and more. Currently,
LspRuntimeraisesLspNotAvailableErrorfor every method,LspToolAdaptergenerates tool specs but every handler raises errors, and there is no actor activation integration, ACMS context enrichment, or language discovery.This Epic brings the LSP subsystem from stubs to a working implementation including runtime operations, model completeness, resource type definitions, and actor integration.
Expected Behavior
LSP servers can be started, stopped, and queried for diagnostics, completions, hover info, and definitions. LSP capabilities are fully enumerated. LSP resource types (executable, lsp-server, lsp-workspace, lsp-document) are registered and discoverable. The actor compiler's LSP bindings are consumed downstream for context enrichment.
Child Issues
Definition of Done
This Epic is complete when all child issues are closed and merged. LSP servers can be started and queried for real diagnostics and completions.
hamza.khyari referenced this issue2026-04-01 12:58:56 +00:00
Languages:field — spec requires it #2129Languages:field — spec requires itagents lsp listshowsCapabilitiescolumn instead of spec-requiredBoundcolumn #2137agents lsp listshowsCapabilitiescolumn instead of spec-requiredBoundcolumnagents lsp showmissingBound Actorspanel — spec requires listing actors bound to the LSP server #2149agents lsp showmissingBound Actorspanel — capture failing test for spec-required panel #2150agents lsp showmissingBound Actorspanel — spec requires listing actors bound to the LSP serveragents lsp showmissingBound Actorspanel — capture failing test for spec-required panelLspToolAdapterraisesLspNotAvailableErrorfor 7 of 11 LSP capabilities — references, rename, code_actions, formatting, signature_help, document_symbols, workspace_symbols not implemented in runtime #2468LspToolAdapterraisesLspNotAvailableErrorfor 7 of 11 LSP capabilities — references, rename, code_actions, formatting, signature_help, document_symbols, workspace_symbols not implemented in runtimelsp_context_enrichment) not wired to ACMS hot context — diagnostics and type annotations are never injectedLspRegistry.remove()does not terminate running LSP server processes — spec requires process termination on removal #2496LspRegistry.remove()does not terminate running LSP server processes — spec requires process termination on removalagents lsp removedoes not warn about actors referencing the removed LSP server — spec requires warning with actor list #2513agents lsp removedoes not warn about actors referencing the removed LSP server — spec requires warning with actor listLspLifecycleManager.restart_server()holds the lock during process start — potential deadlock under concurrent access #2523LspLifecycleManager.restart_server()holds the lock during process start — potential deadlock under concurrent accesscleveragents.resource.handlers.lspmodule missing #2913cleveragents.resource.handlers.lspmodule missingLspToolAdapteronly routes 4 of 11 declared LSP capabilities to runtime — 7 capabilities raiseLspNotAvailableErroreven with runtime attached #2919LspToolAdapteronly routes 4 of 11 declared LSP capabilities to runtime — 7 capabilities raiseLspNotAvailableErroreven with runtime attachedlsp_context_enrichment) defined in actor schema but never wired to ACMS hot context injection #2944lsp_context_enrichment) defined in actor schema but never wired to ACMS hot context injectionagents lsp add --configcannot validate LSP server YAML configsfreemo referenced this issue2026-04-05 03:44:48 +00:00
agents lsp add --configcannot validate LSP server YAML configs #3004NodeDefinition.lsp_bindingtyped field silently ignored by actor compiler — only rawlsp_bindingsdict key is read #3012NodeDefinition.lsp_bindingtyped field silently ignored by actor compiler — only rawlsp_bindingsdict key is readLspLifecycleManager.restart_server()holds_lockduring blocking I/O — potential deadlock under concurrent access #3026LspLifecycleManager.restart_server()holds_lockduring blocking I/O — potential deadlock under concurrent accessLspRegistryis in-memory only — all LSP server registrations lost on process restart, no persistence mechanism #3031LspRegistryis in-memory only — all LSP server registrations lost on process restart, no persistence mechanismLspLifecycleManagerignoresLspServerConfig.transportfield — always usesStdioTransporteven when TCP is configured #3045LspLifecycleManagerignoresLspServerConfig.transportfield — always usesStdioTransporteven when TCP is configuredagents lsp add --configcannot validate LSP server YAML configs #3004agents lsp showmissingBound Actorspanel — capture failing test for spec-required panel #2150agents lsp showmissingBound Actorspanel — spec requires listing actors bound to the LSP server #2149agents lsp listshowsCapabilitiescolumn instead of spec-requiredBoundcolumn #2137agents lsp showmissingBound Actorspanel — capture failing test for spec-required panel #2150agents lsp. #1833agents lsp.agents lsp listshows capability count instead of actor-bound count as specified #3525agents lsp showdoes not display which actors are bound to the server as specified #3526agents lsp listshows capability count instead of actor-bound count as specifiedagents lsp showdoes not display which actors are bound to the server as specifiedagents lsp removedoes not terminate running LSP server processes as specified #3528agents lsp removedoes not terminate running LSP server processes as specifiedtextDocument/didChangenotification — file synchronization incomplete per spec #3530textDocument/didChangenotification — file synchronization incomplete per specLspLifecycleManager.restart_server()does not re-open tracked documents after restart as specified #3532LspLifecycleManager.restart_server()does not re-open tracked documents after restart as specifiedLspLifecycleManager.restart_server()does not re-open tracked documents after restart as specified #3532textDocument/didChangenotification — file synchronization incomplete per spec #3530agents lsp removedoes not terminate running LSP server processes as specified #3528agents lsp showdoes not display which actors are bound to the server as specified #3526agents lsp listshows capability count instead of actor-bound count as specified #3525