Policy-aware decisions with Jev
Policy-aware decisions mean you keep hard constraints deterministic and you use Jev for language-y gray zones. Jev is TypeSafe’s first public System One model: unstructured state in, typed probabilistic decisions out. It is not a rules engine replacement and not a certified policy product.
This page is for builders who already heard of Jev / System One and want a production-minded mental model. jev.pro is an independent unofficial field guide — not affiliated with TypeSafe AI. Confirm facts on docs.typesafe.ai. We do not sell keys.
Definition
A policy-aware Jev integration splits the world into three owners. Code owns entitlements, velocity caps, and allowlists. Jev owns snap judgments about language: implied refund request, citation support, whether a sentence is a threat. Code again owns the floor: confidence below a number you chose means hold, not “the model allowed it.”
A 200 with high confidence is not a policy pass by itself. Schema-safe ≠ correct. “Can’t hallucinate” in vendor copy means the answer stayed inside Choice / Score / Noul — not that the transfer is legal.
Mental model: three columns
| Kind | Owner | Example |
|---|---|---|
| Hard rule | Code | User not entitled; velocity cap exceeded |
| Language judgment | Jev | Implied refund request; citation support |
| Floor | Code | Confidence < 0.85 → hold transfer |
Encode domain language in instructions/criteria. Compute block | review | allow after answers. Log which clause fired.
jev-1.13 is not hardened against adversarial state by default. Pair with allowlists. Keep arithmetic in code — the model is weak at numeric precision and extra indirection (jaggedness).
How to put policy in state without dumping a PDF
Jev accepts text only. English is primary. All questions in one POST see the same state. Unused text still bills as input and, on 1.13, unused detail hurts accuracy.
Extract the clauses that matter in code. Put those strings in a named object field. Point questions at backtick paths. Do not paste a 40-page PDF and hope. There is no documented policy HTTP endpoint — same POST /v1/systemone. A “policy block” status code is yours (often 403), not a TypeSafe 529.
Compose, do not outsource the verdict
Ask atomic questions: one snap per question. Example: “Does the message request a refund?” (Noul), “Does the extracted clause allow a refund for this reason?” (Noul or Choice), “How severe is the complaint?” (Score). Combine with entitlement checks you already run.
When the written policy changes, change the extracted clause or the criteria text — not a giant prompt that also tries to be the rules engine. Pin jev-1.13.0 if you fitted floors. Deterministic schema is not bit-identical floats; see deterministic outputs.
Vendor-published speed and price (label them): $0.042 per million input, output free; 70ms–500ms; 64k / 32k context. Not a reason to skip review queues.
What this page does not claim
- Jev is not a compliance certification.
- Confidence is not an allowlist.
- This site is not TypeSafe official and does not issue keys.
- We do not invent which regulation Jev “satisfies.”
See also
FAQ
Is there a policy HTTP endpoint?
Not in the public reference. Same POST /v1/systemone.
Can Jev read a 40-page PDF policy?
Only the text you put in state — and unused text hurts 1.13. Extract clauses in code.
Policy block status code?
Yours (often 403). Not a TypeSafe 529.
Does high confidence mean the action is allowed?
No. Confidence is a calibration signal on a snap judgment. Hard rules and your floor still apply. Schema-safe ≠ correct.
Disclaimer
This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai. Never treat jev.pro as TypeSafe official documentation. We do not sell, issue, or proxy API keys.