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.4.1

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.4.1
File Size Uploaded
judgevet-0.4.1.tar.gz 31.6 kB Details

Built distribution (wheel)

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

Total release size: 70.6 kB

Release files / judgevet-0.4.1.tar.gz

Download URL judgevet-0.4.1.tar.gz
Size 31.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3aced27ca3fb5caa0edb8aa5946db9b1daa54409f65a0f654f30514bed2deb7f
BLAKE2b-256 checksum
How to use checksums
40594129256047826a27c64525506f586a0623752f4e9930ce577a3cb4108ce5
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.4.1-py3-none-any.whl

Download URL judgevet-0.4.1-py3-none-any.whl
Size 39.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5c59808917975fef7f79f2598ce02c5314e3d453149345d56528e159b3445c5
BLAKE2b-256 checksum
How to use checksums
64596866ffd9594418ab96887648396c455e7939d44accf0d53006cc038a7f6d
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

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.0

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