Failure terms aligned, three Claude Code guardrails read, and the products ledger rechecked (18 Oct 2026)
This dated report records the evidence behind the update of 18 October 2026. It compares the failure terms on 15 pages with the When Jev fails map, adds two Claude Code guardrails to that map and shows a third on the Claude Code and MCP page, and rechecks the products ledger. Nothing was run: no account, key, API call or third-party code.
When Jev fails: For all 79 counted implementations, every failure cell (no key, error, malformed answer, below threshold and bypass) is recorded from source at pinned commits (18 Oct 2026).
Of 79 Jev implementations read in source, on a Jev error 40 stop or hold the action, 22 fall back, 9 let it through, 5 return no decision and 3 are advisory. The 9 that let it through are 4 moderation bots, 3 agent hooks, a passage filter and an eval tool.
Claude Code and MCP: We read ten Jev guardrails in their source code. Two hold or stop when Jev fails, one falls back, two ship in a shadow or log-only mode, one is advisory by design, three fail open and one only returns a verdict.
Coding agents: On a Jev error the 13 integrations that act on Jev's answer are 3 fail-closed, 9 fallback and 1 fail-open (source at pinned commits; terms as on the failure map, 18 Oct 2026).
Products: Of 113 Jev products and projects in the ledger, the call to Jev was read in code at a pinned commit for 100; none is independently verified as running in production.
Access: unchanged at 18 Oct 2026, 05:17 UTC. jev-latest still points to jev-1.13.0 and jev-preview to jev-1.14.0. Opper now lists Jev 1.14.
When Jev fails: the Jev-error column, 77 implementations (16 Oct) → 79 (18 Oct), and below threshold at 79
claude-jev-advisor adds one fail-closed (held) cell and claude-model-guard one fail-open cell to the error column. In the below-threshold bar green means held and red means acts-anyway. Counts are Documented from source read at pinned commits and recounted by script from the published cells, 18 Oct 2026. Nothing was run.
What changed on 18 Oct 2026 (published value on 16 Oct → value on 18 Oct)
- When Jev fails: implementations counted
77→79claude-model-guard and claude-jev-advisor join the Claude Code / MCP guards domain (6 → 8). Still 12 domains.
- Action goes ahead on a Jev error
17 of 77→18 of 799 fail-open plus 9 fallbacks that go ahead (9 + 9 = 18).
- Coding agents, 13 on a Jev error
5 run / 3 hold / 5 fall back→3 / 9 / 13 fail-closed, 9 fallback, 1 fail-open (3 + 9 + 1 = 13). The earlier split could not be rebuilt from the map.
- Claude Code and MCP short answer
1 of 7 stops→ten read2 hold or stop, 1 fallback, 2 shadow or log-only, 1 advisory, 3 fail-open, 1 verdict only.
- Products ledger rows
99→113A 86 → 100; B 12 and C 1 unchanged. Verified in production: 0 of 113.
- Routes listing Jev 1.14 among five watched catalogs
0 of 5→1 of 5Opper lists
typesafe/jev-1.14.0; Cloudflare, Bedrock, Foundry and Workers AI do not (05:20 UTC). jev-latestunchangedStill
jev-1.13.0. TypeSafe's 14 Oct post says it moves "in a week"; no date is published.- Home notices4, unchanged
None retired.
- Outcome differences between pages and the map0 found
15 pages compared cell by cell; every difference was wording, colour or grouping.
A dashed box means the value did not change.
Checks: 18 Oct 2026, 05:17–05:38 UTC (access 05:17–05:21; scan and drift 05:21–05:23; failure terms 05:24–05:31; Claude Code guardrails and products 05:32–05:36).
The research notes and the source ledger (R18-S… IDs) are held in the pool's private record. Key sources are linked below and on the pages each finding feeds. Checks on the sources: 155 cited IDs checked, 0 missing; 35 sentences that split a total were checked by script so that their parts add up and every category with 3 or more items (or 10% of the total) is named.
Rules kept: nothing was installed or run, so no Jev or other provider call was made, and the pool has no account with any of them. Failure cells come only from source at pinned commits. Vendor quality claims are Reported. Nothing in this report is Tested.
Previous report: 16 Oct research report. All dated reports: Research.
1. Failure terms: 15 pages compared with the map
A script matched every page row that shows a map row by repository and pinned commit, then compared each failure cell with the map's cell (R18-S63). Two rows pinned by npm version were compared by hand.
- No outcome differences: 0 cells on 15 pages give a different outcome from the map for the same condition and pin. Every difference is wording, colour or a column that groups outcomes.
- One pin difference, reported and not changed: the jkudish/jev-mcp row on the Claude Code page cites commit
86eae78; the map cites53fe575(5 cells). - One correction, coding agents: the published key-finding split "On a Jev error the 13: 5 let the call run, 3 hold, 5 fall back" could not be rebuilt from the map or from the page's own column. The map's error cells for those 13 rows are 3 fail-closed, 9 fallback and 1 fail-open. The key finding now says so. A second line groups them by whether the tool call still runs: yes in 4 of 13, conditionally in 2, no in 3, and 4 are model-choice or routing rows (4 + 2 + 3 + 4 = 13). The split "24 read / 13 act on the answer / 10 do not / 1 unsettled" is kept as published.
- Coding agents, wording: 8 bypass cells now carry the term "recorded", as on the map, with their existing text as the detail. 4 hermes-jev-mana cells drop "(configured model)" from the term; it moves to the detail.
- Trading and fraud gates: 16 cells use the map term, with the rest moved to the detail line (for example "fallback-LLM, then fail-open" → fallback-LLM, "then fail-open if the LLM does not reject"). The 7 bypass cells say "recorded"; whether the order or payment goes ahead without Jev stays in the detail and in the last column. The key finding is kept. New secondary line: on a Jev error the 4 trading bots are 2 fail-closed and 2 fallback, and both fallbacks can still place a new order.
- Browser and computer use: 6 cells in the heat table use the map term. second-look is counted in the map's browser domain (8 rows); the browser page counts the 7 agents that click, type or tap and shows second-look separately because it only recommends. Both pages now say this; counts are unchanged.
- Left for a later update: wording-only cells on content moderation (11) and support-ticket triage (9), and a few on other pages. Their outcome words already match the map.
| Page | Cells | Same | Wording only | Outcome differs |
|---|---|---|---|---|
| Coding agents | 78 | 65 | 13 | 0 |
| Trading and fraud gates | 35 | 19 | 16 | 0 |
| Browser and computer use (heat table) | 40 | 34 | 6 | 0 |
| Content moderation | 24 | 13 | 11 | 0 |
| Support-ticket triage | 15 | 6 | 9 | 0 |
| Claude Code and MCP | 11 | 1 | 5 (plus 5 with a different pin) | 0 |
| Other 8 pages (frameworks, n8n, databases and documents, email, LLM as a judge, model routing, real-time control, reranking) | 131 | 116 | 15 (1 + 5 + 0 + 1 + 5 + 3 + 0 + 0) | 0 |
Term cells only; timeout-value cells are not compared. One more page, the dated 9 October evidence notes, holds two timeout values and was left as is (15 pages in all). Every row of the table sums: same + wording only (+ different pin) = cells.
2. Claude Code guardrails: three read, two join the map
Three Claude Code guardrails were read at pinned commits; their tool-call cells were read on 16 Oct 2026 and their bypass entry points on 18 Oct 2026. The latest commit on each repository equals the pin (18 Oct 2026, 05:20 UTC; R18-S200 to R18-S202). Documented.
| Guardrail and pin | What it does | No key | Jev error | Malformed | Below threshold | Bypass | On the map? |
|---|---|---|---|---|---|---|---|
mcowdery/claude-model-guard at bced870 | UserPromptSubmit hook; blocks a prompt when Jev confidently says a bigger model tier is needed. A model-tier gate, not a safety gate. Sends jev-latest. | fail-openexits with no output | fail-open2,500 ms timeout | fail-open | advisorya note to Claude | recordedempty prompt; skip phrase or env var; continuation words, slash and ! commands; short prompts (promptAdvisor.mjs L31, L64-65, L70, L77) | Yes, counted from 18 Oct |
delt96/claude-jev-advisor (rm hook, Windows only) at f2c1791 | PreToolUse hook for Bash and PowerShell. Its own guard asks before a deletion; Jev can only lift that ask (every target at or above 0.8). Sends jev-latest. | fail-closedheld: the guard's ask stands (src/rm/run.ts L91-92) | fail-closedheld; 8,000 ms timeout | fail-closedheld | held | recordedrm off; no deletion found; deletion denied by code; no key; none lets an asked deletion through (run.ts L77-92, L42-55) | Yes, counted from 18 Oct |
Novacon/ohmyjev at 78bb82c | Claude Code module; Bash, Write/Edit and exfiltration gates on by default, enforcing deny. Pins jev-1.13.0 on TypeSafe. | fail-open | fail-open1,500 ms timeout | fail-open | acts-anyway | not recordedpartial read; not counted as recorded. Skip paths found: off switch (ohmyjev.ts L807); read-only Bash allowed by code (L278-279, L778-785); each gate can be switched off (L276, L290, L309); its own exceptions pass the call (L811) | Not yet in the map count |
- Why ohmyjev is not counted yet (editorial decision, 18 Oct): a bypass cell counts as recorded only when every entry point from one listing at the pin was read. For ohmyjev, every entry-point file was opened and the Claude Code module and Codex adapter were read through their tool-call paths, but its pi and omp adapters were read at their tool-call gates only. It is shown, with all its cells, on the Claude Code and MCP page.
- Map counts before → after (n 77 → 79; Claude Code / MCP guards 6 → 8):
- No key: fail-closed 50 → 51, fail-open 7 → 8; now 51 / 17 / 8 / 3 / 0 (fail-closed / fallback / fail-open / advisory / not recorded).
- Jev error: fail-closed 39 → 40, fail-open 8 → 9; now 40 / 22 / 9 / 5 / 3 (fail-closed / fallback / fail-open / no-decision / advisory).
- Malformed answer: fail-closed 35 → 36, fail-open 11 → 12; now 36 / 24 / 12 / 4 / 3.
- Below threshold: held 16 → 17, advisory 4 → 5; now 25 / 17 / 15 / 12 / 5 / 5 (no-threshold / held / acts-anyway / fallback / no-decision / advisory).
- Bypass: 79 recorded, 0 not recorded; 13 "none found" (unchanged) and 66 with skip lists (64 → 66).
- The 9 that let the action through on a Jev error: 4 moderation bots, 3 agent hooks (danna-zhou/jev-mcp's PreToolUse hook, hermes-jev jev-judge in enforce mode, claude-model-guard), a passage filter and an eval tool (4 + 3 + 1 + 1 = 9).
- New short answer on the Claude Code and MCP page: "We read ten Jev guardrails in their source code. Two hold or stop when Jev fails: LangChain AutoModeMiddleware stops the agent, and claude-jev-advisor's Windows delete guard keeps Claude Code's question for you. One, jev-permission-gate, falls back to Claude Code's built-in classifier. Two ship in a shadow or log-only mode, one is advisory by design, and three fail open: danna-zhou/jev-mcp, claude-model-guard and ohmyjev. One, gulbaki/jev-llm-guard, only returns a verdict: it is not counted as a decision. The official TypeSafe plugin makes no Jev calls at all." It replaces "only one of seven". The page lists ohmyjev among the three that fail open even though the map does not count it yet.
- Model IDs: ohmyjev pins
jev-1.13.0, so it will not move whenjev-latestis repointed; claude-model-guard and claude-jev-advisor sendjev-latest(R18-S203 to R18-S230; cell reads R17-S236 to R17-S245).
3. Products ledger: 99 → 113 rows
A script first reproduced the published ledger (A 86, B 12, C 1 = 99). 14 rows were added, each with the Jev call read at a pinned commit (grade A): 3 Claude Code guardrails, 3 game and robot demos and 8 projects (3 + 3 + 8 = 14). Documented, 18 Oct 2026.
| Grade | 11 Oct | 18 Oct | Meaning |
|---|---|---|---|
| A | 86 | 100 | the code that calls Jev was read at a pinned commit |
| B | 12 | 12 | rests on the project's own description |
| C | 1 | 1 | a mock |
| Total | 99 | 113 | independently verified in production: 0 of 113 |
| Project and pin | What it is | Jev call (file and lines) | Source |
|---|---|---|---|
mcowdery/claude-model-guard at bced870 | Claude Code model-tier guard | see section 2 | R18-S202; R17-S236 to R17-S245 |
delt96/claude-jev-advisor at f2c1791 | Claude Code deletion guard (Windows) | see section 2 | R18-S201, R18-S66 |
Novacon/ohmyjev at 78bb82c | Claude Code guard module | see section 2 | R18-S200 |
mikespins/doom-jev at bd4e98f | game demo | as on real-time control | R13-S68 |
FazalAAli/jev-robotics-demo at 531de61 | robot demo | as on real-time control | R13-S69 |
bileshg/JevPlaysSnakeGame at b9237bf | game demo | as on real-time control | R14-S49 |
soderlind/jev-mail-triage at 29cebd0 | spam and phishing triage for Proton Mail Bridge | src/jev_mail_triage/classifier.py L31; policy.py L30-33 | R18-S120 to R18-S123 |
igrady2/school-chat-filter at c664349 | school chat moderation web app | src/lib/moderation/typesafe.ts L85-92; index.ts L105-111 | R18-S124 to R18-S126 |
seominpapa/sitesee at d7fb822 | construction-site camera safety pipeline | siteeye/jev_client.py L138-160; pipeline.py L95 | R18-S127, R18-S128 |
MrCull/QuaySight at c9fd664 | shipping-container photo inspection | src/services/jev.ts L59-66; src/domain/jev.ts L25 | R18-S129, R18-S130 |
botheaj/video-image-tagger at e628367 | finds a product in video frames (Rust CLI) | src/jev.rs L174-178, L94-98; src/main.rs L139 | R18-S131, R18-S132 |
twidtwid/jev-dronecam at 236227f | browser demo with a simulated drone camera | server.py L78-83; public/index.html L381-382 | R18-S133 to R18-S135 |
kallurayaankit/jev-content-mod at 90f644b | content moderation example | moderate.jev L1-20; policy.py L40-46. The HTTP request is made inside the third-party jevlang package, which was not read. | R18-S136, R18-S137 |
devYRPauli/putaway at 35d8c50 | macOS app that files a folder's contents | Sources/PutawayCore/Classify.swift L62, L81-87; Plan.swift L59-62 | R18-S138, R18-S139 |
- Published claims rechecked 18 Oct 2026, 05:19 UTC Reported: 7 claims. Online with the same text: 5 of 7 (Brizz, Polylane, the Vercel CEO post, the Bryo AI post, FundaAI). Not rechecked: 2 of 7, the two figures relayed by VentureBeat (no direct link; VentureBeat returned HTTP 429). Changed: 0 of 7 (5 + 2 + 0 = 7) (R18-S103 to R18-S111).
- LangChain AutoModeMiddleware: the Python package is a counted row and its JS twin is not; kept as published, and the products page states the reason in one line.
- Directory counts (18 Oct 2026, 05:19 UTC): Made with Jev 855 builds; typesafeai.app 163 records ("Zero records have been independently reproduced"); JevCases 44 indexed cases; Jev in the Wild 2,170 (unchanged). These are listings, not adoption (R18-S112 to R18-S118).
- Two repositories read for this update did not qualify and stay leads: one had no Jev call at the pin and one did not mention Jev.
4. Access, aliases and routes
Checked 18 Oct 2026, 05:17–05:21 UTC: Documented. The access state is unchanged.
- Signups open; new accounts get no free credit; API operational. Price $0.042 per million input tokens for
jev-1.14.0andjev-1.13.0; rate limits "set per organization" (R18-S01 to R18-S05). - Aliases:
jev-latest→jev-1.13.0;jev-preview→jev-1.14.0. TypeSafe's models page is byte-identical to 16 Oct. The 14 Oct post still saysjev-latestmoves "in a week"; no move date and no 1.13 retirement date are published (R18-S05, R18-S09). - Status page: no new event; the 90-day API uptime figure reads 99.826% (99.840% on 16 Oct). The page gives no cause (R18-S04).
- Home notices: 4 shown, none retired: no credit for new users, the Jev 1.14 preview, lookalike resellers, and the experimental features.
- Opper: now lists
typesafe/jev-1.14.0(aliastypesafe/jev-preview, 64,000-token context, $0.042 per million input tokens). Itstypesafe/jev-latestalias still points to 1.13.0 (05:20 UTC; R18-S32, R18-S33). Opper is the first of the five watched catalogs to list 1.14. - Jev 1.14 was not listed on Cloudflare, Amazon Bedrock, Microsoft Foundry or Workers AI at 18 Oct 2026, 05:20 UTC (R18-S30, R18-S31, R18-S35, R18-S36). OpenRouter, Vercel and Netlify values unchanged.
5. Small items, scan and drift
- Vercel AI Gateway, 32,000: Vercel lists a 32,000-token context window for all three Jev IDs. This equals TypeSafe's per-question limit (32k; requests default to 64k), but Vercel does not define the field, so the match is not confirmed (R18-S25 to R18-S29).
- @typesafe-ai/sdk 0.7.0: checked against the 0.7.0 package files (not installed); the failure path is unchanged from 0.6.0 (error classes, 2 retries on 408, 429 and 5xx, 10,000 ms per attempt, a missing key throws in the constructor,
jev-latestdefault). Three smaller changes: input-validation errors now reject the returned promise instead of throwing at the call; request bodies of 1 KiB or more are zstd-compressed by default on Node 22.15+; the package now needs Node 22 (R18-S68). Shown on TypeScript and errors and rate limits. - Drift notes, not re-audited: patches ai 7.0.143, @ai-sdk/typesafe-ai 3.0.21, deepeval 4.3.1 (JevEval files not rechecked) and n8n 2.44.3 (Jev path last read at 2.44.1); pre-release @openclaw/typesafe
2026.10.10-beta.2. Unchanged: typesafe-sdk 0.7.5, @jkudish/jev-mcp 0.14.3, @effect/ai-typesafe 4.0.5, pydantic-ai-slim 2.57.0, litellm 1.105.1 and the rest of the list (R18-S57). - Launched, not yet evaluated (72-hour look-back): Liquid AI d1-ultra, $0.042 per million input tokens on its launch page; Liquid says it outperforms Jev 1.14 "across all tasks" (vendor claim, Reported; R18-S50). Mouse-1, $0.10 per million input tokens on its launch page (R18-S51). Terms, data handling and API shape were not read. One dated line on alternatives; no rows or comparison columns.
- 72-hour look-back result (from 15 Oct 2026, 05:16 UTC): new: Liquid AI d1-ultra and a tazo labs audio decision model (API, price and terms not read; R18-S52); older but newly seen: Mouse-1 (post dated 13 Oct). Already recorded, no change found: the Decision Index, SubQ Snap, OpenAI's Decisions API (still public beta; R18-S55). Eevo's page was read (MCP, API and console; "around $0.20 per decision"); its terms and data handling were not found. None is a Home notice.
- Copies under many accounts: identical repositories (for example
quicksilver,jev-browser,jevmem) were created under many accounts in the scan window, so GitHub counts for this window look inflated. Judged from names and descriptions only (R18-S42).
6. Evidence gaps
- ohmyjev: the pi and omp adapters' other handlers (output screen, done-check, routing, compaction) were not read line by line, so its bypass cell is not counted as recorded.
- jev-content-mod: the HTTP request is inside the third-party
jevlangpackage, which was not read. The row is graded A on its call site in the repository. - Vercel's 32,000 field: not defined by Vercel, so its match with the per-question limit is not confirmed.
- The two VentureBeat-relayed claims were not rechecked; newer X statements cannot be checked without X search. A DEV.to post claiming "35% of paid-for groups in Vercel" was not opened (Unverified).
- d1-ultra, Mouse-1, the tazo labs model and Eevo: launch pages only; terms, data handling and API shape unknown.
- The status page gives no cause for its uptime change.
- Wording-only cells on content moderation (11) and support-ticket triage (9) are left for a later update.
- Reddit returned HTTP 403 and X has no search access; YouTube, TikTok, GitHub trending and GitHub code search were not covered. GitHub result lists over 100 items cover the scan window only partly. Those surfaces are unknown, not empty.
- Subprocessors were not rechecked (the trust portal needs a browser render).
7. Method notes and what was not verified
- Nothing was run: no account, key, API call, package install or third-party code.
- Scan window: this update's scan covered 16 Oct 05:19 UTC to 18 Oct 05:16 UTC. It starts at the previous scan's cutoff, so there is no gap and no overlap. The 72-hour decision-API look-back starts at 15 Oct 2026, 05:16 UTC and overlaps the previous look-back, as intended.
- Failure terms were compared by script: each page row was matched to a map row by repository and pinned commit; two rows pinned by npm version were compared by hand. The map's counts were reproduced by script before any row was added, then recounted after each addition.
- Bypass cells rest on reading every entry point from one listing at the pinned commit. Package facts come from published package files opened without installing. Vendor claims are Reported and attributed.
Key sources and check times (18 Oct 2026, UTC)
Sources by section (R18 IDs; earlier IDs from their own reports)
- Access, 05:17–05:21: console and signup (R18-S01, R18-S02); status.typesafe.ai (R18-S04); models page (R18-S05); images and Box pages (R18-S06, R18-S19); Jev 1.14 post (R18-S09).
- Routes, 05:20: OpenRouter (R18-S22 to R18-S24); Vercel AI Gateway (R18-S25 to R18-S29); Cloudflare (R18-S30, R18-S31); Opper (R18-S32, R18-S33); Netlify (R18-S34); Foundry and Bedrock (R18-S35, R18-S36).
- Failure terms, 05:24–05:31: the published map's cells (R18-S63).
- Claude Code guardrails: commit feeds, 05:20 (R18-S200 to R18-S202); bypass entry points (R18-S203 to R18-S230); spot-check (R18-S66); cell reads of 16 Oct (R17-S236 to R17-S245).
- Products, 05:19: claims (R18-S103 to R18-S111); directories (R18-S112 to R18-S118); new rows (R18-S120 to R18-S139); demos (R13-S68, R13-S69, R14-S49).
- Packages: drift list, 05:23 (R18-S57); @typesafe-ai/sdk 0.7.0 package files (R18-S68).
- Scan, window 16 Oct 05:19 UTC to 18 Oct 05:16 UTC: HN Algolia (R18-S41); GitHub (R18-S42); npm (R18-S43); Hugging Face (R18-S44); DEV.to (R18-S45); Reddit, HTTP 403 (R18-S46); Ollama (R18-S47); d1-ultra (R18-S50); Mouse-1 (R18-S51); tazo labs (R18-S52); OpenAI Decisions API guide (R18-S55).