Skip to content

C1 · Jev: a model that decides · Interactive, in your browser

Deciding, not writing

The same request answered as a chat reply and as a typed decision with probabilities: what software can do with each.

A typed decision is a value your code can read, not a paragraph it has to interpret.

Customer writesThe heating in my flat has been off since last night and it is freezing. Can someone come today?

As a chat reply

I am sorry to hear that, a flat with no heating overnight is miserable. It sounds like a heating fault. I would suggest booking an engineer as soon as you can, and in the meantime keep warm and check the boiler pressure. Someone should be able to help today.

An invented reply, written by me. To act on it, a program has to read the sentences.

As typed decisions

Choice

Which queue does this belong in?

  • Repairs93%
  • Billing1%
  • New work4%
  • Something else2%

Confidence: 0.91

Noul (yes or no)

Is the customer asking for a visit today?

  • Yes96%

Score

How urgent is this?

  • Can wait1%
  • This week6%
  • Today63%
  • Emergency30%

Score, levels numbered from the first: 2.22. Confidence: 0.62

Invented probabilities in the shape TypeSafe’s docs describe. No model ran.

What the program receives

{
  "queue": {
    "choice": "Repairs",
    "confidence": 0.91,
    "probabilities": {
      "Repairs": 0.93,
      "Billing": 0.01,
      "New work": 0.04,
      "Something else": 0.02
    }
  },
  "today": {
    "noul": 0.96
  },
  "urgency": {
    "score": 2.22,
    "confidence": 0.62,
    "legend": {
      "0": "Can wait",
      "1": "This week",
      "2": "Today",
      "3": "Emergency"
    },
    "probabilities": {
      "0": 0.01,
      "1": 0.06,
      "2": 0.63,
      "3": 0.3
    }
  }
}

What it does next

Put it in the Repairs queue (93%). Visit today: 96%.

Built from the fields above with no parsing of prose. Whether to trust the numbers is the next chapter.

My viewA chat model answers a request with sentences. A program that wants to act on the answer has to read them: find the queue, find the urgency, guess whether “someone should be able to help today” was a promise. The figure shows three invented messages to an invented repair firm, each answered both ways.

TypeSafe’s docs describe Jev’s way of working: you send a state, which is your data as text or JSON, and typed questions, and Jev returns structured answers instead of generated text. There are three kinds of question. A Choice picks one option from a list and returns the choice with a probability for each option. A Score places the state on levels you define. A Noul, a name TypeSafe uses for a yes or no question, returns the probability that the answer is yes.

TypeSafe’s docs also say each question is evaluated in parallel and in isolation against the same state, and advise one focused question per judgment: for a decision with several factors, ask about each factor separately and combine the answers in your own code. That makes the combining rule yours, which is the point of the next chapter.

The trade is stated plainly by TypeSafe: a System One model gives up free-form output. TypeSafe’s docs say it does not write replies, produce code or explain its reasoning, and that it takes text only. So the typed side of the figure has nothing like the chat side’s friendly sentence, and that is by design.

In LangChain’s integration docs the same idea appears as a classifier you can drop into a chain, with answers keyed by question and grouped by kind. The docs list the jobs it suits: routing a request, choosing a model, checking whether a tool call is safe to run.

My viewMy reading: the typed answer is not smarter than the chat one. It is shaped so that the next line of code can use it without guessing. Whether Jev’s probabilities deserve trust is a separate question, and I take it up next. Every number in this figure is invented by me; no model ran.

Exercise

Write the question for one of your own messages.

  1. Pick a message your business gets every week. Write the list of places it could go, with “something else” as the last option.
  2. Write one yes or no question a program would need answered about it, such as whether it needs a person today.
  3. For each message in the figure, read the typed side and note the one field your code would use. Then try to find the same field in the chat reply.

Sources

  1. TypeSafe docs Introduction. The vendor’s documentation; read 2026-10-30.

    State and questions, the three question types and what each returns, questions evaluated in parallel and in isolation.

    • State and typed questions; Choice, Score and Noul and what each returns
    • Questions evaluated in parallel and in isolation against the same state
    • Choice, Score and Noul answers: the fields a program reads
  2. TypeSafe docs Primitives (Questions). The vendor’s documentation; read 2026-10-30.

    Choice, Score and Noul in detail, one question per judgment, combining factors in your own code.

    • Choice for a known set, Score for ordered levels, Noul for yes or no
    • One question per judgment; combine factors in your own code
    • Score levels numbered from 0, the legend, and the score as the probability-weighted level number
  3. TypeSafe docs System One. The vendor’s documentation; read 2026-10-30.

    What a System One model is, no free-form output, text-only input, and that calibration is measured across groups of predictions.

    • Understands natural language but returns typed decisions; no free-form output
  4. TypeSafe docs Models. The vendor’s documentation; read 2026-10-30.

    Text-only input, the context limits, and that Jev is not trained or fine-tuned on customer data.

    • Input is text only: a string, a JSON object or an array of text
  5. LangChain docs TypeSafe integration. Integration documentation; read 2026-10-30.

    The LangChain classifier, the experimental model-routing and tool-gating middleware, what is sent to TypeSafe, and that gating refuses rather than asks. The provider package (langchain-typesafe) may be written by TypeSafe, so I read the page as the integration’s documentation, not as an independent view.

    • The classifier, answers grouped by kind, and the jobs it suits
  6. TypeSafe docs Confidence. The vendor’s documentation; read 2026-10-30.

    Confidence as a statistic of the probabilities, no confidence for a yes/no answer, bands of action, thresholds that scale with risk, testing with your own data.

    • Confidence of a Choice and of a Score, by the formulas shown

Each fact is paraphrased from the page named, read on the date shown. TypeSafe’s own pages are marked as the vendor’s claims: they say what the company reports, and I have not tested any of it. Where a sentence is my own reading, it is marked “My view”.