---
title: Jev decision models
description: Configure native TypeSafe or OpenRouter Jev for typed evaluations and optional AI Echo routing advice and answer review.
updated: 2026-09-21
---

# Jev decision models

Jev evaluates explicit questions over supplied context. It returns Choice,
Score and Noul answers rather than conversational text. WebGPU OS supports
TypeSafe's native API and OpenRouter Decisions through the same AI Hub contract.

## Choose a provider

| Provider | Model examples | Transport |
| --- | --- | --- |
| TypeSafe native | `jev-latest`, `jev-preview`, `jev-1.13.0` | Updated WebGPU OS Companion, TypeSafe key |
| OpenRouter | `~typesafe/jev-latest`, `typesafe/jev-1.13` | Updated Companion or browser-direct, OpenRouter key |

The leading `~` belongs to OpenRouter's latest alias. The native and
OpenRouter version identifiers are not interchangeable.
Native requests use `https://api.typesafe.ai/v1/systemone`.
OpenRouter requests use `https://openrouter.ai/api/alpha/decisions`,
not `/chat/completions`. The OpenRouter endpoint is an alpha API.

Sources: [TypeSafe API](https://docs.typesafe.ai/api),
[TypeSafe models](https://docs.typesafe.ai/models),
[OpenRouter Jev](https://openrouter.ai/typesafe/jev-1.13/),
[OpenRouter latest alias](https://openrouter.ai/~typesafe/jev-latest/),
[OpenRouter OpenAPI contract](https://openrouter.ai/openapi.json).
Implementation: `webgpu-os/browser-extension/services/AIProviderCatalog.js`,
`ProviderProtocol.js`, `AIProviderService.js`, and
`webgpu-os/kernel/ai-hub/DirectProviderBridge.js`.

## Configure AI Echo

1. Reload the updated app and, when using it, the updated Companion.
2. Open AI Echo Settings, then Connection.
3. Find **Jev · decision specialist** and select TypeSafe native or OpenRouter Decisions.
4. Use **Manage selected provider key**. In browser-direct mode, use the
   existing OpenRouter credential controls in Connection settings.
5. Choose a model ID. Native discovery lists the authenticated TypeSafe
   aliases. OpenRouter's chat catalog may omit Jev; an explicit Decisions ID
   still works without a chat-catalog entry.
6. Enable routing advice, answer review, or both, then save Connection settings.

Both options default to off. They make additional paid requests and disclose
the current user text to the selected service. Review additionally discloses
the completed answer. No TypeSafe key is required when OpenRouter is selected.
Companion and browser-direct credentials remain separate.

Routing advice only changes the workload family used to rank eligible models.
The existing kernel still selects and authorizes the route. Manual routing
does not call Jev for route advice. Attachment-bearing, sensitive and
source-code inputs skip advisory routing.

Answer review reports relevance, clarity and explicit acknowledgement of
uncertainty. It does not verify facts, prove tool execution, authorize actions,
rewrite the answer or automatically retry a task. Attached, sensitive,
source-code and reported tool-executing tasks skip review. Low confidence,
missing credentials, cancellation and provider failures leave existing
routing and checks in place.

Free-only, known-price and bounded-budget Smart policies skip advisory calls:
these calls do not reserve a Smart budget. OpenRouter-reported cost and token
usage are retained when available. There is no automatic cross-provider retry.

Sources: `webgpu-os/kernel/ai-hub/JevAssistance.js`,
`webgpu-os/apps/ai-echo/JevSettingsPanel.js`, `factory.js`,
and `webgpu-os/kernel/ai-hub/ModelCapabilityRegistry.js`.

## Submit typed questions from an app

Apps with the existing AI Hub permission can submit explicit evaluations:

```javascript
const result = await syscalls.aiHub.request({
    task: 'evaluate-feedback',
    provider: 'openrouter',
    model: '~typesafe/jev-latest',
    systemOne: {
        state: { feedback: 'The editor is clear, but saving takes too long.' },
        questions: {
            topic: {
                type: 'choice',
                instructions: 'Which area needs attention?',
                criteria: { usability: 'Clarity and navigation', performance: 'Speed' },
            },
            clarity: {
                type: 'score',
                instructions: 'How clear is this feedback?',
                criteria: ['Unclear', 'Partly clear', 'Clear'],
            },
            actionable: {
                type: 'noul',
                instructions: 'Does this feedback identify an actionable problem?',
            },
        },
    },
});
console.log(result.answers, result.usage);
```

For native TypeSafe, change `provider` to `typesafe` and `model` to
`jev-latest`. State and instructions can contain text or JSON context.
Choice supports 1–255 options. Score supports 2–10 ordered levels. Noul
returns a probability from 0 to 1.

Requests reject chat messages, streaming, tools, generation parameters, output
schemas and chat provider requirements. Responses retain typed answers,
probability distributions, returned model identity and usage. Results remain
untrusted model predictions. Jev is excluded from ordinary chat and general
cognition model pools even if catalog metadata incorrectly marks it as chat.

Sources: `webgpu-os/kernel/ai-hub/RequestNormalizer.js`, `AIService.js`,
`ResultBroker.js`, and the shared `ProviderProtocol.js`.

## Verification

`tests/typesafe-jev.html` exercises native and OpenRouter request contracts,
both Companion source variants, browser-direct dispatch, cancellation,
failure status, credentials, cost attribution and settings. Its provider
responses are controlled test fixtures, not evidence of paid live inference.
The AI Echo routing suite separately checks that advice cannot replace kernel
route authority.

## See also

- [WebGPU OS architecture](architecture.md)
- [Navi architecture and delivery](navi-architecture-and-delivery.md)
- [Security and trust model](../concepts/security-model.md)
