← All posts

Dynamic routing with Jev: the right model, engine and effort for each run

Add a Jev key and a small decision model picks the model and effort for every turn, the engine for every factory run, and who answers a first message, from the options you allow. Without a key nothing changes.

Vocion Teamvocion-v7.18.0

Status: shipped. Built by Jamie Schiesel and shipped in four releases:

ReleasePRWhat it added
v7.14.0#1441The Software Factory
v7.15.0#1445Every agent turn
v7.16.0#1447The key card
v7.18.0#1449The duplicate check

The design is ADR 0006 and ADR 0007. Off until you add a key.

Before this, missions and automations ran on the agent's one model, whatever the job. Every factory seat ran on its one engine, so a typo fix and a refactor went to the same place. In chat, effort levels already moved a turn between the fast, standard and strongest model. But a small classifier made that call, and it chose only among those three.

Now, before a run starts, Vocion can ask Jev, TypeSafe's decision model, three things: which agent (or, for the factory, which engine), which model, and how much effort. Jev doesn't write the answer. It returns a choice with a probability, in well under a second, for a fraction of a cent, and Vocion does the work. That is why it can choose for engines like OpenHands that run their own model loop. A packaged router that writes the answer itself couldn't.

What you can do now

The System Keys section with the Jev by TypeSafe card connected, the key masked to its last four characters

Nothing depends on Jev

See every decision

Observability → Routing shows what Jev routed:

Every model call of a routed turn carries the decision on its ledger row, and the Engines page does the same for the factory.

The Routing section of Observability: turns Jev routed, the configured-model fallbacks with their reasons, and spend by model and who chose it

A data decision, too

To route a turn, Jev reads the first 2,000 characters of the request and the descriptions of the options. That makes TypeSafe a subprocessor for that content, so adding a key for a client workspace is a data-sharing decision as well as a cost one.

What's next

Jev answers yes/no, choice and score questions with calibrated probabilities. That fits more than routing. On the roadmap in ADR 0006:

Each will be off without a key, fall back on any doubt, and leave the decision with a person.

Get it

Update to v7.18.0 or later, then add a key in System → System Keys (or set TYPESAFE_API_KEY). Remove the key to roll back. Docs: Model routing with Jev.