Skip to main content

DVARA 1.10.0 — See what routing saves, and rules that hold

· 5 min read

A gateway that routes, prices and guards model calls has to show its work. If it picks a cheaper model, you should see why and what it saved. If a rule cannot check a request, the request should not slip through.

DVARA 1.10.0 is built around that. Routing explains each decision. Cost and tokens can be counted before a call. Live answers can be judged. And rules that are meant to block now block when they cannot check.

See what routing decided, and what it saved​

Intelligent routing sends each request to the cheapest model tier that can answer it. In 1.10.0 every routed answer says which tier it got, which model was asked for, which was chosen, and why. The audit record carries the same.

A route can now name a model for a reasoning tier, used when the caller asks for high reasoning effort. A workspace can set its lowest tier, so it is never served below it. The Usage page shows what routing saved against the model that was asked for. When the router itself calls a model to classify a request, that call goes through your policies, budgets and audit like any other. See Intelligent routing.

Count tokens and cost before you call​

POST /v1/tokens/count gives a request's token count, where it would go, how much of the context window it uses, and what it would cost, for up to ten models, without calling any of them. Flightdeck has a Token Calculator under Cost. Mistral and DeepSeek models are now counted with their own vocabularies.

Usage and spend are also split by the API a call came in on: Chat Completions, Responses, Messages, Gemini and the rest. Since each coding agent uses its own API, that shows what each agent costs. See Cost management.

Judge answers on live traffic​

DVARA can now score a sample of live answers as they are served: valid JSON when JSON was asked for, refusals, toxic content, length and patterns you set. Scoring never slows or fails a request, and every score is a signed audit event.

You can also name a judge model to grade sampled answers for accuracy, tone, policy adherence or your own rubric. The judge's call goes through the gateway, so your PII rules and budgets apply to what it is sent. Its spend has its own monthly limit and is kept out of chargeback. See Prompts and evals.

Rules that are meant to block now block​

A rule that cannot check a request used to let it through. In 1.10.0:

  • A data-residency rule refuses a call whose region is unknown, and a budget rule refuses when budget use cannot be read.
  • The ML injection classifier and the PII service can be set to refuse when they are down, and every time one lets a request through unchecked, it is recorded.
  • A guardrail plugin set to fail closed treats a broken answer as a failure.
  • Failover keeps to a workspace's allowed regions. A workspace can choose to be served elsewhere instead, and each time it is, that is recorded.

DVARA also finds model output that acts when it is shown: terminal escape sequences, and images or links that would send data to an untrusted host. A model file you supply can be pinned by its SHA-256. Gateways now talk to each other over TLS 1.3, and only those holding a certificate from the cluster's own authority can join. See Guardrails and ML and plugin guardrails.

Change more in Flightdeck, with no restart​

Providers can be added, turned on and off, and removed in Flightdeck. Retry, circuit breaker, timeouts and failover can be changed globally or per provider, with history and rollback. Each workspace has its own response cache and turns it on itself. Prompts can be kept for audit, apart from the signed record, and deleted after a retention period you set. See Resilience and Operations.

More from each provider​

Groq and Cohere now take tools and images, and Mistral takes images. Every Mistral model family, including Pixtral and Codestral, reaches Mistral by its name, with no route needed. See Multimodal.

The Enterprise Gateway also does more work per CPU core. On a laptop benchmark it went from stalling near 3,100 small requests a second, with the CPU idle, to 5,000 a second with every request served.

Read this before upgrading​

Most of 1.10.0 needs no action. Check these first:

  1. The Gateways' cluster has a new port, 7800, and new metric and health names. Update network rules, dashboards and alerts that name the old ones.
  2. Gateway pods talk TLS to each other. The Helm chart sets this up. With Compose or VMs and more than one Gateway, give each one a certificate.
  3. Data-residency and budget rules that cannot check now refuse.
  4. Each workspace's response cache is off until the workspace turns it on.
  5. Auto-kill is on by default, so a looping agent session ends. There is no message-count cap by default.

Flightdeck applies the database changes when it starts. The upgrade guide has every change and how to keep the old behaviour.

Try DVARA 1.10​

The images ghcr.io/dvarahq/dvara-gateway:1.10.0 and ghcr.io/dvarahq/dvara-flightdeck:1.10.0 and the Helm chart 1.10.0 are out now. DVARA Open Source 1.10.0 is out too: get the release, follow the Open Source quickstart, or book a walkthrough of the Enterprise platform.