# READS-v2: the reads ARTICLE-v2 owed, each with its source and read time

*Written 2026-09-28 from 22:48Z to 23:0xZ (UTC) by the evidence-close lane, for an operator's go of 2026-09-28 ~21:3xZ,
verbatim: "let's write up an article with all of these models, comparing them, based on your recs" (D-20260928-045;
the train, D-20260928-047). A DRAFT input for the author: no pour, no deploy, no release. INTERNAL: this file names
row paths and a box in one cost-series lane name; the page must not.*

**How the reads were made.** Every read is a plain HTTPS GET (curl) against the Hugging Face API (`/api/models/…`,
commit lists and file trees with each file's last commit), the raw model cards at a pinned revision
(`/{repo}/raw/{sha}/README.md`), `registry.ollama.ai` and `hf.co/v2` manifests. The raw bytes of every response are
saved in `work-v2/reads/`, and `work-v2/reads/manifest.tsv` records each one's URL, UTC read time, HTTP status, bytes
and sha256 (51 reads, all HTTP 200, 2026-09-28 22:48:50Z to 22:52:24Z). Each card is quoted **at the revision we
benched**, not its head. What a card says is quoted as data: a statement by its authors, not checked by us unless a
row says so.

---

## 1. Dates and revisions (fairness S-2): Kev's weights, OpenJev's benched 16-bit revision, the jevify adapter

| model | repository | revision we benched | that revision's commit (UTC) | the weight files' last commit at that revision (UTC) | repository created (UTC) | read (UTC) |
|---|---|---|---|---|---|---|
| Kev-9B | `jaredpalmer/kev-9b` | `2629c06a` ("card wording") | 2026-09-21 14:15:39 | `adapter_model.safetensors` at `442e597d`, 2026-09-21 11:13:41 ("dates+unknowable delta on the v7 checkpoint"); `head.pt` at `3cf1ab72`, 2026-09-21 14:15:18 ("calibration built in") | 2026-09-20 22:42:14 | 22:48:50 (commits), 22:49:20 (tree) |
| Kev-4B | `jaredpalmer/kev-4b` | `485ace87` ("card wording") | 2026-09-21 14:15:40 | `adapter_model.safetensors` at `4bc64c6b`, 2026-09-21 11:13:43; `head.pt` at `e226ccc5`, 2026-09-21 14:15:20 | 2026-09-19 03:59:43 | 22:48:51, 22:49:20 |
| OpenJev 27B, 16-bit | `openjev/openjev` | `5ec9e5fd` ("Formats: add the MLX 4-bit build") | 2026-09-21 10:06:02 | all 12 `model-*.safetensors` at `5d1a9a39`, 2026-09-21 05:06:42 ("Add files using upload-large-folder tool") | 2026-09-20 22:38:23 | 22:48:51, 22:49:20 |
| jevify, the merged fine-tune | `kushalpatil/jevify-gemma4-26b-a4b` | not pinned by our rows (we ran its GGUF, next row); the repository has two commits | head `d4c0d1d4` ("merged LoRA"), 2026-09-20 10:26:23 | both `model-*.safetensors` at `d4c0d1d4`, 2026-09-20 10:26:23 | 2026-09-20 10:23:12 | 22:48:52, 22:49:20 |
| jevify, 4-bit GGUF (what arm 1 ran) | `mradermacher/jevify-gemma4-26b-a4b-GGUF` | `8917f8f4` (head then and now; see section 2 for the hash tie) | 2026-09-20 15:53:31 | `jevify-gemma4-26b-a4b.Q4_K_M.gguf` at `1de246b2`, 2026-09-20 15:45:27; LFS sha256 `eda2907b8e9d94614f2e44a60f5974007da09cb793968ed54ad1ed94f61a3e9f`, 16,796,018,176 B | 2026-09-20 15:14:53 | 22:48:52, 22:49:21 |

Sources: `https://huggingface.co/api/models/{repo}/commits/main` and
`https://huggingface.co/api/models/{repo}/tree/{full sha}?expand=true&recursive=true`, full shas in `manifest.tsv`.

**For the page ("Did anyone see the answers?", ARTICLE-v2 line 156).** All three are dated after the six-way went
up on the long table's public wall (2026-09-19) and before the published kit (2026-09-23): Kev's benched weights on
2026-09-21 (both sizes; the repositories were created 2026-09-19 and 2026-09-20), OpenJev's benched 16-bit weights
on 2026-09-21 (the benched revision is a later card commit the same day), and the jevify fine-tune on 2026-09-20,
its GGUF build the same day. The house memory file's inferred 2026-09-21 for Kev is now read, and right. None of the
three read the held-out lines, so, as the page already says, their six-way figures carry no such check.

---

## 2. The three ollama digests (carried from v1)

The id ollama showed at each run is the first 12 hex of the sha256 of the tag's manifest. Each registry's manifest,
fetched now, hashes to exactly the id we recorded, so the tags have not moved since the runs.

| model, as the page names it | ollama tag | id recorded at the run, and where | the registry's manifest now: sha256 (URL, read UTC) | its model layer (sha256, bytes) |
|---|---|---|---|---|
| Gemma 4 26B-A4B, 4-bit (arm 1) | `gemma4:26b` | `08ae7ec1744b` (`bench/jev-2026-09-21/receipts/2026-09-21-substrate.md` line 106, "ollama id"; the cost series records the full `08ae7ec1744bd7f4…` for the same tag) | `08ae7ec1744bd7f451c4a530afb39d2673ad9d07a8369b8a33a3613b41212a68` (`https://registry.ollama.ai/v2/library/gemma4/manifests/26b`, 22:49:45) | `dfd98d2734212d0c128e128e5d88edac764aaa4f4af2f4c196941f2354aab8da`, 16,947,541,728 |
| Mistral Small 3.2 24B, 4-bit (cost series) | `mistral-small3.2:24b-instruct-2506-q4_K_M` | `5a408ab55df5c1b5cf46533c368813b30bf9e4d8fc39263bf2a3338cfa3b895b` (`bench/cost-of-intelligence-2026-09-23/series/series.json`, the task-c row whose `lane` is the 3090 reading the page cites, `manifest_digest`) | `5a408ab55df5c1b5cf46533c368813b30bf9e4d8fc39263bf2a3338cfa3b895b` (`https://registry.ollama.ai/v2/library/mistral-small3.2/manifests/24b-instruct-2506-q4_K_M`, 22:49:45) | `41a5b0c36a28a3a0480ce2e4007d3a21e3298be70e2b9a103960581412997dca`, 15,177,369,888 |
| Jevify, 4-bit (arm 1) | `hf.co/mradermacher/jevify-gemma4-26b-a4b-GGUF:Q4_K_M` | `6c304955191f` (the same receipt, line 106) | `6c304955191f5f08bec21c7d1952b5852b28bbc1e4a531020d3ba873616fd842` (`https://hf.co/v2/mradermacher/jevify-gemma4-26b-a4b-GGUF/manifests/Q4_K_M`, 22:49:45) | `eda2907b8e9d94614f2e44a60f5974007da09cb793968ed54ad1ed94f61a3e9f`, 16,796,018,176: **the LFS sha256 of `Q4_K_M.gguf` at `8917f8f4`** (section 1) |

**For the page's revisions table (ARTICLE-v2 lines 450 to 452, the three ⟦owed⟧ cells):** Jevify, 4-bit:
`8917f8f4` (the GGUF file's sha256 `eda2907b…` is the model layer of the manifest whose id we recorded);
Gemma 4 26B-A4B, 4-bit: ollama digest `08ae7ec1744b`; Mistral Small 3.2 24B, 4-bit: ollama digest `5a408ab55df5`.
The column is headed "Revision we benched"; for the two ollama rows the cell is a digest, so say so in the cell or
the caption.

---

## 3. The jevify description against its card (stranger N2)

ARTICLE-v2 (line 88) glosses it as "a third-party adapter that teaches Gemma 4 26B to answer the Jev way".

The card, `kushalpatil/jevify-gemma4-26b-a4b` at `d4c0d1d4` (`https://huggingface.co/kushalpatil/jevify-gemma4-26b-a4b/raw/d4c0d1d455892957d274f68ec64e9fc0881011c8/README.md`, read 22:50:16Z), says:

> "`google/gemma-4-26B-A4B-it` fine-tuned (LoRA, merged) to give **honest probabilities** when asked typed questions
> about a piece of state — the model behind [jevify](https://github.com/kushalpatil07/jevify), a local,
> Jev-compatible probabilistic decision API."
>
> "Nothing is generated: one prefill, read the next-token distribution over the answer labels, done."
>
> "Loss = KL(target || label distribution). No teacher model."

**Where the gloss departs from the card.**
- **Not an adapter.** The repository holds full merged weights (two safetensors, 51.6 GB); the card says "LoRA,
  merged". The GGUF we ran is built from those merged weights. "Adapter" appears across the page (the scoreboard
  row, the licence table, the latency and sources tables).
- **"The Jev way" can read as imitating Jev.** The card claims compatibility with Jev's API and says "No teacher
  model": it was not trained on Jev's answers. Its stated aim is "honest probabilities".
- **The base is the instruct model**, `gemma-4-26B-A4B-it`.

**A wording that stays inside the card:** "the jevify model (a third-party fine-tune of Gemma 4 26B-A4B, a LoRA
merged into the weights, that answers typed questions with a probability per option through a Jev-compatible API;
its card says no teacher model was used)". Row labels could read "Jevify, a Gemma 4 26B fine-tune, 4-bit".

The GGUF card (`mradermacher/…-GGUF` at `8917f8f4`, read 22:50:16Z) says only "static quants of
https://huggingface.co/kushalpatil/jevify-gemma4-26b-a4b" and carries `license: gemma`, as the page's licence
table says.

---

## 4. Each author's stated purpose and headline number, quoted from their cards (fairness S-17)

Every card is read at the revision we benched, the same read times as in `manifest.tsv` (22:50:15Z to 22:50:16Z;
the APUS family README at 22:51:13Z). The last column answers the page's line 70 ("we did not check the rest"): does
any evaluation the card **names** ask who wrote a line?

| model | card read | stated purpose, quoted | headline number, quoted | measured on | an authorship question among the sets the card names? |
|---|---|---|---|---|---|
| Kev-9B | `jaredpalmer/kev-9b@2629c06a` | "Kev-9B is a **decision model**: one document (the *state*) and a set of typed questions in, a probability distribution per question out, in one forward pass. No text generation." | "Out of domain it scores 0.822 on the development partition and **0.852 on the locked test** (Jev: 0.857 on the development items)" | its own transfer-v4 partitions ("six never-trained sources + held-out policy structures"); training sources banking77, BoolQ, AG News, MultiNLI, SST-5, Yelp, TREC, DBpedia, Amazon reviews, IMDb | No. Per-source list: QNLI, SciQ, TweetEval-offensive, PAWS, MMLU, Emotion, deadline and rule-logic items |
| Kev-4B | `jaredpalmer/kev-4b@485ace87` | The same sentence as Kev-9B's, and "**The recommended Kev.** The best accuracy per byte" | "out of domain 0.797 on the development partition and **0.837 on the locked test**" | the same partitions | No (the same sets) |
| Lev-4B | `interfaze-ai/lev@f8ef7115` | "lev answers typed questions about a piece of context in a single forward pass." "It is built for the high-volume judgement calls inside a product: routing, moderation, intent detection, triage, grading, and checking LLM output." | "68.9% on all 13 S1Bench subsets. 4B parameters. Zero output tokens." | S1Bench, 13 subsets, 3,880 items, run through the same harness as Jev (macro 0.689 against Jev's 0.761) | No. The 13 subsets are claim verification, intent (two), BoolQ, SQuAD 2 answerability, PAWS, MultiNLI, toxicity, safety, helpfulness, two summary ratings, PubMedQA |
| APUS-OpenJev-v1 9B | `apus-ailab/APUS-OpenJev-v1-9B@82c9c56c` | "A Qwen3.5-based decision model for browser action selection, workflow routing, and natural-language principle judgments." | "scores **68/80 (85.00%)** at full depth on the Frozen80 development panel", with the card's own caveat: "This reused engineering panel is not an independent blind benchmark or an end-to-end browser success rate." | Frozen80: "Browser, HelpSteer3, BoolQ, MNLI, and attribute decisions" | No (as the page already says, from RECON-apus §6) |
| APUS-OpenJev-v1 4B | `apus-ailab/APUS-OpenJev-v1-4B@422b3741` | The same sentence | "scores **66/80 (82.50%)** at full depth on the Frozen80 development panel" | the same | No |
| APUS-OpenJev-v1, the family | `apus-ailab/APUS-OpenJev-v1@af276da5` (the revision every APUS row records as `bridge_revision`) | "a family of decision models for browser agents and business workflows" | "APUS-OpenJev 35B-A3B achieves 88.75% and 9B achieves 85.0% accuracy, compared with **82.5% for the Jev API**"; and "The same 4B checkpoint scores **82.50% / 76.25%** at high / low" (the pair the page quotes, confirmed) | Frozen80 | No |
| imajev-4B | `mohit67890/imajev-4b@11126e8c` | "Decisions for real-world cases." "Small open models that read the photos, records and text a business already has and answer in the options you set, with a probability on each and an explicit *can't tell*." | "imajev-4b is the recommended default: 83.9% on ImajevBench against the 9B's 82.1%"; the banner: "#1 of 91 on JevBench v1.4.2.2 (scored 27 Sep 2026)", composite 67.4 in the board screenshot's alt text | ImajevBench (its own); JevBench; DecisionBench 1.0 (79.7 %) | No authorship set named. The page's board figures (86.1 / 37.0, RECON-imajev §6) are the board's public and sealed rows, a different figure from the card's composite 67.4; name which one is quoted |
| OpenDecider small | `manjunathshiva/opendecider-small@ff25e366` | "**Open, calibrated System 1 decision model for decisions it has never seen.**" | "**Zero-shot, it beats TypeSafe Jev and Laya on general decisions (0.735 vs 0.730 and 0.545)** and ties Laya's best checkpoint on Laya's own application battery (0.702 vs 0.702)" | "general decisions" and Laya's battery; the full list is in its COMPARISON.md, **not read here** | Not answerable from the card: the sets are named only as groups. Its training datasets (GLiClass, CLINC, GoEmotions, SQuAD 2, WANLI, DBpedia, Civil Comments, SMS spam, PAWS, HotpotQA) include none |
| OpenDecider nano | `manjunathshiva/opendecider-nano@280219bd` | "**Open, calibrated System 1 decision model.** … It never generates text, so there is nothing to parse and nothing to hallucinate." | "**Beats Laya and TypeSafe Jev on typed-decisions: 0.796**, against 0.766 for Laya's typed-decisions checkpoint … and 0.754 for Jev"; the small card adds that nano "was fine-tuned on the train split" of typed-decisions | typed-decisions (its test split) | Not answerable from the card (COMPARISON.md not read) |
| OpenJev 27B | `openjev/openjev@5ec9e5fd` | "OpenJev is an open-weights **decision model**. You describe the decision in plain words at request time, with your own labels, and it answers with a choice, a yes / no probability or a score." | "**OpenJev** … **84.0%** (8,403 of 10,000)" on "10,000 text questions, 34 public sources", against "Jev (hosted API) 85.4% (8,540 of 10,000)" | 34 public sources in eight kinds of work (intent, sentiment, spam and hate, legal, ethics, commonsense, science, reading) | None of the eight kinds is authorship; the 34 sources are not listed on the card |
| deem-0.8-v1 | `LibertAIDAI/deem-0.8-v1@8cbabbb2` (v1.1) | "**Decisions, anywhere.** The full Deem decision stack on **CPU** — typed, calibrated choices, scores, and yes/no decisions with abstention, served by our own Rust runtime. No GPU required." | "**96.2%** long-policy hold-out accuracy (trap/adversarial items: 91.5%)" | its own long-policy hold-out; returns domain 98.2 %; counting and grid reasoning | No |
| Jevify (not owed; for completeness) | `kushalpatil/jevify-gemma4-26b-a4b@d4c0d1d4` | section 3 | "ALL n= 307 acc=0.834" on "Held-out, out-of-distribution (6 datasets not used in training; 307 items)" | MASSIVE, TREC, PAWS, SMS spam, app reviews, SUBJ, and a 7-item spike | No |

**For the page (line 70).** As far as each card names its evaluation sets, none of them asks who wrote a line;
OpenDecider's and OpenJev's full source lists are not on their cards and were not read. A fair sentence: "None of
the evaluations their cards name asks who wrote a text; our six-way is outside what any of them was built or scored
for."

---

## 5. Found while reading (for the author; each with its source)

- **Lev's card on hardware** (the quote the fold held back as unread, fairness S-4): "**Needs a GPU for real-time
  use.** It runs on CPU, but a 4B backbone there takes seconds per call, not milliseconds." (`interfaze-ai/lev@f8ef7115`,
  22:50:15Z). Our laptop-processor median, 8.465 s a line, agrees.
- **Memory the cards state, beside what our runs read** (table 9b of EVIDENCE-v2): Kev-9B "~19 GB of GPU memory for
  serving" (its card, `2629c06a`; the same figure GAPS-CARD copied), against arm 12's 15,866 MiB resident and 20,278
  MiB highest; Kev-4B "~9 GB" against 8,776 and 13,358; OpenDecider small "~9 GB (bf16)" on an L40S and "a GPU with
  12 GB or more", against a counted growth of 8,595 MiB; OpenDecider nano "2.0 GiB" in fp32; deem "0.9GB resident
  (int8 path; 1.6GB bf16-exact)"; OpenJev 16-bit "about 54 GB".
- **Which repositories moved after the revision we benched** (ARTICLE-v2's "The newest revisions" bullet names only
  Kev-4B and OpenJev):
  - Kev-4B: head `139fdd94`, 2026-09-24 14:36:57Z ("round 10: skills delta"); **the adapter and head weights
    changed** (tree diff, 22:52:06Z).
  - OpenJev: head `0b6bb6e5`, 2026-09-24 00:35:46Z ("Formats: GGUF builds"); **only `README.md` changed**, every
    weight file is identical (tree diff, 22:52:06Z).
  - **imajev-4B, missing from the bullet:** head `ef646e06`, 2026-09-28 20:00:02Z ("Add schema-1.2 calibration files
    with a photo-only temperature bucket"), after `572abc79` at 19:15:59Z (card); **two calibration files added**
    (`calibration-modality.json`, `calibration-rot4-modality.json`) and the card changed; the adapter is unchanged
    (tree diff, 22:52:06Z / 22:52:07Z). Our I-2 run (20:23Z to 20:29Z) was pinned at `11126e8c`.
- **imajev's card at `11126e8c` confirms two of the page's claims:** its request limit, "at most 4,096 tokens (longer
  requests are refused, not truncated)", and "No JevBench items (8-gram lint)".
- **deem:** the D0 rows' `model_sha256` (`80438125177c…`) is the LFS sha256 of the root `model.safetensors` at
  `8cbabbb2` (v1.1, last changed 2026-09-25 11:39:13Z); v1.0's weights sit under `v1.0/` with a different hash
  (tree, 22:52:24Z). The card's headline runtime is its Rust server; our D0 ran its Python server's torch backend.
- **The licence statements on these cards agree with ARTICLE-v2's licence table:** Kev "Apache-2.0 for the adapter
  and head"; Lev "The adapter is released under Apache-2.0, the same license as the base model"; OpenJev's licence
  paragraph word for word as the page quotes it, and "The files in `helper/` and `serve/` are Apache 2.0"; deem
  "Apache-2.0 (weights, code, and benchmark)"; jevify `license: gemma`.
