JEV Client Packages

Python Rust TypeScript schema-bounded MIT

Three thin clients for the JEV (TypeSafe System One) decision model. All wrap the same endpoint at https://ai-writings.pages.dev/api/jev/decide. Each is 50-200 lines, uses only standard library, ships to public registries.

Python — jev-decide

pip install jev-decide

from jev_decide import Jev
jev = Jev()
r = jev.noul("is this valid?", "yes if non-empty")
print(r["answers"]["q"]["choice"])  # 'yes'

Source: /packages/jev-decide/ · PyPI

Rust — jev-core

cargo add jev-core

use jev_core::{JevRequest, Question};

let req = JevRequest::new("test state")
    .add("q1", Question::noul("is valid?", "yes if non-empty"));

Source: /packages/jev-core/ · crates.io

JavaScript — jev-client

npm install jev-client

import { JevClient } from 'jev-client';
const jev = new JevClient();
const r = await jev.decide({
  state: 'test',
  questions: { q: { type: 'noul', question: 'is valid?', instructions: 'yes' } }
});

Source: /packages/jev-client/ · NPM

Install from GitHub

# Python
pip install git+https://github.com/SuperInstance/AI-Writings.git#subdirectory=packages/jev-decide

# Rust (in Cargo.toml)
[dependencies]
jev-core = { git = "https://github.com/SuperInstance/AI-Writings", subdirectory = "packages/jev-core" }

# JavaScript
npm install git+https://github.com/SuperInstance/AI-Writings.git#subdirectory=packages/jev-client

What JEV is

JEV is a decision-only model, not a chatbot. It returns typed probabilistic decisions inside your schema:

Schema-bounded by construction — cannot hallucinate outside your schema. Trained with RLCD (Reinforcement Learning for Calibrated Decisions), not RLHF/RLVR. $0.042/MTok input, output free, 70-500ms latency.

Publishing workflow

Each package has a GitHub Actions workflow that publishes on tag push:

The PyPI workflow uses GitHub Trusted Publishing (OIDC). The crates.io + NPM workflows use direct API tokens.

Substrate is now addressable from Python, Rust, and JavaScript. Three clients, one schema, one substrate.