The Philosophical Developer — Chapter 2.5: The LSP Insight

2026-07-01 · 2 min read

Steering note — the moment the methodology shifted.

After the weather-cli experiment, I had a problem. The padawan’s discipline was good. But I noticed something in the trace: every cycle had a “compile then debug” phase. He would write code, hit compile, see an error, fix it, compile again. Each compile was seconds lost.

The insight came while I was watching VS Code. Red squiggles in the editor. LSP catching the error before the file was saved. I thought: that is what the padawan needs. Not a compile loop. An editor loop.

LSP stands for Language Server Protocol. Every IDE uses it to provide real-time diagnostics. When you type a wrong type in VS Code, the red underline appears instantly, not after you compile. The editor is running LSP in the background, checking your changes as you make them.

I went to my padawan and said: “Change the cycle. RED → LSP check → Run test → GREEN → LSP check → Run test → REFACTOR → LSP check. Do not let the compiler be the first error detector. LSP should catch it before you hit compile.”

This is the steering dial at “Guided.” I knew the outcome I wanted (faster cycles). I knew the mechanism (LSP as a guardrail). But I did not know the implementation details. The padawan had to figure out how to integrate LSP into the tooling loop.

He built it into the Hermes agent-lsp integration. Every code change triggers a diagnostic check before the test runner. If LSP reports an error, the padawan fixes it before rustc ever sees the file.

The result was Chapter 03 — mini-clap built in ten clean cycles with 86% coverage. The LSP tether caught recursive types, missing derives, and method errors at write speed instead of compile speed.

One insight changed the entire pipeline. Not because I wrote code. Because I saw a pattern in one context and recognized where it applied in another.

That is the part AI cannot do. Yet.

Repos:

  • mini-clap — the project that validated the LSP tether