- LSPWorkspaceIndex: track open docs, URI→{languageId,content,version}
- LSPDiagnosticsAggregator: merge diagnostics from multiple LSP sources per URI
- LSPCompletionMerger: merge+deduplicate completion items from multiple sources
- LSPOrchestrator: top-level coordinator composing all three + proxy + cross-lang resolver
- Sprint277IntegrationSummary: poly-api (Go+TypeScript) end-to-end integration
26/26 tests passing (5+5+5+5+6). All new headers ≤600 lines.
LoRA recorded: sprint277-2026-03-01 (1 call, 569 tokens).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# Sprint 277: LSP Advanced Orchestration (Steps 1913–1917)
|
||
|
||
## Goal
|
||
Build the workspace-level LSP infrastructure that sits above the LSP proxy:
|
||
document tracking, diagnostics aggregation, completion merging, and a top-level
|
||
orchestrator that ties them together.
|
||
|
||
## Steps
|
||
|
||
| Step | File | What |
|
||
|------|------|------|
|
||
| 1913 | `LSPWorkspaceIndex.h` | Track open documents: URI → {languageId, content, version}. open/update/close/query. |
|
||
| 1914 | `LSPDiagnosticsAggregator.h` | Collect Diagnostic records from multiple language server sources; merge by URI. |
|
||
| 1915 | `LSPCompletionMerger.h` | Collect CompletionItem lists from multiple sources; deduplicate by label. |
|
||
| 1916 | `LSPOrchestrator.h` | Top-level coordinator: workspace index + definition routing + diagnostics + completions. |
|
||
| 1917 | Sprint 277 integration | poly-api (Go+TS): open docs, aggregate diagnostics, merge completions, goto-def via orchestrator. |
|
||
|
||
## Dependencies
|
||
- Builds on: `LSPProxyServer.h`, `LanguageServerRouter.h`, `CrossLanguageDefinitionResolver.h`
|
||
- `LSPOrchestrator` owns/composes: `LSPWorkspaceIndex`, `LSPDiagnosticsAggregator`, `LSPCompletionMerger`
|
||
|
||
## Acceptance Criteria
|
||
- All 5 step tests pass (5 tests each)
|
||
- `file_limits_test` passes (all headers ≤ 600 lines)
|
||
- Integration: poly-api project routes Go→TS completion + diagnostics through orchestrator
|