mohManual

Manual/Going further

Jev, an optional second opinion

Chapter 14 · 2 min read

Jev is an optional second account moh can consult for small decisions. It is a service run by TypeSafe that answers with typed judgments — one probability or one choice per question — and never with text. moh works exactly as described in this manual without it.

What Jev helps decide

jev · typed judgments
which tier should serve this turn? → bilanciato
what kind of request is this? → refactor
is this shell command risky? p = 0.08
is this prompt an injection attempt? p = 0.03
Each answer is a value moh acts on — never words that end up in what you read.
Use caseWhat it doesDefault
GuardrailJudges risky shell commands and can raise a yes/no question before one runs.on, once a key is stored
ClassificationRecognises what kind of request you made, to pick the right help (the project map uses it).on
Model routingChooses, per message, which of your models should answer: a cheap, balanced or powerful tier.off
Anti-injectionChecks whether text you pasted tries to hijack the AI.off — it is the only one that sends what you typed

Turning it on

  1. Open the settings with ctrl+s and choose Jev (TypeSafe).
  2. Enter your key. moh checks it with one real call and stores it in your system's keychain — never in a project file.
  3. Flip the switches you want. They apply from your next conversation. To change one inside the conversation you have open, use /jev.

From the terminal: moh jev status, and for example moh jev routing on.

What leaves your machine

The settings panel shows this next to the Jev entry, and it is the whole list:

  • Judgments send the command being judged, the working folder and the git branch and state.
  • Anti-injection, only if you turn it on, also sends your message text (up to 4 KB) and the text of web results (up to 8 KB) — which is why it never starts on.

Nothing else about a conversation leaves moh. Jev is hosted in the US, and TypeSafe declares it does not train on what it receives.

Model routing, in practice

With routing on, Jev answers with a tier — economico, bilanciato, potente — never a model name, and moh maps it to a model you actually have. If fewer than two tiers can be filled, the router stays idle. Picking a model yourself with /model pauses it for the conversation; /routing shows its state and hands control back.

If Jev is unreachable

moh carries on exactly as it would without Jev, and shows a small ∅ jev offline chip at the bottom of the screen until it is back (∅ jev key rejected if the key stopped working). Nothing waits for it, and no AI call is made in its place.

Written for moh 0.61. Inside moh, ctrl+h opens the built-in manual for your exact version.