Most of this week went into two things: a genuinely useful new feature (compiling just the KB without re-running the full analyzer) and a bunch of unglamorous but necessary CI/build fixes that had been nagging at me. Here’s the breakdown.
Compile-only KB
If you’ve ever just wanted to check that your knowledge base compiles cleanly without kicking off a full analyzer run, that’s now possible:
- Added a new
-COMPILEKBflag to the nlp-engine that compiles the KB in isolation (NLP-ENGINE-462). - Wired that up in the VSCode extension with “Added compile only KB” (VSCODE-NLP-552), plus an earlier fix to the analyzer/KB compile flow (VSCODE-NLP-551) so the two paths — compile analyzer, compile KB — don’t step on each other.
- The extension now also pulls down the nlp-engine compile libs directly (VSCODE-NLP-550) instead of assuming they’re already present locally.
This came out of some real friction: KB compilation was tangled up with the full analyzer build, and iterating on a KB meant waiting on stuff you didn’t need. Now it’s a fast, separate step.
Windows build and asset pipeline
A good chunk of the week was spent hardening the Windows build and the release asset pipeline, which honestly needed it:
- Fixed the Windows build to correctly find and bundle the two libraries the build depends on, and moved diagnostic steps from bash
findto PowerShellGet-ChildItemso they actually work in the Windows runner shell. - Updated the ICU DLL versions and search path (we’d been chasing a mismatch between 74 and 78).
- Reworked the
move-assetsworkflow multiple times so it only fires once per tag/release, polls the right upstream artifact run, and doesn’t race withbuild-windows.yml. This one took a few passes — including reverting some changes Copilot’s agent made that broke the yml — before it settled. - Added nlp-engine libraries and header files to the release asset zip so downstream builds have what they need without hunting for them.
None of this is exciting to read about, but it means the release pipeline is now noticeably more reliable end to end — tag a release and the right binaries and headers actually show up where they’re supposed to.
Releases
- vscode-nlp v3.0.5 — compiles the analyzer and KB.
- vscode-nlp v3.1.0 — adds the compile-KB-only flow described above.
Both propagated automatically through the nlp-engine-windows, nlp-engine-linux, and nlp-engine-mac companion repos, which picked up v3.0.2 through v3.1.0 as the pipeline stabilized over the week (you’ll see a string of “update to latest release” bot commits — that’s the automation doing its job).
Next
With the KB compile flow in place and the CI pipeline behaving, I want to get back to conceptual grammar work and push more real-world NLP++ examples through the new compile-only path to make sure it holds up under actual load, not just test cases.