jevcache
Single-binary local cache that memoizes Jev-class decisions on model, schema and redacted state, for cheap repeats and CI replay.
Overview
jevcache treats a Jev decision as an approximately pure function of model, schema and state, which makes it memoizable. It caches decisions locally so repeated questions are served without a new call, making repeats free and deterministic and enabling replay in CI to catch model drift. It is backend-agnostic: point it at a local decision endpoint, a hosted Jev provider or a mock; it never proxies or resells inference, and your key stays on your machine.
The store is embedded and zero-dependency (an in-memory map plus append-only log), so lookups are instant. State is redacted and canonicalised before hashing, so PII such as emails, phone numbers and long digit runs and volatile fields like ids and timestamps never enter the key; a per-schema salt can keep outsiders from enumerating decided states. The CLI offers decide (recall then backend on a miss), recall (local only), serve, replay and a demo. The Rust binary's fingerprint is byte-identical to the repository's TypeScript core. It installs as a 2 to 3 MB static binary with checksum verification; a listing notes no licence file at the time of writing.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Other | Caches any Jev-class decision keyed on (model, schema, redacted state) | — |
How it works
- Canonicalise and redact state, then hash with model and schema
- recall checks the local ledger
- decide falls back to the configured backend on a miss and caches
- replay published fixtures in CI to catch drift
Strengths
- Free, deterministic repeats
- PII excluded from cache keys
- Backend-agnostic; key stays local
- Tiny static binary
Caveats
- Decisions are only approximately pure; model updates change answers
- No licence file per listing
Getting started
curl -fsSL jevcache.sh/install | sh, then `jevcache demo`.At a glance
- Type
- Model
- Status
- beta
- Language
- Rust
- Runtime
- CLI / local server
- Has code
- yes
Use cases and integrations
How curated lists describe it
Cost control: memoizes Jev-class decisions so a repeated question is served from cache instead of a new call, keeping repeats deterministic and free.
yibie/awesome-jevA decision cache for TypeSafe Jev-class models — memoize decisions so repeats…
wh000wh000/awesome-jev-liveA decision cache for TypeSafe Jev-class models — memoize decisions so repeats are free, deterministic, and shareable. One 2 MB binary.
hellogumbo/awesome-jevLocal decision cache keyed on (model, schema, state), with redaction and canonicalisation before hashing, for cheaper repeats and deterministic replay in CI. No license file at the time of writing.
MrJev/awesome-jev
Frequently asked questions
Why can Jev decisions be cached?
They are approximately a pure function of model, schema and state.
Is personal data stored in keys?
No, state is redacted and canonicalised before hashing.
Does it proxy my API calls?
No, it never proxies or resells inference; your key stays local.
Related projects
Local Jev-compatible proxy that records an app's typed decisions, distils a head per decision site on Laya, and answers when confident.
ProxybetaPythonRecords the full distribution of every Jev answer by state, question and model, so thresholds can move over history with no new calls.
LibrarybetaPythonOpenAI-compatible chat cache proxy that asks Jev or a local System One model whether a new question has the same intent as a cached one.
ProxybetaTypeScriptC++20 library for typed routing, classification and scoring with compile-time enum schemas, local Laya and optional System One.
LibrarybetaC++Self-hosted Go gateway for LLMs and decision models that prunes context, and audits and calibrates Jev or open-rlcd decisions.
ServicebetaGo48-requirement spec and conformance suite for Jev-compatible servers, with a normalising proxy; shows confidence is not portable.
CLIbetaPython