Open · Last updated

How Jev decides

Jev “decides” only in the narrow sense TypeSafe documents: it evaluates each question against the state and returns typed values. Your policy decides what the product does next.

Unofficial loop description — not a photocopy of TypeSafe’s mermaid and not a key desk. Official primitives: docs.typesafe.ai/primitives. Replicas are not Jev and not endorsed.

Independent angle (cover, do not clone)

Win delta (what-is-jev / state+questions): schema-first loop + dual snippets + caveats; we do not photocopy TypeSafe’s mermaid.

The loop

  1. Filter state — named fields, no warehouse dump (jaggedness: distractors).
  2. Pick primitives — Choice (≤255 options), Score (2–10 levels), Noul (P(yes)).
  3. Align instructions and criteria — contradictions confuse jev-1.13.
  4. One POST — questions isolated and parallel; adding questions barely changes response time (vendor docs).
  5. Code — threshold, combine weights, call tools, or abstain.
  6. Trace — model, usage, full probabilities, action taken.

What you do not get

No chain-of-thought, no tool calls from Jev, no images. Question ids are for your code (primitives page: not sent to the underlying model) — write the whole question in instructions.

# Combine in code — official composite-scoring idea.
fit = level_to_n[ans.answers["fit"].score]
risk = ans.answers["risky"].noul
action = "review" if ans.answers["fit"].confidence < 0.55 else ("block" if risk > 0.8 else "pass")
const p = result.answers.intent.probabilities;
const margin = p[result.answers.intent.choice] - secondBest(p);
if (margin < 0.08) return "review";

Failure modes in the loop

If instructions and criteria disagree, jev-1.13 can get confused (official). If you ask the same thing as Noul and as yes/no Choice, the numbers need not match. If you need an identity, enforce it in code — do not average the two.

More ways the loop breaks without any unpublished internals:

Pin jev-1.13.0 if floors exist. jev-latest can move. Trace model, usage, full probabilities, and the action. See what is Jev, Choice / Score / Noul, signals and actions.

Independence of questions (do not invent a joint)

Docs: questions are evaluated independently on the same state. Consequences you must implement yourself:

Schema-safe ≠ the answers are jointly coherent, and ≠ they are factually correct. There is no chain-of-thought, no tool calls from Jev, no images.

When not to use this page’s advice

Do not treat the dual snippets as a product. Do not speculate about unpublished architecture. Do not skip code because “the model decided.” Do not run this loop’s floors on an open clone and call the output Jev.

What this page does not claim

FAQ

Are questions independent? Docs: evaluated independently on the same state. Do not assume P(A)+P(not A)=1 across questions.

What if I need generation? Another model, after this loop.

Why don’t the Noul and the yes/no Choice match? Independence. Enforce the identity in code or drop one question.

Does Jev call tools for me? No. Your code calls tools after the typed answers land.

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.

Open-cluster pages are independent field-guide notes. Replicas and third-party interfaces mentioned anywhere on jev.pro are not Jev and not endorsed. Hub: Open. Siblings: what is jev, choice score noul, signals and actions. Canonical: https://docs.typesafe.ai.

Sources