JEV - The two demos I ran
The same business state ran through two demos: closed questions asked in one pass, then a risk question whose confidence would not rise was stopped. The official side-by-side with GPT-5.6 Terra was only for seeing which question disagreed.
Co-author: folkbench.com (Folkbench is a reviewable evaluation and selection platform for AI APIs, model services, and related sites. It draws on published service information, prices, availability, latency, and evidence windows to help users compare and choose a path.)
Ten pieces in this series:
- JEV - A joint does not need a brain
- JEV - Why a Jev that cannot chat fits an agent
- JEV - How far "can't hallucinate" actually goes
- JEV - Are yes-no, choice, and score enough of a language?
- JEV - A lab could build this. Why it still might not.
- JEV - The two demos I ran
- JEV - People step from the middle of the loop to the edge
- JEV - Past that line, I can no longer tell who is smarter
- JEV - Some questions do not belong to it
- JEV - A stripped-down model, a suite, and one that does not speak
Today I ran two demos, trying Jev. Neither one asked it to chat. I put in a piece of business state, asked closed questions, and looked at what came back.
State is a slice of the business, enough to judge from. I did not turn it into a story. A chat model given this kind of input often starts with a paragraph of understanding, then advice. I did not want advice. I wanted to see whether it could stay in the middle of a flow as a joint, emit numbers, and let code continue.
The first demo
I put that state in and asked the closed questions in one pass. I clicked. It came back at once.
The official range is 70 to 500 milliseconds. I did not time it, so I cannot say where I landed inside the range. What I felt was that I never got as far as impatience. With models that write long replies, I am used to leaving the window and doing something else. This time I never got the window left. The result was already on the page before I switched away.
I counted the money separately. Output is not charged. Input is $0.042 per million tokens. When the state is short, the input cost of one call is something I have to go looking for on the account before I can see it. As a joint, it is cheap. A node like this is walked many times. A large model that also bills output, I start saving by the second sentence. Here, asking one more question does not carry that burden.
The questions were those three.
For yes-no I used Noul. I asked whether this order should be lifted out of the automatic flow and given to a person first. It does not reply with a bare "yes" or "no". It replies with the probability of "yes", between 0 and 1. I look at which end it sticks to. If it sticks to one end, I treat the question as settled. If it wavers in the middle, the question is still open.
For classification I used Choice, a single choice. The options and the meaning of each one were written by me. I did not pile them toward 255. The official cap is 255, and this question did not need it. Too many items, and I cannot see them myself. With few items I can judge. Weight clearly piled on one option, and the others very thin: only that kind of first place do I let into a branch. If the first two bite close together, I will not accept it just because there is a first place. A first place that is only a little higher has not separated yet.
For risk I used Score, to see which level it landed on. Score's scale is 2 to 10 levels. I cut this question inside that range, from light to heavy. I did not invent another scale. It returns the probability of every level, and a position weighted by those probabilities. I do not dare to use that position alone. If the probability is piled on one level, the position is that level. If the probability is split across two neighboring levels, the position falls in the middle. The position looks finer, and both levels are still there. I will not write that kind of position into a later condition.
It does not write an explanation. Look at the probability, not at an explanation. When I used a chat model for the same kind of judgment, the conclusion was wrapped in a paragraph. I had to peel the words off before I dared to fill a field, and I was afraid of taking politeness for a position. Today there is no such layer of words. Inside it is type and probability. What this demo confirmed for me is that it fits as a joint. I do not have to finish reading a short essay before I connect the code.
I took the tradeoff from the distribution, not from a feeling of the moment. A yes-no stuck to an edge, I let through automatically. Category weight piled on one item, I let the code connect. The risk question's distribution did not gather, and I did not freeze it in this demo. I left it for the next one.
The second one splits the same thing
The second demo used the same state. I did not go find a new one. I split the questions, to check the sentence that a person does not have to stand in the middle of every loop.
High confidence, I was ready to give to code. Low confidence, I kept to look at. After trying it, I was willing to let go of the high ones. Yes-no stuck to an edge, and category piled on one side, I let the program walk on its own. The high ones go straight into a branch. The rule is written in code. Confidence is enough, and the program continues. Confidence is not enough, and the program stops in front of me. When I read the log, those high loops had not waited for my nod. I did not confirm them one by one.
The low one was the risk question. I had not asked it tightly enough, and the state was also missing material that could separate two neighboring levels. The distribution was spread, and confidence would not rise. While I looked, I actually wanted to pick a level for it, so the whole flow could finish. That thought cannot be followed. Once it is spread, I do not want to close it for it. If I casually pick a level and write it in, later steps will treat that level as fact. That is me supplying a decision it did not make, and dressing it up as an answer already finished.
So the question stopped. It stayed for me to look at, and it did not enter an automatic branch. I did not run it again to try my luck. The material was still the same, and the distribution would most likely still be spread. This question should not be forced. Later I can thicken the state, or write the levels as wordings that actually stand apart. If I force a level out of it now, what comes back is an average. If I put that number into a branch, what follows will treat it as a risk already decided.
I did not write "I feel it is more serious" beside it. My feeling cannot override a spread distribution and then be sent to run automatically. If the distribution really leaned, the weight would pile to one side on its own. If it cannot pile over, I have no standing to pile it for it. I stopped the second demo there.
The official side-by-side
Only after the two demos did I open the side-by-side example in the official playground. One side is Jev. The other is GPT-5.6 Terra. Terra used default reasoning. I was not there to judge who is smarter. I only looked at which question the disagreement landed on.
I checked them through. Only "Churn likelihood level" differed on the two sides. The other questions lined up. The question itself is vague. How high churn might be is not easy to close into a clean level. When it is vague, what it gives is a distribution. The other side, to finish an answer, has to emit a word. I did not record the disagreement as a win or a loss. Giving a distribution is more honest than forcing out a word. That word can sit inside a sentence a person says. It does not belong in a branch that will execute on its own.
I looked back at my own low risk question. Mine and this side-by-side are the same kind. There is no second model beside it, and I still should not pinch a spread probability into one level.
Not being able to chat, I first took as a defect. After using it, I do not see it that way. There is no opening remark in the return. I do not have to delete an opening remark. When I used to dig a judgment out of a chat interface, I had to skip the courtesy first, and also guard against it changing its mind later. Today there is no text to clean up. For me that is a relief. It is one less thing that is easy to get wrong.
What I ran today is these two demos. The side-by-side in the playground, I only opened and looked at. It does not count as a third one I made. The first one settled, for me, that it can sit on a joint, and that high confidence can be given to code. In the second, I stopped the question whose distribution was spread, and I did not dress it up as already answered. It is fast, and at this price I also find repeated calls cheap. What comes back is not an article. It is a distribution.
Sources
- https://typesafe.ai/blog/introducing-system-one-models-and-jev
- https://console.typesafe.ai/playground?share=shr_13a74b495fb786c4bd7964f11597301e7c9