Skip to main content

TypeSafe Jev red-team judge

This page has two parts. The first explains how the judge works and what its scores do and do not mean. The second is the procedure: save a key, run the skill and read the output.

How the judge works​

The harness includes the prisma-airs-asr-judge skill. It scores exported red-team records with TypeSafe Jev and computes an independent attack success rate (ASR). It uses a Node entrypoint and the bundled TypeScript CLI; no Python installation is required.

Who does what. Jev supplies typed judgments. Code computes the metrics and applies the stated success threshold. Those judgments are estimates, not ground truth, so a clean result from the API is not evidence that the assessment is correct.

Why a live run needs approval. A live run sends scan records to TypeSafe and needs the saved key, which lives in the native credential store. The sandbox blocks that store for ordinary commands, so the harness asks you to approve the specific judge command. This also means a sandboxed command failing to read a saved key does not establish that the key is missing. The workspace sandbox stays on for everything else.

How the key travels. The installed entrypoint retrieves the key belonging to its owning environment and passes it only to the judge child. An inherited TYPESAFE_API_KEY takes precedence. Product CLI tenants remain separate, so fetching a job by --job additionally requires the selected tenant's AIRS management credentials.

Why it starts small. The skill begins with a dry run, then a small recorded probe, before a full paid evaluation. Each step lets you inspect the workflow before it costs anything or sends data.

What replay is. Explicit replay reuses recorded answers without a new Jev evaluation. It is never an automatic replacement for a requested live run.

Run the judge​

1. Save the key​

Inside AIRS, open /typesafe and choose Save or replace API key. Paste the key into the hidden field. For terminal automation, use airs env typesafe set.

2. Check access​

/doctor can verify access through the TypeSafe models endpoint. That does not run a judgment.

3. Run it​

Invoke $prisma-airs-asr-judge attacks.json in the conversation. Approve the specific judge command when asked, so it can access the native key store and send scan records to TypeSafe.

4. Read the results​

The output contains results.json, judgments.json and summary.md. Inspect output-level and attack-level ASR, the 95% Wilson interval, coverage, skipped records, provider failures, uncertainty and agreement with AIRS threat flags. Preserve response text verbatim and report actual coverage and errors rather than inferring accuracy from a successful API response.

See the CLI judge reference and TypeSafe's programming model.