Community · E2 · artifact verified
Run typed judgments as eleven shell commands
A CLI named jev turns Jev's typed questions into pipable commands - verify, screen, classify, extract, find, rerank, match, route, ask, compact, batch - with keychain auth and exit codes a script can gate on.
01 · Role in the system
What Jev does here
Every command compiles its input through the official @typesafe-ai/sdk question builders - verify asks choice questions over claims and evidence, screen and rerank ask noul, match and compact ask score - and posts one request to TypeSafe's systemOne endpoint. Answers come back as probabilities, never generated text, and the CLI reduces them to what a caller needs: a rendered table, an exit code (a contradicted claim exits 2), a single value behind --pluck, or --json for machines. batch runs any command over many rows with a concurrency pool, and --dry-run prints exactly what would be sent without calling the API.
One binary, the whole question palette
The eleven judgment commands each name one question family - does this evidence support each claim, is this text trying to hijack an agent, which label fits, which span is the value I want, which candidate answers the query, how relevant is each result on its own, do these records describe the same thing, which handler takes this request - and ask is the escape hatch for any yes/no, pick-one, or rated question the reader writes. The mapping is legible in the source: each command file imports its builders from the official SDK by name, so the shape of every question Jev receives can be read without leaving the repo.
Probabilities in, exit codes out
The unit of integration is the process exit code. verify exits 2 when a claim is contradicted, screen flags prompt injection, and a pipeline can gate on either without parsing anything; --pluck prints one value while keeping the codes, and --format renders md, csv, tsv, or jsonl for the cases that do want text. Commands read stdin, so git log or a CSV of claims can flow straight through, and batch wraps any of them over many rows with a concurrency pool and per-row output.
The key lives in the keychain, the request in plain sight
jev auth login stores the TypeSafe key in the OS keychain at a hidden prompt instead of the shell environment, though the environment variable remains for CI. --dry-run shows the exact request a command would send, which is also the honest demo mode: the shape of the judgment is inspectable before any money is spent. Direct TypeSafe is the default transport, with OpenRouter Decisions and Cloudflare Workers AI as documented alternates that the source itself describes as extra hops with different model slugs.
02 · Control boundary
Where Jev sits
Shell input becomes typed questions via the official SDK's choice, noul, and score builders; one systemOne call returns probabilities that deterministic CLI code reduces to tables, exit codes, and JSON.
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
- The tool returns probabilities over fixed answers and never generates text, so free-form summaries and rewrites are outside what it can do.
- Exit-code gating only protects callers that check exit codes; a script that ignores them gets the same stdout either way.
- The proxy transports add hops and pin their own model slugs; direct TypeSafe is the default because the alternates trade fidelity for convenience.
- Commands judge the text they are given: verify says what evidence supports, not what is true in the world.
04 · Attribution
Public sources
This is a Community record: the project was published by a third-party community author.
- Nasrallah-AL ↗Community · github · public · checked 2026-09-20
- Nasr Shaer ↗Community · demo · public · checked 2026-09-20