An AI agent does more than write its final answer. It chooses a tool, reads the result, decides whether to continue, and sometimes has to admit that an action's outcome is unknown. TypeSafe released Jev in September 2026 as a model for typed decisions inside software, which makes those small transitions a practical design choice.
Here is the agent we will build: a generative model plans and writes; Jev chooses among named next actions using the current state; Python checks hard rules, executes a local tool, and records what actually happened. The central question is where a fast decision belongs when the task still needs open-ended reasoning and real effects. The short answer is between observations and permitted transitions. Jev can judge the state, but its choice cannot itself refund an account or prove that a refund settled.

We will make one Jev call first, then connect it to a small support agent. Then we will compare Jev with two structured-output LLMs using our experiments on support and document-research tasks. The experiment is useful because it records both proposed actions and actual local effects.
In this guide
What Jev decides
Give the agent observable state
Build the guarded loop
Run support and research tasks
Compare three supervisors
Read probabilities and disagreements
Decide where Jev belongs
One distinction will keep the rest of the build honest. A tool returning HTTP 202 says a request was accepted for processing. It does not say the requested business outcome happened. That gap is exactly where a supervisor needs evidence, and where code must resist an unsafe retry.



