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.