jevbus
Rust streaming event bus whose routing is decided by Jev, one question per subscription, with deliver, review or drop thresholds.
Overview
jevbus is a streaming event bus whose routing, subscription and consumption are decided by a probabilistic judge, with TypeSafe's Jev as the reference judge. Each event triggers one request with one question per subscription, where a subscription is a plain-language description with examples and a policy. Thresholds map each probability to drop, review or deliver (with review no higher than deliver), and a competition policy chooses between fan-out, where many subscribers may match, and exclusive, where only the argmax gets the event. Thresholds are policy rather than model, so changing them never needs a new judgment.
The design separates a pure routing core (planning questions from subscriptions and deciding verdicts from answers, replayable from recorded answer sets) from boundaries: Judge and Ledger traits, and consumers as bounded futures streams so a slow consumer applies backpressure back to the input. Jev's request and response protocol is a trait with an HTTPS implementation as the only network code, so gateways or compatible models can be substituted. A ledger records every outcome including drops, and reviewers can receive events in a review band. It is Apache-2.0 licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this event match subscription X's description? | — |
How it works
- Event arrives on the stream
- One Jev request with a question per subscription
- Thresholds map probabilities to drop, review or deliver (fan-out or exclusive)
- Deliver to subscriber streams with backpressure; ledger records all outcomes
Strengths
- Pure, replayable routing core
- Thresholds changeable without re-judging
- Backpressure and full ledger including drops
- Pluggable judge implementation
Caveats
- One model call per event adds latency to routing
- Library-level project; no deployment tooling described
At a glance
- Type
- Project
- Status
- beta
- Language
- Rust
- Runtime
- Library (async streams)
- Has code
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
A streaming event bus whose routing, subscription and consumption are decided by a probabilistic judge. The reference judge is TypeSafe AI's Jev (System One) model: send it a payload and a set of typed questions, get back calibrated probabilities instead of prose.
logicrw/awesome-jev-projectsA streaming event bus whose routing, subscription and consumption are decided by a probabilistic judge. The reference judge is TypeSafe AI's Jev (System One) model: send it a payload and a set of typed questions, get back calibrated probabilities instead of prose.
hellogumbo/awesome-jev
Frequently asked questions
How are events routed?
Jev answers one question per subscription, and thresholds map each probability to drop, review or deliver.
Can one event go to several subscribers?
Yes under the fan-out policy; exclusive sends it only to the best match.
Can I replay routing decisions?
Yes, the core is pure and replayable from recorded answer sets.
Related projects
Apache NiFi processor that routes FlowFiles yes, no, review or failure based on a Jev yes/no question and a confidence band.
ProjectbetaJavaLoopfour Studio features rebuilt with Jev: code finds candidates, Jev picks with confidence, code assembles verbatim results.
ProjectprototypeTypeScriptmacOS bookkeeping clerk booking supplier invoices: Jev picks each click from a closed list; a deep model rewrites the playbook.
ServiceprototypePythonChinese-language Zotero AI reading assistant that uses Jev judgments to classify papers in your library.
LibraryproductionJavaScriptSelf-hosted Stacks blockchain data service whose Slack gate and fault-triage paths reportedly run on Jev decisions.
ServiceproductionTypeScriptPrivacy-first personal knowledge management system, listed as integrating Jev for document classification and tag routing.
PluginproductionTypeScript