# TASK: LSP stack in docker, wired into crush (MOPAC dev env) ## Objective Language servers containerized + wired into crush config so agent/human Go dev on MOPAC gets diagnostics. Home: /home/reachableceo/projects/meta/MOPAC/lsp/ (wrappers + compose + README). ## Deliverables 1. Containers (compose file, isolated network, no host mounts beyond workspace): - gopls (Go toolchain image; the critical one for MOPAC/harness) - dockerfile-language-server (node-based: sanctioned exception, containerized) - marksman (markdown; Go binary) - yaml-language-server + bash-language-server (node-based: same exception) 2. Wrapper scripts per KNEL-AIMiddleware lsp-*wrapper.sh pattern (see ../siblings/KNEL-AIMiddleware/lsp-bash-wrapper.sh) adapted to MOPAC/lsp/. 3. Crush wiring: add servers to crush config (study how crush declares LSP: reference/crush docs/code) for gopls at minimum; others best-effort. 4. Verify: open/edit a .go file in a MOPAC project via a headless crush turn -> diagnostics actually flow (capture proof in REPORT). 5. REPORT to inbox-pmo: what runs, ports, how crush is wired, node-exception list (for supply-chain ledger), failures if any. ## Constraints No secrets involved. Reuse golang official images, pin digests. If crush LSP config needs per-project setup, document exactly where. Do not touch live screens. Node-based servers stay containerized and unpinned-to-host.