Failure self-check, checklist question 9, and Drex on alternatives (20 Oct 2026)
This dated report records the evidence behind the update of 20 October 2026. It adds a self-check to When Jev fails that sets your own failure handling next to the 80 implementations on the map, adds a ninth checklist question that the map cannot count, corrects sentences that still gave the earlier count of 79, and reads Drex (Nace.AI) for the alternatives page. Nothing was run: no account, key, API call or third-party code.
Self-check: for each of five failure conditions you pick what your code does and see how many of the 80 made the same choice, with up to three example rows. It compares choices only; it does not read or test code, and nothing you pick leaves your browser.
One choice no implementation made: with no API key, 0 of 80 return no decision (51 refuse, error or hold; 17 fall back; 9 proceed as if allowed; 3 are advisory).
Question 9: "Does your code log or show when it falls back or fails open?" Not counted across the 80: the map does not record whether a fallback is visible. Timeouts (question 2) and logging (question 8) are not tallied either.
Alternatives: Of 38 listed substitutes: 13 model weights, 11 local runtimes, 4 request adapters, 2 classifier/LLM approaches, 8 hosted APIs from other providers (OpenAI, Microsoft, Cloudflare, Subquadratic, Liquid AI, Mouse, Upright, Nace.AI).
Access: unchanged at 20 Oct 2026, 05:13 UTC. jev-latest still points to jev-1.13.0 and jev-preview to jev-1.14.0.
The five comparisons in the self-check: what the 80 implementations do, condition by condition (map of 19 Oct 2026)
- Jev error or timeoutchecklist question 1 · n = 80
- 40/80 stop or hold the action (fail-closed)
- 22/80 fall back (fallback)
- 10/80 let it through (fail-open)
- 5/80 return no decision (no-decision)
- 3/80 advisory: a person or heuristic decides (advisory)
- Malformed answerchecklist question 3 · n = 80
- 36/80 stop or hold the action (fail-closed)
- 24/80 fall back (fallback)
- 13/80 let it through (fail-open)
- 4/80 return no decision (no-decision)
- 3/80 advisory: a person or heuristic decides (advisory)
- Below thresholdchecklist question 4 · n = 80
- 17/80 held (held)
- 16/80 acts anyway (acts-anyway)
- 12/80 falls back (fallback)
- 5/80 no decision (no-decision)
- 5/80 advisory (advisory)
- 25/80 no threshold (no-threshold)
- No API key configuredchecklist question 5 · n = 80
- 51/80 refuse, error or hold (fail-closed)
- 17/80 fall back (fallback)
- 9/80 proceed as if allowed (fail-open)
- 0/80 return no decision (no-decision)
- 3/80 advisory (advisory)
- Bypasschecklist question 6 · n = 80
- 13/80 every entry point checked; none skips Jev (recorded: none found)
- 67/80 some code paths skip Jev (listed) (recorded: skip paths listed)
What the self-check compares, and what it does not
- It compares five choices: what your code does on a Jev error or timeout, on a malformed answer, below its threshold, with no API key, and which code paths skip Jev. Each choice is shown in the map's own terms (fail-closed, fallback, fail-open, no-decision, advisory; held, acts-anyway, no-threshold below a threshold).
- What comes back: "N of 80 made the same choice", the map term, up to three example rows (name, domain and pinned commit, as on the map), and the checklist question that goes with it. A fallback choice also points to question 7 (is the fallback cheaper or riskier than failing?). "Not sure / not checked" points to the checklist question that shows what to look for.
- What it does not do: it does not read, run or test your code, does not call Jev, stores nothing and sends nothing. It does not say whether a choice suits your use; the counts describe the 80 implementations at their pinned commits, not a rate for Jev integrations in general.
- Without JavaScript: the same counts are in the checklist directly below the self-check, and every row is in the All 80 rows table.
The counts and their date
The self-check uses the map as recomputed on 19 Oct 2026 (n 80). Before use, every per-condition total and every domain-table cell was recomputed from the map's own cells, with 0 differences, and the map table was compared with the previously published page, with 0 differences. The bypass split is 13 "none found" and 67 with skip paths listed (13 + 67 = 80). Every example row named in the self-check appears in the map with the same term.
| Condition | Counts (of 80) | Checklist |
|---|---|---|
| Jev error or timeout | 40 fail-closed, 22 fallback, 10 fail-open, 5 no-decision, 3 advisory; the action goes ahead in 19 of 80 | question 1 |
| Malformed answer | 36 fail-closed, 24 fallback, 13 fail-open, 4 no-decision, 3 advisory | question 3 |
| Below threshold | 25 no-threshold, 17 held, 16 acts-anyway, 12 fallback, 5 no-decision, 5 advisory | question 4 |
| No API key | 51 fail-closed, 17 fallback, 9 fail-open, 0 no-decision, 3 advisory | question 5 |
| Bypass | recorded for 80 of 80: 13 none found, 67 with skip paths listed | question 6 |
What the map does not record
- Whether a fallback or fail-open is visible (logged or shown to a person): the map has no column for it. It is now checklist question 9, with no count.
- Timeouts (question 2): examples are quoted, but timeouts were not tallied across the 80.
- Logging (question 8): the domain tables have no logging column.
- Real-world behaviour: every cell is a reading of source at a pinned commit; none of the 80 was run by this site.
Corrected count sentences
The map grew from 79 to 80 implementations on 19 Oct (ohmyjev). A scripted search of every current page found 23 current-tense sentences on 13 pages, plus one on the home page, that still gave 79 or the 79-row category numbers. All now give 80 and the current numbers. Dated change lines, recount notes and release entries keep the count they had on their date.
- When Jev fails: the five summary lines under the domain headings (fail-open 10, 13 and 9; acts-anyway 16; bypass recorded 80, each "of 80"), the checklist introduction and note, and the closing "not verified" lines.
- Use cases (10 let it through on a Jev error, of 80), Build (80 implementations, 9 Claude Code or MCP guards), coding agents (19 of 80 let the action go ahead), Jev as a judge (1 of the 10, of 80, recounted 19 Oct), and the home page's evidence table.
- Link texts and pointers on content moderation, support-ticket triage, model routing, n8n, confidence thresholds, testing without a key, errors and rate limits and the 9 Oct evidence notes.
Drex (Nace.AI)
Drex is a hosted decision model from Nace.AI with open weights for two of its versions; it is listed on alternatives under its primary layer, a hosted API from another provider, with the open weights as a second layer. It is not published by TypeSafe and is not Jev-named.
- Status and shape
- "Generally available" (launch post, 24 Sep 2026).
POST https://console.nace.ai/v1/systemonewith a bearer key; 1–512 questions; state up to 131,072 tokens. Documented Nace's docs say Drex is "wire-compatible with TypeSafe's Jev" and works with the TypeSafe SDK "without a fork"; this is the vendor's statement and was not tested. Reported - Price as published
- Console pricing docs: drex-v2.0 $0.06, drex-v1.5 $0.05 and drex-max $0.06 per 1M input tokens; output "not billed" (read 20 Oct 2026, 05:17 UTC). The product page gives drex-v1.5 as "Cost per 1,000 decisions $0.04", a different unit; the two are not reconciled here. New accounts get "$25.00 of signup credit" per Nace, an access condition, not a statement of cost. Documented
- Your data
- Service Terms (last updated 19 Oct 2026): "No training by default"; deletion "within 48 hours after processing completes for Paid Accounts and within 7 days after processing completes for Free Tier Accounts". A reading of the text, not legal advice. Documented
- Weights
nace-ai/drex-v2.0(3e6d164) andnace-ai/drex-v1.5(f80f9d2) under the "NACE AI OPEN RAIL-M LICENSE (MODIFIED)", which requires a separate commercial licence above $1,000,000 in revenue or funding, except for personal use or research. Base models per the cards (Reported; their licences not read). Documented- Claims against Jev
- Nace.AI sells a competing hosted decision model. Its own figures: Drex 2.0 "61.25 vs 57.96" against Jev 1.13.0 on Decision Index 0.3.1, and Drex Max "6.9 points over Jev 1.14". No graded comparison exists. Reported
Not read: Nace.AI's website Terms and Privacy pages and its Console data processing addendum (opened, not read), the terms of the provider behind the OpenRouter route, the Drex Max launch-post body, the base-model licences. No Drex model was called.
Version checks and other edits
- LiteLLM 1.106.0 (published 18 Oct, tag commit
955bdaa): the Jev classifier's failure path is unchanged from 1.104.0; the classifier type is renamedoss_classifier(old names accepted) and failures now record a reason in the routing log. Files compared as text; nothing installed. No map cell changed. Documented (frameworks) - n8n 2.44.3: activating or publishing a workflow is refused when a node that can run has no required credential; a workflow that is already active is re-registered at start-up without this check and stops at execution with "Node does not have any credentials set". Source read at the release tag; nothing run. Documented (n8n)
- OpenAI's Decisions API guide now accepts image URLs as well as base64 data URLs and is still a public beta (read 20 Oct 2026, 05:24 UTC). No comparison-card cell changed. Documented (Jev vs decision APIs)
- Other releases in the window were patch releases (ai 7.0.146, @ai-sdk/typesafe-ai 3.0.23, @tanstack/ai-typesafe 0.1.13, n8n 2.44.4); noted, not re-read.
Access and notices
Checked 20 Oct 2026, 05:13 UTC: signups open, no free credit for new accounts, API operational (90-day uptime 99.826%; last event resolved 14 Oct). Price $0.042 per million input tokens for jev-1.14.0 and jev-1.13.0, output free. TypeSafe split its API reference into separate pages (System One, List models, Request rules and errors) and added an OpenAPI link; no access, price or alias text changed. The home page keeps four notices; none was retired. Details: access status. Documented
Dates the scan covered
This update's scan covered 19 Oct 2026, 05:21 UTC to 20 Oct 2026, 05:13 UTC (23 h 52 min), starting at the previous scan's cutoff, so there is no gap and no overlap; the 72-hour decision-API look-back started 17 Oct, 05:13 UTC. Reddit returned HTTP 403, and X, YouTube and TikTok were not searched, so coverage of those surfaces is unknown, not zero.
What was not verified
- No Jev call, account or bill; no Drex call; no package installed or run.
- Whether any of the 80 behaves in real use as its source reads; whether a fallback is visible; timeouts across the 80.
- Drex documents listed above as not read; the drex-v1.5 product-page and docs prices are in different units and are not reconciled.
Method and sources
The self-check data was generated by script from the published map and checked against every count on the map page before release; the self-check page loads no outside resource. Sources read 20 Oct 2026: access and alias checks R20-S01 to R20-S13; reseller rechecks R20-S14 to R20-S18; OpenAI's Decisions API guide R20-S40; Drex R20-S100 to R20-S131 (price and terms re-read as R20-S51 and R20-S52); LiteLLM R20-S53 and R20-S204 to R20-S212; n8n R20-S216 to R20-S222. All are listed in the evidence file with their URLs and read times.
- All research reports
- 19 Oct research report (the map at 80)