Documentation: docs/
ruling turns any open chat model into a decision engine like TypeSafe's Jev. You send a state (text, JSON or images) and typed questions; you get back a probability for every option you declared, or the edges of what a box question asked it to find in an image. Nothing else is generated, so there is nothing to parse and the model cannot invent an answer you did not list. It runs on your own machine, serves TypeSafe's API so their client works against it unchanged, images and all, and learns from the outcomes of the decisions it serves.
On the 256 public judgments that carry Jev's own answers, a 19 GB open model with no training gets 231 right to Jev's 238, not a significant difference (exact McNemar, p = 0.21); the results also say where Jev is ahead. Not affiliated with TypeSafe AI.
The usual starting points: Getting started, Choosing models, Fine-tuning, and the Reference for every setting, command and API route. The index is at docs/README.md.
You need an Apple Silicon Mac and Python 3.12+.
pip install ruling # or: uv tool install ruling; add [vision] to ask about images
ruling serve # downloads a 2.3 GB model on first start, then serves http://127.0.0.1:8010Open http://127.0.0.1:8010/ for the playground. To work on ruling itself,
clone the repository and uv sync; see Development.
On NVIDIA, see vLLM. Before relying on an
answer, read the limits.
ask takes a question in plain words. The model first reads it as typed questions about the input (is it answerable, a yes or no, a pick, a how much, a how likely?), writes the options a pick needs, judges them, and checks its own answer; every reading is shown under the answer.
decide is the API itself: a state, typed questions as JSON, a model picker, and each answer's probabilities as bars.
- Results and the full measurements, with the command behind every number.
- How it works: one prefix, many suffixes, and reading logits instead of sampling.
- Design notes and Background: what Jev is, why ruling is built the way it is, the other open recreations, and the papers behind the calibration.
MIT. ruling is an independent project with no connection to TypeSafe AI; "Jev"
and "System One" are their names, used here to say what this reproduces. The
authored144 and perturbations108 datasets and the WANLI row selection are
converted from TheoLeeCJ/openjev under MIT, with their copyright notice in
THIRD_PARTY.md. WANLI is CC-BY-4.0 and SST-5 keeps its own
terms; neither is committed here. Model weights keep their own licenses.


