Releases: metric-space-ai/greppy
Release list
v0.2.1
greppy v0.2.1
Local code navigation for coding agents — a deterministic symbol graph,
native on-device semantic search, compact function briefings, and byte-exact
real-grep passthrough, in one native Rust binary. The models are embedded in
the binary; nothing about your code leaves the machine.
Measured result: no trade-off, across four models
Across four coding models spanning three providers — MiniMax-M3, GLM-5.2,
Qwen3.6-27B, and Kimi-K3 — pairing a coding agent with greppy strictly
dominates the lexical (grep + file-read) baseline on the cost–correctness
frontier: more tasks answered correctly at every tool-call budget
(+6 to +50 percentage points), and the lexical agent's best answer quality
reached at 37–80 % lower billed API cost. A 2×2 factorial isolates the
source — the structured tool surface, not prompt engineering, carries the
advantage.
📄 Paper: The Minimum Sufficient Code Context Problem — Complexity,
Discovery Overhead, and Approximation in Coding Agents (graph formulation of
MSCC, NP-completeness, lexical lower bounds, the no-trade-off theorem, and the
full four-model evidence) — docs/paper/mscc-greppy-paper.pdf.
Highlights
- 60+ bundled languages. Every language indexes symbols and answers
definition and text search; dozens — Rust, Python, Go, JavaScript,
TypeScript, Ruby, C++, C#, Kotlin, Swift, Elixir, and more — also resolve
caller / callee / usage / impact graph relations out of the box. Six
(Rust, Python, Java, JavaScript, TypeScript, Go) are graph-completeness
certified by real-repository acceptance tests. - On-device semantic search with an embedded EmbeddingGemma index, plus
one-line purpose hints written by a Qwen3.5-0.8B that greppy fine-tuned
in-house. Native Rust inference with vendored Metal/CUDA kernels — no
llama.cpp runtime, Python, HTTP, or model server. - Byte-exact
greppassthrough. Ordinary grep invocations run the real
systemgrepand forward stdout, stderr, and exit code unchanged. - Local and private. Code, the symbol graph, source spans, and embeddings
stay on device in a user-private cache. - Apache-2.0 source; the embedded models are hosted as public Hugging Face
repos (metricspace/embeddinggemma-300m-q4k,
metricspace/greppy-qwen35-mtp-q4km).
Install
Download the archive for your platform below — the models are baked in, nothing
else to fetch — or build from source:
./tools/fetch_model_assets.sh && cargo build --release --bin greppyProvenance
Signed and notarized; checksums and build provenance attested. See SECURITY.md.
Nano model model-qwen35-nano-20260719-1604
Automated nano checkpoint release. Gates: holdout {n: 30, format_valid: 29, empty: 1, format_valid_rate: 0.967, empty_rate: 0.033} | MTP 77.90%. Runtime asset Qwen3.5-0.8B-MTP-Q4_K_M.gguf is the stripped gguf (plain decode, latency-optimal); Qwen3.5-0.8B-MTP-full-Q4_K_M.gguf carries the co-trained MTP head as training/evidence lineage (sha256 2dec06656f211b2f0b030d85df545099d78eb1298b5f05aaca4065050298d4dd).
Nano model model-qwen35-nano-20260716-0749
Automated nano checkpoint release. Gates: v4-path from-base 355k | n100 0.97 | n300 0.973 (bf16 0.997) | MTP 79.49% | eval_loss 1.3393. Runtime asset Qwen3.5-0.8B-MTP-Q4_K_M.gguf is the stripped gguf (plain decode, latency-optimal); Qwen3.5-0.8B-MTP-full-Q4_K_M.gguf carries the co-trained MTP head as training/evidence lineage (sha256 9585849d4f2a376678204b0db3cef02d5cbd3fc63378647565d720255b2618c2).
Nano model model-qwen35-nano-20260714-2023
Automated nano checkpoint release. Gates: n30 1.00 | n100 promote pass | MTP 78.15% | eval_loss 1.4262
Embedded model assets v2
Build-input model assets, SHA-pinned by the repo (crates/cli/assets/MODEL_ASSETS.json + *.sha256 sidecars). Fetched at build time by tools/fetch_model_assets.sh — replaces Git-LFS hosting.
- Qwen3.5-0.8B-MTP-Q4_K_M.gguf: fp32-from-base nano checkpoint (frozen-holdout gates: 99% format-valid, 0 empty; MTP 78.2% brief-dist; eval loss 1.447)
- embeddinggemma-300M-Q4_K.gguf: unchanged from v0.1.x