Research & Benchmarks · Apr 10 → Nov 4, 2026

Measured outcomes across 14 Apple Silicon releases.

Every benchmark, failure mode, and speed trade-off measured on Apple Silicon—from our first falsified v0.0 lossy-buffer test (April 10, 2026) and the retracted v0.2 erratum (May 11, 2026) through v4.9 18-repo post-Sept-2026 held-out PR localization, 5-language Universal Ctags symbol audits, 99.5 ms warm search, 50-file uncommitted edit sync, and active CLAUDE.md / AGENTS.md rule attachment.

Operating-Modes Summary Scorecard — Active-Control Day-0 Cold Benchmarks (360 Upstream PRs) & Internal Warm Workflows Measured on Apple M1 Max (32 GB Unified Memory, 400 GB/s). Row 1 leads with our pre-registered Day-0 cold benchmark across 180 real merged upstream GitHub bug-fix PRs against ripgrep active control and sense 1.14.2 embedding control (0 s setup wait); Row 2 reports the warm dev-set check; Rows 3–4 add post-Sept-2026 held-out PRs (Set 3 + Set 5 across 18 new repos) and 5-language Universal Ctags symbol audits; Rows 5–8 report warm-indexed and zero-GPU workflows.
Operating Mode Developer Workflow & Measured Metric localctx PrimaryCompact E4B (4.24 GB) or 0 MB GPU localctx SecondaryZero-GPU search, 26B-A4B, or p50 Active / External Controlripgrep, Universal Ctags, sense, or cloud Report
Active-Control Day-0 Cold Day-0 bug search vs. ripgrep active control (180 upstream GitHub PRs: 120 frozen + 60 unseen, 0 s setup wait, v4.7)↑ higher is better · right file on first try 46.7% (ask E4B)0 s setup · 881 tok/q (7.8× vs. rg) 44.4% (search, 0 GPU)0.42 s p50 · 67.0% top-5 multi-file ripgrep: 33.9% (6,876 tok/q)0.07 s p50 · sense 1.14.2: 38.3% (477.2 s index; 42.2% vague bugs) v4.6 held-out →
Warm Dev-Set Internal warm-cache Q&A check (basecamp/fizzy, 1,017 files, 43 self-authored dev-set tasks)↑ higher is better · file & line citation accuracy 42 / 43 (97.7%)E4B warm index (self-authored) 43 / 43 (100.0%)26B-A4B warm index (self-authored) Cloud grep baseline5–8 full-file grep rounds v4.6 report →
Held-Out 18 Repos Post-Sept-2026 unseen PR localization (Set 3 n = 90 + Set 5 n = 90 across 18 new repos, 0 s setup, v4.9)↑ higher is better · first-try & top-3 file match 53.3% Set 3 (ask E4B)37.8% Set 3 search · 0 s setup 38.9% Set 5 (search, 0 GPU)65.6% Set 5 top-3 · 99.5 ms warm p50 ripgrep: 23.3% (Set 3) · 28.9% (Set 5)53.3% Set 5 top-3 · wins mastodon 40% & rubocop 30% vs. search v4.9 report →
Zero-GPU Operation 5-language Universal Ctags symbol audit & warm search (Rust, Go, Python, TS, Ruby · v4.9)↑ higher is better · independent symbol recall & precision 300 / 300 defs (100.0%)99.6% precision (249 / 250 verified) 200 / 200 refs (100.0%)65.5 ms warm CLI flag query p50 Universal Ctags ground truth500 independent targets across 10 repos v4.9 report →
Warm Indexed Claude tokens saved on real coding tasks (20/20 live agent tasks)↓ lower is better · cloud input tokens −76.7% fewer tokens113,173 billed cloud input tok 2.83× faster (p50)6.02 s median task completion 484,681 tok · 17.01 s p50Cloud grep-and-read baseline v2.0 report →
Warm Indexed Warm local answer speed (16/16 cross-file probes)↓ lower is better · p50 response time 1.39 s< 2.0 s across 16 / 16 probes 1,612.9 ms meanRuby, Rust, Go & TypeScript 4,855.1 msCold CLI process startup v3.0 report →
Zero-GPU Operation Keeping CLAUDE.md & AGENTS.md rules active at Turn 30 (Gate M-CONVENTION)↑ higher is better · rule adherence 22 / 22 (100.0%)0.84 ms warm p50 · 0 MB GPU 0 / 8 false matches77.9 mean tokens · 5/5 broken paths caught 5 / 22 (22.7%)Unpinned Turn-30 cloud session v4.6 rules →
Warm Indexed Speed with 50 uncommitted local file edits (0 Python)↓ lower is better · warm answer time E4B: not measured on Gate 7128 / 128 exact output match vs. reference 4.30 s p50 (26B-A4B)16.28× faster · 0.00000 output diff 69.95 sv4.5 full-partition rebuild v4.6 report →
Release Progression Matrix — 14 measured releases across 16 standalone benchmark reports (April 10 – November 4, 2026) All measurements captured on Apple M1 Max (32 GB Unified Memory, 400 GB/s). Terracotta cells mark passing release milestones; warm-stone cells mark falsified or retracted negative-control milestones (v0.0–v0.2 and v4.4 cold vague-bug test).
Release Date Primary Architectural Hypothesis Tested Headline Measured OutcomePrimary gate or falsification Report
v4.9 Nov 4, 2026 18-repo post-Sept-2026 held-out PR search (Set 3 + Set 5), 5-language Universal Ctags symbol audit, Agent-Audit 50 & warm search cache↑ higher is better · unseen-repo file match & symbol recall · 300/300 defs & 200/200 refs vs. Ctags (99.6% precision); 99.5 ms warm Set 5 search p50 (0 divergences); all per-repo losses disclosed 53.3% Set 3 (ask) · 65.6% Set 5 top-3 (0 GPU) · 100% Ctags recall v4.9 report →
v4.6 Oct 12–31, 2026 Zero-Python native Apple Silicon runtime, speed with 50 uncommitted file edits, 120-PR cold bug search & active project rules↑ higher is better · full-repo Q&A & rule adherence · 128/128 exact output match (0.00000 diff); 20 sub-65 ms zero-GPU code/Rails tools; 22/22 CLAUDE.md/AGENTS.md rule match 43/43 (26B) · 4.30 s 26B 50-edit sync (16.28×) v4.6 report →
v4.5 Sep 25, 2026 12-language compiled syntax parser, cross-file symbol graph & full-repo (7.85 GiB) warm 26B-A4B index↑ higher is better · multi-file & 10-language accuracy · Replaces regex cross-file matching; exposes 69.95 s 50-uncommitted-edit rebuild delay fixed in v4.6 20/20 multi-file · 21/21 10-repo · 42/43 (97.7%) 26B v4.5 report →
v4.4 Sep 10, 2026 Zero-setup Day-0 onboarding across 10 languages & warm E4B vs. unindexed cold 26B-A4B test↑ higher is better · vague bug report accuracy · 16/16 Rails view→JS→Ruby on cold 26B, but vague bug reports (no symbol names) drop 80% → 30% without a warm index 20/21 Day-0 (95.2%) · Cold 26B vague bugs: 30% (warm E4B 80%) v4.4 report →
v4.3 Aug 26, 2026 Indexing all 1,017 basecamp/fizzy files (567,912 tok), 4-agent parallel load & 50-query battery soak↓ lower is better · thermal speed drift · 9/10 exact ±3 line hits in 60.6K slices; regex 3-file hops stall at 7/20 (35.0%) before 12-language parser +0.1% thermal drift · 90% deep line hit · 35% regex hop limit v4.3 report →
v4.2 Aug 11, 2026 Scanning 32 repo partitions in 17.75 ms, top-1..5 slice routing & compact E4B vs. large 26B-A4B↑ higher is better · multi-file Q&A accuracy · 6 deterministic line-citation checks across 1.81M tokens; 87.5% overall / 85.7% multi-file Fizzy on 26B 44.4% → 88.9% multi-file accuracy (2.0×) v4.2 report →
v4.0 Jul 24, 2026 Splitting large repos into 64K disk partitions vs. a single giant 256K buffer across 1.81M tokens↓ lower is better · warm answer time · 3.29× faster index build (572.2 tok/s); 25.52 ms zero-copy native disk attach; 4.2 GB active GPU RAM 2.04 s vs. 11.02 s warm Q&A (5.41× faster) v4.0 report →
v3.0 Jul 9, 2026 Always-warm Unix-socket background daemon, 18 µs RAM snapshot reset & 15-step Metal speed tuning↓ lower is better · p50 & mean response time · 27.7× fewer tokens sent to Claude across Ruby, Rust, Go, and TypeScript repos (16/16 under 2.0 s) 1.39 s p50 · 1,612.9 ms mean (2.68× faster than cold CLI) v3.0 report →
v2.0 Jun 24, 2026 Paired 20-task live Claude coding loop on basecamp/fizzy, 25.5 ms disk reload & low-RAM 4-bit indexing↓ lower is better · cloud input tokens & task time · −38.5% indexing GPU RAM (0.000000 output diff); 113,173 vs. 484,681 billed cloud tokens at 20/20 accuracy −76.7% Claude tokens · 2.83× faster task p50 (6.02 s) v2.0 report →
v1.1 Jun 9, 2026 150-question multi-step Q&A vs. top-6 vector RAG, LongBench-v2 & 2.5 ms uncommitted git edit tracking↑ higher is better · multi-step & live-edit accuracy · 30/30 uncommitted git edits (0% stale); 49/50 basecamp/fizzy localization (43.4× fewer tokens) +14.0 pts vs. vector RAG · 30/30 git edits · −92.0% tokens v1.1 report →
v1.0 May 26, 2026 High-precision 4-bit Apple Metal context engine (8K–256K) & persistent disk caches across multi-size Gemma 4 checkpoints↑ higher is better · 256K generation tok/s · 4×–64× lower numerical drift vs. stock MLX; 16/16 parity on E4B & 26B-A4B configs; 654.1 ms 256K disk reload 3.16× faster 256K speed (17.42 tok/s) · 16/16 model parity v1.0 report →
v0.2 May 11, 2026 Dropping older 4-bit/2-bit context blocks across 2K–128K files (S1) and 15 multi-file prompts (S2)↑ higher is better · long-file fact recall · May 2026 audit caught chunk-eviction bug starving 768/1,024 positions (Defects F1–F3); v0.2 retracted RETRACTED (Erratum: Defects F1–F3 · 2-bit 1/7 recall) v0.2 erratum →
v0.1 Apr 24, 2026 Compressed GPU span scoring vs. zero-GPU keyword search on live Gemma 4 26B-A4B code questions↑ higher is better · right span on first try · 5/5 synthetic vector tests fell to 3/5 on real prompts from common-word noise; CPU keyword control won FALSIFIED: zero-GPU keyword control won (20/20 vs. 19/20) v0.1 report →
v0.0 Apr 10, 2026 Constant-memory lossy rolling GPU buffer on planted-fact lookup across 64 to 256 steps↑ higher is better · planted-fact recall · GPU safety checks passed (9/9), but older tokens faded within 3 updates; exact window control won FALSIFIED: exact cache won (1.000 vs. 0.0148 lossy buffer) v0.0 report →

