Skip to main content

judgevet

Typed client, CLI and MCP server for TypeSafe's Jev (System One) judgment model.

What is verified

This library is on PyPI and usable: pip install judgevet. This section says how much of it has been checked against the real service, because the answer is "most, not all" and you should know which parts before you rely on them.

The response shape is verified. The error surface is partly verified. Everything else is still inferred from documentation.

A live-marked test passes against the real API, and three probe calls on 2026-09-21 settled what had been guesswork:

  • The success shape parses field for field — including the parts easiest to get wrong. A noul answer carries no confidence while choice and score do; score is continuous, not an index; legend is a map keyed by stringified position. The real probabilities summed to exactly 1.0, the choice appeared in its own map, and the score sat inside its legend, so the domain's invariants do not reject real data.
  • model in a response is the resolved version. Sending jev-latest returned jev-1.13.0.
  • detail on an error is polymorphic: an object for authentication errors, an array for validation errors. Documentation did not say so, and code that assumes either shape breaks on the other.

Still inferred, and marked as such in STATUS.md: the 429 and 529 bodies — one needs abusing the service, the other cannot be provoked — every model other than jev-1.13.0, and any field no call has exercised.

The repository marks README.md and docs/reference/api.md as draft rather than stable under its own documentation trust levels — one model and two error statuses is not the whole surface. That is a statement about documentation coverage, not about whether the package works.

What Jev is

Jev is not a chat model and not a coding model. You send it a piece of state and a set of typed questions, and it returns one answer per question with a calibrated probability:

question answer
Noul yes/no, with a probability
Choice one option from a set you defined, with per-option probabilities
Score a position on a scale you defined, with a legend

Typed answers let code branch, sort and route without parsing prose.

Why this client exists

The official TypeSafe Python SDK provides synchronous and asynchronous clients.

judgevet combines a typed library with two inbound adapters, CLI and MCP, over one contract-tested core. The library is the artifact: scripts, hooks and CI can call it directly. STATUS.md separates verified claims from inferences.

domain/              question and answer types, calibrated probabilities  — pure
ports/               protocols the domain calls out through
adapters/outbound/   HTTP to the Jev API
adapters/inbound/    cli.py   — scripts, hooks, CI
                     mcp.py   — agents

import-linter enforces that map, and keeps the optional MCP runtime out of everything but its own adapter.

Use

uv sync
uv run judgevet --help

The MCP server is an optional extra, so the library and CLI install without an MCP runtime:

uv sync --extra mcp

Gates

uv run ruff check . && uv run ruff format --check .
uv run ty check
uv run lint-imports
uv run docvet check
uv run pytest -q --cov

Coverage floor is 90%. live-marked tests touch the real API and are excluded by default.

Sister projects

Shares the toolchain and hex layout used by automarket, vramfit and docvet.

Release files for judgevet 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for judgevet 0.3.0
File Size Uploaded
judgevet-0.3.0.tar.gz 30.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for judgevet 0.3.0
File Interpreter ABI Platform
judgevet-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 69.3 kB

Release files / judgevet-0.3.0.tar.gz

Download URL judgevet-0.3.0.tar.gz
Size 30.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4e76b15f11a98dba1cc994bee208a5d7220b6c3d07f143b8d480a4453b97e0c3
BLAKE2b-256 checksum
How to use checksums
832e087d18a171a4a8b3901fe4e558f3752d358d28aae7718e7d3c6759d19eea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / judgevet-0.3.0-py3-none-any.whl

Download URL judgevet-0.3.0-py3-none-any.whl
Size 38.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71e37956ef451c682cbd22b8ed0a61a58da7317c5e7526ecdeae77b91779aefd
BLAKE2b-256 checksum
How to use checksums
bb20645db6240fd12829449a0d0c5b7757d98d7d5b5a7142ad1c88a2c7653d88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page