Skip to content

jevcache

Single-binary local cache that memoizes Jev-class decisions on model, schema and redacted state, for cheap repeats and CI replay.

Modelbeta

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

TypeQuestionAnswers
OtherCaches any Jev-class decision keyed on (model, schema, redacted state)—

How it works

  1. Canonicalise and redact state, then hash with model and schema
  2. recall checks the local ledger
  3. decide falls back to the configured backend on a miss and caches
  4. 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-jev
  • A decision cache for TypeSafe Jev-class models — memoize decisions so repeats…

    wh000wh000/awesome-jev-live
  • A decision cache for TypeSafe Jev-class models — memoize decisions so repeats are free, deterministic, and shareable. One 2 MB binary.

    hellogumbo/awesome-jev
  • Local 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.

    ProxybetaPython
  • Records the full distribution of every Jev answer by state, question and model, so thresholds can move over history with no new calls.

    LibrarybetaPython
  • OpenAI-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.

    ProxybetaTypeScript
  • C++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.

    ServicebetaGo
  • 48-requirement spec and conformance suite for Jev-compatible servers, with a normalising proxy; shows confidence is not portable.

    CLIbetaPython