Skip to content

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 06 Jun 15:49

v0.10.0 — C# · automatic model onboarding · Windows

Three headline additions — plus a measurement correction that's the most important thing in this release.

Highlights

  • 🪟 Windows binaries. ken and ken-mcp now ship for Windows (amd64 + arm64) alongside macOS and Linux — pure-Go single static binaries, .zip archives.
  • ⬇️ ken-mcp auto-fetches the embedding model on first run. A fresh ken-mcp with no model now downloads it in the background (~60 MB, pure-Go, no Python) and upgrades to hybrid automatically — new installs land on the high-recall path with zero setup. KEN_MCP_AUTO_FETCH=0 to opt out. (ADR-037)
  • #️⃣ C# is the 13th language. gotreesitter v0.20.2 bounded the namespace-recovery recursion that used to OOM ken's indexer on real C#, so .cs files now get full structural extraction + Arm B enrichment.

The measurement correction (read this one)

Auditing recall for 1.0, we found the widely-quoted "82–91% recall@10" was the BM25-only fallback — the mode ken runs in when no embedding model is installed. The shipped default (hybrid) mode measures ~97% recall@10 (0.967 NL / 0.995 symbol on semble's 1,251-query benchmark), at ~46× fewer agent tokens than grep+Read (4,120 vs 189,773 median on NL queries).

That reframes the product story: ken isn't "82% and hope" — it's near-grep recall at 1–2 orders of magnitude lower token cost, if you're on hybrid. Which is exactly why auto-fetch is in this release — the only users on the 82% path were the ones who hadn't installed the model, and now that's automatic. Every number is backed by a reproducible decomposition harness (internal/search/recall_decomp_test.go), and the README / benchmark docs were corrected throughout.

Also in this release

  • Phase 0 structural call-graph substrate — per-call-site records + span fields on every symbol; groundwork for resolved function-level callers / impact (no tool-surface change yet).
  • Crash fix — a guard against a gotreesitter stack overflow on oversized (64 KiB+) table-driven files that could take down ken index.
  • Docs overhaul — README trimmed 711 → 184 lines with the recall headline up front; working docs moved to docs/internal/; a new docs/db-indexing.md.

Install

go install github.com/townsendmerino/ken/cmd/ken@v0.10.0
go install github.com/townsendmerino/ken/cmd/ken-mcp@v0.10.0

Or grab a pre-built binary below — .tar.gz for macOS/Linux, .zip for Windows (amd64/arm64). Point your agent at ken-mcp; it fetches the embedding model on first run.

Full notes: CHANGELOG.md · compare v0.9.1...v0.10.0