Skip to content

ruling

Local Jev-compatible /v1/systemone server that reads typed answers from the logits of any MLX or OpenAI-compatible model, no training.

Librarybeta

Overview

ruling turns any open chat model into a decision engine like Jev. You send a state and typed questions (choice, score, noul; up to 64 per request with the state read once) and get a probability for every declared option; nothing is generated, so nothing needs parsing and the model cannot invent an answer. It serves POST /v1/systemone on Apple Silicon via MLX or in front of an OpenAI-compatible endpoint, and TypeSafe's official SDK works against it unchanged by pointing TYPESAFE_BASE_URL at it. It ships a playground, a CLI, a Python client and a zero-dependency TypeScript client.

Probabilities are read from logits with option-order averaging and temperature calibration bound to the exact model. On 256 public judgments carrying Jev's answers, the README reports a 19 GB untrained open model (Qwen3.6-35B-A3B 4-bit, about 204 ms) gets 231 right versus Jev's 238, not significant (McNemar p=0.21), and documents where Jev leads. A cascade sends questions below a confidence threshold to a secondary model such as a larger local model, Clef-flash, or hosted Jev. It is not affiliated with TypeSafe.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich team should handle this?billing · technical · sales
ScoreHow urgent is this?Can wait · This week · Today
Yes / noThe customer asks for a refund.—

How it works

  1. uv run ruling serve with a chosen RULING_MODEL
  2. POST state and questions to /v1/systemone
  3. Read option probabilities from logits with order averaging and calibration
  4. Cascade low-confidence questions to a secondary model if configured

Strengths

  • No training; works with any open chat model
  • Drop-in for the official TypeSafe SDK
  • Calibration and cascade for automation budgets
  • Close to Jev on its public replay per the README

Caveats

  • MLX path needs Apple Silicon
  • Large models needed for Jev-level accuracy
  • Not affiliated with TypeSafe

Getting started

uv sync && uv run ruling serve (downloads a 2.3 GB model, serves http://127.0.0.1:8010).

At a glance

Type
Library
Status
beta
Language
Python
Runtime
Local HTTP server (MLX or OpenAI-compatible backend)
Has code
yes

Use cases and integrations

How curated lists describe it

  • Local reproduction: Jev-compatible `POST /v1/systemone` server that reads typed `Choice`/`Score`/`Noul` answers from the logits of any MLX checkpoint or OpenAI-compatible endpoint with no training, works as a drop-in for the official SDK, and replays Jev's published answers on 256 public judgments (231 vs Jev's 238, McNemar p = 0.21).

    yibie/awesome-jev
  • Reproduction that serves Jev's `/v1/systemone` schema from a frozen MLX model or OpenAI-compatible endpoint by reading option probabilities from the logits, with option-order averaging, temperature calibration, and a harness that replays Jev's published answers on public judgments.

    cobanov/awesome-jev
  • Turns any open chat model into a local decision engine: a state and typed questions in, a probability for every option out, no text generated. Not affiliated with TypeSafe.

    MrJev/awesome-jev

Frequently asked questions

How close is ruling to Jev?

On 256 public judgments the README reports 231 correct versus Jev's 238, not a significant difference.

Can I use the official TypeSafe SDK with it?

Yes, set TYPESAFE_BASE_URL to the ruling server.

Does it need a TypeSafe key?

No, unless you configure hosted Jev as a cascade target.

Related projects

  • llama.cpp-based C++ server that turns any LLM into a System One decision model, reading answers from next-token logits.

    ProjectbetaC++
  • MLX library that turns an existing local model into a decision engine by reading candidate logits, with no fine-tuning, on Apple Silicon.

    ProjectprototypePython
  • Local server (xks) implementing Jev's /v1/systemone contract on an open-weight LLM, accelerated with Xeon Phi cards.

    ProjectresearchRust
  • Educational C11 library and CLI that turns DiffusionGemma 26B into a CPU-first OpenJev-style decision engine reading candidate logits.

    ProjectresearchC
  • Experimental engine that makes an existing LLM do Jev-like classification and scoring by reusing context and building JSON.

    ProjectresearchPython
  • Reads typed decisions from one forward pass of PrismML's 1.75-bit Bonsai 27B under llama.cpp, using the OpenJev/SemIf logit method.

    ProjectresearchPython