18-Repo Held-Out PR Search, 5-Language Universal Ctags Symbol Audit & 99.5 ms Warm Search

Post-Sept-2026 held-out evaluation across 18 unseen open-source repositories (Set 3 n = 90 + Set 5 n = 90, 0 s Day-0 setup wait): 53.3% first-try file match on localctx ask and 37.8% on localctx search vs. 23.3% ripgrep on Set 3; 38.9% search vs. 28.9% ripgrep (65.6% vs. 53.3% top-3) on Set 5; 300/300 symbol definitions and 200/200 references recalled against Universal Ctags across Rust, Go, Python, TypeScript, and Ruby (99.6% precision); 99.5 ms warm search median (65.5 ms CLI flags); and full per-repository loss disclosures.

53.3% Set 3 first-try file match (vs. 23.3% rg) 65.6% Set 5 top-3 file match (0 GPU, vs. 53.3% rg) 300 / 300 5-language symbol def recall (99.6% precision) 99.5 ms Warm Set 5 search median (65.5 ms CLI flags)
Read full benchmark report →

Finding the Right Buggy File Across 120 Unseen GitHub PRs Right After git clone

Pre-registered Day-0 cold benchmark on 120 real merged bug-fix pull requests across axum, discourse, rails, cloudflared, next.js, and fastapi—comparing zero-setup localctx v4.6 (0 s wait) against sense 1.14.2 (477.2 s index wait), ripgrep, and an 8k structural repo map on right file on first try, multi-file bug coverage (top 3), exact buggy function & lines hit, and tokens sent to Claude per question.

