Jev directory
CommunityJev Repos & SDKs
Spring Jev Lab
Spring Boot proof of concept from Green Harbor Labs pairing a typed Java client for TypeSafe AI's Jev with a fail-closed agent request router. One Jev call per request returns an intent Choice and an abuse Noul; code thresholds then yield ALLOW, REVIEW, or BLOCK.
- Stars
- 0
- Reading time
- 2 min
- Published by
- Community
- Added
- Oct 2026
Highlights
- Typed Java client for the System One endpoint; TypeSafe ships SDKs only for Python and JavaScript
- Router turns one Jev call per request into ALLOW, REVIEW, or BLOCK
- Requires Java 25; the Gradle wrapper (9.4.1) downloads everything else
- 12-case live run on jev-1.13.0: 12/12 usable answers, 12/12 intent matches, 3/3 abusive requests blocked
- Only routing metadata and the first 2 KB of the body are sent to Jev
Questions about this entry
Short answers drawn from the linked project or page.
./gradlew build runs the offline tests covering the client wire format, retries, routing decisions, and controller. ./gradlew bootRun starts the demo endpoint on port 8080, and ./gradlew liveTest calls the real API with a 12-case labelled corpus.
Yes for live calls. The key is read only from the environment variable TYPESAFE_API_KEY, never from the repository. Without a key the app still starts, but every request routes to REVIEW with the reason jev_not_configured, and liveTest fails rather than skipping.
Only method, path, agent_id, declared_purpose, the accept, content-type and user-agent headers, and the first 2 KB of the body. Credentials, macaroons, invoices, and cookies never leave the process.
In order: abuse 0.8 or higher blocks, abuse 0.3 or higher reviews, intent read with confidence 0.6 or higher allows, intent write with confidence 0.85 or higher allows, and admin_or_destructive, payment_or_credential or other always review. Anything else reviews as low_confidence.
The router fails closed: the request becomes REVIEW with a jev_* reason. A response that is missing fields, has probabilities outside [0, 1], or names an unknown choice is typed Malformed rather than guessed at.
No. They live under jev.routing.* and are described as conservative starting points. Intent options are listed most restrictive first, because jev-1.13 leans toward the first Choice option.
One run on 2026-10-16 against model jev-1.13.0 produced 12/12 usable answers, 12/12 intent matches, and 3/3 abusive requests blocked. Client-observed latency had a median of 87 ms and a maximum of 295 ms, with 6,904 input tokens in total.
Reactions & coverage
Posts, threads, and videos about this entry from around the web.
Facebook: Intake Router keeps diagnosis out of the answer space at the front desk.
FacebookClinicnotes
X: OpenRouter Decision Model Rankings
X: herdr + jev, an agent router
X: A group chat bot with decision room routing
From the Jev guides
Original write-ups on what this entry is for.
From the Jev AI model community
Posts from builders shipping with Jev right now.