Community · E2 · artifact verified
Filter streams of text with typed batch judgments
jevpipe pipes thousands of lines, files or records through one question and gets a typed judgment per item - grep-style filtering where Jev decides - shipped as a Rust binary on PyPI with an agent skill that teaches coding agents when to reach for it.
01 · Role in the system
What Jev does here
Any stream becomes a judged stream: git log --format=%s | jevpipe filter "Is this a new feature?" asks the question once per line, and each answer comes back as a typed Choice or Noul over the systemone wire protocol rather than free text to parse. Judgments run in parallel over thousands of items with costs reported at the end; the README's own example classifies all 19 commits of a ripgrep release in one command. Distribution is built for agents: install via uv, pipx or npx skills add, so a coding agent can decide at scale over files, commits or records instead of reading everything itself. Calls route through the operator's chosen systemone-compatible gateway (OpenRouter by default, base-url overridable).
02 · Control boundary
Where Jev sits
Jev as a stream filter in shell pipelines: one typed question mapped over thousands of items in parallel, structured answers instead of parsed text, and an agent skill so coding agents invoke it where a human would grep.
Code owns the loop, permissions, thresholds, validation, and side effects. Jev owns only the bounded judgments described above.
03 · Known limits
What this evidence does not prove
- Default routing goes through OpenRouter's gateway, not api.typesafe.ai directly; base-url must be overridden for the native endpoint.
- Judgment quality is bounded by the single question asked per item; no multi-step reasoning.
- Young project (0 stars at review time); benchmarked only by its own examples.
04 · Attribution
Public sources
This is a Community record: the project was published by a third-party community author.
- fabianboth ↗Community · github · public · checked 2026-09-28