Guide contents
Other resources

Research report · work in progress

Jev
probabilistic evaluations for software

Jev evaluates the application’s context and questions. It returns probabilities, with a selected option for Choice or a weighted score for Score; code decides what happens next.

Work in progress · Evaluations and application decisions clarified on September 23, 2026 · No personal API evaluation

Example: triaging a support ticket

  1. The application sends“I was charged 2 times.”
  2. It defines the optionsBilling · Technical · Other
  3. Jev evaluatesA probability for each option
  4. The code decidesRoute the ticket or request a review

The response is intended for the program. An LLM can then write the message for the customer. Illustrative example, with no real API call.

Key takeaways

Open the glossary

Terms with a dotted underline show their definition on hover, keyboard focus or tap.

I

Understanding Jev

01

The application asks questions, Jev returns values

Application → Jev → application: the program supplies the question and uses the answer.

An interface between software systems TypeSafe designs Jev for exchanges between models and software. Here, “machine to machine” means an application or agent calls an API and uses its response in code. A person may make the original request, define the rules or review a case; Jev’s response serves the program directly.

A person can write a ticket without making Jev their conversation partner. The software extracts the relevant context, calls Jev and reads the values. It can then display a suggestion to that person, trigger an authorized process or ask an LLM to draft a reply. This separation explains the product’s appeal: some steps need a category rather than a conversation.

To triage a GitHub issue, you can supply its contents and a list of categories. With Choice, Jev returns the selected option and the associated probabilities. Your application uses the result to suggest a destination. This is an example of using the API described by TypeSafe.

The call contains shared context, called the state, and 1 or more questions. The program specifies the expected form: a choice from a list, a rating on a scale or the probability of a yes answer. It can process the result without extracting a category from a paragraph.

One API request, shared context and independent questions. Probabilities and the predicted category are Jev outputs; rules, thresholds and the handling decision belong in code. Fictional answers. Measuring accuracy, calibration and the share of handled cases requires cases with reference answers.

These 4 original infographics take inspiration from Daniel Moka’s Jev Engineering 101, published September 22, 2026. They show one way to organize an application’s work, without describing Jev’s internal components. Images generated with OpenAI and reviewed; example values are fictional.

From the API result to an action

4 methods to compare
ApproachResultWhen to try itWhat to check
Rule or BM25 searchMatch or lexical scoreThe criterion can be written down and computed locally.Missed paraphrases, maintenance cost and local computation.
Supervised classifier with fixed classesClass and score, sometimes a probabilityLabeled examples are available and categories rarely change.Labeling, retraining, rare classes and calibration.
JevProbabilities and typed values: a Choice option, a Score rating or the probability of yes with NoulCriteria and options are supplied in each call.Missing options, errors, probabilities and total cost.
LLM with constrained outputStructured data and, if requested, textThe task also requires writing or open-ended extraction.Correctness, schema validation, cost and latency.
Jev supplies evaluations; code owns the decision policy, thresholds and permissions. An LLM can also classify and produce structured output. The program chooses which models to call and in what order.

An agent can use this API to choose a destination or assess a document, then hand the writing or investigation to another model. Using Jev for a specific step does not demonstrate that it can replace the model driving Claude Code.

On small screens, diagrams can scroll horizontally. Figures can be enlarged to read their labels.

02

TypeSafe and Jev launch timeline

Jev entered early access on September 15, 2026. Platform availability dates are separate.

These details describe the company; they do not validate its model’s performance.

Dated milestones
DateEventSource and scope
2024TypeSafe’s stated founding year.Company press release distributed by Business Wire.
September 15, 2026Jev launches in early access.Launch post, by Diogo Almeida.
September 15, 2026$40 million funding round led by DCVC.Investor announcement, from a party with a stake in the product’s success.
September 16, 2026Jev announced on Vercel AI Gateway.Vercel changelog.
September 17, 2026Date of the ASSAY-001 responses; displayed update date for Jev 1.13’s known limitations.2 separate observations: a test run and a documentation page.
September 18, 2026Date displayed in the OpenRouter catalog.Platform listing, not the model’s initial release date.
September 21, 2026Research cutoff for this edition.Later versions, terms and results may change this report.

Diogo Almeida is a coauthor of InstructGPT. The viral label “co-inventor of ChatGPT” reduces collective work to personal credit; the author list does not establish “lead author of InstructGPT” either. The relevant bibliographic fact is his contribution to this work on learning from human feedback.

These references explain the product’s name; they do not describe its neural layers. TypeSafe’s explanation of the names.

03

Choice, Score and Noul

Choose a category, rate a result or ask a yes/no question.

Three independent questions and fictional values. Choice returns a predicted category with its probabilities; Score, a weighted mean and probabilities across levels; Noul, the probability of yes. Selecting an option in the answer triggers no business action. Code rules and thresholds determine how to handle the case.
The 3 response types
TypeSuitable questionResponse
ChoiceWhich of the supplied options should be selected?An option, the options’ probabilities and a separate confidence field. Documented maximum: 255 options.
ScoreWhich level on a scale where each level is described?Probabilities across levels, a weighted value in score, the levels in legend and a separate confidence field. The score is not a probability of yes.
NoulIs this proposition true?The probability of yes, between 0 and 1. No separate confidence field.

The documentation describes Choice, Score and Noul.

Same ticket, 3 different questions
Application needQuestion typeIllustrative example
Choose a teamChoiceBilling, account access, technical incident, other. Choice predicts a category. If several issues coexist, separate questions let code apply its handling priority.
Assess impactScore0: no impact described; 1: inconvenience with a workaround; 2: feature unavailable; 3: several users blocked. An average of 1.7 is still a rating on this scale.
Check a criterion independently of the othersNoulDoes the message mention a declined payment? Another question can separately ask about being unable to sign in.
Independent questions Several questions can share the same context. Within a single call, this does not mean the answer to question A will be passed to question B. If B depends on A, plan successive steps in your program.
DIAGRAM · An application queries Jev
Calling Jev and processing its response are exchanges between software systems. A person reviews the cases specified by the application’s rules.
Distinguish “other” from “insufficient information” An “other” category covers cases outside the taxonomy; “insufficient information” covers missing context. These are 2 different situations. Including them among the choices does not guarantee that Jev will select them at the right time. Detecting them is part of the test.
04

Probabilities and confidence

Jev can assign a high probability to a wrong answer.

An option’s probability and the confidence field answer 2 different questions.

To assess Choice calibration, take the cases where the selected option receives a probability close to 80%. Compare that number with the proportion of answers that are correct. This is an illustrative example: no Jev result is measured here. With Noul, instead check whether events to which Jev assigns a yes probability close to 80% occur in roughly 80% of cases.

3 numbers, 3 interpretations
Fictional numberWhat it expressesWhat it does not establish
P(billing) = 0.80Probability assigned to the billing option in this call.This specific ticket was routed correctly.
confidence = 0.80Value of a measure of distribution concentration.An 80% chance of being correct.
80 correct answers out of 100 at P ≈ 0.80Observed frequency consistent with the probability in this group, subject to sampling uncertainty.Good calibration across all classes, probability levels and domains.
DIAGRAM · Same prediction, different results
Fictional figures, no Jev result. The same probability level can be consistent in 1 domain and overestimate success in another. 100 cases do not provide an exact population frequency.

These comparisons require reference answers, enough examples and a test set that was not used for tuning. Guo et al., 2017 discusses calibration methods. A good average on 1 dataset guarantees neither each decision nor results in another domain.

DIAGRAM · 4 separate measures
4 distinct checks; none automatically follows from another. Format can be checked on a single response; calibration and the value of automation are assessed across a set of cases.

Also measure coverage: what share of cases does the application handle without review? A system that leaves almost everything to a person can make few errors while automating very little. SelectiveNet studies this tradeoff. Ovadia et al. examines what happens to uncertainty measures when the data changes. These studies are not about Jev.

TypeSafe’s “0 hallucination” claim The launch post initially claims that Jev cannot hallucinate. Yet its section on types specifies that the displayed 0 is not empirical: it represents the schema compliance claimed by the vendor. The figure therefore does not measure decision errors. A category allowed by the schema can be the wrong category.

TypeSafe also states in its launch post that higher confidence accompanies higher accuracy. This relationship can be tested: the ASSAY-001 responses allow accuracy and coverage to be measured after filtering by confidence. That does not turn this field into a probability of success; the measurement chapter details the 2 calculations.

The “Measured probabilities and confidence thresholds” chapter distinguishes 2 measures: calibration of the selected option’s probabilities and accuracy of answers retained by a confidence threshold. The ASSAY-001 data allows both to be recalculated; Agent Journal reports the second on a different task.

Videos sometimes lose this distinction: Fireship at 03:15 equates confidence with the frequency of correct answers. The video chapter corrects this explanation and retains the original passage.

05

What TypeSafe discloses about how Jev works

TypeSafe describes its training objective, but the documents found are not enough to reproduce the model.

An autoregressive generative LLM builds its response by predicting the next tokens from the context and what it has already produced. This is the process described in Hugging Face’s generation documentation. The output can be free text or JSON, potentially constrained by a schema.

TypeSafe announces a new architecture and parallel sampling in its launch post. The API receives a state and typed questions, then returns their results. According to the vendor, outputs are computed in parallel rather than generated token by token. The diagram compares this claimed behavior with an autoregressive LLM; it does not describe Jev’s internal components.

The stated distinction concerns intended use: Jev provides typed answers and probabilities that code uses in its decision logic. An LLM can also be called by software and produce structured output; in a conversation, a person reads its text. The recipient of the response and the way the model produces it are therefore separate considerations.

DIAGRAM · 2 ways to produce a response
Simplified comparison between a common generation loop and the Jev API’s inputs and outputs. The dashed block represents internal details not described by the sources reviewed. Arrows indicate neither computation time nor a number of passes through the neural network.

TypeSafe calls its training method RLCD, for Reinforcement Learning for Calibrated Decisions. Its technical introduction outlines the objective. “System One” names the model family; it does not describe a published architecture.

The research for this report found no publication with enough detail on the architecture, data and training objective to reproduce Jev. Other documents may exist beyond this scope. In the ThursdAI interview at 05:59, the TypeSafe representative discusses RLCD without disclosing the architecture. Describing Jev as a model “without internal reasoning” would go beyond the available information.

9 background publications, no recipe for Jev
PublicationContribution to testingRelation to Jev
Guo et al., ICML 2017Calibration and reliability diagramsMeasurement framework, not a Jev implementation
SelectiveNet, ICML 2019Error among accepted cases and coverageAbstention framework
Ovadia et al., 2019Uncertainty under distribution shiftReason to test in French, English and outside the target domain
BERT, NAACL 2019Text representation for classificationPrior work; no established link to Jev’s internal architecture
ModernBERT, 2024Model to compare for text processing and classificationIts task adaptation has a cost to include
RouteLLM, ICLR 2025Final quality and routing costRelated task
InstructGPT, 2022Diogo Almeida’s contribution to RLHF workBiographical context, not a Jev paper
SCX Router, 2026Routing without autoregressive generationAbstract only; PDF not acquired
Rewarding Doubt, v6Learning confidence through a logarithmic reward; PDF acquired and selected passages studiedBackground work, with no established lineage to Jev
How the publications were researched
  • The initial collection yielded 7 PDFs totaling 151 pages. Rewarding Doubt adds a 17-page PDF in this revision: 8 PDFs and 168 extracted pages in total.
  • The research logs identify the passages studied; not every page received an exhaustive reading.
  • SCX Router has still been consulted only as an abstract.

Paper Insights found no local result for Jev or TypeSafe in the corpus queried. Its remote arXiv searches failed; that failure is not a negative search result. The PDFs were acquired separately from their publishers or authors.

The abstracts of DeepSeek-R1 and Tülu 3 supplement this selection without counting as acquired PDFs. The next chapter explains their relation to Jev’s training.

Related resources from my work To place this type of decision in an agent workflow, my guide Designing an agent’s loops and steps (EN) explains where to define steps, stopping conditions and responsibilities.
06

RLCD compared with established training methods

The method’s name provides neither its recipe nor a guarantee about the probabilities returned.

DIAGRAM · What guides training?
Simplified comparison of signals and objectives. Dashed lines indicate that the sources reviewed do not detail the RLCD recipe. Whatever the method, calibration still needs to be measured on held-out test cases.
Different objectives
MethodSignal usedLimit of the comparison with Jev
Supervised learningLabeled examples; a loss function can train a probability distribution.Classifiers are not limited to maximizing the rate of correct classes. Their calibration still needs to be measured.
RLHFHuman feedback, often through preferences and a reward model.InstructGPT describes work to which Diogo Almeida contributed; it is not Jev’s published method.
RLVRReward based on verification, for example a checkable answer or outcome.DeepSeek-R1 and Tülu 3 provide context without describing TypeSafe’s model.
RLCDStated objective of calibrated decisions.The exact reward, data, ablations and internal components are not detailed in the sources reviewed.

A conventional loss function can already encourage correct probabilities. For an event with true probability q, the expected logarithmic score q·log(p) + (1−q)·log(1−p) is maximized at p = q. This theoretical result does not guarantee that a model trained on finite data will be calibrated in a new domain. The formula illustrates a principle; it is not attributed to RLCD.

The paper Rewarding Doubt, version 6 studies learning confidence expressed in text, using a logarithmic reward and PPO.

No published link to Jev has been established.

The abstracts and version histories of DeepSeek-R1 and Tülu 3 provide additional post-training context. Their experiments were not audited for this report. They provide no evidence about Jev’s parameter count, backbone or training data.

In the TechCrunch interview from September 18, Diogo Almeida says Jev is trained exclusively on synthetic data. This remains a reported claim: neither the corpus nor its generation procedure was audited here. Synthetic data can also derive from other models or existing sources; the label does not demonstrate that benchmarks are free from contamination.

Information still missing to reproduce Jev
ItemWhat a publication should specify
ArchitectureComponents, dimensions, parameter count and computation performed at inference.
TrainingReward, optimization, data and training stages.
CalibrationTarget event, metrics, held-out datasets and results by domain.
AblationsSeparate effects of the architecture, data and training method.
ReproductionWeights or versioned access, code and a sufficiently precise protocol.
No publication found in this research No paper detailing Jev or RLCD was identified in the searches and official sources reviewed as of September 21. A search engine with no results, an arXiv access error or no weights found in a Hugging Face search does not prove universal absence.
07

Calling the API and reading its responses

A complete HTTP example, followed by useful differences in the Python and TypeScript SDKs.

The HTTP reference documents POST https://api.typesafe.ai/v1/systemone, with a Bearer token and a JSON body containing model, state and questions. GET /v1/models lists models: /v1/systemone is therefore not the entire service’s only route.

Illustrative request and response

The ticket below mentions a failed payment and blocked account access. Choice evaluates the main category; its answer does not set the handling priority. To detect both issues and apply a priority in code, see the offline demonstration in the tutorial.

  • The 2 JSON objects were syntax-checked; this chapter’s SDK examples were reviewed against the client source code, without execution.
  • The First call tutorial uses a different Python script, executed with the installed SDK and a mock transport.
  • No Jev call produced the displayed values.
  • An API key must remain in the server environment.
JSON body: 3 questions about a ticket
JSON POST /v1/systemone · illustrative request 33 lines
{
  "model": "jev-1.13.0",
  "state": {
    "ticket": "The payment failed and I can no longer access my account.",
    "language": "en"
  },
  "questions": {
    "destination": {
      "type": "choice",
      "instructions": "Which category best describes the main subject of the ticket? Evaluate the categories using the supplied text.",
      "criteria": {
        "facturation": "Declined payment, invoice or refund.",
        "acces_compte": "Unable to sign in or account access blocked.",
        "incident_technique": "Outage or technical error unrelated to payment or account access.",
        "autre": "None of the preceding topics."
      }
    },
    "payment_failed": {
      "type": "noul",
      "instructions": "Does the message report a declined or failed payment?"
    },
    "impact": {
      "type": "score",
      "instructions": "Assess the impact described, based only on the text.",
      "criteria": [
        "No impact described.",
        "Inconvenience with a workaround.",
        "Feature unavailable to the person.",
        "Several users blocked."
      ]
    }
  }
}
Documented native fields
TypeResponseHow the program reads it
Choicetype, choice, probabilities, confidenceRead the choice and the distribution; maximum of 255 options.
Scoretype, score, legend, probabilities, confidenceScale of 2 to 10 levels; score can be fractional.
Noultype, noulnoul is a number between 0 and 1; converting it to a boolean depends on an application rule.
JSON response: the 3 answers in the same envelope

Structure matching the fields in the HTTP reference, with fictional values to illustrate how to read the response. The probabilities, confidence and token counts below are not Jev results. No confidence calculation is reproduced here.

JSON Illustrative response body · no API measurement 41 lines
{
  "model": "jev-1.13.0",
  "answers": {
    "destination": {
      "type": "choice",
      "choice": "facturation",
      "probabilities": {
        "facturation": 0.88,
        "acces_compte": 0.08,
        "incident_technique": 0.03,
        "autre": 0.01
      },
      "confidence": 0.81
    },
    "payment_failed": {
      "type": "noul",
      "noul": 0.97
    },
    "impact": {
      "type": "score",
      "score": 1.7,
      "legend": {
        "0": "No impact described.",
        "1": "Inconvenience with a workaround.",
        "2": "Feature unavailable to the person.",
        "3": "Several users blocked."
      },
      "probabilities": {
        "0": 0.0,
        "1": 0.3,
        "2": 0.7,
        "3": 0.0
      },
      "confidence": 0.6
    }
  },
  "usage": {
    "input_tokens": 500,
    "output_tokens": 80
  }
}
  • answers contains the 3 question identifiers.
  • In impact, the JSON keys “0” through “3” correspond to the positions in criteria: 0 × 0 + 1 × 0.3 + 2 × 0.7 + 3 × 0 = 1.7.
  • Noul directly provides a binary probability.
  • For Choice and Score, confidence summarizes how concentrated the distribution is; it does not give the rate of correct answers. Calibration is checked against labeled answers. Definition of confidence.

The envelope contains model, answers and usage.

Structures and error codes are listed in the native reference.

Python: reading a Choice response

The Python client exposes type-specific accessors, including response.choices. These accessors belong to the SDK; they are not keys in the native JSON response. The example includes only the destination question.

Python Python · example not executed 28 lines
"""Documentation example, not executed for this report.
Requires typesafe-sdk and TYPESAFE_API_KEY in the environment.
Example limited to the Choice question from request.json.
"""
from typesafe_sdk import Choice, TypeSafeClient

with TypeSafeClient() as client:
    response = client.system_one(
        model="jev-1.13.0",
        state={
            "ticket": "The payment failed and I can no longer access my account.",
            "language": "en",
        },
        questions={
            "destination": Choice(
                instructions="Which category best describes the main subject of the ticket? Evaluate the categories using the supplied text.",
                criteria={
                    "facturation": "Declined payment, invoice or refund.",
                    "acces_compte": "Unable to sign in or account access blocked.",
                    "incident_technique": "Outage or technical error unrelated to payment or account access.",
                    "autre": "None of the preceding topics.",
                },
            ),
        },
    )
    answer = response.choices["destination"]
    # No automatic action: thresholds need their own evaluation.
    print(response.model, answer.choice, answer.probabilities, answer.confidence)

Python SDK guide.

TypeScript: preserving options in the response type

The choice helper preserves option names in the response type: answer.choice can be facturation, acces_compte, incident_technique or autre, and probabilities has the same keys. Choice is already inferred in this example; the guard on answer.type only checks the label received at runtime. It does not validate the full response contents. The example logs a suggestion.

TypeScript TypeScript · example not executed 26 lines
// Documentation example, not executed for this report.
// Requires @typesafe-ai/sdk and TYPESAFE_API_KEY on the server.
// Example limited to the Choice question from request.json.
import { choice, TypeSafeClient } from "@typesafe-ai/sdk";

const client = new TypeSafeClient();
const response = await client.systemOne({
  model: "jev-1.13.0",
  state: {
    ticket: "The payment failed and I can no longer access my account.",
    language: "en",
  },
  questions: {
    destination: choice("Which category best describes the main subject of the ticket? Evaluate the categories using the supplied text.", {
      facturation: "Declined payment, invoice or refund.",
      acces_compte: "Unable to sign in or account access blocked.",
      incident_technique: "Outage or technical error unrelated to payment or account access.",
      autre: "None of the preceding topics.",
    }),
  },
});
const answer = response.answers.destination;
// Choice is already inferred here; this guard only checks the received type.
if (answer.type === "choice") {
  console.log(response.model, answer.choice, answer.probabilities, answer.confidence);
}

JavaScript v0.6.0 response types, choice helper.

Reproducibility and errors
ItemPractical guidance
VersionThe clients document jev-latest as the default. Request a versioned identifier such as jev-1.13.0, record the returned model and the test date. The documentation recommends pinning this way, but no commitment to immutable infrastructure was identified here.
Authentication or invalid requestDistinguish 401 and 422 from network errors. Fix the cause; repeating the same request does not necessarily resolve it.
Quota or overloadDocument 429/529, waiting and additional attempts. A transport error does not mean “no candidate.”
SDK timingTotal time may include several attempts; comparing it with server time alone would be misleading.
StabilityNo bit-for-bit guarantee was identified in the documents read. Test repetitions separately from wording variations.

These settings must accompany latency measurements. JavaScript retries, JavaScript options, Python retry policy.

Differences between the SDKs and the HTTP documentation
  • The JavaScript client permits missing or null instructions, while the HTTP reference describes them as required and non-null. The server’s acceptance of those values has not been tested; the examples avoid them.
  • The difference in usage also affects cost measurements: counters may be absent in the Python client.

Type declarations alone therefore do not establish the values actually received.

Related resources from my work My guide Routing, errors and human fallback (EN) shows how to use structured output to route processing, handle an error or request a review. A deterministic code branch does not guarantee that the model’s signal is correct.
08

Writing questions that code can use

Context, the answer list and the rules for combining results are part of the system being evaluated.

Consider this ticket: “The payment failed and I can no longer access my account.” Asking “Which team?” imposes an unwritten priority. An exhaustive list does not resolve the ambiguity. Define the business rule first: does 1 team own the incident, are multiple labels allowed, or should someone review the case?

Preparing the call
ElementPoor specificationSpecification to test
ContextOnly the title of an old issue.The title, description and evidence available at the time of the decision.
QuestionIs it important?Does the fix restore a feature used by customers, according to the supplied PR?
ChoicesFeature / Enhancement with no definitions.Categories described for classification; separate questions if issues overlap, then a handling priority applied in code.
ScaleA rating from 1 to 5 with no reference points.A description of each level with examples close to the real data.
Combining resultsThe model implicitly decides the entire policy.The code combines signals according to a written, checkable rule.

Breaking the task down can help: detect the topic, missing information and impact separately, then apply a rule. It also creates more opportunities for error.

Extraction with Choice remains limited to the candidate values. To select a date, the possible dates must already have been found or enumerated. Choosing among 3 dates does not prove that Jev can freely extract any value from a document. Check the quality of the candidate-generation step separately.

Draft an explanation from the case and check its citations An LLM can draft an explanation from the ticket, rules and proposed decision. That text does not reveal Jev’s internal reasoning. Ask the writer to cite evidence from the case, then check that the evidence is present.
II

Examining the results

09

Jev: interesting, revolutionary or a “scam”?

A service to test for specific evaluations. The scientific breakthrough remains unproven, commercial claims need comparison, and allegations of deception need evidence.

My assessment, based on sources reviewed as of September 22, 2026
DescriptionThis report’s assessmentWhy
Interesting for an applicationYes, worth testing on a specific task.Values directly usable in code and short response times can help with triage or routing. Published tests show mixed results. Errors and total cost need to be compared with rules, classifiers and LLMs suited to the same need.
Scientific revolutionNot demonstrated by the sources reviewed.Zero-shot classification already existed. TypeSafe has not published enough detail on the architecture and RLCD to establish what is new. That does not prove that nothing is new, either.
MarketingClaims that need explicit limits.The speed and price multipliers come from comparisons selected by TypeSafe. “0 hallucination” describes format compliance, not the absence of wrong decisions.
Scam / fraudAllegation not established.An API, SDKs and public tests exist. That is not enough to rule out any deception, but the criticisms collected here do not establish it. An old technique, a closed model or a wrong answer is not, by itself, evidence of fraud.
Provisional verdict as of September 21, 2026 Jev has a documented API, public SDKs and test reports accompanied by data. The sources reviewed neither establish deception that would justify the word “scam” nor confirm the claimed scientific breakthrough. Its practical value remains a measurable question: which evaluations can it provide, with what errors and at what total cost?
A classification example, followed by 2 ways to define categories. Zero-shot NLI is prior work, not a description of Jev’s architecture. Fictional result, no Jev call. Infographic generated with Gemini and reviewed; an allowed category can be incorrect.

Classification and categories supplied at call time already existed. A classifier maps an input to categories. With natural language inference, or NLI, a category can be turned into a proposition, then the model can be asked whether the text supports it. Categories therefore do not always need to be fixed in a head trained for a single task. Yin et al.’s 2019 work and the Hugging Face zero-shot pipeline provide concrete precedents to compare with Jev.

The Jev API combines Choice, Score and Noul questions over a shared state. This makes them easier to use in code without retraining a model for each set of options. The service can simplify application development even if the techniques it uses already existed. Ease of use alone does not prove a new architecture or better calibration.

Separate criticisms from facts to verify
ClaimWhat is documentedWhat remains to be established
“It’s just a classifier”Classification and zero-shot methods have precedents. Jev also returns ratings and probabilities for yes/no questions.Quality on new criteria, integration cost and the advantage over appropriate baselines.
“A new family of models”TypeSafe announces an architecture, parallel sampling and RLCD training.The full method, data and ablations needed to assess scientific novelty.
“0 hallucination”TypeSafe describes a schema-compliance guarantee and specifies that its 0% is not an empirical measurement.The rate of wrong decisions among compliant responses. An allowed option can be wrong.
“Up to 200 times faster”Launch multipliers depend on the workflows, competitors and settings chosen by TypeSafe.The gain on the reader’s workflow, at comparable quality and with the outputs their application needs.
“It’s a scam”Opacity and overly broad claims fuel criticism of the product. Published tests nevertheless allow its behavior to be examined.A specific instance of deception. An old technology, a closed model or an isolated poor result is not enough to demonstrate one.

TypeSafe’s launch post states limitations itself:

The adapter asks LLMs for probability distributions, which cost more to produce than a decision alone. Comparing the same outputs is useful for evaluating what the API returns; an application that needs only a category should also test that narrower requirement.

An API does not reveal its internal architecture The phrase “1 call” describes the interface. It does not demonstrate a single pass through a network, a parameter count or the use of ModernBERT. TypeSafe’s descriptions and open implementations inspired by Jev do not expose the same information. The lack of public detail limits the assessment of novelty; it does not demonstrate that no novelty exists.
Choose baselines that answer the same question
ApproachWhat it enablesWhat to account for
Rules and code graphCompute a relationship or apply an explicit policy. Pixel provides search, ranking and analysis based on its index.Index coverage, analysis limitations and rule maintenance. A deterministic result can still be incomplete.
Encoder and trained classifierLearn a stable task from labeled examples; also compare a lightweight head over frozen embeddings.Labeling, training, hardware, operations and changes to categories. Local operation does not have zero cost.
Zero-shot NLIEvaluate categories described at call time by constructing text/hypothesis pairs.Number and length of pairs, batch size and hardware. 77 categories do not necessarily mean 77 sequential calls.
JevSupply questions and criteria at call time, then receive typed values.Question design, local evaluation, input tokens, network, review and service dependency.
LLM with constrained outputInterpret instructions and produce fields that comply with a supported schema.Constraints actually enabled, refusals and truncation, generated tokens, reasoning settings and errors in the answer itself.
Open decision modelRun and adapt an inspectable implementation, such as Laya or an NLI engine.Quality of the exact checkpoint, fine-tuning data, calibration and local serving cost. A compatible interface does not reproduce Jev.

Claude’s structured outputs already constrain decoding according to supported schemas. The documentation details the limitations, including refusals, truncation and a casing exception for enum and const values. Distinguish an instruction to “respond in JSON,” a mode that guarantees JSON syntax and schema-constrained decoding. Portraying all LLMs as unable to follow a schema would distort the comparison. Format compliance does not guarantee a correct decision for any competitor.

Pixel is a project by Livio Gamassia. Like me, Livio is an active member of the DevWithAI community. The sources inspected are described in the chapter on community projects. Its routing, graph and explicit scores already support decisions within their scope. Embeddings add semantic search; they do not turn every result into exact evidence. No comparison run here establishes that Pixel and Jev handle all natural-language criteria with equal quality.

Public projects do not replace tests A repository shows that an author offers code. Its star count measures neither decision quality nor production use. A benchmark README is more informative when it provides the protocol, versions and raw responses. A project list, a comment and an experimental result do not count as 3 equivalent confirmations.

On Hacker News, the classifier description is accepted. On September 15, petesergeant describes Jev as a zero-shot classifier. CompleteSkeptic replies “exactly right!”. This account identifies itself as TypeSafe’s CEO in the same thread. The agreement concerns a functional description; it neither publishes the architecture nor validates the claimed performance.

The discussion also distinguishes a valid type from a correct answer. On publishing the architecture, the same account says the team has discussed a paper while keeping the details confidential. The comment provides neither a publication commitment nor a date.

The 5 Reddit threads reviewed
Public questions and reactions, consulted on September 21
Thread and communityDiscussion topicSource scope
JEV architecture · r/LocalLLaMAHypotheses about logits, architecture and the appeal of cost or speed.Participants’ interpretations; no access to Jev’s internal architecture.
Jev, generalized BERT? · r/LocalLLaMAComparison with encoders and links to classification work.Comparison leads. The thread belongs to LocalLLaMA, not accelerate.
45-second summary · r/accelerateReposts of X messages; disagreement about the classifier’s novelty.Post by stealthispost, not a test protocol.
Making it choose letters · r/accelerateReactions to using Choice to produce letters.Same posting account; a repurposed demonstration does not describe the model’s internal mechanism.
Classifying emails · r/accelerateDiscussion of the limits of the term classifier and of natural-language instructions.Same posting account; no corpus, code or measurement on the page consulted.

These 5 threads contain differing opinions and reposted material.

  • The 3 accelerate threads do not constitute 3 independent experiments.
  • The pages consulted do not allow a consensus to be estimated; their exact dates could not be confirmed from the relative ages displayed.
  • Quotations that could not be found on accessible pages were excluded.

An idea’s precedence and copying someone’s work are separate questions. Nandakishor M, the author of Laya, claims earlier work on non-autoregressive decisions. Preprint records from 2025 exist; his post also acknowledges that his first system did not handle new questions at runtime. These facts support a discussion of the claimed novelty. They do not demonstrate that TypeSafe copied his code or method. The abstracts were consulted, without auditing the PDFs.

The video analyses also compare favorable views with counterexamples: Theo’s checkers game, errors described by Gary Explains and Erwan’s comment triage. Fireship’s reservations about format are useful; his explanation of confidence needs correcting. None of these passages establishes fraud on its own.

10

Announced pricing and speed

TypeSafe publishes a price and claims speed and cost improvements. Those gains depend on the tests and models compared.

Vendor figures and stated scope
FigureSource and conditionsWhat to measure for your use case
70 to 500 msTypeSafe's September 15 post; measurements generally taken from computers on the US West Coast, close to the service.Latency from your region, load, errors and p95.
40× to 200×; 193.6× faster and 444.6× cheaperThe post ties the last 2 ratios to the published workflows and places them at the upper end of the gains expected in practice.The same task, required outputs and resulting quality, with each comparator's settings.
$42 per billion input tokensDirect pricing, equivalent to $0.042 per million.All calls, retries and downstream processing.
Free outputsA zero output price is advertised. TypeSafe acknowledges that only time will tell whether this price is sustainable without subsidies.Pricing for the route used and current terms; no guaranteed unlimited duration has been established here.

The 150 ms figure appeared in the LinkedIn post that prompted this research. I found no primary source establishing it as a general service latency. The range in the launch post and dated trial measurements are more useful when planning a comparison.

Compare the same outputs An LLM asked to produce probabilities for every option does more work than one asked to return 1 label. Compare the outputs your application needs, together with their quality, cost and response time. The full-workflow comparison diagram shows what to count for rules, Jev and an LLM with constrained output.
Reconstructing a comparison
ItemQuestion to ask
TasksDoes each method receive the same cases and information?
Expected outputIs a label enough, or do you need a full distribution?
SettingsWhich model, version, reasoning level and API route?
ReferenceIndependent human annotations, verifiable rules or consensus from other models?
TimeMeasured from the same client, with the same concurrency and retries included?
CostList price, actual bill or estimates for competitors?
QualityWhat error rate, on which population, after what filtering?

The TypeSafe evaluations give equal weight to 4 workflows: security incidents, agent traces, invoices and support. Their reference answers come from GPT-6 Astra and Claude Fable 5.1 with high reasoning; the compared models use their default settings. The column named accuracy therefore measures agreement with these references, rather than with independent human annotations.

Agreement, price and duration published together by TypeSafe
Model, workflow modeMean agreementCost per caseTime per case
Jev67.8%$0.00040.4 s
sol74.1%$0.083623.3 s
Opus 573.1%$0.176137.8 s
terra67.9%$0.030410.1 s
Sonnet 567.8%$0.117478.1 s
luna66.8%$0.003312.9 s
DeepSeek v4 pro65.5%$0.041386.5 s
DeepSeek v4 flash64.4%$0.005951.9 s
Haiku 4.553.6%$0.019512.5 s

Rounded values read from the vendor's charts on September 21.

The launch multipliers cannot be recalculated by arbitrarily dividing 2 rounded cells in this table.

Vendor data, 4 equally weighted workflows. Cost and duration axes are logarithmic; values are displayed rounded figures. No personal testing or independent human ground truth.
11

Calculating the cost of the whole workflow

Token pricing does not include context retrieval, subsequent calls or corrections.

The basic calculation is straightforward: billed input tokens × price per token. At the direct price cited in this report, 1,000 tokens cost $0.000042. 1 million calls of that size therefore cost $42 in input charges. This calculation assumes neither that every call is correct nor that 1 call is enough to finish a task.

Illustrative scenario, same list price
ItemAssumptionCalculated cost
Planned calls1,000,000 × 1,000 tokens$42.00
Retries50,000 extra calls of the same size, all billed in this example$2.10
Second decision100,000 cases requiring another call of the same size$4.20
Jev total1,150,000 calls, without caching or other adjustments$48.30
Other costsRetrieval, storage, text-generating LLM and reviewMeasure separately; not included in $48.30

Processing multiple questions and reusing context changes the billed volumes.

A solution that lowers model costs but requires more corrections can cost more overall.

Same expected decision, same useful information and same test cases. The LLM can return a structured category. Measure the whole workflow, including failures and reviewed cases, against the same quality target. Figures such as 200× or 400× do not describe this protocol: no result is assumed.
Lexical search remains a baseline BM25 can run locally. Calling Jev adds a network dependency, latency and data transfer. For skill suggestions, where a skill is a set of specialized instructions loaded by an agent, first measure the paraphrases BM25 misses and the cost of those errors.

In a sequential workflow, stage durations add up. Independent questions can run in parallel, but the gain depends on quotas and the response-time distribution. Measure the time from receiving a case to producing a suggestion the application can use, then calculate p50 and p95 for that full duration.

Related resources To build this measurement, see my guide Calculating cost per accepted task (EN): calls, retries, review time and cost per accepted result.
12

Benchmarks published by third parties

The reports below evaluate different tasks. I read them without reproducing their tests or auditing all their data.

The anisselbd phishing benchmark covers 2,000 emails with synthetic bodies. The first protocol asks Jev 9 questions and asks Haiku 4.5 for a direct verdict. Jev achieves 62.6% correct decisions, compared with 81.3%. These 2 configurations do not isolate the model's contribution.

A second protocol asks both models the same 5 questions, then trains a regression on their signals. On the 1,000 held-out test cases: 95.0% with Jev, 93.2% with Haiku, compared with 91.8% for the rule-based baseline. The Jev/Haiku gap is not significant at the conventional 5% level (McNemar p = 0.063). The authors also report Jev's cost and latency advantage with this decomposition.

Question wording and the way answers are combined are part of the evaluated system. Moving from a direct verdict to 5 signals changes the protocol; these results remain specific to this corpus.

5 other public benchmarks
ReportResult or test objectiveConditions to retain
AbdelStark / jev-benchmarksClassification compared with GLiNER.300 held-out examples, 100 per condition: AG News, Banking77-BTZSC with 72 categories, DAIR Emotion. Thresholds and criteria must remain tied to this pilot.
WallerChen / jev-measuredJev: median of 352 ms, compared with 1,343 ms for Mistral and 877 ms for Gemini. The reported 1.4× and 1.7× factors concern cost.8 examples × 5 repetitions, or 40 calls per model, without ground truth in this part. Separate test with 27 annotated tickets and 6 ambiguous ones, 3 runs. Different access routes.
fstandhartinger / jevbench534 decisions per system, including 220 difficult ones: 111 public and 109 held out.Synthetic cases written and reviewed by models, frozen before execution according to the author. Composite score across 4 equally weighted dimensions. Some latencies are adjusted using production assumptions.
anessbelbati / jev-rerank-bench8 English datasets, 1,617 evaluable queries: mean per-dataset nDCG@10 of 0.692 for Jev Rubric versus 0.691 for Cohere Pro. Difference: 0.001; 95% CI [−0.009; +0.012]. On MIRACL-fr: Jev Choice 0.700 versus Cohere Pro 0.764.Giving each English query equal weight produces 0.756 for Cohere and 0.738 for Jev. MIRACL-fr: 152 evaluable queries out of 269, with a relevant passage among the 30 BM25 candidates. Datasets and variants differ; this test does not isolate language.
RINNECODER / jev-behavior-studyCorrect answer placed first: 95/108 correct responses. Placed last: 62/108.6 problems × 24 orders × 3 repetitions: 432 calls, 108 per position. These cases are related; option identifiers are not controlled separately. The result remains limited to these problems.

nDCG@10 measures ranking quality for the top 10 documents. A reranker reorders documents that have already been retrieved. The English results do not establish a winner; an interval containing 0 does not establish equivalence either. These tests alone do not measure the quality of an answer written from the documents.

Response times: 2 regions, 2 corpora
TrialJev measurementScope
PhishingMedian: 239 msFrom France, according to the author; corpus and questions specific to this test.
ASSAY-001 / Banking77Median: 382.3 ms; p95: 553.7 ms3,080 successful first attempts. Network included, Plano, Texas region according to the metadata. Recalculated from published responses.
ASSAY-001 / CLINC150, same campaignMedian: 385.9 ms; p95: 615.3 ms5,492 successful first attempts. Failures and retries are excluded from these quantiles.

These observations do not support a comparison between regions: inputs, questions and protocols differ. They provide more precise reference points than a general latency of 150 ms.

Test decomposition too
  • Compare direct decisions and decomposed questions for each competitor, using the same data.
  • Choose thresholds and weights before the final evaluation.
  • Keep a baseline without an LLM.
A Banking77 trial with examples in the request

The simonmesmith report reports 2,846 correct answers out of 3,080, or 92.40%, with Jev 1.13.0.

  • Each request contains 24 annotated examples retrieved by BM25. This configuration is selected using development data, according to the published protocol.
  • The 93.66% BERT result is taken from a 2020 paper, without rerunning BERT.
  • This result concerns a method that uses examples, rather than a use case without labels. README reviewed; raw responses not re-audited and no inference reproduced here.
13

Measured probabilities and confidence thresholds

ASSAY-001 publishes its raw responses. The 72.2% result comes from a different experiment.

The ASSAY-001 report evaluates Jev on Banking77 and CLINC150, 2 public intent-classification corpora. For this report, the published Banking77 and CLINC150 responses were retrieved and their hashes checked. The recalculation covers probabilities, decisions and the confidence field. It uses the published campaign without making new model calls.

Recalculation with the amended tolerance for probability sums
CorpusUsable responsesOptionsCorrect decisionsECE
Banking773,0807779.77%0.0936
CLINC1505,496151, including out of scope88.12%0.0204

ECE compares the probability of the returned option with the rate of correct decisions, grouped into bins.

ECE uses the probability of the selected option, even in the 3 cases where it differs from the displayed maximum; it does not use confidence here.

The protocol sets ECE ≤ 0.05 as the criterion for this study. CLINC150 meets it; Banking77 does not. This threshold is not a general standard. ECE also depends on the bin boundaries: using left-closed bins, [0, 0.1) through [0.9, 1], CLINC150's ECE changes from 0.0204 to 0.0209 on the same amended response set. Neither binning scheme changes the verdict at the 0.05 threshold. These results do not isolate the effect of class count; the corpus with more options has the lower ECE here.

The second amendment, described in the report, raises the tolerance for probability sums after measurement, from 0.001 to 0.02. It restores 145 Banking77 responses and 368 CLINC150 responses whose sums are 0.99 at the published precision. The Vercel documentation for the TypeSafe AI provider states that probabilities are rounded to 2 decimal places and may not sum to exactly 1. The data are consistent with this precision: 101 distinct hundredth values, excluding floating-point representation noise. This count alone does not reveal the internal rounding process. A sum of 0.99 is therefore not enough to establish a type error.

How tolerance affects which responses are retained
CorpusInitial tolerance: 0.001Amended tolerance: 0.02
Banking772,935 responses; accuracy 81.09%; ECE 0.09043,080 responses; accuracy 79.77%; ECE 0.0936
CLINC1505,128 responses; accuracy 89.43%; ECE 0.02095,496 responses; accuracy 88.12%; ECE 0.0204

Restoring these responses lowers accuracy on both corpora. It increases Banking77's ECE and slightly reduces CLINC150's. Changing the tolerance also changes the evaluated population; both sets of results are needed to understand its effect.

Another check finds 3 choices whose probabilities are 1 percentage point below the displayed maximum: 0.46 versus 0.47 and 0.47 versus 0.48 in Banking77; 0.48 versus 0.49 in CLINC150. The API reference describes choice as the most likely option. Monotonic rounding applied in the same way to each option cannot, by itself, reverse their order. These 3 discrepancies remain unexplained; the internal values before display are not published.

Conditions that limit generalization
PointImplication for interpretation
8,580 planned requests; 8,576 usable responses4 local network-resolution errors are excluded from model metrics.
Requests: jev-latest; 8,576 responses: jev-1.13.0The requested alias and the version actually returned are distinct. These results do not describe a later version.
Corpora and revisions recorded in PINS.txtBanking77 comes from the PolyAI repository; CLINC150 uses the plus/test set from clinc_oos. Whether these data appeared in training remains unknown.
Report dated September 18; responses from September 17, 20:57 to 21:45 UTCDate the observation using the response files and retain the difference from the stated test date.
Recalculation of the same filesReading the results a second time is not a second inference campaign.
A stated cost that does not match the published tokens The report states approximately $0.01. The responses contain 11,065,908 input tokens: at the list price of $0.042 per million, the calculated cost is $0.464768, excluding preliminary trials. This calculation does not replace an invoice. It does rule out repeating the stated cent as a verified cost.

The ASSAY files also let us check what a confidence ≥ 0.9 filter retains.

Results of the confidence ≥ 0.9 filter on ASSAY
CorpusResponses retainedCoverageCorrect responsesAccuracy after filtering
Banking772,137 out of 3,08069.38%1,979; 158 errors92.61%
CLINC1503,877 out of 5,49670.54%3,726; 151 errors96.11%

The 72.2% figure repeated in roundup articles comes from Agent Journal. The author describes 300 synthetic cases; 126 have confidence of at least 0.9, and 72.2% of their responses are correct. Raw responses were not found in the links or the targeted search. This remains an author-reported result, not recalculated in this report.

Agent Journal reports 42% coverage. The task requires combining weak signals in synthetic texts; it differs from Banking77 and CLINC150 intent classification. The author specifies the jev-latest alias, without a resolved version that can be verified in raw responses. These results can coexist: protocols, data and possibly versions differ. They do not isolate the cause of the gap.

All 3 experiments retain errors after selection by confidence. The accuracy and coverage of this selection are not ECE measures. Since confidence is not defined in the API as the probability of being correct, comparing the 0.9 threshold with 72.2%, 92.61% or 96.11% does not measure the calibration of option probabilities.

Adapting the GitHub and Sentry pilots
  • Retain the raw distribution, name the variable used for the threshold and check results on the tickets you actually intend to process.
  • Set numerical tolerances before measurement.
  • Report any protocol change made after reading the results.
14

Jev as a judge of agent traces

A 100% result on 5 repeated traces measures agreement on those cases, not general reliability.

The tutorial, the article reporting the results and the benchmark serve different purposes.

The test uses 5 fixed traces, each repeated 100 times. 1 annotator supplies the reference labels: 4 successes and 1 failure. On the Dublin trace, asking for clarification seems reasonable but does not satisfy the rubric, which expects a search. The choice of rubric is therefore part of the result.

Published agreement with these 5 labels
JudgeAgreement across 500 repetitionsInterpretation
Jev100%No reported disagreement on these traces and their repetitions.
GPT-5.6 Terra99.8%1 reported disagreement across the 500 repetitions.
GPT-5.6 Luna96.4%Measured on the same traces, not an independent corpus of 500 situations.
Claude Sonnet 4.680%1 in 5 judgments differs from this reference.

These rates match the published per-case summaries. Individual decisions are absent from the archive reviewed, so they were not recounted. Any presentation of “100%” must keep the 5 traces and their repetitions visible.

The summaries in benchmark.json also give the mean of the quality variances calculated within each of the 5 traces. The table recalculates ratios from those summaries; individual judgments are unavailable for recalculating the variances themselves.

Variability of the quality score in the published summaries
JudgeMean within-trace varianceRatio to Jev
Jev0.000014941
Claude Sonnet 4.60.0013700791.68
GPT-5.6 Luna0.00646904432.90
GPT-5.6 Terra0.01364287912.96

These ratios describe the stability of a continuous score on the same traces. They do not multiply either the rate of correct decisions or the accuracy of the probabilities.

The metadata for this run are dated September 18.

Compare costs in the same units The reported totals of $28.17 for Claude Sonnet 4.6 and $0.34 for Jev give a ratio of roughly 83. Dividing a $28.17 total by $0.00035 per call artificially produces a ratio near 80,000. Costs remain author-reported: the public archive does not provide every call needed to reconstruct the bill.

The cost collection script queries LangSmith. The scope of the means and totals is not clearly limited to the 500 verdicts. Luna also appears close to Jev in cost in their table. The comparison therefore does not justify claiming that all LLMs cost several orders of magnitude more.

To test Jev as a judge, vary the tasks, tools, partial failures and rubrics, then have new traces annotated. Repeating a trace helps measure stability; adding different traces is necessary to test coverage of situations.

Theo at 12:40 criticizes choosing between implementations using a judge that does not explore the repository. This objection is a reminder to test a specific criterion with the context it needs. It does not establish that a model without written reasoning can never serve as a judge. The video analysis distinguishes these 2 claims.

15

Tracing articles back to the original experiments

Media coverage can draw attention to a test without adding new measurements.

Capital & Compute brings several results together, but their tasks, comparators and definitions of cost differ. The result on 18,514 emails is reported by Arize, which links to bitnovus. Counting it once for every article would artificially multiply the confirmations.

DIAGRAM · 1 test, several reports
The arrows follow the flow of information. They do not represent 4 independent benchmark campaigns.
Original experiments located
Author and taskReported resultMain limitation
bitnovus, email filteringIn the 18,514-email experiment: 98.33% for Jev with detailed criteria, 98.39% for TF-IDF.Criteria were refined after reading labeled errors. The README contains several experiments; their denominators must not be mixed.
Near Here, event validationJev 48/50 on cases used to choose the prompts; then 19/21 on additional cases, versus 20/21 for Gemini.Labels prepared by an assistant, without independent human adjudication. Generative models use high reasoning and provide explanations.
gemanor, small Python functions98% correct judgments of functional validity for Jev, 100% for Gemini and Fable; medians of 0.75 / 3.59 / 4.31 seconds.24 families × 5 variants × 3 repetitions per model. 4 rules applied to small functions, not real PRs.
paddo, product matching9,081 pairs, $0.32 and 13 min 22 s reported; 30% left without a verdict between the chosen thresholds.The author accepts 48 of the 50 reviewed verdicts. Results remain advisory and are not used by downstream systems.

These trials are more useful when their exact scope is retained.

Publish the result together with its limitations For a benchmark, give the task, denominator, models, label provenance and settings before the ratio. A calculated price remains a calculated price; repetition of the same case measures its stability; a result on development data does not become a result on a held-out test set.

The CounterProof analysis of consensus labels finds 8 disagreements among 19 cases where both its judges respond. These cases come from a selection of 20 vendor examples, not a random sample of the full evaluation. This check invites scrutiny of the labels; it neither replaces them with human ground truth nor reruns the full benchmark.

The MindStudio article on Jev and classifiers reports, among other figures, 93.2% for a 22-million-parameter encoder. The article body reviewed provides no link to the protocol or repository for that experiment. This figure is therefore not added to the table of results verified at their original source. The article also reports the opposite result on Yelp; it does not justify a general conclusion that a trained classifier would always win.

16

Videos: demonstrations, opinions and criticism

What creators appreciate, what fails in their trials and which claims need correcting. Links open the analyzed passages.

Videos suggest tests and also show failures. The same creator can appreciate Jev's speed while criticizing its decisions. Opinions are attributed below; reported results remain those of their authors. None of these trials was reproduced for this report.

Recurring arguments in the videos
ArgumentPassageThis report's assessment
Responses that software can use easilyTheo, 06:34; Fireship, 01:33A choice or score can feed directly into code. LLMs with constrained outputs remain valid comparators: they can also follow a schema.
Fast decisions across many textsGreg Isenberg / Ryan Vogel, 04:34; Theo, 26:49Email or discussion classification reported by the authors. Throughput and cost do not measure the quality of the resulting categories.
A valid response can be wrongTheo, 05:34; Fireship, 03:00; Gary Explains, 08:10Weak checkers play, factual errors and confident answers: useful counterexamples, without a general error rate to infer from them.
How the question is asked changes the resultErwan, 06:15; AICodeKing, 02:16An incomplete category list forces a bad choice. Criteria and inputs need to be examined before attributing the entire failure to the model.
Commercial claims need a specific comparatorTheo, 15:48; Micah, 02:05These passages comment on TypeSafe's results. They add no independent measurements to the launch multipliers.
Theo: enthusiasm for the API, reservations about gameplay, judges and compaction

Jev is incredible, published on September 21, 2026, runs for 30 min 29 s. The transcript was read in full. Its favorable title does not capture the reservations expressed in the video.

  • Checkers. 05:04: Theo supplies the board as text data. He appreciates the quick response, then observes at 05:34 that Jev plays badly. The demonstration measures no visual capability and provides no comparative benchmark.
  • Integration. 06:34: he describes the value of responses a program can use. At 07:18, he repeats the launch promise of structured outputs. A format guarantee does not guarantee the correct choice.
  • Code judge. 12:40: he challenges the idea of asking Jev to choose the best of several implementations without giving it the means to investigate the repository. This objection concerns the available context and the requested task. The absence of written reasoning is not enough to rule out every judgment against a specific criterion; see the agent-trace judge tests.
  • Benchmarks. 15:48: he notes that the published gains are at the high end of what TypeSafe expects in practice and that reference answers come from other models. Agreement with them is not independent human annotation.
  • Emails. 20:27: Theo comments on Ryan Vogel's demonstration. It belongs to the same source family as the Greg Isenberg interview and does not count as an additional replication.
  • Compaction. 23:03: he criticizes message deletion presented as conversation summarization. Jev can select passages; it does not write the summary connecting decisions, constraints and results. Lost information and the quality of subsequent responses would need to be measured. Claims about caches and reasoning traces are not repeated here as rules shared by all providers.
  • Discussion archives. 26:49: he describes classifying conversations, but his search for “interesting” discussions retains too many results. This account suggests defining an observable criterion, such as the presence of a verifiable solution. The amount transcribed at 27:11 is incomplete: no cost is inferred here.
Fireship: a critical introduction, with a correction on confidence

An ex-OpenAI researcher just deleted language from the LLM..., published on September 21, 2026, runs for 5 min 27 s. The transcript was read in full. The video mixes explanation, sarcasm and humorous examples; it provides no independent benchmark.

  • Small decisions. 00:29: the video shows why generating a lot of text for a small decision can create unnecessary cost. Its caricatures cannot quantify gains over an LLM configured for a short output.
  • Typed answers. 01:33: an introduction to state, questions and primitives. The term sometimes transcribed as “null” refers here to Noul.
  • Correctness and repeatability. 03:00: Fireship notes that a correct format can contain a wrong decision and that the same request can produce different results. He provides no measurement of that variability.
  • Confidence. 03:15: the explanation equates a confidence level too directly with the frequency of correct answers. The TypeSafe documentation defines confidence through distribution concentration for Choice and Score; Noul has no separate field. Calibration is measured on annotated examples for the task and version tested. A confidence threshold is not a statistical confidence interval.
  • Architecture. 03:40: Fireship stresses that the internals have not been published. Despite announcing a look at the code at 00:56, the transcript does not describe a review of Jev's internal code.
  • Prior work. 04:02: the video reports a claim of earlier work without demonstrating copying. It does not name the author in this passage. This report does not turn that allusion into evidence of plagiarism or fraud; see criticism and marketing.
  • OpenJev. 04:07: the description is consistent with SemIf, formerly OpenJev, which reads option scores from a frozen Qwen model. The project reproduces a decision interface, not Jev's weights or training. This alternative needs its own quality, cost and calibration measurements; see community projects.

The Mux segment starts at 04:24. Theo, for his part, discloses a Depot sponsorship. These passages do not establish funding from TypeSafe.

4 French-language accounts: proposed uses, errors and test limitations
Analysis of the French transcripts read in full
Creator and passageContributionCaveat to retain
Meydeey, 11:06; 15:46Comparison across several scenarios; the presenter also describes weaknesses with dates, numbers, nested structures and data unlike typical examples.The composite score of 99.4/100 is not an accuracy rate. Dataset, annotations and code were not audited; the presenter says he does not understand the displayed Brier score.
Erwan, 06:00; 04:00Reports sorting 500 comments in 14 s for $0.01. According to his review, fewer than 10 of the 85 comments classified as spam actually are spam.The “opinion” category is missing. No independently annotated error matrix. His other test asks 2 separate binary questions: their responses do not form a single Choice distribution.
LVLUP, 12:00; 05:13Demo sorting and labeling roughly 20 fictional tickets. The author says he has seen errors and wants to annotate a dataset before production use.The 60% threshold proposed at 14:24 is arbitrary. His legal conclusion about hosting is not adopted here: it is not supported by a review of the applicable laws and contracts.
Leon / Naleo, 05:17; 08:50He says he constrains both models' outputs, then demonstrates text classification and a maze. This setting deserves to be included in comparisons.The maze is reported at around 200 ms versus 1 s, without sample sizes, p95 or a full configuration. Classifying fictional news does not measure the quality of a financial decision.
2 videos citing the same announcement are not 2 validations The multipliers repeated by Theo, Fireship and other channels come from TypeSafe's evaluations. Quality needs to be compared on the same inputs and task. Including an LLM with constrained outputs avoids assuming that an LLM must always write a paragraph. Limitations and corrections apply to favorable opinions and criticism alike.

The September 17 ThursdAI episode description identifies Allie Laabs as Founding DevRel at TypeSafe. The links below use timestamps from the YouTube excerpt about Jev, which differ from those of the full episode.

Commented passages
Video and timestampWhat to watchHow to interpret the result
Greg Isenberg, 22:54Ryan Vogel describes an inconclusive Bitcoin trial: buy, hold or sell.The comparator model had additional news; the information they received differed.
Greg Isenberg, 24:22A video is transcribed before Jev scores the text.The passage shows a transcription stage, not native video input to Jev.
Meydeey, 16:25Construction of the composite score, reported as 99.4 at 16:39.This number is not an accuracy rate. At 16:49, the presenter says he does not understand the Brier score; the method and on-screen material still need checking.
Erwan, 06:15Comment-sorting test; errors are described at 06:47.The category list omits opinions. The author points out comments classified as spam, without independent reference annotations.
Allie / ThursdAI, 23:00Choosing between a single choice and multiple compatible labels.The speaker represents TypeSafe, which also sponsors the hackathon announced by the host.
AICodeKing, 05:22Gregor Zunic's browser demo, combining Jev and a generative model.AICodeKing says he has not reproduced it. The Jev Ultrafast repository includes browser work in the time measured after the first observation. At 06:01, the commentator specifies that the stated price excludes browser infrastructure: time and cost have different scopes.
AICodeKing, 02:16An “other” category is missing from the choice list.A choice forced by an incomplete list can be wrong; the passage also discusses confidence.
Allie / ThursdAI, 26:37How a demonstration was edited.The speaker reports recording 15 minutes and retaining 2 min 30 s. The edit does not measure the success rate.
New passages located in the transcripts
Video and timestampTopicScope
Micah, 02:05How ratios vary with the comparator.Commentary on vendor results; no new benchmark.
Micah, 03:00Agreement with judge models.Agreement does not establish correctness verified independently by humans.
AISeeKing, 05:20Disagreements in the published results.Analysis and secondary reporting; no additional run verified.
SimplyExplain, 07:14Narrowing the candidates before the Wikiracing choice.An explanation of the 2-stage system described by TypeSafe.
Riley Brown, 19:13Access through Vercel.The passage does not document the conditions on other platforms.
The 12 most-viewed videos in the September 21 collection
Video collection method
  • The initial collection contained 78 candidates and 38 transcripts. The September 21 supplement added 5 transcripts, bringing the total to 43.
  • Fireship adds 1 transcript on September 22: 44 transcripts acquired in total. Theo's transcript, already in the collection, was reread in full. The total is 14 transcripts read in full and 30 examined through targeted passages.
  • One acquisition in the supplement did not produce the requested English subtitles; its metadata alone confirm no performance claims.
  • Timestamps correspond to the start of subtitle segments, without frame-level precision. Misrecognized names and numbers are not corrected into assumed facts.
  • A transcript lets us locate an author's statements. It does not verify the displayed counters or the execution shown on screen.
  • Interviews with the TypeSafe team remain vendor statements, even when a third-party channel publishes them.
  • The combined duration of the videos does not represent full viewing undertaken for this report.

The short video Jev Doom Demo SoftBed is a commented repost, with no independent experiment identified. In the original demo, TypeSafe says Jev receives a textual game state, not images. Neither this repost nor an edited video measures general gameplay ability. The timestamped links in this report were checked against the transcripts, without an audiovisual audit of the displayed counters.

30 passage-based analyses: use cases, objections and hypotheses

This table provides access to the other analyses from the initial corpus, including Gary Explains, Sam Witteveen, The PrimeTime and Turing Post. The links point to passages that were read; they do not mean the entire video was reviewed. The observations describe what each creator says as of the date of their video.

Passages examined in the 30 remaining transcripts
Channel and passages readVideo contributionAnalysis limitation
Sam Witteveen · 12:53 ; 14:11Sam Witteveen distinguishes response format from accuracy and notes the absence of a paper or detailed architecture.Summary of vendor announcements, without reproducing the tests.
Sam Witteveen · 01:05 ; 03:49 ; 07:00 ; 08:47Introduces SemIf, DJev and open alternatives; discusses NLI/BERT and limits to generalization from a small number of examples.These are compatible or inspired projects, not published Jev weights. Check benchmarks, names and conditions in the primary repositories; terms of service are mentioned without verification here.
Syntax · 04:33 ; 10:39 ; 15:37Syntax proposes a pipeline of transcription, LLM notes and claim checking; demonstrates Home Assistant with a stated time of 300 ms.A partially outlined pipeline proposal; the timing of this demo is not a full benchmark.
The PrimeTime · 21:37 ; 26:22 ; 32:47 ; 35:18The PrimeTime livestream explores game integration, action schemas and integration errors.Selected passages only; development errors are not a model failure rate. More than 2 hours not analyzed in full.
Matthew Berman · 00:23 ; 04:30 ; 08:47Matthew Berman repeats the zero-hallucination claim in a discussion involving health, traffic and critical decisions.Misleading shorthand if read as guaranteed accuracy; no safety validation observed in these passages.
Caleb Writes Code · 01:45 ; 07:04Caleb distinguishes execution speed from depth of understanding; notes that social media demos mainly highlight speed.Interpretation and vendor figures, not a controlled comparison.
Rob Shocks · 00:50 ; 07:21Rob Shocks describes state + questions + typed answers and considers tool and skill selection.The title does not mean Jev generates code. Agent use cases are mostly proposals.
Moritz | AI Systems · 00:00 ; 11:36Moritz announces 3 projects and shows an improvement to the Claudia memory system using ranking.No validation of recall quality or regression measurement in the passages read.
Riley Brown · 12:24 ; 15:25Riley Brown repeats the internal benchmarks and proposes notification filtering; cites a 64k context.The quoted context figures vary. See the limitations chapter to distinguish state, question and complete request.
David Ondrej · 01:13 ; 05:37 ; 09:59David Ondrej repeats the marketing figures, discusses parallel outputs and shows a browser demo.Parallelism does not prove freedom from errors; the browser demo is replayed; the video includes hosting promotion.
RepoChad · 00:14 ; 02:11 ; 06:09RepoChad presents RLCD as a claim and notes the absence of a standard public benchmark, parameter count or weights.Third-party presentation, not evidence of architecture. Useful criticism of validation that is mainly internal.
Codevolution · 00:00 ; 10:59Codevolution explains smart-if, notes that Noul has no separate confidence field, and discusses the returned model version.Free-access dates differ between videos. This passage is not a reference for current access terms.
AICodeKing · 02:16 ; 02:50 ; 07:34AICodeKing shows a missing category, resistance to a simple injection, selection of an email from candidates and an audit of false success. Distinguishes service time from end-to-end time; mentions 8 requests, 4,148 tokens and 1.13.0.Tiny sample. External Browser Use demo not reproduced, Mercury LLM for text, timer starts after the first observation, no booking made.
Turing Post TV · 04:38 ; 09:45Turing Post distinguishes a structural guarantee from a correct judgment; shows a Codex integration and cites the architecture and RLCD as claims.Targeted analysis, not a full audit of the code or comparator.
Gary Explains · 01:01 ; 08:10Gary Explains gets an incorrect attribution for a modified Shakespeare quotation and a confident wrong answer to a flower riddle.Creator's counterexamples, not a general error rate; transcript only, screen content not rechecked.
Neural Breakdown with AVB · 11:30 ; 20:07Neural Breakdown explores constrained decoding and possible architectures.Explicit speculation, not a demonstrated analysis of Jev's internals; more than 2 hours not analyzed in full.
Jeremy Chone · 13:10 ; 38:40Jeremy Chone builds a Rust/sysone wrapper; proposes checking Rust practices and runs an urgency example with an object output.The linting use case is proposed; library development does not prove model accuracy.
vogel · 00:00 ; 02:06Ryan Vogel shows an email classifier with 8 concurrent operations and reports roughly 200 ms per email.Same author and source as the Greg demo; do not count as an additional independent replication.
Founders You Should Know · 00:02 ; 02:25Diogo presents his vision for automation before launch and announces a future release.Video published on March 31, 2026, before the public launch; it does not measure the September version of Jev.
AI Council · 02:43 ; 05:35A June TypeSafe talk contrasts human assistance with automation and criticizes benchmarks.Historical account of the founder's vision; neither architecture documentation nor an evaluation of the launched version.
Lukas Margerie · 00:00 ; 05:11Lukas Margerie proposes reusing an X classifier for YouTube video categories and reports several external demos.A collection of demos, not verified original metrics; counters and costs are attributed to their authors.
Mark Kashef · 01:06 ; 03:20Mark Kashef notes the undisclosed architecture and the usefulness of a classifier as a targeted check in a workflow.Suggestions, not quality validation; an additional judge can compound errors.
Mayank Aggarwal · 05:50 ; 08:33Mayank shows a résumé experience score and a model router.Dates, numbers and scores need checking; a 64k context is cited without verification here.
Alessio Garau · 02:10 ; 07:22 ; 15:27 ; 22:46Alessio Garau warns that RLCD details remain unknown and that only in-house benchmarks are available in his presentation.Original Italian transcript; WikiRace presented as a vendor demo, not reproduced.
tacosdedatos · 01:03 ; 03:36tacosdedatos explains aggregate calibration rather than an individual promise and describes provider access.The description states that the video was created by an AI agent, with a cloned voice and Remotion animation; secondary source, access and pricing need refreshing.
WatchSigma · 51:00 ; 65:51The WatchSigma replay contains an answer attributed to the CEO saying a possible RLCD paper is not a priority, with models and product improvements taking precedence.Commented replay with overlapping voices; uncertain attribution. No publication timeline is inferred.
Krish Naik · 20:45 ; 22:54Krish Naik proposes a Jev router ahead of tools, RAG and LLM calls.Explanatory diagram and announced future implementations, not a test performed in these passages.
Maximilian Schwarzmüller · 07:32Maximilian Schwarzmüller notes a 32k context and limitations with numbers and dates, and positions Jev as a complement.Summary of the documentation as of the video date, not an independent benchmark.
KΞVPUSH · 05:53 ; 10:54 ; 19:30KEVPUSH shows an SEO choice with empty context and low confidence, then routing, moderation and urgency.Creator-controlled demos; no overall statistical calibration demonstrated.
Adrian CHIAPELLO | Claude Code · 22:40Adrian Chiapello tests a brick-breaker game using ball and paddle state. The discussion starts with an estimate of 100 to 150 ms; inspection of the Network panel then leads to a reported response time of 200 to 300 ms.Developer's observation from this demo; distinguish animation, network, code and inference.
III

Prepare your tests

17

First call to Jev: install the SDK and test a ticket

A Python program sends a fictional ticket, then displays a suggested category. The prompt at the end of this chapter also lets you prepare this test with a coding assistant.

Jev is a hosted service. Here, you install the Python client library that calls its API. Jev’s weights are not downloaded to your machine. The program uses the result: no chatbot conversation is needed.

1. Get a key and check Python.

2. Install the client in a dedicated directory. Run the following commands in a macOS or Linux terminal. Check that the displayed Python version is at least 3.10 before continuing. The SDK is pinned to 0.7.0 so you can reproduce the example with the same client version.

Terminal macOS / Linux terminal · installation 6 lines
mkdir jev-premier-appel
cd jev-premier-appel
python3 --version
python3 -m venv .venv
source .venv/bin/activate
python -m pip install "typesafe-sdk==0.7.0"

3. Create the script. In that directory, save the following block as premier_appel.py. The key is read from TYPESAFE_API_KEY if that variable exists; otherwise, the program asks for it in the terminal with hidden input. It appears neither in the file nor in the assistant prompt.

Python premier_appel.py · complete file 73 lines
"""A fictional ticket, 1 API attempt and a displayed predicted category.

Requires Python 3.10+ and typesafe-sdk==0.7.0.
Running this file sends a request to TypeSafe, billable according to the account.
"""
import getpass
import json
import os
from time import perf_counter

from typesafe_sdk import (
    Choice, RetryPolicy, TypeSafeAPIConnectionError, TypeSafeAPIError, TypeSafeClient,
)


def main():
    api_key = os.environ.get("TYPESAFE_API_KEY", "").strip()
    if not api_key:
        api_key = getpass.getpass("TypeSafe API key (hidden input): ").strip()
    if not api_key:
        raise SystemExit("No key provided; no request sent.")

    try:
        with TypeSafeClient(
            api_key=api_key,
            base_url="https://api.typesafe.ai",
            retry=RetryPolicy(max_retries=0),
            timeout=30.0,
        ) as client:
            start = perf_counter()
            response = client.system_one(
                model="jev-1.13.0",
                state={
                    "ticket": "The payment failed and I can no longer access my account.",
                    "language": "en",
                },
                questions={
                    "destination": Choice(
                        instructions=(
                            "Which category best describes the main subject of the ticket? "
                            "Evaluate the categories using the supplied text."
                        ),
                        criteria={
                            "facturation": "Rejected payment, invoice or refund.",
                            "acces_compte": "Unable to log in or account access blocked.",
                            "incident_technique": "Outage unrelated to payment or account access.",
                            "autre": "None of the above topics.",
                        },
                    ),
                },
            )
            elapsed = perf_counter() - start
    except TypeSafeAPIError as error:
        raise SystemExit(f"TypeSafe API error: HTTP {error.status}.") from None
    except TypeSafeAPIConnectionError:
        raise SystemExit("Unable to connect to TypeSafe or HTTP timeout exceeded.") from None

    answer = response.choices["destination"]
    print(json.dumps({
        "model": response.model,
        "proposition": answer.choice,
        "probabilities": answer.probabilities,
        "confidence": answer.confidence,
        "duree_appel_secondes": round(elapsed, 3),
        "usage": {
            "input_tokens": response.usage.input_tokens,
            "output_tokens": response.usage.output_tokens,
        },
    }, ensure_ascii=False, indent=2))


if __name__ == "__main__":
    main()

4. Send the fictional ticket. With the virtual environment still active, run the command below.

Terminal Terminal · call the service 1 line
python premier_appel.py

5. Read the predicted category. The program displays a JSON object with the Choice option and its probabilities. The ticket mentions two topics: inspect their distribution without asking the model to enforce a handling priority. The script does not move any ticket. A successful first call confirms that the connection works for this case; it does not measure classification reliability.

Fields displayed by the script
FieldHow to read it
propositionThe category predicted in choice. The script displays it without deciding an assignment or moving a ticket.
probabilitiesThe probability assigned to each of the 4 options.
confidenceHow concentrated this distribution is; this number is not a probability of correctness.
modelThe identifier returned by the service, to keep with the results.
usageToken counts supplied by the SDK. null means the value is missing, never 0 by default.
duree_appel_secondesClient-side duration: request preparation, network, server and decoding. It is not inference time alone.

Code owns the decision: an offline demonstration. For a ticket mentioning a failed payment and blocked access, two Nouls can separately evaluate what the text says. These signals do not prove the actual transaction or account state. The block below declares questions without sending them and uses only fictional answers. Save it as decision_policy.py, then run python decision_policy.py with Python 3.10 or later; no key or third-party package is needed.

Python decision_policy.py · offline 50 lines
"""Offline demonstration: fictional values and thresholds, no Jev call."""
import json

# Two independent questions to ask Jev; this file does not send them.
questions = {
    "payment_failed": {
        "type": "noul",
        "instructions": "Does the ticket mention a declined or failed payment?",
    },
    "access_blocked": {
        "type": "noul",
        "instructions": "Does the ticket mention blocked account access?",
    },
}


def decide_route(probabilities, *, threshold=0.8, priority="facturation"):
    # Conservative teaching policy; this threshold is not validated for production.
    if not 0.5 < threshold <= 1 or priority not in ("facturation", "acces_compte"):
        raise ValueError("Invalid policy")
    payment = probabilities["payment_failed"]
    access = probabilities["access_blocked"]
    if not (0 <= payment <= 1 and 0 <= access <= 1):
        raise ValueError("Probabilities must be between 0 and 1")
    if payment >= threshold and access >= threshold:
        return priority
    if payment >= threshold and access <= 1 - threshold:
        return "facturation"
    if access >= threshold and payment <= 1 - threshold:
        return "acces_compte"
    return "relecture"


# Simulated answers to the two Nouls, reused without another call.
probabilities = {"payment_failed": 0.92, "access_blocked": 0.88}
proposals = {
    "billing_first": decide_route(probabilities, priority="facturation"),
    "access_first": decide_route(probabilities, priority="acces_compte"),
    "higher_threshold": decide_route(probabilities, threshold=0.95),
}
assert proposals == {
    "billing_first": "facturation",
    "access_first": "acces_compte",
    "higher_threshold": "relecture",
}
assert decide_route({"payment_failed": 0.52, "access_blocked": 0.48}) == "relecture"
assert decide_route({"payment_failed": 0.92, "access_blocked": 0.10}) == "facturation"
assert decide_route({"payment_failed": 0.10, "access_blocked": 0.92}) == "acces_compte"
print(json.dumps({"questions": questions, "simulated_probabilities": probabilities,
                  "application_proposals": proposals}, ensure_ascii=False, indent=2))

The same probabilities, 0.92 and 0.88, produce facturation (billing) or acces_compte (account access), depending on the priority written in code. A fictional threshold of 0.95 yields relecture (review). The function proposes handling a single issue only if the other is below the complementary threshold; ambiguous cases go to review. The assertions check this local policy, not Jev. No ticket is moved. Measure errors and choose thresholds using your own data before real use.

Tutorial verification The script was run with Python SDK 0.7.0 installed and a simulated HTTP transport. Checks cover reading a response, missing counts, an empty key, an authentication error, overload, and a timeout without retries. None of these test requests reached Jev: account access and decision quality still need checking against the service.
If the first call fails
Symptom and useful check
SymptomWhat to check
Installation rejected or import not foundPython must be version 3.10 or later. Reactivate .venv, then use python -m pip with the same interpreter used to run the script.
Missing keyThe script stops before the call. Run it again and enter the key in the terminal.
HTTP 401 or access deniedCheck the key and account access in the TypeSafe console.
Model unavailable or request rejectedCheck the documented models and request structure. A 422 error calls for checking its contents.
HTTP 429 or 529Check the quota or service availability before trying again. The script does not retry automatically.
Network error or timeoutCheck the connection and service status. A transport failure provides no category for the ticket.

Prepare the same test with Claude Code or Codex. Copy the following prompt into your assistant from the project directory. It first requests a local simulation; calling the real service remains a separate command that you run. Do not paste your key into the conversation.

Prompt Copyable prompt · create a Jev demo 19 lines
Create a minimal demo of TypeSafe’s Jev API in this project, using an entirely fictional ticket. Start by reading the project structure and instructions; preserve existing files.

Documentation to check before coding:
- https://docs.typesafe.ai/introduction/quickstart
- https://docs.typesafe.ai/sdk/python/usage
- https://docs.typesafe.ai/sdk/python/api/retries
- https://docs.typesafe.ai/models

Use Python 3.10+ and typesafe-sdk==0.7.0 in a dedicated virtual environment. Request model jev-1.13.0 and record the identifier actually returned. If this version is no longer documented, note the change in the README.

Case: “The payment failed and I can no longer access my account.” Create a Choice question named destination, with facturation, acces_compte, incident_technique and autre. Describe each category and ask which best describes the main subject. Do not put an operational priority in this question: choice is a predicted category, not a ticket assignment.

By default, run a local simulation using the real SDK and a simulated HTTP transport. Clearly label all simulated values. Add a --live option that I will run myself to send this fictional ticket to the service; do not run it during your work. In live mode, use 1 SDK attempt with RetryPolicy(max_retries=0), a 30-second HTTP timeout, and a key from TYPESAFE_API_KEY or hidden input in the terminal. Never ask for the key in the conversation or write it into code.

Display the predicted category, probabilities, confidence, model, token counts and complete client-call duration. Keep null if a count is missing. Explain that confidence describes the concentration of probabilities, not the probability of being right.

Add a standalone decision_policy.py file with no API client or network access. Declare two independent Noul questions about mentions of a failed payment and blocked access. Use explicitly fictional answers and a decide_route(probabilities, *, threshold=0.8, priority="facturation") function that applies a priority and returns a proposal or relecture (review). Values and thresholds are for teaching, not validated for production. Test that the same probabilities can produce a different proposal when only the policy changes, as well as coexisting issues and ambiguous cases sent to review. Display simulated probabilities and the application proposal separately; do not move a ticket. These signals concern the text, not the actual payment or account state.

Produce the script, installation and execution commands, then offline tests for a valid response, a missing key, an HTTP error and no retry on overload. Make no changes on GitHub or Sentry. State exactly what was tested; a simulated transport tests neither Jev nor access to my account.

After this first test.

Replacing the fictional ticket with a real issue is not enough to validate an automation.

Tutorial references: official quickstart, Python SDK 0.7.0 on PyPI, Python client and options, retry policy. SDK documentation and type declarations reviewed on 21 September 2026.

In my other resources If you run this first test with a coding assistant, my article Portable Claude Code and Codex configuration (EN) explains how to organize instructions, skills and hooks shared between the 2 tools.
18

Accessing Jev: versions, quotas and limits

Jev accepts text. Record the version, quotas and access route for each test.

The documented direct model is jev-1.13.0.

TypeSafe models and limits.

Routes documented as of 21 September
AccessIdentifier and interfaceListed priceDocumented context scope
TypeSafe directjev-1.13.0; state/questions API$0.042/million input tokens; free output.64k for state and all questions; 32k for state and the longest question.
Vercel AI Gatewaytypesafe-ai/jev; experimental_evaluate in AI SDKFree promotion announced through 25 September 2026.Listing: Context 32K. This page does not specify the split between state and questions.
Cloudflaretypesafe/jev; env.AI.run with state and questionsCheck the dashboard.Listing: Context Window 32,000 tokens. This page does not specify the split between state and questions.
OpenRoutertypesafe/jev-1.13 in the catalog$0.042/million input, 0 output.Listing: 32,000-token context window. This page does not specify the split between state and questions.

The operators describe these routes on their pages: Vercel, Cloudflare and OpenRouter.

The adapters do not necessarily use the same names. Vercel, for example, exposes a boolean type where the native API uses Noul, and places some information in provider metadata. Changing gateways can also change billing, limits and data handling. Compare 2 routes as 2 separate configurations, even if both are named Jev.

The official Python and JavaScript SDKs inspected use the MIT license. The Python manifest reviewed specifies 0.7.0 and Python 3.10 minimum; the JavaScript tag inspected is v0.6.0 and requires Node 20 minimum. Python SDK 0.7.0 was also installed for the First call tutorial and run with a simulated transport. The JavaScript client was not run here. Python SDK, JavaScript SDK.

Weaknesses acknowledged by the vendor The Jev 1.13 page, reviewed on 17 September, lists errors in calculation, counting, dates and long contexts, as well as inconsistencies between question types and susceptibility to injection. A binary Choice response and a Noul response to similar wording are not guaranteed to match. Known limitations.
19

Data sent and terms of service

Public commitments exist; precise retention periods and account options still need checking.

The Perplexity audit stated that all processing terms remained unknown. Official pages allow a more precise account. The table summarizes their statements as of 21 September; it verifies neither their technical implementation nor the compliance of any particular use.

Published documents
DocumentCommitment or information reviewedLimitation
Privacy Policy, 19 November 2025Hosted in the United States; no training or fine-tuning on inputs.The document does not specify a single data retention period in days.
DPA, 24 April 2026Processing roles and contractual transfer mechanisms, including EU clauses and UK/Swiss adaptations.The document’s existence does not automatically validate every transfer or use.
MCA, 19 September 2026No changes to weights using Customer Data without prior consent; Telemetry is treated separately.Check the definitions and terms specific to the agreement you accept.
Legal indexA zero data retention option, ZDR, is offered to enterprise customers on request.Neither default activation nor activation on the account intended for a future test has been established.

The Trust Center and subprocessors pages provided no usable content to the reading tool. Certifications, the named list of subprocessors and the terms applicable to the account therefore remain unverified. This access limitation does not prove that the information or guarantees are absent.

The Python SDK warns that debug mode may log request and response bodies without redaction. Preparing a pilot therefore also requires checking application-side logs. Sentry messages, bug descriptions and diffs may contain more information than a title alone.

Prepare permissions and data before the first call Start with synthetic or authorized data, remove secrets, limit context to what is needed, and choose the API route before testing. Preparing permissions and retention for the service you use is part of the integration, alongside measuring errors.

This audit found no explicit ban on publishing benchmarks in the 19 September versions of the website terms and customer agreement reviewed. The agreement still includes confidentiality provisions, imitation or distillation restrictions, and possible special terms. This documentary finding is not blanket permission to publish.

Before publishing your own results, keep the terms you actually accepted and those of the chosen platform. Promotional credits, the nominal rate and the amount paid are 3 separate facts. A free trial does not establish the ongoing cost of operating the system.

In my other resources For a closer look at provider selection behind a gateway, see my report Back Market and OpenRouter (FR). It covers budgets, provider selection and responsibilities between intermediaries.
20

Where to test Jev in my workflows

3 initial tests: triage GitHub issues, match Sentry errors to issues, and select fixes for release notes.

I reviewed a selection of my skill, agent and automated task definitions. These proposals build on those existing tasks. Their frequency and cost still need measuring before deciding whether adding Jev is worthwhile.

The 3 proposed pilots
TaskQuestion delegated to JevBaselinesWork that would remain in the existing pipeline
GitHub pre-triageWhich category should be suggested? Which issues might be duplicates?Rules, lexical search and the current LLM.Retrieve the content, apply mechanical rules and approve changes.
Sentry matchingDo this error and this issue describe the same likely cause?A defined lexical rule and an LLM, using the same candidates.Check exact URLs/IDs, calculate severity, retrieve candidates and investigate.
Release notesDoes this fix have a documented impact on users?Commit filters and the current selection/writing model.Keep mandatory features and references, write the text and approve it before publication.
DIAGRAM · Jev classifies, the LLM writes
Proposed release notes workflow. Mandatory features bypass Jev. The writing LLM receives the original sources; a person approves the text before publication. Quality and cost still need measuring.

Jev could therefore provide an evaluation before code selects which items to pass to the LLM. This division of work needs testing: an LLM can also classify fixes, and simple rules may be enough. The diagram demonstrates no improvement in speed, cost or accuracy.

DIAGRAM · Match a Sentry error to an issue
Test scenario, with no invented score or automatic linking. If retrieval misses the right issue, Jev cannot bring it back by ranking the candidates.

Another proposal appears in Syntax at 10:54: transcribe content, ask an LLM to write notes, then ask Jev to check claims. This is a suggested use presented in the video, with no accuracy measurement for that pipeline.

The 8 proposed experiments
Comparisons to prepare
Ref.CaseMethods comparedWhat to measure
UC1FR/EN skill suggestionsCurrent BM25, rules, constrained-output LLM, JevParaphrases retrieved, incorrect suggestions and share of cases handled
UC2 · pilot 1GitHub pre-triageRules, lexical search, LLM, JevSuggested categories, duplicates found and review effort
UC3Document selection for RAGBM25, reranker, LLM, JevRequired passages retained and final answer quality
UC4Direct decision or decomposed questionsThe same decomposition for each modelQuality and cost of every call and of combining their results
UC5Choosing among 5 to 250 optionsOption order, close alternatives, cases with no suitable optionErrors by option count, position and domain
UC6 · pilot 2Sentry/GitHub matchingAn explicitly defined lexical rule, LLM and Jev on the same candidatesFalse matches, missed duplicates and review effort
UC7Old issues, after investigationThe current model and Jev given the same evidenceIncorrect closure decisions and total cost, including investigation
UC8 · pilot 3Fixes for release notesCommit filters, the current writing model and JevOmitted user-facing fixes, retained internal changes and total cost
Local rules to clarify before testing
  • The Feature and Enhancement categories overlap in the GitHub triage definition reviewed. Set a priority or allow multiple labels.
  • For Sentry, the definition mentions a Jaccard threshold of 0.75, a weight of 0.7 and a composite threshold of 0.7, without specifying how they are combined. Define this baseline before comparing it with Jev.

Old-issue triage uses 5 verdicts: already addressed (DONE), still present (STILL_RELEVANT), decision abandoned or superseded (STALE_DECISION), work partly delivered (PARTIAL), and insufficient evidence (UNCLEAR). Jev could classify a case after the code investigation. Speeding up the verdict alone does not measure the improvement across the full triage process.

DIAGRAM · Separate training, tuning and testing
Keep paraphrases and duplicates of the same case in the same subset. The number of examples depends on the acceptable error rate.

Calculate Brier score and ECE from the probabilities relevant to the task, rather than relabeling the confidence field.

Have the first suggestions reviewed

The pilot will produce suggestions without creating or closing issues.

  • Each historical case must contain only information available at that date.
  • Reserve a later period for testing and retain the real category proportions.
  • Distinguish retrieval errors, where the right candidate is missing, from ranking errors among candidates that are present.

For these proposed tests, rules that calculate Sentry severity, normalize URLs or turn a verdict into an action stay in code. The tests concern semantic evaluations where a lexical rule may miss a paraphrase or incorrectly match 2 problems.

3 fictional cases to start annotation
CaseWhat to provideReference decision to discuss
GitHub: “payment has been rejecting my card since the update”Description, version, reproduction steps, defined categories and any known incidents.Existing incident, new bug or account problem? The title alone cannot decide.
Sentry: the same message, 2 different componentsTrace, deployed version, environment and candidate issue descriptions.Do not merge based on exception text alone; look for evidence of a common cause.
Release notes: “fix: cache”PR diff and description, behavior before/after, affected users.Insufficient information until the user impact is documented.
In my other resources To choose how your agent accesses GitHub or other tools, my guide MCP server costs and choosing between MCP and CLI (EN) compares interfaces, loaded context and workflow needs.
21

Prepare a reproducible test

Define acceptable errors before choosing a threshold or a number of examples.

  1. Describe the decision

    Define the unit being evaluated: ticket, Sentry/issue pair, fix or document. Write down the categories, ambiguities and action the suggestion might trigger.

  2. Build the reference answers

    Have people familiar with the task annotate authorized real examples or synthetic ones. On a subset, 2 independent annotations help reveal disagreements. Resolve them and keep the instructions.

  3. Split the data

    Reserve separate sets for any adaptation, for choosing questions and thresholds, and for the final test. Group duplicates and paraphrases of the same incident. For a historical workflow, also test a later period.

  4. Set the baselines

    Existing rules, lexical search, a classifier or constrained-output LLM, and Jev receive the same relevant information. Offer a variant with decomposed questions to each model concerned.

  5. Run and log

    Record the version, API route, client region, options, question count, tokens, timing, raw response and errors. Alternate the order of competing methods to limit the effect of load variations.

  6. Evaluate the pipeline

    Measure errors, coverage, retries, cost and latency. Then check the effect on the final writing or investigation, using the same downstream model.

Metrics by task
TaskUseful metricsError to watch closely
GitHub categorizationPrecision and recall by category, macro-F1, confusion matrix, coverageAn important rare category consistently missed.
Sentry matchingCandidate recall, then precision of accepted matches2 separate incidents incorrectly merged.
RAGRecall of required passages, ranking quality, final answer accuracyAn indispensable passage discarded before writing.
Release notesUseful fixes retained, omissions, internal items included, faithfulness of the final textUser impact invented from an ambiguous title.
ProbabilitiesBrier score with an explicit convention, ECE with bins/counts, reliability diagramPoor calibration specifically in the automated region.

French deserves its own subset: accents, spoken phrasing, domain abbreviations, typos, negation and tickets mixing French and English. A translation of the same case must stay in the same data group. Comparing 2 sets with different topics in French and English does not let you attribute the difference to language alone.

A threshold of 0.9 is not a “reliable” mode Choose the threshold on a tuning set based on acceptable errors, then check coverage and error on the held-out test set. HTTP errors, out-of-domain cases and incomplete evidence need explicit handling. A number copied from a demo is not a validated threshold.

Starting in suggestion mode lets you compare each output with the usual decision. The log can store a pseudonymized identifier, versions, the suggested decision, what happened to it, and call metrics. API keys and sensitive content do not belong in a results dataset intended for sharing.

Proposed conditions for rejecting Jev in a pilot
PilotRejection criterion before adoptionDecision after the test
GitHubAt comparable coverage, more errors in priority categories than the current method, or no improvement in total cost and review effort.Keep the baseline; analyze cases where Jev supplies additional information.
SentryAt the false-match level set before the test, lower recall than the current method, or extra cost without less investigation.Exclude Jev from this matching step. Fix candidate retrieval errors upstream.
Release notesA mandatory change omitted in control cases, or more useful fixes omitted with no reduction in review effort.Fix the filter or keep the current selection process; do not publish automatically.
Define success criteria before testing

These criteria are a proposed protocol, not business thresholds that have already been approved.

  • Before the test, the owner specifies the maximum error rate per class, minimum coverage, maximum total cost and acceptable p95.
  • If the sample cannot distinguish the methods, the result remains inconclusive and automation is not expanded.
  • An output never gains a new permission because its score is high.

For model routing, asking an expert which model they prefer is not enough. Run the task with the candidate models on a reference set, then compare the quality, cost and latency of the chosen model. The router adds its own cost. Agreement with an expert opinion is a separate metric, useful but insufficient to establish an improvement in completed tasks.

3 tests to assess the arguments
Proposed pilotComparison to fix before testingExpected decision
GitHub pre-triageCurrent rules, zero-shot NLI, Jev and a constrained-output LLM. Add a trained classifier if usable labels exist. Test stable categories and a changed policy separately.Measure errors, abstention and maintenance cost. All systems must receive the same policy; also update rules when the change can be implemented deterministically.
Sentry matchingGive the baselines the same retrieved candidates. Separate identical cases, paraphrases, similar messages with different causes, and missing candidates.Measure false matches and missed duplicates, then the share suggested for review. A suggestion merges no incidents.
Decisions before an agent actsReplay permitted, forbidden and ambiguous actions outside production, with and without injection in the data. Separate authorization rules from semantic ranking.Count dangerous actions not flagged and safe actions blocked. Test network errors and out-of-domain cases; no probability grants permission to act.

Synthetic text or a rare language does not prove that the model never encountered similar data during training.

In my other resources My guide Evaluating an agent (EN) supplements this protocol with quality criteria, repeated measurements and evaluation of the system around the model. It provides no results on Jev.
22

Keep permissions in code

A signal produced by Jev can help identify risk; it must not grant permission to act.

The Perplexity audit considers a check before an agent acts. The proposed test uses Jev to flag cases that deserve an additional review. Authorization remains defined by identity, permissions, allowed actions and system approvals. Comparing this signal with local rules and an LLM judge requires counting dangerous actions not flagged, safe actions blocked, latency and cost.

DIAGRAM · A risk signal in an application
Proposed architecture for testing an additional signal. Permissions and approvals remain independent of the model’s response. No such control has been deployed for this report.

A strict format constrains the shape of the response. It does not prevent a malicious instruction in a ticket from changing the selected category. The test must therefore include ordinary text, instructions embedded in data, and ambiguous wording, without conflating these 3 populations. A reassuring classification does not neutralize an injection.

Rare cases require more than a small pilot Observing 0 errors in 100 cases does not demonstrate an error rate below 0.1%. The required number of examples depends on the desired precision, dependencies between cases, and the target population. A synthetic corpus of dangerous situations helps find failures; it does not, on its own, measure their frequency in production.

For GitHub and Sentry, the first output remains a suggestion. Finding an exact identifier, checking access permissions or applying a severity rule is work for code. Reserving the model for a semantic question does not remove the need to test that question: “same likely cause” may be wrong despite very similar error messages.

In my other resources To implement checks around the model, see my guide Securing agents, hooks and tools (EN): permissions, tools, untrusted inputs and the limits of injection detectors.
IV

Sources and updates

23

Official SDKs and projects inspired by Jev

A compatible interface provides neither Jev’s weights nor its training method.

Clients and comparison adapter published by TypeSafe
Official repositoryRoleVersion or setting to retain
typesafe-sdk-pythonPython client for calling Jev and reading its typed responses.Manifest 0.7.0, Python 3.10 minimum; MIT license for the client.
typesafe-sdk-jsJavaScript and TypeScript client.Tag v0.6.0, Node 20 minimum; MIT license for the client.
system-one-adapter-pythonAsks an LLM API the same questions and exposes responses compatible with system_one.Choose structured output, a discrete answer or probabilities. Record normalization, retries, tokens and latency.

The official adapter makes comparisons easier for the GitHub and Sentry pilots: the same inputs and questions can go through Jev or an LLM.

Community projects examined
ProjectDescribed approachReported results and limitations
SemIf, formerly TheoLeeCJ/openjevFrozen Qwen 4B, reading logits to provide a decision interface.Neither Jev weights nor RLCD. The project states that it is unaffiliated.
vinnylarouge/jevlikeA byte encoder trained from scratch by default, with an attention head over options; optional pretrained encoder and vision path.The author reports 0 wins, 2 draws and 48 losses against Stockfish level 0. Video clips are selected to show activity.
daseinlabs/open-jevGemma 3 4B on MLX; continuation scoring and cached context.Calibration must be evaluated separately. No license identified by the GitHub API as of 21 September 2026.
razorback16/openjevDiffusionGemma; claimed compatibility with the Jev protocol and SDKs, plus images and text generation.Different weights, maximum 128 options. The README also offers the third-party service api.codiv.ai; its availability was not tested here.
OpenSysOneRank-8 adapters and a scalar head on Qwen3-4B-Instruct-2507; 16.5 million trainable parameters, code and adapters under Apache 2.0.Input limited to 1,024 tokens. ECE of 8.30% on Social IQA according to the author; no direct comparison with Jev. Slower than its 2 baselines on all 12 profiled workloads.
LayaModernBERT-large or mmBERT-base encoders, models with 421 or 322 million parameters, Choice/Score/Noul responses and a model router.The good typed-decisions result comes from a model fine-tuned on its training set. Jev results are taken from third parties, with different questions and sample sizes.
browser-use/jev-ultrafastJev selects an operation and an observed element; a small LLM writes only the text to type.Comparison of 2 versions on 3 repetitions each of a flight search. No flight booked; final success is checked separately.

The SemIf test compares score extraction with generated JSON on an RTX 3090, agreeing on 18 of 21 decisions. Its comparison with Jev reuses the vendor’s public outputs, without a new call to Jev. These results come from the README. No project in this table was installed or run for this report.

In his video, Micah explains reading logits at 02:07, then distillation from a teacher model at 02:39. This trained demonstration differs from SemIf’s frozen Qwen 4B. At 03:55, he explains the limitations of his Doom demo and notes that Jev’s architecture is undisclosed.

The OpenSysOne model card, inaccessible during the initial collection, was read on 21 September. It separates training, calibration and testing.

The Laya README also reports failures of its base models: on 2,000 typed decisions, they remain below the majority-class baseline, while the fine-tuned model reaches 76.6%.

Pixel already makes some decisions without generating text Pixel, developed by Livio Gamassia, routes instructions to predefined analyses, ranks files as P0/P1/P2 and assigns risk from the graph. Decisions use explicit rules and scores. The project also offers embeddings for search. It therefore goes beyond a symbol index.

To choose between Pixel and Jev, start with the decision you need. Pixel can calculate and rank what its rules and indexes describe; Jev uses learned inference to evaluate criteria supplied in the call. A business rule may be enough to triage tickets. Jev’s usefulness depends on the cases that rule handles poorly and the cost of maintaining it. Pixel’s source code was inspected at the cited version, without a comparative benchmark: equivalent quality or speed between these approaches has yet to be measured.

Third-party services: prices and data flow
  • jevtypesafeai.com advertises $0.42 per million input tokens, 10 times the direct rate, and explicitly presents this premium as the price of its managed service.
  • jev-agent.com offers 5 free credits per month, followed by paid packs with no subscription.

These sites state that they are independent of TypeSafe and forward calls to its API.

The terms of jev-agent.com specify that texts are sent to TypeSafe. TokenRa, an API aggregator, lists Jev at $0.042 per million tokens, matching its “official rate” column. These are operator statements, read on 21 September; no call or actual data transmission path was tested here.

Only their relevant sections were reviewed; their selection guarantees neither completeness nor performance.

Laya: 3 calibration rows that cannot be compared directly

The Laya README at the revision reviewed contains several tables. Quoting only 0.081 versus 0.246 would imply a shared test that was never run.

Keep the model and protocol with each ECE value
README tableReported valuesLimitation
Typed-decisions, models compared on 400 cases and 2,000 decisionsSpecialist Laya: 0.213; Jev taken from third parties: 0.144.The specialist was fine-tuned on these workflows; the Jev results come from a separate run.
Base model calibrationLaya: 0.466 then 0.081; multilingual: 0.314 then 0.106.The second number follows temperature tuning by type and option count. It does not describe the same checkpoint as the previous row.
Summary table: Laya with routing / Jev0.081 and 0.246.Values from separate experiments, insufficient to conclude that calibration is better in general.

The laya-typed-decisions model card also flags an inherited setting that can override per-type temperatures. Keeping the exact checkpoint and configuration is therefore necessary. Distinguishing the 2 systems would require running the same inputs through both, with calibration on a separate set.

24

Frequently asked questions

Short answers to recurring confusions in articles and demonstrations.

Does Jev replace a coding assistant? Jev currently returns choices, ratings and probabilities. It writes neither code nor explanations and does not carry out the investigations expected of an assistant. An application can ask it for evaluations, then apply rules and thresholds in code to determine how to handle the case. The cost and quality of those evaluations still need measuring.
Can a model that does not write text be wrong? Yes. It can select the wrong option or assign a poorly calibrated probability to a proposition. Format, correctness and calibration are different properties.
Can an LLM already return JSON? Yes. Constrained output is therefore a relevant baseline. Any benefit from Jev should be measured at comparable quality, using the answers and probabilities the application actually needs.
Can it analyze a video directly? The inputs documented here are text. A demo may transcribe the video or produce a game state before the call. That step and its errors must be counted.
Is the model open source? The public SDKs provide access to the service. They supply neither the weights nor a reproducible training recipe. A library that adopts the same interface does not become an implementation of the Jev model.
Can you use the probabilities as they are? You can record and evaluate them. Their usefulness in deciding what to automate depends on the data, classes and thresholds chosen. A published result on banking intents does not validate bug matching.
Why keep a human in the diagrams? The API is intended for software. Humans still define categories, resolve ambiguous cases and may approve an action or final text. Their presence does not turn the API into a chatbot.
Why is this report still provisional? The product and documentation change quickly after launch. This report dates its findings, retains sources and separates published results from tests still to be run.
25

Track Jev’s development

Weekly monitoring tracks versions, prices, publications and new tests.

When to update this report
Expected developmentPlanned workStatus as of 21 September
Version, price or limit changesDate the new value and rerun affected testsValues documented as of 21/09
RLCD paper or technical reportRead the method, data and architecture descriptionNo sufficiently detailed publication found in this research
Reproducible independent benchmarkCheck data, baselines, test sets and raw resultsThird-party reports read, without reproducing the tests
Community discussionsRecord questions and tests, distinguish opinions and respect private remarksExcerpts received and analyzed; full thread unavailable
Submitted Perplexity auditCheck claims against original sources and integrate correctionsIntegrated into revision 0.6; unverified leads flagged

The Perplexity audit provides research leads. Its review articles, videos and commercial retellings are not counted as separate replications. Primary sources were preferred for the API, access terms and experiments; secondary pages remain useful for finding an author or a test.

Monitoring flags useful changes; it neither publishes the report nor launches paid tests. Each revision preserves source dates, raw results and earlier versions.

Continue the research with Perplexity

Run this prompt in Deep Research mode, then keep the answer and cited links. The first search was truncated and contained unsupported claims. The second pass was complete in form but also contained errors. Check each new piece of information against its original source.

Prompt Jev research prompt 17 lines
# Further research on Jev / TypeSafe AI

Run in Deep Research mode. Reference date: 21 September 2026. Deliver in English, keeping titles and quotations in their original language. Make no assumptions about the internal architecture.

I am preparing a technical report that will evolve over time on Jev, TypeSafe AI’s first “System One Model”, for a developer blog and the Claude Code Ultimate Guide. Starting points: https://typesafe.ai/ and https://typesafe.ai/blog/introducing-system-one-models-and-jev .

Conduct an independent critical investigation and actively seek counterexamples. Separate vendor announcements, demonstrations, reproducible independent measurements, related literature and what remains unknown. 10 retellings of the same press release do not constitute 10 confirmations.

1. Establish the timeline: launch, versions, actual access, SDKs, pricing and documented changes. Verify the attribution to Diogo Almeida and the shorthand “co-inventor of ChatGPT” without treating a viral headline as fact.
2. Describe exactly what the API accepts and returns: output types, choice sets, limits, probabilities, scores, thresholds, errors, model/version and code examples that are actually documented. Distinguish determinism, schema validity, correctness, calibration and abstention.
3. Examine RLCD (Reinforcement Learning for Calibrated Decisions): publications, model card, architecture, loss function, data and evaluation. Cite information that has actually been published; mark undisclosed details UNKNOWN. Compare with supervised classifiers, encoders, schema-constrained outputs and routers. Do not attribute to Jev the mechanisms of a paper about another model.
4. Audit separately the claims of 150 ms, 193.6×/200× faster, 444.6× cheaper, $42 per billion input tokens, free output and “0 hallucinations”. For each figure: original source, date, baseline/version, reasoning effort, input/output size, hardware/region, concurrency, repetitions, median/p95 latency, total cost and quality metric. Flag missing denominators, the use of judge models and the risk of selection bias.
5. Find independent tests, including failures and criticism. Search for technical YouTube videos, founder interviews, conferences, GitHub repositories, issues, notebooks, arXiv, Hugging Face and public discussions. For videos: URL, channel, date, views at collection if observable, demonstration or commentary, transcript availability and timestamped passages. Exclude gaming-related namesakes of Jev.
6. Check concrete usage terms: access, quotas, billing, ability to pin a version, data processing and retention, regions, availability, and licenses for SDKs and weights. Draw no compliance conclusions from missing information.
7. Propose reproducible experiments: GitHub issue pre-triage, matching Sentry errors to existing issues, selecting fixes for release notes, FR/EN skill routing against BM25, RAG passage selection and choices among many options. For each: hypothesis, simple baseline, human annotations, a calibration set separate from the test set, serious errors, cost per correct decision, p50/p95, share of cases handled at a fixed error rate, Brier/ECE, drift and rejection criteria. Include ambiguous cases, out-of-domain cases, negation and injections embedded in data. Distinguish decision cost from full processing cost, including preparation and review.

Expected format: a summary, a claims table with verdicts and evidence levels, a deduplicated source catalog with direct URL/author/date/type/independence, contradictions, open questions and a scientific bibliography separating papers about Jev from background work. For each source, specify what was actually read: full text, abstract, transcript, metadata or search-engine excerpt. Provide searches that returned no results and coverage limits. A source that cannot be found remains unavailable; never invent a reference or excerpt.
Jev in the Claude Code Ultimate Guide A section is being considered on tool selection, structured decisions and cost per task. It will present tested cases and their results when available. The Jev API is not presented as a native Claude Code feature.

A publication detailing RLCD would allow its novelty to be examined. A comparison with competing training or calibration methods should control the base model, data and settings. That publication depends on TypeSafe; it is something to watch for, not a test a reader can run with the API alone.

26

Further reading

My articles and guides for configuring agents, preparing tests and tracking costs. FR and EN indicate the reading language.

A question about Jev?

Have a question, a test result or a correction to share? Message me on LinkedIn.

Contact me on LinkedIn
27

Glossary

Terms used in this report.

Abstention
A case that the application leaves to a person or another method because it cannot decide under its rules.
Calibration
Agreement between predicted probabilities and outcomes across a set of cases. Among predictions at 80%, roughly 80% successes are expected; this guarantees no individual answer.
Typed answer
Answer whose shape is defined before the call: an option and probabilities with Choice, a score and probabilities with Score, or the probability of yes with Noul. Application code determines how to use it to decide what happens next.
Other glossary terms
API
Interface that a program calls to obtain a structured response.
Autoregressive
Builds output by predicting the next token from the context and previously produced tokens. The diagram in this report describes this common generation method.
Baseline
Reference method against which Jev is compared: a rule, lexical search, classifier or another model.
BM25
Lexical search score based on the words in the query and corpus. Its score is not a probability.
Brier
Measures the squared difference between predicted probabilities and observed outcomes. For multiple classes, specify how the differences are aggregated.
Confidence
Jev field computed from the concentration of probabilities across options. It is distinct from the probability assigned to each option.
Coverage
Share of cases the application handles automatically after excluding those requiring review.
Distribution
Set of probabilities assigned to possible answers. It is concentrated when an option receives most of the probability.
ECE
Average calibration gap measured across probability bins. The result depends on the bins chosen and the number of cases in each.
Jaccard
Measures overlap between 2 sets, such as the words in 2 titles. Shared words do not prove that 2 bugs have the same cause.
Test set
Set of examples reserved for final evaluation, used neither to select thresholds nor for training.
LLM
Language model generally used to produce text, potentially constrained to an output schema.
Noul
Jev question type that returns a probability between 0 and 1 for a binary question.
nDCG@10
Measures ranking quality for the top 10 results, taking their relevance and position into account.
p50/p95
Response times below which 50% and 95% of successful calls fall, respectively. Failures are counted separately and remain part of the assessment.
RAG
Generating an answer from retrieved documents. Filtering documents is only 1 step in the workflow.
Reranker
Method that reorders documents already found by a search engine.
RLCD
Reinforcement Learning for Calibrated Decisions, TypeSafe’s name for its training method. The documents found are not enough to reproduce it.
RLHF
Reinforcement learning from human feedback. InstructGPT is a reference work to which Diogo Almeida contributed.
SDK
Client library that simplifies API calls. Its public code does not make the model’s weights public.
Token
Text unit processed by the model, often part of a word. A token is not necessarily a whole word.
Ground truth
Reference answers used to assess predictions. Their creation and verification must be independent of the model under test.
Primitive
Type of question and response in the TypeSafe API: Choice, Score or Noul. The application selects it before the call.
Ablation
Experiment that removes or changes a component to measure its contribution while keeping the rest comparable.
Backbone
Main network of a model, to which specialized components may be added.
DPA
Data Processing Agreement: agreement describing the conditions for processing personal data between the parties.
Distillation
Training a model on the responses or scores of another model, called the teacher. Agreement with that teacher does not prove that the answers are correct.
Encoder
Model or component that transforms input into a numerical representation usable for classifying or comparing data.
Log-loss
Measure that penalizes low probability assigned to the correct answer, especially when the model is confidently wrong.
Logits
Raw scores produced by a model before their possible conversion into probabilities. Reading them does not guarantee calibration.
Macro-F1
Average of each class’s F1, giving equal weight to frequent and rare classes. F1 combines precision and recall.
MCA
Master Customer Agreement: general contract between the vendor and its customer, to be read alongside any specific terms.
PPO
Proximal Policy Optimization: reinforcement learning method used in Rewarding Doubt, among other work. Its use by Jev is not established here.
Precision
Among cases selected or assigned to a category, the proportion whose decision is correct. Distinct from the overall rate of correct answers.
Recall
Among cases that should have been found or retained, the proportion actually retrieved.
RLVR
Reinforcement learning from verifiable rewards, for example by checking an answer or a program’s execution.
Softmax
Transforms scores into positive numbers that sum to 1. This numerical property does not guarantee calibrated probabilities.
TF-IDF
Lexical representation that weights words by their frequency in a document and their rarity in the corpus.
ZDR
Zero Data Retention: an offer of no data retention, whose scope and conditions need to be checked for the service used.
NLI
Natural Language Inference: assess whether a text supports a hypothesis, contradicts it or does not allow a conclusion. A category rephrased as a hypothesis can be used to classify the text.
Zero-shot
Use without task examples supplied in the request or task-specific adaptation in the protocol considered. This does not mean the model has never seen similar data during training.
Constrained output
Response whose decoding restricts allowed forms according to a supported schema. Following the format does not guarantee accurate values.
28

Conclusion, sources and updates

Report scope and method

Research as of September 21, 2026. Measurements published by TypeSafe and benchmark authors are distinguished from recalculations using their data. No call to the Jev API was made for this report. Leads from the Perplexity audit and editorial review were verified before inclusion. Community excerpts were received; the full thread is still missing. The report is available in French and English; both editions remain works in progress. September 23, 2026 addition: Daniel Moka’s educational article published September 22, original infographics and checks of the official State, Choice, Score, Noul and Confidence pages. Benchmarks and their verification dates remain those stated in their chapters.

Conclusion

As of September 21, 2026, this report documents a probabilistic evaluation service and mixed public results. It confirms neither a scientific breakthrough nor the “scam” allegation. The architecture and RLCD method remain insufficiently described to determine their novelty; choosing a tool depends on results for the target workflow.

The first proposed test is GitHub pre-triage, in suggestion mode. The test set will need ambiguous requests, issues with no duplicate and incomplete cases. Comparison with the current rules and model will cover errors, the share of cases handled, response time and total cost.

Dated sources

“Accessed on” gives the date the source was read. A source may have been published earlier and later updated.

Update history

DateVersionChanges
23 September 20260.15.0Clarified the distinction between Jev’s probabilistic evaluations and application decisions. Opening text, glossary, Choice examples and four FR/EN infographics aligned. An offline demonstration applies fictional rules and thresholds to the same answers to show that code policy determines how to handle the case. Benchmark dates and results preserved; no Jev call.
23 September 20260.14.04 infographics in English and French explain the roles of the LLM, Jev and code, a complete request, Choice / Score / Noul and a full-workflow comparison. Examples are fictional; qualifications cover calibration, LLM outputs and internal processing. No new API evaluation.
22 September 20260.13.0Complete English edition: 26 chapters, 108 sources, 45 glossary entries, translated interface and illustrations. FR/EN links are active at the top of the page. Numbers, timestamped links and result limitations are preserved.
22 September 20260.12.4An infographic explains classifiers in the critical analysis: a ticket example, categories defined during training or at call time, then Jev’s role. Existing explanations and sources are preserved.
22 September 20260.12.3Pixel credited to Livio Gamassia with his LinkedIn profile in the critical analysis and ecosystem chapters. Mention of our participation in the DevWithAI community.
22 September 20260.12.2The contents menu follows scrolling: the current part opens and the others collapse when the reader moves to another part. Manual expansions remain in place while reading within the same part.
22 September 20260.12.1Critical assessment placed at the start of the summary, with direct access from the first reading path. The critical chapter distinguishes practical value, scientific novelty, marketing and the scam allegation. Synthesis of sources already reviewed, without a new model test.
22 September 20260.12.0Theo and Fireship analyses integrated with their reservations and timestamped links. French-language accounts and other corpus passages are available in the video chapter. Confidence explanation corrected, demonstrations attributed, and 44 transcripts accounted for, including 14 read in full.
22 September 20260.11.17LinkedIn links added to mentions of the 3 founders in the text, tables and glossary.
22 September 20260.11.16Numbers written as digits in headings, text, tables, captions and the glossary. Code examples and original source titles preserved.
22 September 20260.11.15Share button added at the top of the report: HTML download, online link copying and native sharing where the browser supports it. Local addresses are not offered as shareable links.
22 September 20260.11.14Languages shown at the top of the page: French available, English forthcoming. The English link will be added once the translation is available.
22 September 20260.11.13A collapsible “Other resources” menu below search provides access to the portfolio, Claude Code guide, GitHub and LinkedIn.
22 September 20260.11.12Links to my portfolio, GitHub and LinkedIn added. 8 references within chapters and a “Further reading” selection connect the report to my published resources on agents, their evaluation, security and costs.
22 September 20260.11.11A LinkedIn button lets readers contact me after reading the report. The link is also available from the menu for questions, test feedback and corrections.
22 September 20260.11.10On large screens, text and tables use more width. Diagram sizes and the mobile reading layout remain unchanged. The source cutoff remains September 21, 2026.
21 September 20260.11.9A diagram compares the signals and objectives of supervised learning, RLHF and RLVR with RLCD’s stated objective. Missing details about RLCD are identified; the table remains available.
21 September 20260.11.8Mermaid diagram text reduced from 16 to 14 pixels. Blocks are laid out at this size, preserving labels and arrows.
21 September 20260.11.7An infographic compares Choice, Score and Noul on the same fictional ticket: category selection, rating on a scale and probability of yes. Tables and detailed explanations are preserved.
21 September 20260.11.6Headings and passages reworded to describe Jev’s inputs, responses and limitations in concrete terms. Examples, figures and sources preserved.
21 September 20260.11.5A “Copy for an LLM” button copies the full report as JSON, including sources, examples and Mermaid diagrams. Images are represented by their descriptions and captions.
21 September 20260.11.4The “1 test, several retellings” diagram is reduced by half. The other diagrams’ minimum widths no longer exceed their natural size.
21 September 20260.11.3Search covers the report’s full text, including tables, notes, code and collapsed prompts. Results show their part and chapter, without a limit of 40 passages. A search button is also available on mobile.
21 September 20260.11.2The contents heading remains visible. Each part expands and collapses independently on desktop and mobile; scrolling preserves the reader’s choices.
21 September 20260.11.1Syntax highlighting for Python, TypeScript, JSON and terminal examples, available offline. Copied content remains identical to the source code.
21 September 20260.11.0Review of 25 chapters: enumerations, prerequisites and distinct results presented as lists. The opening summary uses bullets. Text, figures, conditions, sources and code examples preserved.
21 September 20260.10.0Reading reorganized: 3 paths at the beginning, contents organized by part, glossary at the end and tutorial among the tests. Narrower text, lighter tables and notes. All code examples and prompts are collapsible, with copying available without opening them. Navigation and light and dark themes made consistent.
21 September 20260.9.2Copy button at the top right of each code block, with confirmation and preservation of spaces and line breaks.
21 September 20260.9.1Opening summary simplified: Jev’s role, launch date, reasons for interest, approximate speed and price, and a cost example. TypeSafe’s claimed gains remain distinguished from independent measurements.
21 September 20260.9.0Developer walkthrough added: Python SDK installation, first call on a fictional ticket, reading the response, troubleshooting and a copyable prompt. Script checked with the installed SDK and simulated responses; no call to the Jev model.
21 September 20260.8.0Critical chapter added on classification, commercial claims and “scam” allegations. Community discussions verified, baselines clarified and GitHub/Sentry tests detailed.
21 September 20260.7.1Last-update indicator added at the beginning, with direct access to the history. Content corrections and new visuals appear in version 0.7.0 below.
21 September 20260.7.0Corrections following the editorial audit: sources and third parties, full vendor results, recalculations of filtering by confidence, illustrative API response, proposed rejection criteria and new figures. The audit’s findings were also checked against sources. No Jev call.
21 September 20260.6.0Critical integration of the Perplexity audit: API inputs and outputs, calibration measurements, benchmark provenance, access and data, ecosystem, protocols and new diagrams. No personal API results added.
21 September 20260.5.0Exchanges between software systems emphasized in the title, introduction and 3 diagrams. Caller, recipient and human review distinguished. An LLM can also serve an application.
21 September 20260.4.0Comparison added between autoregressive generation and the Jev API, followed by a scenario combining Jev and an LLM for release notes. Limits of knowledge about the architecture stated; 2 terms added to the glossary.
21 September 20260.3.0Full review of headings, explanations, tables and captions. Jargon explained and collection details grouped together. Video links checked against transcripts; browser demonstration attribution corrected.
21 September 20260.2.0Use cases refined after inspecting skills, agents and workflows: GitHub pre-triage, Sentry matching, backlog verdict after investigation and fix selection for release notes. Deterministic rules and protocol ambiguities identified separately. No API test executed.
21 September 20260.1.0Initial research version. API inputs and outputs, documented limitations, third-party benchmarks, video corpus, background literature and test protocol. Community thread and personal tests pending.

Copy the report as JSON

Automatic copying is unavailable. The text is selected: press ⌘C or Ctrl+C, then paste it into your assistant.

Share this report

Download the HTML report