← All releases
v0.2· Release

v0.2 — Prompt management with A/B testing

Server-side prompt templates with versioning and Jinja2 variables, plus deterministic traffic-split A/B tests. Same hash, same variant — every single time.

nRouter Team2 min read
promptsab-testingtemplates

Stop hardcoding prompts in client code. v0.2 ships server-side prompt management and deterministic A/B testing — both gated through the same single endpoint your SDK already calls.

Prompt templates

Create a template once, reference it by ID from any request. Templates are versioned: editing a template creates a new version automatically, and you can pin a request to a specific version (prompt_version) or always take the latest (default).

Templates support Jinja2 variables. Pass values via extra_body:

{
  "model": "gemini-2.5-flash",
  "extra_body": {
    "nrouter_prompt_template_id": "summarizer_v2",
    "nrouter_prompt_variables": { "doc_type": "research paper", "max_words": 200 }
  }
}

Per-template cost and token usage roll up in the dashboard so you can compare "summarizer_v2" vs "summarizer_v3" without instrumenting your own analytics.

A/B testing — deterministic

The A/B engine (nrouter_backend/prompts/ab_test_engine.py) hashes a stable key (request ID, user ID, or org-scoped seed) and splits traffic by configured percentages. Same hash, same variant, every time — so the same user sees the same variant across requests, and your analytics aren't poisoned by re-bucketing.

Variants can swap the model (gpt-5 vs gemini-2.5-pro), the prompt template, or both. A test is a state machine: draft → running → paused → completed. While running, the per-variant cost, latency, and error rate are visible in real-time on the prompts dashboard.

A/B tests are not overridable per-request — the whole point is determinism. If you need a control-group bypass, create a virtual key outside the experiment scope.

Manage prompts + experiments at /{org}/prompts.

Platform release verification & compatibility standards

All nRouter release notes reflect changes deployed across our global edge routing infrastructure. Below is our baseline deployment architecture and verification criteria.

Zero-Downtime Rolling Delivery

Releases deploy via immutable container digests with automated health verification. Existing streaming responses complete uninterrupted while new requests seamlessly route to updated instances.

Drop-In API Backward Compatibility

Our interface remains strictly compatible with standard OpenAI client SDKs and wire formats. Enhancements degrade gracefully or fail open with explicit error reporting to protect calling workloads.

How can engineering teams verify capabilities in this release?

Teams can inspect currently supported capabilities and active model deployments programmatically via the authenticated /capabilities endpoint, or review live latency profiles at /models.

Where can edge cases or regressions be reported?

If your team experiences unexpected response behavior, report the issue with the relevant x-nr-request-id header to support@nrouter.ai or via the community Slack at /community.