feat(resource): add LSP resource types (executable, lsp-server, lsp-workspace, lsp-document) #832

Closed
opened 2026-03-13 20:15:53 +00:00 by freemo · 0 comments
Owner

Metadata

  • Commit Message: feat(resource): add LSP resource types
  • Branch: feature/lsp-resource-types
  • Type: Feature
  • Priority: Medium
  • MoSCoW: Should have
  • Points: 5
  • Milestone: v3.6.0

Background and Context

The specification defines 4 LSP-related resource types that enable the resource DAG to model language tooling infrastructure. None of these exist in the current codebase:

  • executable — Represents a system executable (language runtime, compiler, LSP server binary)
  • lsp-server — Represents a running or configured LSP server instance
  • lsp-workspace — Represents the workspace scope an LSP server operates on
  • lsp-document — Represents a document being tracked by an LSP server

These types bridge the resource system with the LSP runtime, allowing actors to discover available language tooling and the LSP system to know which resources it operates on.

Acceptance Criteria

  • YAML resource type definitions for executable, lsp-server, lsp-workspace, lsp-document under examples/resource-types/
  • Each type has correct parent/child relationships (lsp-workspace is child of lsp-server, lsp-document is child of lsp-workspace)
  • Auto-discovery rules detect executables on PATH, LSP server configs, workspace roots
  • Bootstrap registration includes all 4 types
  • Integration with LSP runtime: lsp-server resources auto-start corresponding LSP servers

Definition of Done

This issue is complete when:

  • All subtasks below are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly.
  • 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.

Subtasks

  • Create YAML resource type definitions for executable, lsp-server, lsp-workspace, lsp-document
  • Define parent/child relationships and inheritance hierarchy
  • Implement auto-discovery rules for executables and LSP configs
  • Register all types in bootstrap
  • Wire lsp-server resources to LSP runtime auto-start
  • Tests (Behave): Add scenarios for LSP resource type registration and discovery
  • Tests (Robot): Add integration test for LSP resource type hierarchy
  • Verify coverage >=97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors
## Metadata - **Commit Message**: `feat(resource): add LSP resource types` - **Branch**: `feature/lsp-resource-types` - **Type**: Feature - **Priority**: Medium - **MoSCoW**: Should have - **Points**: 5 - **Milestone**: v3.6.0 ## Background and Context The specification defines 4 LSP-related resource types that enable the resource DAG to model language tooling infrastructure. None of these exist in the current codebase: - `executable` — Represents a system executable (language runtime, compiler, LSP server binary) - `lsp-server` — Represents a running or configured LSP server instance - `lsp-workspace` — Represents the workspace scope an LSP server operates on - `lsp-document` — Represents a document being tracked by an LSP server These types bridge the resource system with the LSP runtime, allowing actors to discover available language tooling and the LSP system to know which resources it operates on. ## Acceptance Criteria - [x] YAML resource type definitions for executable, lsp-server, lsp-workspace, lsp-document under `examples/resource-types/` - [x] Each type has correct parent/child relationships (lsp-workspace is child of lsp-server, lsp-document is child of lsp-workspace) - [x] Auto-discovery rules detect executables on PATH, LSP server configs, workspace roots - [x] Bootstrap registration includes all 4 types - [ ] Integration with LSP runtime: lsp-server resources auto-start corresponding LSP servers ## Definition of Done This issue is complete when: - All subtasks below are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly. - 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. ## Subtasks - [x] Create YAML resource type definitions for executable, lsp-server, lsp-workspace, lsp-document - [x] Define parent/child relationships and inheritance hierarchy - [x] Implement auto-discovery rules for executables and LSP configs - [x] Register all types in bootstrap - [ ] Wire lsp-server resources to LSP runtime auto-start - [x] Tests (Behave): Add scenarios for LSP resource type registration and discovery - [x] Tests (Robot): Add integration test for LSP resource type hierarchy - [ ] Verify coverage >=97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors
freemo added this to the v3.6.0 milestone 2026-03-13 20:20:03 +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#832
No description provided.