Skip to content

CodeDB 0.2.5854 — retrieval accuracy update

Latest

Choose a tag to compare

@justrach justrach released this 05 Sep 05:42
· 5 commits to main since this release

CodeDB 0.2.5854

Quick update

CodeDB 0.2.5854 is the latest maintenance release, carrying forward the retrieval improvements introduced in 0.2.5853. Recent work focused on getting the right implementation, definition, or test file closer to the top of default hybrid search.

The completed evaluation suite covers 128 questions across six repositories and five languages. The final hill-climbing candidate placed the correct file first for 113/128 questions and within the first five results for 127/128. These are results from small, pinned file-retrieval fixtures; the details and limits are below.

Update with codedb update. These ranking changes require no configuration change or index rebuild. macOS ARM64 and Intel downloads are Developer ID signed and Apple notarized; Linux ARM64/x86_64 and Windows x86_64 downloads are also available.

What improved

  • Stronger semantic matches retain their influence. Revised lexical/semantic rank fusion reduces cases where a strong semantic result loses to weaker matches appearing in both result lists.
  • Explicit definition lookups prioritize unique definitions. A unique exact code definition can move ahead of neighboring files when the request is for that definition.
  • Implementation requests favor implementation files. Tests remain eligible, with a soft preference for the requested kind of file.
  • Test-finding requests favor tests. Intent handling recognizes explicit requests for tests while avoiding accidental matches in words such as “latest” and production questions about test runners or test discovery.
  • Caller and usage questions preserve reference results. Requests about calls, consumers, or references do not force a definition ahead of the sites the user is trying to find.

The architecture stays familiar: default hybrid retrieval combines hosted Jina embeddings with the local OpenPuffer mmap index. Vector-space calibration, the 4× ANN candidate pool, and hosted exact fallback remain in place. No local embedding model is introduced.

The hill-climbing work

1. Improve fusion and definition ranking

The first round diagnosed strong semantic matches being flattened during rank fusion. Small native experiments adjusted fusion, added unique-definition priority, and introduced an implementation preference.

On OpenClaw, the original baseline returned the correct file first for 26/32 questions. The first round's selected candidate reached 31/32, with all 32 correct files in the top five. A frozen Express holdout improved top-five coverage from 15/16 to 16/16, but first-result accuracy stayed at 8/16, identifying the next problem to work on.

2. Improve implementation ranking across repositories

The next round strengthened the implementation preference and adjusted semantic weighting. Express first-result accuracy rose from 8/16 to 12/16. This accepted a measured tradeoff: OpenClaw moved from the intermediate candidate's 31/32 to 30/32, still above the original 26/32 baseline.

A fresh Flask holdout retained 19/20 correct-first results and 20/20 top-five coverage, while improving ordering within the top five. The selected policy improved the combined development results rather than maximizing one repository's score.

3. Expand coverage and refine test intent

The suite expanded with Go, Rust, and additional Python fixtures from Chi, Anyhow, and Requests. Explicit test intent improved Anyhow from 16/20 to 18/20 correct-first results. The other five repositories retained their first-result scores; this round recorded no per-question ranking or recall regressions.

Requests was held back until the candidate was frozen. It retained 17/20 correct-first results while NDCG@5, a measure of result ordering, improved from 0.9315 to 0.9381. Final intent guards also cover polite test requests, production test infrastructure, and caller/usage phrasing.

Final hill-climbing results

Repository Language Correct file first Correct file in top five
OpenClaw TypeScript 30/32 32/32
Express JavaScript 12/16 16/16
Flask Python 19/20 20/20
Chi Go 17/20 19/20
Anyhow Rust 18/20 20/20
Requests Python 17/20 20/20
Total Five languages 113/128 127/128

The rounds use different baselines, as described above. A Chi gold-label correction is documented separately and is not counted as a code improvement. Fifteen first-result misses and one Chi top-five miss remain visible in the failure catalog.

Evaluation and release validation

Candidates were compiled and compared through live hosted inference against pinned corpora, with recorded binary and dataset hashes. The final test-intent round used 632 comparison calls with no live-path failures. Repeated calls check consistency; they are not additional independent questions. Candidates were frozen before fresh repository validation, and all six repositories are now observed regression data for future work.

These measurements assess file retrieval, not answer quality or universal production accuracy. They do not establish a speed improvement. Full unit testing and 76/76 MCP end-to-end checks passed for the release, along with the GitHub benchmark gates.

For the experiment history and reproduction instructions, see fusion experiments, implementation ranking, expanded evaluation and test intent, and the evaluation guide.

Upgrade and downloads

codedb update
codedb --version

Download the asset for your platform below. SHA-256 checksums accompany all five binaries. Both macOS architectures are Developer ID signed and Apple notarized.

This is a GitHub-only release; no npm package is published for this version.