doc/EVOLUTION: add LSP Go port to Phase 12

This commit is contained in:
Ollie Agent 2026-07-30 22:54:28 +02:00
parent 9f947e93ec
commit ebd994fe7e
1 changed files with 17 additions and 0 deletions

View File

@ -315,9 +315,26 @@ tools/
This decouples metadata from implementation language — compiled Go binaries,
Python scripts, and bash tools all use the same discovery mechanism.
### LSP tools ported to Go
The Python LSP bridge (`_lib/lsp/`) replaced with a pure Go implementation:
```
tools/
├── builtin/ ← in-process handlers (shell, reasoning, tool/skill registry)
└── lsp/ ← shared LSP client library
└── cmd/ ← individual binaries (lsp_definition, lsp_hover, ...)
```
Architecture: each LSP tool binary embeds a bridge daemon (started on first
invocation via `--bridge` flag, persists via Unix socket, auto-exits after 5min
idle). No Python. No `_lib`. No external dependencies beyond the LSP servers
themselves (gopls, clangd, intelephense).
### Repo reorganization
- `contrib/{prompts,scripts,services,tools,skills,agents}` → `data/`
- `contrib/elisp` stays (Emacs frontend contribution)
- `tools/builtin/` — built-in tool handlers (moved from `tools/`)
- `tools/lsp/` — Go LSP implementation (replaced `data/tools/_lib/lsp/`)
## Current Topology
```