40.8% Right file on first try (0 s setup wait) 50.0% Discourse first-try file hit (vs. 20% rg) 26.4× Fewer tokens sent to Claude vs. ripgrep 0 MB Day-0 disk cache (vs. 205.8 MB sense)
Read full benchmark report →

Keeping CLAUDE.md, AGENTS.md & .mdc Rules Active at Turn 30 Without Rewriting Files

Why Turn-0 project rules get buried as agent context fills up, and how localctx v4.6 attaches matching rules from your existing CLAUDE.md, AGENTS.md, and .cursor/rules/*.mdc files in 0.84 ms warm p50 (77.9 mean tokens, 0 MB GPU, 0/8 false matches) while flagging broken file paths inside rule docs.

22 / 22 Active rules matched at edit site (100%) 0 / 8 False rule matches on unrelated files 38.3× Fewer rule tokens across a 20-call session 5 / 5 Broken rule file paths caught (0 false alarms)
Read full benchmark report →

Dropping Python for Native Apple Silicon Metal: Speed With 50 Uncommitted File Edits & Sub-65 ms Code Tools

Replacing the Python MLX worker with a native Apple Silicon Metal runtime with 128/128 exact output match vs. reference (0.00000 max logit difference), trimming 0.98–1.14 GB of unused vision and audio weights, cutting answer time with 50 uncommitted file edits to 4.30 s p50 on 26B-A4B (16.28× faster than v4.5; E4B not measured on Gate 7), adding 1.73 s/question batch mode, and shipping 20 sub-65 ms zero-GPU code navigation tools.

128 / 128 Exact output match vs. reference (0.00000 diff) 4.30 s p50 Speed with 50 uncommitted edits (26B, 16.28×) 1.73 s / q 10-question warm --batch speed (26B) 0.27–47.7 ms 20 zero-GPU structural & Rails MCP tools
Read full benchmark report →

12-Language Syntax Parser, Cross-File Symbol Graph & Full-Repo 26B-A4B Warm Index

Replacing regex symbol matching with a compiled 12-language syntax parser, cross-file symbol graph ranking, and Rails view-to-Stimulus-to-controller linking lifts multi-file trace accuracy from 35.0% (v4.3) to 100.0% (20/20) and 10-language Day-0 accuracy to 21/21 (100.0%). Pre-indexing all 567,912 basecamp/fizzy tokens on 26B-A4B reaches 42/43 (97.7%) vs. 40/43 (93.0%, −79.80% Claude input tokens) on E4B.

20 / 20 · 21 / 21 Multi-file trace & 10-language Day-0 accuracy 42 / 43 (97.7%) 26B-A4B full-repo Q&A (9/10 vague bugs) −79.80% Fewer tokens sent to Claude on E4B (40/43) 69.95 s 50-uncommitted-file stall fixed in v4.6
Read full benchmark report →

Zero-Wait Onboarding Across 10 Languages & Why Vague Bug Reports Need a Warm Index

Evaluating Day-0 cold answers across 10 unfamiliar repositories with zero setup wait (20/21 = 95.2% cross-file facts in 11.34 s mean vs. a 38-minute cold index build), sub-0.45 s refusal on deleted uncommitted code (5/5), and a controlled test showing unindexed 26B-A4B hits 16/16 (100%) on Rails view-to-JS-to-controller flows yet drops from 80.0% (warm E4B) to 30.0% on vague bug reports with no symbol names.

20 / 21 Day-0 10-language Q&A (95.2%, 0 s setup) 80% vs. 30% Vague bug reports: warm E4B vs. cold 26B 16 / 16 Rails view→JS→controller trace on 26B (100%) 5 / 5 Deleted-code refusal (0.36–0.42 s mean)
Read full benchmark report →

Indexing All 1,017 Files of basecamp/fizzy: Parallel Agent Calls, 16 GB RAM & Unplugged Thermal Soak

Stress-testing localctx v4.3 across all 1,017 files (567,912 tokens) of basecamp/fizzy on an unplugged MacBook Pro—measuring uncommitted git diffs, deep-file line accuracy, 4 simultaneous agent requests, 16 GB RAM caps, and a 50-question thermal run, plus why regex cross-file linking stalled at 35.0% (7/20) before our 12-language syntax parser.

567,912 tok All 1,017 basecamp/fizzy files indexed 90.0% Exact ±3 line hit deep inside 60K-token slices +0.1% Speed drift across 50 back-to-back queries 35.0% Regex 3-file trace limit (7/20, fixed in v4.5)
Read full benchmark report →

Doubling Multi-File Accuracy Across 1.81M Tokens & Comparing Compact E4B vs. Large 26B-A4B

Scanning 32 index partitions in 17.75 ms and pulling the top 1–5 relevant code slices doubled multi-file Q&A accuracy from 44.4% to 88.9% across 1.81M tokens, paired with six line-citation checks and our first head-to-head test of compact Gemma 4 E4B (4.24 GB) vs. Gemma 4 26B-A4B (14.47 GB) on basecamp/fizzy.

44.4% → 88.9% Multi-file Q&A accuracy across 1.81M tokens 17.75 ms Scan speed across 32 repo partitions 87.5% / 85.7% 26B-A4B overall & multi-file Fizzy accuracy 1.91× · 3.47× Faster index build & lower RAM on E4B
Read full benchmark report →

Scaling Past 256K Tokens on a 32 GB Mac: 64K Index Partitions Across 1.81M Repo Tokens

Why a single giant 256K context buffer bogs down a 32 GB Mac, and how splitting large codebases into 64K-token disk partitions delivers 3.29× faster indexing (572.2 tok/s), 25.52 ms direct disk attach, and 5.41× faster warm answers (2.04 s vs. 11.02 s) across 1.81M tokens while using 4.2 GB of active GPU RAM.

3.29× Faster index build vs. giant 256K buffer 25.52 ms Zero-copy disk partition attach (8.42× faster) 5.41× Faster warm answers (2.04 s vs. 11.02 s) 1.81M tok Indexed across 32 partitions in 4.2 GB GPU RAM
Read full benchmark report →

Cutting Local Answer Time Under 2 Seconds: Always-Warm Background Daemon Across Ruby, Rust, Go & TS

Step-by-step latency breakdown from 4.86 s down to 1.39 s p50 (1.61 s mean across 16/16 cross-file questions)—keeping the model warm over a local Unix socket, cloning memory snapshots in 18 µs, and cutting tokens sent to Claude by 27.7× across Ruby, Rust, Go, and TypeScript repositories.

1.39 s p50 Warm answer speed (16/16 under 2.0 s) 2.68× Faster than cold CLI startup (4.86 s → 1.81 s) 18 µs In-memory cache snapshot reset per query 27.7× Fewer tokens sent to Claude (16/16 pass)
Read full benchmark report →

76.7% Fewer Claude Input Tokens & 2.83× Faster Coding Tasks Across 20 Live Runs on basecamp/fizzy

Paired 20-task live coding agent benchmark on basecamp/fizzy showing localctx cuts billed cloud input tokens by 76.7% (113,173 vs. 484,681) and finishes tasks 2.83× faster at the median (6.02 s vs. 17.01 s) with 20/20 accuracy—backed by 25.5 ms direct NVMe cache loading and 38.5% lower indexing GPU RAM (0.000000 output drift).

−76.7% Claude input tokens across 20 live tasks 2.83× Faster median task completion (6.02 s vs. 17.01 s) 25.5 ms Direct NVMe cache reload from disk 0.000000 Output drift with −38.5% indexing GPU RAM
Read full benchmark report →

Beating Chunked Vector RAG by +14 Points on Multi-Step Q&A & Tracking Live Git Edits in 2.5 ms

Testing localctx v1.1 across five real-world suites on Apple M1 Max (32 GB): +14.0 to +15.4 percentage points higher accuracy than top-6 vector embedding RAG on 150 multi-step questions, +15.0 points on LongBench-v2 (36.7% vs. 21.7%), 30/30 accuracy on uncommitted git file edits in 2.5 ms (0.0% stale), and 49/50 (98.0%, 43.4× fewer cloud tokens) on basecamp/fizzy.

+14.0 pts Higher multi-step Q&A accuracy vs. vector RAG 30 / 30 Uncommitted git edit accuracy (2.5 ms, 0% stale) 49 / 50 basecamp/fizzy file & line accuracy (43.4× fewer tok) −92.0% Cloud input tokens on 20 multi-file tasks
Read full benchmark report →

3.16× Faster 256K Context Generation on Apple Metal With 4-Bit Persistent Repo Caches

After retiring lossy v0.0–v0.2 cache compression, localctx v1.0 introduced a high-precision 4-bit Apple Metal attention engine on M1 Max (32 GB): 4×–64× lower numerical drift than stock MLX quantized attention, 16/16 exact parity across multi-size Gemma 4 checkpoints (compact E4B and workstation 26B-A4B), 3.16× faster generation at 256K context (17.42 vs. 5.51 tok/s in 15.52 GB), and sub-second disk cache reload.

3.16× Faster 256K generation (17.42 vs. 5.51 tok/s) 4×–64× Lower numerical drift vs. stock MLX 4-bit 16 / 16 Exact parity across Gemma 4 E4B & 26B-A4B configs 654.1 ms 256K repo cache reload from disk (1.69 GiB)
Read full benchmark report →

v0.2 Engineering Erratum: Why Dropping Context Blocks Broke Long-File Accuracy (Defects F1–F3)

Post-run audit of localctx v0.2 across 2K–128K context sweeps (4-bit 5/7, 2-bit 1/7 recall) and 15 multi-file prompts—documenting the indexing bug (Defect F1) that starved 768 of 1,024 token positions per chunk, raw-log discrepancies (F2, F3), why we retracted v0.2, and how it led to v1.0's non-evicting 4-bit cache.

Defects F1–F3 Audit bugs uncovered (v0.2 retracted) 5 / 7 vs. 1 / 7 2K–128K recall: 4-bit vs. 2-bit compression 768 / 1,024 Chunk positions starved by eviction bug (F1) 15 / 15 3-window test run invalidated by Defect F1
Read full benchmark report →

Why Plain Keyword Search Beat Compressed GPU Span Scoring on Live Gemma 4 26B Prompts

Four-stage Apple Metal test of a compressed GPU span index—showing why 5/5 synthetic vector recall dropped to 3/5 (60.0%) on real Gemma 4 26B-A4B code questions due to common-word noise, and why zero-GPU keyword search (20/20, 0 MB GPU) beat rarity-weighted GPU span scoring (19/20 at 16.1 GB RAM).

5 / 5 → 3 / 5 Synthetic vectors (100%) vs. real prompts (60%) 20 / 20 Zero-GPU keyword search control (100%) 19 / 20 Weighted GPU span index (95% @ 16.1 GB RAM) 0 MB vs. 16.1 GB CPU keyword search vs. GPU span RAM cost
Read full benchmark report →

Why Fixed-Size Lossy Memory Buffers Forget Facts Past 64 Steps (0.0148 vs. 1.000 Recall)

Before building localctx's exact memory-mapped repository cache, we tested whether a fixed-size Apple Metal rolling state buffer could compress long files in constant memory across 64 to 256 steps. Low-level GPU stability checks passed (9/9), but older code facts decayed below machine precision within a few updates—dropping planted-fact recall to random chance (0.0148 at 64 steps vs. 1.0000 with an exact cache) and ruling out lossy rolling compression.

0.0148 vs. 1.000 64-step fact recall (lossy buffer vs. exact) < 3 updates Usable memory span before older tokens fade 9 / 9 PASS Low-level GPU numerical safety checks FALSIFIED Closed lossy rolling buffers in favor of exact cache
Read full benchmark report →