Jev reranking and document pipelines: evidence notes, 9 October 2026
What five Jev rerankers and context filters, and five SQL and document projects, did when the Jev call failed, as read in source on 9 October 2026. The page also records that day's access and price snapshot, version checks, OpenRouter route metadata and the questions those readings left open.
Dated observations from 9 October 2026; not rechecked since. Statements marked source link not kept have no surviving source link. Current figures: access status, Jev reranker and Jev for RAG, Jev inside SQL and document pipelines, when Jev fails and data handling and privacy.
Access, price and limits on 9 October
Unchanged, as observed 9 Oct 2026, 05:16–05:17 UTC source link not kept
- Signups had been open since 27 Sep, 22:33 UTC, and new accounts got no free credit.
- The API was operational, with no status-page event since 29 Sep.
- Price ($0.042 per million input tokens), limits (100K tokens per second, 80 requests per second), model (
jev-1.13.0), aliases (jev-latestandjev-previewboth pointed tojev-1.13.0) and all six route IDs were unchanged. The access status page shows the same values from its 8 and 10 Oct checks. - Official sites and resellers: all 5 sites returned HTTP 200 at 05:17 UTC.
OpenRouter route metadata. OpenRouter's Jev endpoint reported a 64,000-token context and 57,600 maximum completion tokens. This is route metadata, not a change to TypeSafe's limits. The site's versions and aliases page records 32,000 on 8 Oct and, from 10 Oct, 64,000 with a 32,000-token prompt limit; no other page states the 57,600 figure.
TypeSafe subprocessors: an unconfirmed reading
- 6Site check (data privacy)
- 13These notes; unconfirmed, source link not kept
- 6Site check
- 6Site check; not rechecked 12–13 Oct
On 9 Oct the notes recorded 13 subprocessors on TypeSafe's trust center, up from 6 on 7 Oct, with no update post. They named 7 new entries: Microsoft Azure, Cloudflare, Google Cloud Platform, Stytch, WorkOS, Loops and ClickHouse, and recorded no date for them and no description of the data they receive. source link not kept The site's checks on 10 and 11 Oct read 6 entries, and the only update post is dated 2 Oct. The 13-entry reading is therefore unconfirmed; the data handling and privacy page gives the site's own readings.
Rerankers and context filters: what reaches the prompt when Jev fails
Five implementations were read in source at the versions below. On a Jev error, 3 of the 5 still put text Jev never judged into the prompt (Spring AI by failing open, LlamaIndex and LiteLLM by falling back), and 2 raise an error instead. The current reranking and RAG page describes the same five error cells as 2 stop, 2 fall back and 1 passes unscreened passages.
| Implementation | Version read | On a Jev error | With no key |
|---|---|---|---|
| Spring AI JevDocumentFilter | v0.4.0 = 51993bb | fail-open | fail-closed |
| LlamaIndex JevRerank | 421afda | fallbackto the retriever's order | fail-closed |
| LiteLLM compaction guardrail | v1.104.0 = 7964577 | fallbackto the uncompacted request | fail-closed |
| hotchpotch jev-reranker | d58594b (the matching PyPI release; HEAD not checked) | fail-closed180 s per attempt, up to 9 attempts | fail-closed |
| LanceDB TypeSafeReranker | v0.40.0 = b1b080b | fail-closedtimeout not recorded | not recorded |
- fail-closed: nothing unjudged goes ahead
- fail-open: unjudged text goes ahead
- fallback (named in the cell)
- not recorded
- Differences from the site's later readings: the 8 Oct report and the current page describe jev-reranker as "180 s, up to 8 retries" (9 attempts and 8 retries are not reconciled here). LanceDB's no-key cell was not recorded on 9 Oct; the current page reads it as fail-closed since 11 Oct.
- TypeSafe's cookbooks: the "Re-ranking" and "Classifying RAG passages" cookbooks have no error handling in the page code, so an error propagates. Both set a 120 s timeout. With no key, they replay a cache.
- Not read: LanceDB's timeout, retries and no-key path, which live in
typesafe-sdk; whether LanceDB applies the query limit after reranking; bypass behaviour for Spring AI and LlamaIndex. No sixth reranker was read.
Studies of Jev as a reranker
iwhalen (grade A) measures agreement with human relevance grades and system ranking, not reranked retrieval. The reranking-pipeline studies by jev-reranker and LanceDB (both grade B) come from parties that ship a Jev reranker; the LanceDB benchmark script uses the shipped class and a no-reranker baseline. The code of these three studies was not read.
One study from a party that ships no Jev reranker, zhuyansen/jev-search-rerank-eval (c896f14, 164 queries), reports +0.012 nDCG@10 [−0.013, +0.037] when Jev reranks bge-m3's top 30 Reported source link not kept. Only its README was read, not its evaluation code. It is not on the site's benchmarks page, which names jev-pulse (B37) and jev-rerank-bench (B40) as the graded studies whose authors state no stake.
SQL extensions and document projects
Five projects were read in source. All 5 stop with an error when the Jev call fails. In two of them Jev's answer decides what happens to the data; in the other three the value goes back to the SQL query, which decides.
| Project | Does Jev decide? | Timeout | Notes |
|---|---|---|---|
| pg-redact | Yes: its code writes the spans that drive masking | none | A span is shown unmasked when Jev's answer is missing or below 0.5 (see the wording question) |
| docjev | Yes: its split code builds the page groups | 30 (SDK unit) | Stops on a Jev error |
| pg-jev | No: the value returns to the query | 30 s | A non-JSON 200 body becomes a statement error with a raw Python message (line 222 is outside the try). HEAD had moved by a README-only commit; the SQL file was byte-identical. |
| sqlite3-jev | No: the value returns to the query | 60 s | HEAD unchanged |
| sqlite-jev | No: the value returns to the query | 90 s | Keeps an answer cache. HEAD unchanged. |
- Below-threshold cells: behaviour below the confidence threshold was recorded for all 5 projects on 9 Oct, but the cell values were not kept; only pg-redact's below-0.5 behaviour above is stated.
- Project links: the links above point to the commits the site uses elsewhere; the exact version read on 9 Oct is not confirmed (pg-jev's HEAD had moved, so 9 Oct may have seen a later commit).
- Six more SQL extensions call Jev directly: duckdb-jev, jev4pg, pg_typesafe, sql-jev, sqlite-utils-jev and pg_jevplanner. All 6 had a real Jev call path at HEAD on 9 Oct. Their failure paths were not read. The notes named repositories, not owners; the links are matched by repository name.
Version checks and patch releases
- oh-my-claudecode v5.6.2 (
454bae0): failure path unchanged. In its opt-in active mode, Jev now also decides detector points and can end a persistent-mode loop. Not read: whether itsclient.tsrejects an empty answer set. - jev-mcp 0.14.1: failure path unchanged;
@jkudish/jev-agent-tools0.2.0 does not change it. - Patch releases noted, not re-audited:
@effect/ai-typesafe4.0.2; LiteLLM 1.104.1 and 1.104.2;ai7.0.136;@ai-sdk/typesafe-ai3.0.17;@openclaw/typesafe2026.9.9. None was judged to need a failure-path diff.
Failure count on 9 October (superseded)
On 9 Oct, 69 Jev implementations in 11 domains were counted by what they do when Jev fails. The current when Jev fails page counts 77 implementations in 12 domains (13 Oct) and replaces this count. The 8 Oct report also counted 69, with 15 fallbacks, no unrecorded error cell and the action going ahead in 14 of 69.
| Condition | Fail-closed | Fail-open | Advisory | Fallback | No-decision | Not recorded |
|---|---|---|---|---|---|---|
| Jev error | 38 | 8 | 3 | 14 | 5 | 1 (jev-approvals; question) |
| Malformed answer | 33 | 11 | 3 | 17 | 3 | 2 |
| No key | 35 | 4 | 3 | 9 | 0 | 18 |
On a Jev error, 8 let the action through: 4 moderation bots, 2 agent hooks, a passage filter and an eval tool. By the same count, the action went ahead in 13 of the 69.
Open questions about these implementations
The 9 Oct readings left these questions open. Where a later dated report on this site covers the same question, it is linked; the site does not settle every point.
- When Jev errors, does the Hermes jev-approvals plugin stop and ask a person, or can a fallback model approve the command? Hermes core
call_llmat v2026.9.24 (f97608f,agent/auxiliary_client.pylines 7610–7634 and 7749) first retries, then falls back to other configured LLM providers on connection, timeout, exhausted-429, quota and malformed-response errors, even for an explicitly chosen provider, before it re-raises. A fallback model could answer APPROVE, and core runs an APPROVE without a person. Not read: whether the plugin's own provider errors take that path, or how the plugin's provider is registered in Hermes. Later reports: the 8 Oct report records a fallback to the main agent model; the 11 Oct report adds "with no main model configured, it asks you". The site does not say whether the plugin's own provider errors take the path described here. - With no Jev key, does openlayer jevals fail closed or fall back to another backend? With no backend and no credential it raises
BackendError(backends/__init__.pylines 52–55); with another credential set, it uses that backend, which can be an OpenAI or OpenRouter LLM judge. The 9 Oct count classed it as fail-closed; counted as a fallback, its no-key row would read fail-closed 34, fallback 10. Later report: the 8 Oct report counts it as a fallback to another backend, and fail-closed when no other backend is configured. - Does pg-redact store text unredacted, or show a span unmasked? As read on 9 Oct, pg-redact always stores the raw message body and masks at display time from the stored spans, so "shown unmasked" describes the code more closely than "stored unredacted"; the 7 Oct report line ("that text is not redacted") remains accurate on that reading. No later report on the site takes this up. The current SQL and document pipelines page says it "stores text unredacted".
- Which rh-guard line supports its low-confidence behaviour? The 9 Oct reading points to Jev confidence below 0.5 in
score.ts(lines 110–116) and treats the 0.45 inkinds.ts(line 36) as a different measure, a risk-score review cut. Later report: the 8 Oct report draws the same distinction. The site linksscore.tslines 98–127, not 110–116. - What does jev-curator do on a malformed answer, below the threshold and with no key? Read on 9 Oct as fail-closed, held and fail-closed. Later report: the 8 Oct report fills the same three cells.
Other observations from 9 October
Jev activity, 7 to 9 October source link not kept
| Surface | 7→8 Oct | 8→9 Oct |
|---|---|---|
| Hacker News, "jev" | 6 stories, 62 comments | 8 stories, 6 comments |
| GitHub repositories created ("jev") | 213 | 227 |
| npm, last publish | 6 | 19 |
| Hugging Face | 21 | 19 |
GitHub topic:jev: 61 over the 48 hours. Reddit returned HTTP 403, so its count is unknown; X, YouTube search and Discord were not tried. "jev vision", "jev vlm" and "jev vla" stayed unexplained: there are third-party "VL" models, and TypeSafe still said "Text only".
Leads
- opper.ai "Jevman" Pac-Man benchmark: harness code published as
opper-ai/jevman-benchmarkat1c8b77a, which would make it the first inspectable real-time-control harness. Only its README was read, not its code. source link not kept - TypeSafe Doom demo: no harness code was found, and a Hacker News comment says it is closed source. No TypeSafe robotics harness was found either. Where and when this was searched is not recorded. source link not kept
- OpenAI's Decisions API:
gpt-6-luna,POST /v1/decisions, text or images; "input costs $0.10 per 1M tokens"; public beta, "expect to GA in the coming weeks" (guide; the page version read on 9 Oct is not confirmed). The site's current comparison is Decisions API vs Jev. - Not read: threads on the Decisions API and on Claude Haiku 5.5, about 11 benchmark repositories, about 11 coding-agent and MCP packages, and RAG, document and SQL repositories found in the scan.
Other gaps
- A 6-byte change in TypeSafe's docs legal page was not located; its dates and visible content were unchanged.
- Netlify's "Last updated" string was not found.
Sources
Some statements on this page have no surviving source link; they are marked "source link not kept".
Links to the exact version named (11)
- Spring AI JevDocumentFilter v0.4.0 =
51993bb: spring-ai-community/spring-ai-typesafe at 51993bb - LlamaIndex JevRerank
421afda: WiktorB2004/llama-index-jev at 421afda - LiteLLM compaction guardrail v1.104.0 =
7964577: BerriAI/litellm at 7964577; guardrail file - hotchpotch jev-reranker
d58594b: hotchpotch/jev-reranker at d58594b - LanceDB TypeSafeReranker v0.40.0 =
b1b080b: lancedb/lancedb at b1b080b; reranker file - Hermes core
agent/auxiliary_client.pyat v2026.9.24 =f97608f: file at f97608f (lines 7610–7701 as linked elsewhere on this site; this page cites 7610–7634 and 7749); raw file - oh-my-claudecode v5.6.2 =
454bae0: resolver.ts at 454bae0; v5.6.2 release record - jev-mcp 0.14.1: npm package 0.14.1 (repository)
@jkudish/jev-agent-tools0.2.0: npm package 0.2.0- LiteLLM 1.104.1: PyPI release
- LiteLLM 1.104.2: PyPI release
Project links; the version read on 9 Oct is not confirmed (31)
These links point to the named project or page at the commit or address the site uses elsewhere. The 9 Oct readings give no pin, a different pin, or an unversioned page, so the version read then may differ.
Show the 31 project links
- Reranking: LanceDB benchmark script; iwhalen study (write-up, code); TypeSafe cookbooks "Re-ranking" and "Classifying RAG passages"
- Databases and documents: pg-redact; docjev; pg-jev (HEAD had moved by 9 Oct, so a later commit may have been read); sqlite3-jev; sqlite-jev
- Six more SQL extensions (matched by repository name only; no owners were named): duckdb-jev; jev4pg; pg_typesafe; sql-jev; sqlite-utils-jev; pg_jevplanner
- Failure cells: hermes-jev-approvals; openlayer jevals (
backends/__init__.py, repository); hermes-jev-curator; rh-guardscore.ts(the line anchor differs from the lines cited above) andkinds.ts - Access and data: TypeSafe trust center subprocessors and updates (the site's own readings differ; see the subprocessor note); TypeSafe status page; TypeSafe docs legal page; Netlify AI Gateway overview (the exact page read is not named); OpenRouter Jev 1.13 endpoints (the exact endpoint read is not named); OpenAI Decisions API guide
- Patch releases (package metadata, not the named version):
@effect/ai-typesafe;ai;@ai-sdk/typesafe-ai;@openclaw/typesafe(this link is 2026.9.8; the version named is 2026.9.9) - Benchmarks: alexmolas.com post (only the domain was named)