Skip to content

Siftr

Four read-only MCP tools that rank files, cut a file down to the relevant part and pick from long lists, measured on a frozen SWE-bench Lite split.

Stars
7
Language
Python
License
MIT
Published by
Community
Author
Bentlybro
Last verified
Oct 2026

About this project

Find the right code without reading the whole codebase. siftr gives AI coding agents (and you) four read-only tools that answer "where is it?" and "which part matters?" in about a second, for about a cent — so agents spend their tokens on the work, not on searching. Measured on SWE-bench Lite — 300 real GitHub issues from 12 Python projects, where we know which file and lines the real fix changed. Numbers are from a frozen test split of 202 issues that siftr was never tuned on.

Quoted from the project's README. Read the full README.

Highlights

  • search puts the right file in the top 5 for 82% of issues, against 52% for BM25 and 22% for grep, on 202 issues it was never tuned on.
  • read keeps 92% of edited lines while cutting 59% of the file, where a simple cut-off keeps 67% and cuts 75%.
  • A few dozen parallel requests replace checking files one at a time, and an unanswered request after 2s gets a duplicate with the first finisher winning.
  • siftr only suggests: read lists every section it omitted, filter leaves the full output on disk, and a wrong answer costs a read.

Watch out

The 300-issue benchmark was cut to a frozen 202-issue split, and filter lost to grep on the only labelled log dataset available, so it is marked experimental rather than claimed. The README's own advice is that if you already know the exact words, grep is instant and free. Each call sends file paths, definition names and relevant snippets to OpenRouter, which routes them to TypeSafe, so it is not usable on code you cannot send to a third-party API. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

7GitHub stars
Python client and decision toolkit for the Jev System One endpoint with noul, choice, and score primitives, batched asks, composition helpers, concurrent evaluation, and an MCP server.
Jev Practices & Patterns#community#jevbest#catalog-import
3GitHub stars
Mock carrier support agent with the guardrail layer built twice behind one interface: chat-model JSON judging versus TypeSafe Jev typed questions over the same 25 rules.
Jev Practices & Patterns#community#awesomejev#catalog-import
4GitHub stars
Python library and CLI that moves bulk semantic judgments — ticket triage, stale-file tagging, bug or question routing — out of the agent's context into typed Jev questions, with a measured comparison against an in-context control.
Jev Practices & Patterns#community#awesomejev#catalog-import
Runs Jev as an LLM router over two public benchmarks, with a no-Jev ablation and RouterArena's own scorer so the numbers sit next to the public leaderboard.
Jev Practices & Patterns#community#jevbest#catalog-import
1GitHub stars
Runnable benchmark putting Jev, jev-preview and Claude Sonnet 5 through one real agent task — classifying a tool call as readonly, destructive, privileged or exfiltration — on the same 60 labelled cases, with raw per-call results committed.
Jev Practices & Patterns#community#awesomejev#catalog-import
1GitHub stars
jev-filter is a CLI that filters tool output before it reaches your agent and, since 0.3, drives web pages and desktop apps too. Jev picks the next operation and its target among controls the program enumerates itself; the program re-checks and executes, and irreversible steps stop for confirmation.
Jev Practices & Patterns#community#awesomejev#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

Most Jev accuracy problems are state problems. What belongs in a state, what is a pre-made judgment to leave out, and why naming the slice you ask about matters more than the wording.
Jev Practices & Patterns#state#design#primitives
Read article
A Noul returns one number and no separate confidence. How to read the value, pin its boundary with criteria, split compound questions, and set a per-action threshold that matches the cost of being wrong.
Jev Practices & Patterns#noul#primitives#confidence
Read article
A Score is a weighted position, not a ruler. Why the number can land between levels, why levels are judged separately, and how to combine several atomic scores in code instead of one crowded rubric.
Jev Practices & Patterns#score#primitives#scoring
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai