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
- The application sends“I was charged 2 times.”
- It defines the optionsBilling · Technical · Other
- Jev evaluatesA probability for each option
- 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
- My assessment as of September 22, 2026: worth testing, with claims that need qualification. The API can simplify some automated decisions, but its gains vary by task. A scientific revolution has not been demonstrated; the marketing figures do not apply to every use case. The sources reviewed do not establish the “scam” allegation. I have not tested the API myself yet. Read the critical analysis.
- Jev estimates the probabilities of possible answers; code decides how to handle the case. The application supplies context and questions. Choice returns option probabilities and the selected option; Score, a distribution across levels and a weighted score; Noul, the probability of yes. Code applies thresholds and business rules to route a ticket or request a review. TypeSafe launched it in early access on September 15, 2026.
- The appeal for agents: get evaluations without extracting values from a paragraph. Jev directly provides values usable in code. The promise of speed and low cost, promoted by Diogo Almeida, formerly at OpenAI and a coauthor of InstructGPT, helps explain the attention at launch.
- Claimed speed: 70 to 500 ms per call, or less than 1 second. A small independent test reports a median of 352 ms for Jev, compared with 877 ms for Gemini Flash Lite and 1,343 ms for Mistral Small, across 40 calls per model. The task, network and access route affect these times.
- Direct price: $0.042 per million input tokens, with free outputs. That equals $42 per billion. With 1,000 total input tokens per request, 100,000 requests would cost $4.20 for Jev alone, excluding retries and other services. Price checked on September 21, 2026.
- The figures driving the discussion: roughly 200× faster and 445× cheaper. They come from TypeSafe’s comparisons on its own workflows, with LLMs that must also provide probabilities. These gains do not apply to every task or every competitor.
- A fast, well-formatted answer can be wrong. Quality varies by task; neither format nor a confidence score guarantees a good decision. The getting-started tutorial provides a first test. This report has not yet tested the Jev model under real conditions.
Terms with a dotted underline show their definition on hover, keyboard focus or tap.
Understanding Jev
The application asks questions, Jev returns values
Application → Jev → application: the program supplies the question and uses the answer.
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.
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
- The application supplies the context. A ticket mentioning a declined payment does not establish the transaction’s actual status. Before acting on it, code must retrieve the relevant records from the service concerned. See the State documentation.
- Questions within a request share the same state. If a question needs another question’s answer, the program prepares a subsequent request. The diagram represents 1 API request without assuming a single internal model pass.
- Format and correctness require separate checks. An answer the SDK can handle may still be wrong. Set the timeout, permissions and fallback before executing an action; choose thresholds based on acceptable errors. See how to keep permissions in code.
| Approach | Result | When to try it | What to check |
|---|---|---|---|
| Rule or BM25 search | Match or lexical score | The criterion can be written down and computed locally. | Missed paraphrases, maintenance cost and local computation. |
| Supervised classifier with fixed classes | Class and score, sometimes a probability | Labeled examples are available and categories rarely change. | Labeling, retraining, rare classes and calibration. |
| Jev | Probabilities and typed values: a Choice option, a Score rating or the probability of yes with Noul | Criteria and options are supplied in each call. | Missing options, errors, probabilities and total cost. |
| LLM with constrained output | Structured data and, if requested, text | The task also requires writing or open-ended extraction. | Correctness, schema validation, cost and latency. |
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.
TypeSafe and Jev launch timeline
Jev entered early access on September 15, 2026. Platform availability dates are separate.
- TypeSafe says it was founded in 2024 and is based in San Francisco.
- The team page lists Diogo Almeida as CEO, Erik Gafni as CTO and Sasha Sheng as COO.
These details describe the company; they do not validate its model’s performance.
| Date | Event | Source and scope |
|---|---|---|
| 2024 | TypeSafe’s stated founding year. | Company press release distributed by Business Wire. |
| September 15, 2026 | Jev 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, 2026 | Jev announced on Vercel AI Gateway. | Vercel changelog. |
| September 17, 2026 | Date 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, 2026 | Date displayed in the OpenRouter catalog. | Platform listing, not the model’s initial release date. |
| September 21, 2026 | Research 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.
- TypeSafe borrows “System One” from Daniel Kahneman’s distinction between fast and deliberate thinking.
- Jev refers to William Stanley Jevons and the idea that lower costs can increase usage.
These references explain the product’s name; they do not describe its neural layers. TypeSafe’s explanation of the names.
Choice, Score and Noul
Choose a category, rate a result or ask a yes/no question.
| Type | Suitable question | Response |
|---|---|---|
| Choice | Which of the supplied options should be selected? | An option, the options’ probabilities and a separate confidence field. Documented maximum: 255 options. |
| Score | Which 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. |
| Noul | Is this proposition true? | The probability of yes, between 0 and 1. No separate confidence field. |
The documentation describes Choice, Score and Noul.
- Choice requires a mutually exclusive selection. Separate binary questions may suit multiple compatible labels.
- Also consider cases that fit no category: an option missing from the list cannot be selected.
| Application need | Question type | Illustrative example |
|---|---|---|
| Choose a team | Choice | Billing, account access, technical incident, other. Choice predicts a category. If several issues coexist, separate questions let code apply its handling priority. |
| Assess impact | Score | 0: 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 others | Noul | Does the message mention a declined payment? Another question can separately ask about being unable to sign in. |
- In the ThursdAI interview, a TypeSafe representative explains how to describe Score levels at 19:51, then why non-exclusive tags need separate questions at 23:00.
- In AICodeKing’s video, the extraction example at 03:55 selects from values supplied to the model.
DIAGRAM · An application queries Jev
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.
- The first concerns that option.
- The second summarizes how concentrated the probabilities are across the options, according to TypeSafe’s definition. It should not be read directly as the probability of being correct.
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.
| Fictional number | What it expresses | What it does not establish |
|---|---|---|
| P(billing) = 0.80 | Probability assigned to the billing option in this call. | This specific ticket was routed correctly. |
| confidence = 0.80 | Value of a measure of distribution concentration. | An 80% chance of being correct. |
| 80 correct answers out of 100 at P ≈ 0.80 | Observed 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
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
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.
- A low ECE, the average calibration gap across bins, can hide a poorly calibrated rare class or an error among automated cases. Publish sample counts per bin, a reliability diagram and errors among accepted cases.
- The Brier score measures the squared difference between probabilities and outcomes; the convention used for multiple classes must be specified.
- For Score, an average severity remains a rating on the chosen scale.
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.
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
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.
| Publication | Contribution to testing | Relation to Jev |
|---|---|---|
| Guo et al., ICML 2017 | Calibration and reliability diagrams | Measurement framework, not a Jev implementation |
| SelectiveNet, ICML 2019 | Error among accepted cases and coverage | Abstention framework |
| Ovadia et al., 2019 | Uncertainty under distribution shift | Reason to test in French, English and outside the target domain |
| BERT, NAACL 2019 | Text representation for classification | Prior work; no established link to Jev’s internal architecture |
| ModernBERT, 2024 | Model to compare for text processing and classification | Its task adaptation has a cost to include |
| RouteLLM, ICLR 2025 | Final quality and routing cost | Related task |
| InstructGPT, 2022 | Diogo Almeida’s contribution to RLHF work | Biographical context, not a Jev paper |
| SCX Router, 2026 | Routing without autoregressive generation | Abstract only; PDF not acquired |
| Rewarding Doubt, v6 | Learning confidence through a logarithmic reward; PDF acquired and selected passages studied | Background 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.
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?
| Method | Signal used | Limit of the comparison with Jev |
|---|---|---|
| Supervised learning | Labeled 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. |
| RLHF | Human feedback, often through preferences and a reward model. | InstructGPT describes work to which Diogo Almeida contributed; it is not Jev’s published method. |
| RLVR | Reward based on verification, for example a checkable answer or outcome. | DeepSeek-R1 and Tülu 3 provide context without describing TypeSafe’s model. |
| RLCD | Stated 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.
- Its 17-page PDF was acquired; the mechanism, results, transfer and proof were examined.
- The first version dates from March 4, 2025; version 6 from February 28, 2026.
- The theorem describes an optimum of the objective, while empirical results vary across datasets.
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.
| Item | What a publication should specify |
|---|---|
| Architecture | Components, dimensions, parameter count and computation performed at inference. |
| Training | Reward, optimization, data and training stages. |
| Calibration | Target event, metrics, held-out datasets and results by domain. |
| Ablations | Separate effects of the architecture, data and training method. |
| Reproduction | Weights or versioned access, code and a sufficiently precise protocol. |
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.
- The shared state can be a string, object or JSON array. It can contain numbers and booleans.
- “Text input” here means that no native image, audio or video input is documented for the model; it does not require converting every JSON value into text.
- Question identifiers are used to retrieve answers and do not replace explicit instructions.
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."
]
}
}
}
| Type | Response | How the program reads it |
|---|---|---|
| Choice | type, choice, probabilities, confidence | Read the choice and the distribution; maximum of 255 options. |
| Score | type, score, legend, probabilities, confidence | Scale of 2 to 10 levels; score can be fractional. |
| Noul | type, noul | noul 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.
- An output_tokens counter can exist even when its price is zero.
- Recording the model actually returned and the actual usage is more precise than recording only the requested alias.
- The Python client reviewed accepts missing counters, represented by None; the JavaScript v0.6.0 types declare them as numbers. Log missing values instead of counting them as 0.
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)
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);
}
| Item | Practical guidance |
|---|---|
| Version | The 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 request | Distinguish 401 and 422 from network errors. Fix the cause; repeating the same request does not necessarily resolve it. |
| Quota or overload | Document 429/529, waiting and additional attempts. A transport error does not mean “no candidate.” |
| SDK timing | Total time may include several attempts; comparing it with server time alone would be misleading. |
| Stability | No bit-for-bit guarantee was identified in the documents read. Test repetitions separately from wording variations. |
- In the JavaScript v0.6.0 client inspected, the timeout is 10 seconds per attempt and 2 retries may follow the initial call for certain errors. It exposes no total retry budget.
- The Python SDK distinguishes timeouts per HTTP operation from a total retry budget.
These settings must accompany latency measurements. JavaScript retries, JavaScript options, Python retry policy.
- 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.
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?
| Element | Poor specification | Specification to test |
|---|---|---|
| Context | Only the title of an old issue. | The title, description and evidence available at the time of the decision. |
| Question | Is it important? | Does the fix restore a feature used by customers, according to the supplied PR? |
| Choices | Feature / Enhancement with no definitions. | Categories described for classification; separate questions if issues overlap, then a handling priority applied in code. |
| Scale | A rating from 1 to 5 with no reference points. | A description of each level with examples close to the real data. |
| Combining results | The 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.
- 2 answers can conflict; the code needs to know how to handle that.
- When a question depends on a previous answer, use successive calls and count their total time.
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.
Examining the results
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.
| Description | This report’s assessment | Why |
|---|---|---|
| Interesting for an application | Yes, 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 revolution | Not 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. |
| Marketing | Claims 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 / fraud | Allegation 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. |
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.
| Claim | What is documented | What 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:
- short input favors its demonstration;
- the large multipliers would be at the upper end of expected gains;
- the reference answers for the workflows are model responses.
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.
| Approach | What it enables | What to account for |
|---|---|---|
| Rules and code graph | Compute 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 classifier | Learn 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 NLI | Evaluate 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. |
| Jev | Supply questions and criteria at call time, then receive typed values. | Question design, local evaluation, input tokens, network, review and service dependency. |
| LLM with constrained output | Interpret 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 model | Run 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.
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
| Thread and community | Discussion topic | Source scope |
|---|---|---|
| JEV architecture · r/LocalLLaMA | Hypotheses about logits, architecture and the appeal of cost or speed. | Participants’ interpretations; no access to Jev’s internal architecture. |
| Jev, generalized BERT? · r/LocalLLaMA | Comparison with encoders and links to classification work. | Comparison leads. The thread belongs to LocalLLaMA, not accelerate. |
| 45-second summary · r/accelerate | Reposts of X messages; disagreement about the classifier’s novelty. | Post by stealthispost, not a test protocol. |
| Making it choose letters · r/accelerate | Reactions to using Choice to produce letters. | Same posting account; a repurposed demonstration does not describe the model’s internal mechanism. |
| Classifying emails · r/accelerate | Discussion 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.
Announced pricing and speed
TypeSafe publishes a price and claims speed and cost improvements. Those gains depend on the tests and models compared.
| Figure | Source and conditions | What to measure for your use case |
|---|---|---|
| 70 to 500 ms | TypeSafe'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× cheaper | The 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 tokens | Direct pricing, equivalent to $0.042 per million. | All calls, retries and downstream processing. |
| Free outputs | A 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.
| Item | Question to ask |
|---|---|
| Tasks | Does each method receive the same cases and information? |
| Expected output | Is a label enough, or do you need a full distribution? |
| Settings | Which model, version, reasoning level and API route? |
| Reference | Independent human annotations, verifiable rules or consensus from other models? |
| Time | Measured from the same client, with the same concurrency and retries included? |
| Cost | List price, actual bill or estimates for competitors? |
| Quality | What 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.
| Model, workflow mode | Mean agreement | Cost per case | Time per case |
|---|---|---|---|
| Jev | 67.8% | $0.0004 | 0.4 s |
| sol | 74.1% | $0.0836 | 23.3 s |
| Opus 5 | 73.1% | $0.1761 | 37.8 s |
| terra | 67.9% | $0.0304 | 10.1 s |
| Sonnet 5 | 67.8% | $0.1174 | 78.1 s |
| luna | 66.8% | $0.0033 | 12.9 s |
| DeepSeek v4 pro | 65.5% | $0.0413 | 86.5 s |
| DeepSeek v4 flash | 64.4% | $0.0059 | 51.9 s |
| Haiku 4.5 | 53.6% | $0.0195 | 12.5 s |
Rounded values read from the vendor's charts on September 21.
- Jev costs less and responds faster in this aggregate; sol and Opus 5 have higher agreement.
- On invoices, Jev reaches 61.8%, compared with 79.1% for sol.
- Jev's 4 agreement rates are 61.7%, 71.6%, 61.8% and 76.0%. Their mean is 67.775%, consistent with the displayed 67.8%.
The launch multipliers cannot be recalculated by arbitrarily dividing 2 rounded cells in this table.
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.
| Item | Assumption | Calculated cost |
|---|---|---|
| Planned calls | 1,000,000 × 1,000 tokens | $42.00 |
| Retries | 50,000 extra calls of the same size, all billed in this example | $2.10 |
| Second decision | 100,000 cases requiring another call of the same size | $4.20 |
| Jev total | 1,150,000 calls, without caching or other adjustments | $48.30 |
| Other costs | Retrieval, storage, text-generating LLM and review | Measure separately; not included in $48.30 |
Processing multiple questions and reusing context changes the billed volumes.
- Record usage counters when available. If they are missing, log “unknown”, never 0 tokens: the Python and JavaScript clients do not declare these fields in the same way.
- An estimate based on the ticket does not replace the bill.
- Quotas, errors and retries also count toward the workflow.
- Cost per correct decision divides the full cost by the number of correct decisions, specifying whether those corrected by a person are included.
- For a repeated task, also publish the cost per completed case and measured review time in minutes.
A solution that lowers model costs but requires more corrections can cost more overall.
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.
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.
| Report | Result or test objective | Conditions to retain |
|---|---|---|
| AbdelStark / jev-benchmarks | Classification 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-measured | Jev: 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 / jevbench | 534 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-bench | 8 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-study | Correct 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.
| Trial | Jev measurement | Scope |
|---|---|---|
| Phishing | Median: 239 ms | From France, according to the author; corpus and questions specific to this test. |
| ASSAY-001 / Banking77 | Median: 382.3 ms; p95: 553.7 ms | 3,080 successful first attempts. Network included, Plano, Texas region according to the metadata. Recalculated from published responses. |
| ASSAY-001 / CLINC150, same campaign | Median: 385.9 ms; p95: 615.3 ms | 5,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.
- 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.
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.
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.
| Corpus | Usable responses | Options | Correct decisions | ECE |
|---|---|---|---|---|
| Banking77 | 3,080 | 77 | 79.77% | 0.0936 |
| CLINC150 | 5,496 | 151, including out of scope | 88.12% | 0.0204 |
ECE compares the probability of the returned option with the rate of correct decisions, grouped into bins.
- The scoring script uses 10 bins: [0, 0.1], then (0.1, 0.2], through (0.9, 1]. A value of 0.9 therefore belongs to the second-to-last bin.
- Each absolute gap is weighted by the proportion of responses in its bin.
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.
| Corpus | Initial tolerance: 0.001 | Amended tolerance: 0.02 |
|---|---|---|
| Banking77 | 2,935 responses; accuracy 81.09%; ECE 0.0904 | 3,080 responses; accuracy 79.77%; ECE 0.0936 |
| CLINC150 | 5,128 responses; accuracy 89.43%; ECE 0.0209 | 5,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.
| Point | Implication for interpretation |
|---|---|
| 8,580 planned requests; 8,576 usable responses | 4 local network-resolution errors are excluded from model metrics. |
| Requests: jev-latest; 8,576 responses: jev-1.13.0 | The requested alias and the version actually returned are distinct. These results do not describe a later version. |
| Corpora and revisions recorded in PINS.txt | Banking77 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 UTC | Date the observation using the response files and retain the difference from the stated test date. |
| Recalculation of the same files | Reading the results a second time is not a second inference campaign. |
The ASSAY files also let us check what a confidence ≥ 0.9 filter retains.
- In the following table, coverage is the share of usable responses retained by this filter.
- Accuracy is calculated only among those retained responses, using the amended tolerance for probability sums.
| Corpus | Responses retained | Coverage | Correct responses | Accuracy after filtering |
|---|---|---|---|---|
| Banking77 | 2,137 out of 3,080 | 69.38% | 1,979; 158 errors | 92.61% |
| CLINC150 | 3,877 out of 5,496 | 70.54% | 3,726; 151 errors | 96.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.
- For Agent Journal, the absence of raw distributions and associated labels prevents this calibration recalculation.
- For ASSAY, these data are available and ECE is reported above.
- 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.
Jev as a judge of agent traces
A 100% result on 5 repeated traces measures agreement on those cases, not general reliability.
- The tutorial Building a Harness with Jev, published by Sydney Runkle and Hunter Lovell on September 17, explains an integration.
- The figures repeated in ExplainX come from another source: the jev-as-a-judge repository.
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.
| Judge | Agreement across 500 repetitions | Interpretation |
|---|---|---|
| Jev | 100% | No reported disagreement on these traces and their repetitions. |
| GPT-5.6 Terra | 99.8% | 1 reported disagreement across the 500 repetitions. |
| GPT-5.6 Luna | 96.4% | Measured on the same traces, not an independent corpus of 500 situations. |
| Claude Sonnet 4.6 | 80% | 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.
| Judge | Mean within-trace variance | Ratio to Jev |
|---|---|---|
| Jev | 0.00001494 | 1 |
| Claude Sonnet 4.6 | 0.00137007 | 91.68 |
| GPT-5.6 Luna | 0.00646904 | 432.90 |
| GPT-5.6 Terra | 0.01364287 | 912.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 Jev judge combines 3 Noul answers for quality and makes another call for the binary verdict.
- The judges' rubrics are not worded identically: this experiment does not isolate an architectural effect.
The metadata for this run are dated September 18.
- They name the 3 LLMs and report a modified working tree at launch. The archived code therefore does not guarantee access to every exact file used in this run.
- The hosted Jev model version is not specified; it cannot be inferred from the LangChain client version.
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.
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
| Author and task | Reported result | Main limitation |
|---|---|---|
| bitnovus, email filtering | In 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 validation | Jev 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 functions | 98% 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 matching | 9,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.
- The product test resembles Sentry matching: retrieve candidates, then judge a pair. The annotation task and the cost of an error still differ.
- Code-review scores do not predict the quality of a PR review involving multiple files and business rules.
- Capital & Compute also reports its own trial on 483 Search Console queries: Jev is called, but the other models' costs are calculated, and only 18 examples receive human review. This result therefore does not compare full runs of all competitors.
- The Every figures repeated in this chain are not included here as verified results: the article was located, but its body and linked material could not be read.
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.
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.
| Argument | Passage | This report's assessment |
|---|---|---|
| Responses that software can use easily | Theo, 06:34; Fireship, 01:33 | A 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 texts | Greg Isenberg / Ryan Vogel, 04:34; Theo, 26:49 | Email or discussion classification reported by the authors. Throughput and cost do not measure the quality of the resulting categories. |
| A valid response can be wrong | Theo, 05:34; Fireship, 03:00; Gary Explains, 08:10 | Weak 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 result | Erwan, 06:15; AICodeKing, 02:16 | An 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 comparator | Theo, 15:48; Micah, 02:05 | These 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
confidencethrough 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
| Creator and passage | Contribution | Caveat to retain |
|---|---|---|
| Meydeey, 11:06; 15:46 | Comparison 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:00 | Reports 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:13 | Demo 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:50 | He 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. |
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.
| Video and timestamp | What to watch | How to interpret the result |
|---|---|---|
| Greg Isenberg, 22:54 | Ryan Vogel describes an inconclusive Bitcoin trial: buy, hold or sell. | The comparator model had additional news; the information they received differed. |
| Greg Isenberg, 24:22 | A video is transcribed before Jev scores the text. | The passage shows a transcription stage, not native video input to Jev. |
| Meydeey, 16:25 | Construction 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:15 | Comment-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:00 | Choosing between a single choice and multiple compatible labels. | The speaker represents TypeSafe, which also sponsors the hackathon announced by the host. |
| AICodeKing, 05:22 | Gregor 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:16 | An “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:37 | How a demonstration was edited. | The speaker reports recording 15 minutes and retaining 2 min 30 s. The edit does not measure the success rate. |
| Video and timestamp | Topic | Scope |
|---|---|---|
| Micah, 02:05 | How ratios vary with the comparator. | Commentary on vendor results; no new benchmark. |
| Micah, 03:00 | Agreement with judge models. | Agreement does not establish correctness verified independently by humans. |
| AISeeKing, 05:20 | Disagreements in the published results. | Analysis and secondary reporting; no additional run verified. |
| SimplyExplain, 07:14 | Narrowing the candidates before the Wikiracing choice. | An explanation of the 2-stage system described by TypeSafe. |
| Riley Brown, 19:13 | Access 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.
| Channel and passages read | Video contribution | Analysis limitation |
|---|---|---|
| Sam Witteveen · 12:53 ; 14:11 | Sam 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:47 | Introduces 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:37 | Syntax 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:18 | The 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:47 | Matthew 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:04 | Caleb 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:21 | Rob 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:36 | Moritz 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:25 | Riley 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:59 | David 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:09 | RepoChad 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:59 | Codevolution 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:34 | AICodeKing 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:45 | Turing 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:10 | Gary 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:07 | Neural 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:40 | Jeremy 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:06 | Ryan 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:25 | Diogo 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:35 | A 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:11 | Lukas 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:20 | Mark 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:33 | Mayank 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:46 | Alessio 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:36 | tacosdedatos 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:51 | The 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:54 | Krish 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:32 | Maximilian 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:30 | KEVPUSH 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:40 | Adrian 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. |
Prepare your tests
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.
- Open the TypeSafe console and create an API key if your account has access to the service.
- You need Python 3.10 or later and an Internet connection.
- This walkthrough uses TypeSafe’s direct API; a key from another provider will not work.
- Check your account’s access and billing in the console.
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.
- It makes 1 SDK attempt to TypeSafe, billable under your account’s terms.
- Automatic retries are disabled.
- The 30-second timeout applies to HTTP operations; it does not guarantee a total duration of 30 seconds.
Terminal Terminal · call the service 1 line
python premier_appel.py5. 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.
| Field | How to read it |
|---|---|
proposition | The category predicted in choice. The script displays it without deciding an assignment or moving a ticket. |
probabilities | The probability assigned to each of the 4 options. |
confidence | How concentrated this distribution is; this number is not a probability of correctness. |
model | The identifier returned by the service, to keep with the results. |
usage | Token counts supplied by the SDK. null means the value is missing, never 0 by default. |
duree_appel_secondes | Client-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.
If the first call fails
| Symptom | What to check |
|---|---|
| Installation rejected or import not found | Python must be version 3.10 or later. Reactivate .venv, then use python -m pip with the same interpreter used to run the script. |
| Missing key | The script stops before the call. Run it again and enter the key in the terminal. |
| HTTP 401 or access denied | Check the key and account access in the TypeSafe console. |
| Model unavailable or request rejected | Check the documented models and request structure. A 422 error calls for checking its contents. |
| HTTP 429 or 529 | Check the quota or service availability before trying again. The script does not retry automatically. |
| Network error or timeout | Check 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.
- The chapter Calling the API and reading its responses also covers HTTP, TypeScript, Noul and Score.
- To move on to your own tasks, follow the GitHub and Sentry pilots, then the comparison protocol.
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.
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.
- The 64k-token limit covers the state and all questions; the 32k limit covers the state and the longest question.
- The listed ceilings, 250,000 tokens per second and 1,200 requests per minute, are dynamic and may depend on the plan. They are not an availability commitment.
| Access | Identifier and interface | Listed price | Documented context scope |
|---|---|---|---|
| TypeSafe direct | jev-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 Gateway | typesafe-ai/jev; experimental_evaluate in AI SDK | Free promotion announced through 25 September 2026. | Listing: Context 32K. This page does not specify the split between state and questions. |
| Cloudflare | typesafe/jev; env.AI.run with state and questions | Check the dashboard. | Listing: Context Window 32,000 tokens. This page does not specify the split between state and questions. |
| OpenRouter | typesafe/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.
- Their 32k listings are not enough to infer the direct API’s dual 64k/32k budget. Check how the chosen route divides the budget before sizing requests.
- No account access permissions were verified here.
- The Vercel promotion is dated; comparisons must not treat it as permanent pricing.
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.
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.
| Document | Commitment or information reviewed | Limitation |
|---|---|---|
| Privacy Policy, 19 November 2025 | Hosted 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 2026 | Processing 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 2026 | No 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 index | A 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.
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.
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.
| Task | Question delegated to Jev | Baselines | Work that would remain in the existing pipeline |
|---|---|---|---|
| GitHub pre-triage | Which 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 matching | Do 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 notes | Does 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. |
- For Sentry, Jev would intervene only when exact matches have failed. It would rank candidates already retrieved, with a review before linking anything.
- For release notes, it would help select fixes; the writing model would still write the text. A vague commit title does not establish user impact: include the PR context too.
- For the release notes pilot, the program would collect commits and PR context.
- Jev would suggest a category for each fix.
- The code would apply selection rules, then send the selected changes and their references to the LLM.
DIAGRAM · Jev classifies, the LLM writes
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
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
| Ref. | Case | Methods compared | What to measure |
|---|---|---|---|
| UC1 | FR/EN skill suggestions | Current BM25, rules, constrained-output LLM, Jev | Paraphrases retrieved, incorrect suggestions and share of cases handled |
| UC2 · pilot 1 | GitHub pre-triage | Rules, lexical search, LLM, Jev | Suggested categories, duplicates found and review effort |
| UC3 | Document selection for RAG | BM25, reranker, LLM, Jev | Required passages retained and final answer quality |
| UC4 | Direct decision or decomposed questions | The same decomposition for each model | Quality and cost of every call and of combining their results |
| UC5 | Choosing among 5 to 250 options | Option order, close alternatives, cases with no suitable option | Errors by option count, position and domain |
| UC6 · pilot 2 | Sentry/GitHub matching | An explicitly defined lexical rule, LLM and Jev on the same candidates | False matches, missed duplicates and review effort |
| UC7 | Old issues, after investigation | The current model and Jev given the same evidence | Incorrect closure decisions and total cost, including investigation |
| UC8 · pilot 3 | Fixes for release notes | Commit filters, the current writing model and Jev | Omitted 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
- For each test, record errors, the share of cases handled, p50/p95 response times and cost per correct decision.
- Specify the region, number of concurrent requests, input size, question count and version.
- Count network errors, retries and review effort.
Calculate Brier score and ECE from the probabilities relevant to the task, rather than relabeling the confidence field.
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.
| Case | What to provide | Reference 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 components | Trace, 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. |
Prepare a reproducible test
Define acceptable errors before choosing a threshold or a number of examples.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
| Task | Useful metrics | Error to watch closely |
|---|---|---|
| GitHub categorization | Precision and recall by category, macro-F1, confusion matrix, coverage | An important rare category consistently missed. |
| Sentry matching | Candidate recall, then precision of accepted matches | 2 separate incidents incorrectly merged. |
| RAG | Recall of required passages, ranking quality, final answer accuracy | An indispensable passage discarded before writing. |
| Release notes | Useful fixes retained, omissions, internal items included, faithfulness of the final text | User impact invented from an ambiguous title. |
| Probabilities | Brier score with an explicit convention, ECE with bins/counts, reliability diagram | Poor 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.
- For many-option choices, vary the number of similar distractors while keeping the same problem.
- Permute both the positions and identifiers of the options.
- Beyond the documented limit, a preliminary filter followed by a final choice forms a new system: measure incorrectly discarded candidates and the cost of both steps.
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.
| Pilot | Rejection criterion before adoption | Decision after the test |
|---|---|---|
| GitHub | At 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. |
| Sentry | At 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 notes | A 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. |
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.
| Proposed pilot | Comparison to fix before testing | Expected decision |
|---|---|---|
| GitHub pre-triage | Current 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 matching | Give 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 acts | Replay 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. |
- Measure error and coverage for every method. For methods that produce probabilities, also assess calibration and the quality of decisions retained after applying a threshold. The confidence field is not a probability of correctness.
- Tune thresholds on the validation set, then measure error rate and coverage on the held-out test set.
Synthetic text or a rare language does not prove that the model never encountered similar data during training.
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
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.
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.
Sources and updates
Official SDKs and projects inspired by Jev
A compatible interface provides neither Jev’s weights nor its training method.
| Official repository | Role | Version or setting to retain |
|---|---|---|
| typesafe-sdk-python | Python client for calling Jev and reading its typed responses. | Manifest 0.7.0, Python 3.10 minimum; MIT license for the client. |
| typesafe-sdk-js | JavaScript and TypeScript client. | Tag v0.6.0, Node 20 minimum; MIT license for the client. |
| system-one-adapter-python | Asks 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.
- Its
discretemode asks for a decision; itsprobabilitiesmode asks for a distribution. These 2 tasks have different costs; the protocol must specify which meets the need. - The README documents attempt traces and structural corrections.
- This adapter was not run for this report. The First call tutorial checks the official Python client with a simulated transport, without inference.
| Project | Described approach | Reported results and limitations |
|---|---|---|
| SemIf, formerly TheoLeeCJ/openjev | Frozen Qwen 4B, reading logits to provide a decision interface. | Neither Jev weights nor RLCD. The project states that it is unaffiliated. |
| vinnylarouge/jevlike | A 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-jev | Gemma 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/openjev | DiffusionGemma; 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. |
| OpenSysOne | Rank-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. |
| Laya | ModernBERT-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-ultrafast | Jev 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.
- On 768 held-out Social IQA decisions, it reports 72.92% versus 70.31% for its base model.
- Its speed measurements use FP32, warm runs and serial execution on a GB10 machine: they compare its own variants, without calling Jev.
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%.
- The authors reuse Jev figures published elsewhere; this is not a head-to-head test with identical inputs.
- Local latency on a T4 GPU does not include Jev’s network service. Local inference requires hardware, even without an API bill.
- The acronym RLCD used by Laya refers to its published method, without establishing that it reproduces TypeSafe’s method.
- In Pixel 0.4.0, plan routing recognizes words and chooses among 5 analyses.
- File ranking combines several signals.
- Embedding-derived leads are ranked P2 and marked as unverified.
- The concept resolver’s confidence field takes the values resolved, ranked or unresolved; this search status is not a probability of correctness.
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.
- 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.
- The description of Micah’s video supplied the links to SemIf, jevlike, open-jev and OpenSysOne.
- The description for Sam Witteveen, at 17:50, links to Laya.
- The lists AnotiaWang/awesome-jev, fatwang2/awesome-jev and Made with Jev provided further leads.
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.
| README table | Reported values | Limitation |
|---|---|---|
| Typed-decisions, models compared on 400 cases and 2,000 decisions | Specialist 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 calibration | Laya: 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 / Jev | 0.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.
Frequently asked questions
Short answers to recurring confusions in articles and demonstrations.
Track Jev’s development
Weekly monitoring tracks versions, prices, publications and new tests.
| Expected development | Planned work | Status as of 21 September |
|---|---|---|
| Version, price or limit changes | Date the new value and rerun affected tests | Values documented as of 21/09 |
| RLCD paper or technical report | Read the method, data and architecture description | No sufficiently detailed publication found in this research |
| Reproducible independent benchmark | Check data, baselines, test sets and raw results | Third-party reports read, without reproducing the tests |
| Community discussions | Record questions and tests, distinguish opinions and respect private remarks | Excerpts received and analyzed; full thread unavailable |
| Submitted Perplexity audit | Check claims against original sources and integrate corrections | Integrated 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.
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.
Further reading
My articles and guides for configuring agents, preparing tests and tracking costs. FR and EN indicate the reading language.
- Portable Claude Code and Codex configuration (EN): organize instructions, skills, hooks and checks in a shared configuration.
- Back Market and OpenRouter (FR): practical experience with budgets and provider selection behind a shared API.
- Designing an agent’s loops and steps (EN): define steps, stopping conditions and handoff to a person.
- Evaluating an agent (EN): choose quality criteria and compare runs with their tools and rules.
- Calculating cost per accepted task (EN): count attempts, retries and review effort in the cost of an accepted result.
- Securing agents, hooks and tools (EN): address permissions, dependencies and untrusted inputs.
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.
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
- Introducing System One Models & Jev · TypeSafe AI / Diogo Almeida · accessed September 21, 2026 · 15 September 2026 · Source documentaire
- Introduction · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Choice · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Score · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Noul · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Confidence · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- AI primer · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Models · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- API reference · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Jev 1.13 jaggedness · TypeSafe AI · accessed September 21, 2026 · 17 September 2026 · Source documentaire
- Workflow evals · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- System One Adapter · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Python SDK manifest · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- JavaScript SDK manifest · TypeSafe AI · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- InstructGPT paper · OpenAI authors / arXiv · accessed September 21, 2026 · 4 March 2022 · Source documentaire
- Privacy policy · TypeSafe AI · accessed September 21, 2026 · 19 November 2025 · Source documentaire
- Phishing benchmark · anisselbd · accessed September 21, 2026 · 17 September 2026 · Source documentaire
- BTZSC pilot · AbdelStark · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Jev measured · WallerChen · accessed September 21, 2026 · 20 September 2026 · Source documentaire
- JevBench · Benchmark Heaven / fstandhartinger · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- TypeSafe Jev on AI Gateway · Vercel · accessed September 21, 2026 · 16 September 2026 · Source documentaire
- Jev reranking benchmark, MIRACL French · anessbelbati · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Jev 1.13.0 behavior study, arithmetic permutations · RINNECODER · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Calibration, Guo et al. · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- SelectiveNet · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Uncertainty under shift, Ovadia et al. · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- BERT · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- ModernBERT · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- RouteLLM · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- SCX Router, abstract only · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Text generation · Hugging Face · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- ASSAY-001, report and data · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- ASSAY-001, protocol · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- ASSAY-001, first protocol amendment · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Vercel AI SDK, TypeSafe AI: rounding and confidence · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Agent Journal, LLM judge vs feature extraction · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- LangChain, Building a Harness with Jev · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Jev as a judge, experiment repository · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Rewarding Doubt, v6 · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- DeepSeek-R1, abstract · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Tülu 3, abstract · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- TechCrunch, interview with Almeida · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- TypeSafe team · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- DCVC funding announcement · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- State, shared context · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Python SDK, usage · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Python SDK, response types inspected · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- JavaScript SDK v0.6.0, response types and options · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- JavaScript SDK v0.6.0, question helpers · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- JavaScript SDK v0.6.0 · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Vercel, Jev listing and promotion · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Cloudflare, Jev · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- OpenRouter, Jev catalog · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- TypeSafe, DPA · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- TypeSafe, MCA customer agreement · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- TypeSafe, legal documents and ZDR · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- TypeSafe, website terms · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Capital & Compute, compilation of costs and use cases · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Near Here, event validation · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- gemanor, code-review benchmark · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- paddo, Thirty-Cent Judge · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- bitnovus, email-filtering experiments · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- SemIf, decision interface on Qwen · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- jevlike, community prototype · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- daseinlabs, open-jev on MLX · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- razorback16, openjev with DiffusionGemma · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- AnotiaWang, awesome-jev catalog · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Made with Jev, project catalog · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- jevtypesafeai.com, third-party service documentation · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- jev-agent.com, third-party website terms of use · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- CounterProof, review of consensus labels · accessed September 21, 2026 · 21 September 2026 · Source documentaire
- Every · article by Mike Taylor (title and URL; body not read) · 21 September 2026 · Source documentaire
- Arize / Laurie Voss · evaluation of Jev as a judge · 21 September 2026 · Source documentaire
- OpenSysOne · model card published by andyshu · 21 September 2026 · Source documentaire
- TokenRa · advertised offer and prices · 21 September 2026 · Source documentaire
- NandhaKishorM / Laya · README and comparison limitations · 21 September 2026 · Source documentaire
- LivioGama / Pixel · code intelligence and classification · 21 September 2026 · Source documentaire
- TypeSafe · official Python SDK · 21 September 2026 · Source documentaire
- Browser Use · Jev Ultrafast demonstration · 21 September 2026 · Source documentaire
- Aness Belbati · reranking benchmark · 21 September 2026 · Source documentaire
- ThursdAI · September 17 episode and Allie Laabs’s presentation · 21 September 2026 · Source documentaire
- ExplainX · republication of Jev-as-a-judge benchmark figures · 21 September 2026 · Source documentaire
- Yin et al., 2019 · zero-shot classification through NLI · 21 September 2026 · Source documentaire
- Hugging Face · ZeroShotClassification pipeline · 21 September 2026 · Source documentaire
- Anthropic · structured outputs and schema limitations · 21 September 2026 · Source documentaire
- simonmesmith · Jev on Banking77 with examples, README consulted · 21 September 2026 · Source documentaire
- MindStudio · overview of classifiers, original protocol not found · 21 September 2026 · Source documentaire
- Hacker News · Jev launch, public discussion · 21 September 2026 · Source documentaire
- Hacker News · zero-shot description by petesergeant · 21 September 2026 · Source documentaire
- Hacker News · CompleteSkeptic’s response to the zero-shot description · 21 September 2026 · Source documentaire
- Hacker News · CompleteSkeptic identifies as CEO · 21 September 2026 · Source documentaire
- Hacker News · architecture confidentiality and discussion of a paper · 21 September 2026 · Source documentaire
- Hacker News · valid type and factual accuracy · 21 September 2026 · Source documentaire
- Reddit / LocalLLaMA · hypotheses about Jev’s architecture · 21 September 2026 · Source documentaire
- Reddit / LocalLLaMA · comparison with BERT · 21 September 2026 · Source documentaire
- Reddit / accelerate · summary and reactions · 21 September 2026 · Source documentaire
- Reddit / accelerate · successive letter choices · 21 September 2026 · Source documentaire
- Reddit / accelerate · discussion of email classification · 21 September 2026 · Source documentaire
- Nandakishor M · claim of prior work, author’s post · 21 September 2026 · Source documentaire
- SalesRLAgent · record and abstract, PDF not audited · 21 September 2026 · Source documentaire
- Confidence-based routing · record and abstract, PDF not audited · 21 September 2026 · Source documentaire
- Laya · pinned README, calibration scopes · 21 September 2026 · Source documentaire
- Laya typed-decisions · fine-tuned model and calibration settings · 21 September 2026 · Source documentaire
- TypeSafe · official quickstart · 21 September 2026 · Source documentaire
- PyPI · typesafe-sdk 0.7.0 and Python requirements · 21 September 2026 · Source documentaire
- TypeSafe · synchronous Python client and transport · 21 September 2026 · Source documentaire
- Theo · Jev is incredible · full transcript analyzed on September 22, 2026 · 22 September 2026 · Source documentaire
- Fireship · An ex-OpenAI researcher just deleted language from the LLM... · full transcript analyzed on September 22, 2026 · 22 September 2026 · Source documentaire
- Jev Engineering 101 · Daniel Moka / Craft Better Software · educational inspiration, accessed September 23, 2026 · 22 September 2026 · Source documentaire
“Accessed on” gives the date the source was read. A source may have been published earlier and later updated.
Update history
| Date | Version | Changes |
|---|---|---|
| 23 September 2026 | 0.15.0 | Clarified 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 2026 | 0.14.0 | 4 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 2026 | 0.13.0 | Complete 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 2026 | 0.12.4 | An 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 2026 | 0.12.3 | Pixel 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 2026 | 0.12.2 | The 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 2026 | 0.12.1 | Critical 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 2026 | 0.12.0 | Theo 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 2026 | 0.11.17 | LinkedIn links added to mentions of the 3 founders in the text, tables and glossary. |
| 22 September 2026 | 0.11.16 | Numbers written as digits in headings, text, tables, captions and the glossary. Code examples and original source titles preserved. |
| 22 September 2026 | 0.11.15 | Share 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 2026 | 0.11.14 | Languages shown at the top of the page: French available, English forthcoming. The English link will be added once the translation is available. |
| 22 September 2026 | 0.11.13 | A collapsible “Other resources” menu below search provides access to the portfolio, Claude Code guide, GitHub and LinkedIn. |
| 22 September 2026 | 0.11.12 | Links 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 2026 | 0.11.11 | A 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 2026 | 0.11.10 | On 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 2026 | 0.11.9 | A 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 2026 | 0.11.8 | Mermaid diagram text reduced from 16 to 14 pixels. Blocks are laid out at this size, preserving labels and arrows. |
| 21 September 2026 | 0.11.7 | An 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 2026 | 0.11.6 | Headings and passages reworded to describe Jev’s inputs, responses and limitations in concrete terms. Examples, figures and sources preserved. |
| 21 September 2026 | 0.11.5 | A “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 2026 | 0.11.4 | The “1 test, several retellings” diagram is reduced by half. The other diagrams’ minimum widths no longer exceed their natural size. |
| 21 September 2026 | 0.11.3 | Search 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 2026 | 0.11.2 | The contents heading remains visible. Each part expands and collapses independently on desktop and mobile; scrolling preserves the reader’s choices. |
| 21 September 2026 | 0.11.1 | Syntax highlighting for Python, TypeScript, JSON and terminal examples, available offline. Copied content remains identical to the source code. |
| 21 September 2026 | 0.11.0 | Review 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 2026 | 0.10.0 | Reading 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 2026 | 0.9.2 | Copy button at the top right of each code block, with confirmation and preservation of spaces and line breaks. |
| 21 September 2026 | 0.9.1 | Opening 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 2026 | 0.9.0 | Developer 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 2026 | 0.8.0 | Critical chapter added on classification, commercial claims and “scam” allegations. Community discussions verified, baselines clarified and GitHub/Sentry tests detailed. |
| 21 September 2026 | 0.7.1 | Last-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 2026 | 0.7.0 | Corrections 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 2026 | 0.6.0 | Critical 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 2026 | 0.5.0 | Exchanges 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 2026 | 0.4.0 | Comparison 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 2026 | 0.3.0 | Full 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 2026 | 0.2.0 | Use 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 2026 | 0.1.0 | Initial research version. API inputs and outputs, documented limitations, third-party benchmarks, video corpus, background literature and test protocol. Community thread and personal tests pending. |