Skip to content

v0.9.4

Choose a tag to compare

@stawils stawils released this 08 Jun 00:16

What's New

πŸ”§ cg-owned llama.cpp server stack (decouples from LM Studio)

coding-guardrails now ships its own llama.cpp build, so every user
runs the same reproducible inference stack β€” no LM Studio, no manual flag
guessing. The pin (afcda09d1, build 9284) is chosen to include critical
fixes, notably the Gemma 4 tool-call grammar fix (llama.cpp #21680)
that older bundled binaries lack.

coding-guardrails server build                                  # one-time
coding-guardrails server download gemma-4-26B-A4B-it-qat-UD-Q4_K_XL
coding-guardrails server start --model gemma-4-26B-A4B-it-qat-UD-Q4_K_XL
coding-guardrails server status

All artifacts live under ~/.local/share/coding-guardrails/ (XDG-aware). See docs/server.md.

πŸ› Delegation reliability fix (root cause)

Subagents through the proxy previously hit a failure where the model
reported a write "done" but the file was unchanged β€” and retried in a
loop. Root cause was not pi or our config: it was a llama.cpp Gemma 4
bug that corrupted complex/nested JSON tool-call arguments (a path
value cut at a brace inside code). The cg-owned build includes the fix.

πŸ› Proxy: max_tokens 8192 β†’ 16384

The default output cap was calibrated for the 9B and was too small for
verbose models (Gemma 4 26B) writing multi-KB files: truncated JSON args
failed validation, the agent retried, same cap truncated again β†’ loop.
16384 fits typical file writes + JSON overhead. pi can still override
per-request.

πŸ”„ Model registry decoupled

The registry now searches cg's own cache first; LM Studio and
HuggingFace caches are read-only fallbacks. A clean cg user never needs
LM Studio.

πŸ§ͺ 24 new tests (390 β†’ 414)

Full coverage of the new server/ module β€” paths, version pinning, build
clone/configure flow, launcher lifecycle (start/stop/status/double-start),
registry decoupling (cg-cache-wins + fallback), argv assembly, and source
mapping.

Full Changelog

v0.9.3...v0.9.4