Parent: #27
Depends on: #62
Planning status: provisional until the M9 gate is complete.
Goal
Define Wright-owned language-service contracts for documents, workspaces/projects, positions, symbols, diagnostics, and semantic queries before introducing LSP protocol types.
Scope
- Define document identity/version and project/workspace ownership over the existing compiler/session model.
- Define editor-neutral requests/results for language intelligence that reuse native frontend and semantic services.
- Define mapping between source positions/ranges and compiler source provenance.
- Define lifecycle for open/changed/closed documents without making the filesystem state ambiguous.
- Define capability boundaries between language-service core and protocol adapters.
- Reuse M9 source-edit/refactoring contracts where appropriate.
Non-goals
- Implementing LSP wire handling in core.
- Shipping editor extensions or UI.
- Duplicating compiler/project models solely for editors.
Acceptance criteria
- Core language-service operations can be expressed without importing LSP types.
- Document/workspace state has deterministic ownership and version semantics.
- Source/project resolution matches CLI/toolchain behavior rather than creating an editor-only interpretation.
- The model supports later diagnostics, navigation, completion, rename, and semantic-token work.
Parent: #27
Depends on: #62
Planning status: provisional until the M9 gate is complete.
Goal
Define Wright-owned language-service contracts for documents, workspaces/projects, positions, symbols, diagnostics, and semantic queries before introducing LSP protocol types.
Scope
Non-goals
Acceptance criteria