A classifier is one input to a routing decision

September 25, 2026 · raw .md

Written on 25 September 2026. Jev and the routing features around it are new and still changing, so this is accurate as of that date. Check the vendors’ docs before you build on it, and message me if you have a question.

TypeSafe AI announced Jev on 15 September 2026, a model that answers typed questions and returns probabilities instead of prose. A lot of the discussion since has been about using it to route work. Routing is a real job, and it is one of six in a system that can act on what the model says.

Here is one request traced through a fictional bank. An advisor asks: why was this customer charged a mortgage prepayment fee, and can we waive it? The explanation is a job for an LLM. The waiver is an action, and a generated answer should never take it on its own. The design is illustrative and nothing in it was benchmarked.

One advisor request inside a Camunda process: understand the request with Jev or another classifier, gather the contract, transactions and prepayment policy from bank systems, choose an eligible model from the team’s catalog, evals and rates, route through OpenRouter or an internal gateway, generate a cited answer with an LLM from labs such as OpenAI, Anthropic, Google or Cohere, then check waiver rules in a DMN table, send it to human review when approval is needed, execute through the core banking API and reply to the advisor

Camunda runs the process. It keeps the case state, calls each system, evaluates the decision tables, and retries, escalates or waits for approval as modeled. The six steps are responsibilities, and a real build may merge some of them; model and endpoint selection is often one decision. Keeping them separate is what lets the model or the gateway change without anyone touching the waiver rules.

The routing decision has four inputs

Jev supplies the first: the intent, the capabilities the task needs, and how uncertain the judgment is. The bank supplies the other three. Which models passed its own evals for this task. Which endpoints its deployment policy permits. What each option costs under its contracts, at today’s capacity. A decision table and a job worker combine them: drop what policy forbids, keep what clears the quality bar, choose on cost.

The routing decision: four inputs (task assessment from Jev or another classifier, model evidence from the bank’s eval runs, deployment policy from bank policy and IAM, economics and capacity from contracts and telemetry) feed a selection policy the bank owns, built as a DMN table plus a job worker. It outputs a model and endpoint, which a gateway calls, and actual tokens, cost, latency and outcome feed back into the evidence and estimates

Two details get missed. The classifier call needs clearance too: if policy forbids sending the advisor’s text to an external API, a private LLM downstream does not fix that (more on data residency). And cost is an estimate until the call ends. Output length is unknown in advance, and caching, billable reasoning, tool calls and retries all move the case total.

A typed answer with a probability is easier for code to act on than a paragraph. It can still be wrong. That is why the waiver goes through rules, and through a person when the rules say so.

You can buy the policy instead

OpenRouter’s Auto Router classifies the prompt and picks the model for you. As of September 2026, its docs describe each cost tier as “a band, not a ceiling”: it narrows the price range and does not cap spend. For many workloads that is enough. A bank that needs its own eval results, contracts and data rules in the decision will usually write the policy itself, and can still use Jev as one of the inputs.

Follow the work

New field guides and episodes, straight to your inbox. No noise, unsubscribe anytime.

esc