Published
Updated
Jared Palmer's Kev family copies Jev's API on Qwen, and trails it on new sources
This topic was created 29 days ago, and the information it contains may have evolved or changed since then.
Cognition's VP of engineering published Kev, an Apache 2.0 family of Jev-like models you train and serve yourself. On data the models never trained on, Kev-8B scored 79.6% against Jev 85.7%. JevBench listed kev 0.6B at 66.7. A Qwen3.5 generation followed the same day. On September 25 he posted Kev-4B on OpenRouter. A September 26 paired run scored that checkpoint at 1,216 of 1,253 full-schema function selections, against 1,235 for a fresh jev-1.13.0. On September 28 Christoph Görn scored the same 4B at 1 of 7 on eight of his own prompts. On October 2 Jacob Lin's StreamDecisionBench chart prints Kev-27B at 62.15 and the Jev API at 59.63, as normalized log-AUC over 0.5 to 8 seconds.
Jared Palmer, VP of engineering at Cognition, posted a Kev family on September 20. The first public note, two days earlier, was Kev-0.5B on Qwen2.5-0.5B. The update is 0.6B, 4B, and 8B on Qwen3, same LoRA plus small pointer head, Apache 2.0. The repo is jaredpalmer/kev. Weights sit in a Hugging Face collection.
The API matches TypeSafe’s System One shape. Point the official Python SDK at a local server and change base_url. Choice, noul, and score share one request. Questions see the state and cannot see each other.
On data Kev never trained on, Palmer posted Kev-8B at 79.6% and Jev at 85.7%. He wrote that Jev still leads most of his benches, and that Kev beat Jev on some logic-recognition tasks, with 4B the most interesting size in that family. A later post in the thread puts the remaining gaps at knowledge (MMLU 70 versus 90) and day-precision date arithmetic (60 versus 93). The weekend of hill-climbing on Modal cost $228. Most training runs were $10 to $35.
Serving, from the same post: Kev-4B on a 32 GB Mac in bf16, about 300 ms for five questions, about 40 ms on an H100. Repeated documents hit a KV cache and run 2 to 2.5 times faster. Train times on one H100: 4B in 40 minutes, 8B in 83 minutes.
That night Palmer posted that a Qwen3.5 family was up, “about +7 or 8% on MMLU Pro.” The README now ships Kev-0.8B, 4B, and 9B on Qwen3.5 bases. Its new-source table, development then test: Kev-9B 0.812 / 0.837, Kev-4B 0.794 / 0.832, Jev 0.857 on development. Brier on that split is 0.291 / 0.243 for Kev-9B against Jev 0.211. The README says the Jev column is not a controlled architecture comparison, because nobody outside TypeSafe knows which datasets Jev trained on. No Jev outputs were used for training.
Qwen3.5 mixes attention with Gated DeltaNet layers that ignore attention masks. The README’s workaround is one row per question, with the state computed once and reused. On a Mac, those recurrent layers have no fast kernels yet. Median model time in bf16 on an M5, five questions: Kev-4B 779 ms, against 174 ms for the Qwen3 Kev-4B checkpoint. The notes say to serve the Qwen3 weights on Apple Silicon if latency matters.
JevBench is the independent row. Florian S posted kev 0.6B as the strongest Kev variant in that suite, then at rank 9. The table we read lists kev 0.6B at 66.7 (rank 11), kev 0.5B 63.1, kev 4B 62.2, kev 8B 58.3, all marked research previews, measured from commit 20fa626 on an RTX 3090. Jev 1.13.0 is 75.4 on that page. We did not run either system.
On September 25 at 19:06 UTC Palmer posted that Kev-4B is on OpenRouter. OpenRouter’s post lists jaredpalmer/kev-4b at $0.042 per million input tokens, $0 output, and an 8K context window. Opening that model URL on September 26 returned Not Found, so those three figures are the post’s. He replied that 9B and 27B should go up as well. At 18:35 UTC he wrote that a Kev 27B full supervised-tuning run was in flight and should finish that evening. We did not find a finished 27B score.
On September 26 Oleh Aleinyk posted a paired run of a pinned Kev-4B and a fresh jev-1.13.0. The report is kev-eval.oaleinyk.xyz. The checkpoint is 139fdd94f1b6, served as Qwen3.5-4B-Base in bfloat16 at the shipped temperature 2.41. Both clients ran on one US-KS-2 pod with an RTX PRO 4500. Kev used loopback HTTP. Jev used hosted HTTPS and identified itself as jev-1.13.0. The page says those times measure the deployed setups, not isolated model compute.
The BFCL slice is function selection on 1,253 cases, the official multiple set of 200 plus live_multiple of 1,053. Name plus description: Kev 1,215/1,253 (96.97%), Jev 1,225/1,253 (97.77%). Parameters in prose: Kev 1,059/1,253 (84.52%), Jev 1,236/1,253 (98.64%). Full JSON schema: Kev 1,216/1,253 (97.05%), Jev 1,235/1,253 (98.56%). The report says this is not the overall BFCL leaderboard. At a top probability of at least 0.9 on the description view, Kev covered 933/1,253 and was wrong once (0.11%). Jev covered 1,176/1,253 and was wrong 10 times (0.85%). Ten-bin calibration error was 0.0542 and 0.0093.
On the smaller fixtures, tool choice was 40/40 for both and trajectory selection was 24/24 for both. The combined narrow count is Kev 360/369 and Jev 345/369. The page says 207 of 225 file judgments are negative, so that combined count hides the class split. An earlier Jev run on the same frozen requests scored 350/369. Five predictions changed, and both runs reported jev-1.13.0. Five 60-second T-Rex courses with the shield off: Kev survived 0/5 with 48 deaths, Jev 2/5 with 5 deaths. With the shield on, both survived 5/5. The shield intervened 3,536 times for Kev and 27 times for Jev. Recorded Jev input was 9,662,661 tokens, about $0.406 at TypeSafe’s published rate. The repo is oaleynik/kev-jev-eval. We did not rerun it.
On September 28 Christoph Görn posted a Claude Code router that can size prompts with this Kev-4B, jaredpalmer/kev-4b, on an RTX 4090. The write-up is on görn.name. The router code sits in a private infra repo. A public skill lives at git.b4mad.industries. He tested both sizers on 8 prompts from past sessions, 2 each of tiny, everyday, large, and hardest. The table prints Kev-4B at 1/7 (14%) and the OpenRouter arm at 1/5 (20%). Kev latency there is 100 to 180 ms. The OpenRouter arm is 700 to 1,400 ms. Average confidence is 13% for Kev and 87% for the cloud arm. He says Kev’s own confidence field is rescaled so that 0 means uniform over the options, and the router uses the probability of the chosen label instead, against a 0.6 gate. Warm single-request latency earlier in the post is 60 to 130 ms. GPU memory was 16.7 GB with the plain kernels and 20.4 GB with the fused ones, so he left fusion off. The post also says Kev-4B reports 0.817 against Jev’s 0.857 on Kev’s Transfer-v4 suite, and that those figures are the project’s own. Sandipan Kundu’s 400M encoder uses the same short name and a different repository. We did not run Görn’s eight prompts.
On October 2 Jacob Lin’s StreamDecisionBench chart scored a moving state as normalized log-AUC from 0.5 to 8 seconds. Kev-27B is 62.15. The Jev API is 59.63. On the same chart Kev-9B is 28.76 and Kev-4B is 21.22. Lin writes that Kev-27B is the only open-weight model in that set in the same range as Jev, and that the lab tried 4B before 9B and 27B. That 62.15 is not the 79.6% new-source split, and it is not the September 26 function-selection counts.
This site's reading
Editorial notes evaluating claims against primary sources, contextualizing findings alongside related implementations, and defining technical terms.
Verify
Palmer's September 20 family post (quoted from the September 18 0.5B prototype) is the primary source. GitHub README (jaredpalmer/kev, Apache 2.0) is the spec. Qwen3 family in that post: 0.6B, 4B, 8B.
Out of domain, data Kev never trained on: Kev-8B 79.6%, Jev 85.7%. Kev-4B on a 32 GB Mac in bf16 about 300 ms for five questions, about 40 ms on an H100. Train times on one H100: 4B 40 minutes, 8B 83 minutes.
Later in the thread: MMLU 70 versus 90, day-precision date arithmetic 60 versus 93, weekend Modal bill $228, most runs $10 to $35. A same-day follow-up says a Qwen3.5 family was pushed, about +7 or 8% on MMLU Pro.
The README now ships 0.8B / 4B / 9B on Qwen3.5 bases; new-source development/test for Kev-9B is 0.812 / 0.837 against Jev 0.857 on development. Florian S posted kev 0.6B on JevBench as the strongest Kev variant then, rank 9.
The table we read lists kev 0.6B at 66.7 (rank 11), kev 0.5B 63.1, kev 4B 62.2, kev 8B 58.3, all as research previews from commit 20fa626 on an RTX 3090. Palmer's September 25 post says Kev-4B is on OpenRouter. The OpenRouter post lists $0.042 per million input tokens, $0 output, and an 8K context.
The model URL in that post returned Not Found on September 26. His reply asks for 9B and 27B as well. The 27B note says a full supervised-tuning run was still in flight. Oleh Aleinyk's September 26 report pins Kev-4B at 139fdd94f1b6.
Full JSON function selection is 1,216/1,253 for Kev and 1,235/1,253 for a fresh jev-1.13.0. Prose parameters are 1,059/1,253 and 1,236/1,253. Name plus description is 1,215/1,253 and 1,225/1,253.
We did not train or serve Kev. We did not rerun the paired report. Christoph Görn, September 28, scores jaredpalmer/kev-4b on 8 of his prompts. The table prints Kev 1/7 (14%) and an OpenRouter jev-router arm 1/5 (20%).
Kev latency in that table is 100 to 180 ms. Average confidence is 13% against 87%. Warm latency earlier in the post is 60 to 130 ms. GPU memory is 16.7 GB plain and 20.4 GB fused. Sandipan Kundu's skundu42/kev is a different 400M encoder.
TypeSafe's Master Customer Agreement section 2.3(f) forbids publishing benchmarks of the Services; the Jev column is reported as published.
Jacob Lin, October 2, 2026, status 2106077196553199892, posts a chart of normalized log-AUC over 0.5 to 8 seconds. Kev-27B is 62.15. The Jev API is 59.63. Kev-9B is 28.76 and Kev-4B is 21.22 on the same chart. The thread says 4B was tested first. We did not rerun it.
Compare
SemIf is the closest open row on JevBench (74.6, 0.7 behind Jev) and reads option logits from Qwen3.5-4B. Kev copies POST /v1/systemone with a LoRA plus pointer head, so the TypeSafe SDK works with a base_url change.
jeff copies the same HTTP shape on GLiFormer and trails Jev on public labels (AG News 75.5% versus 90.5%, JevBench 66.9). Laya is the ModernBERT-sized encoder (JevBench 70.1). Nimble is a 9B LoRA on 324 synthetic labels.
LocalJev prompts JSON probabilities and says that is not a logit read. Palmer's new-source table is his own suite (decision-v7 / transfer-v4), not JevBench. JevBench's Kev rows are independent of that table and use the Qwen3 checkpoints.
Oleh Aleinyk's September 26 paired run is a third set: pinned Kev-4B against a fresh jev-1.13.0 on 1,253 BFCL function-selection cases. Full JSON is 1,216/1,253 and 1,235/1,253. Prose parameters are 1,059/1,253 and 1,236/1,253.
Those clocks are loopback HTTP against hosted HTTPS. Christoph Görn's September 28 table is a fourth set, eight of his own prompts, Kev-4B at 1/7. Sandipan Kundu's 400M encoder is a separate repository and a separate 17,476-row mixture.
Jacob Lin's October 2 chart is a fifth set. Kev-27B at 62.15 and the Jev API at 59.63 are normalized log-AUC, not Palmer's 79.6% against 85.7% and not the BFCL counts above. Bespoke Nimble at 14.43 on that chart is not the 324-label holdout.
Terms
- Kev
- Jared Palmer's Apache 2.0 family of Jev-like decision models. Rank-16 LoRA plus a pointer head on Qwen bases. Serves POST /v1/systemone.
- Pointer head
- Kev's scoring layer. It compares each option's </opt> hidden state with the question's <decide> hidden state, then softmaxes those scores.
- New sources
- Palmer's out-of-domain split: datasets and policy rule types Kev was not trained on. The September 20 post puts Kev-8B at 79.6% there against Jev 85.7%.
Sources
- Jared Palmer, Kev-0.6B / 4B / 8B family
- Jared Palmer, MMLU 70 vs 90 and date arithmetic 60 vs 93
- Jared Palmer, Qwen3.5 family
- Florian S, kev 0.6B on JevBench
- jaredpalmer/kev
- Kev weights on Hugging Face
- JevBench ranking
- Jared Palmer, Kev-4B on OpenRouter
- OpenRouter, Kev 4B listing
- Jared Palmer, 9B and 27B not listed yet
- Jared Palmer, 27B SFT still running
- Oleh Aleinyk, paired Kev and Jev report
- Kev / Jev paired outcomes
- Christoph Görn, local Kev-4B router
- Görn, the router write-up
- Jacob Lin, StreamDecisionBench