OpenJev 0.2 / Adaptive by design

Less generation.
More decision.

Turn uncertain inputs into typed decisions.
Keep the rules in code. Let models handle
the judgment.

$python -m pip install -e .

From a cloned checkout · Python 3.10+

DECISION TRACE / 001
application_state
OpenJevChoice<team>
TYPED OUTPUT✓ normalized
billing
0.92
technical
0.05
sales
0.03
↳ your code decides what happens next
ILLUSTRATIVE OUTPUT · NOT A BENCHMARK
01 Open source · MIT02 Local-first routing03 Provider-independent04 Policy stays in code

SMALL PRIMITIVES. USEFUL ANSWERS.

A type for every judgment.

Skip the paragraph.
Get an answer your code can use.

Illustrative values. Actual results depend on the provider and your input.

THE ADAPTIVE RUNTIME

Local first.
Stronger when needed.

Check known facts before calling a model.
Route uncertainty through an explicit policy.

Explore the runtime ↗
01 — GATE

Rules before inference.

Required tests failed? Stop here.
No model gets to overrule a hard fact.

deterministic check
02 — EVALUATE

Start with a local model.

Ask a narrow, typed question.
Inspect confidence and calibration.

fast typed decision
03 — ROUTE

Escalate the uncertainty.

Use a configured stronger provider
only when the routing policy needs it.

explicit fallback

BUILT FOR THE CODE YOU ALREADY WRITE

A question in.
A decision out.

Define the possible answers. Bring a provider.
Use the result in your own workflow.

  • Strict request validation
  • Normalized probabilities
  • Provider-independent decision API
  • Optional local Laya and Laya-MLX backends
Get up and running ↗
decision.py
from openjev import Choice, OpenJev
from openjev.providers import LayaProvider

engine = OpenJev(LayaProvider())
result = engine.evaluate(
    state={"message": "I was charged twice."},
    questions={
        "team": Choice(
            instructions="Which team should handle this?",
            criteria={
                "billing": "Payments and refunds",
                "technical": "Bugs and outages",
                "sales": "Pricing and purchasing",
            },
        )
    },
)
print(result.model_dump_json(indent=2))

MAKE THE ROUTE VISIBLE

What happens when
confidence drops?

Move the threshold. Change the scenario.
See which branch the policy takes.

Open the playground ↗

confidence 0.48 < threshold 0.60

localescalate ↗

A deterministic illustration. No API key or model call.

BUILD WITH EVIDENCE

Control you can inspect.

A FEW THINGS TO KNOW

Clear boundaries. Open code.

Is OpenJev a new foundation model?

No. Version 0.2 is a decision runtime that composes existing providers, deterministic gates and routing policies. A first-party trained model is a conditional future direction.

Does every decision call a hosted API?

No. Failed deterministic gates stop before inference. Local providers are optional, and remote fallback calls happen only when you configure a remote provider and the route requires it.

Is this affiliated with TypeSafe AI or Jev?

No. OpenJev is independently implemented and is not affiliated with or endorsed by TypeSafe AI. It does not include their proprietary model, weights or private implementation.

Can I use it in my own agent?

Yes. The core project is MIT licensed. Optional model packages and their weights have their own license terms. Start with the installation guide and measure behavior on your workload.

OPEN SOURCE. EXPLICIT CONTROL.

Give judgment a type.