linne-oak 1.0

Last updated:

Open63–105ms$0/M input

Quadrant scores

See the full quadrant

Scored with the public quadrant rubric (maturity × capability; bubble = adoption). Revise as evidence lands.

  • Maturity4.4/10

    Apache-2.0 BF16 weights (~62 GB) on Hugging Face with a community GGUF. Docs are the model card plus a reference engine file. No server, no third-party integration, one-person project.

  • Capability6.2/10

    Choice and Noul read from option-letter logits with bidirectional full-attention layers. #2 of 168 on the Decision Index 0.3.2 Full score (65.61), private parts run by the maintainers. 105 ms median on the board. No calibration figures.

  • Adoption1/100

    About 1k downloads across the weights and GGUF, 3 likes, no launch post found and no reported users.

Vendor claims

linne-oak 1.0 is a 31B decision model published on Hugging Face on 11 October 2026 by the account PNPM244. It is a fine-tune of google/gemma-4-31B-it for English and Vietnamese. The card describes it as an independent personal project. Its smaller sibling, linne-fern 1.0 (27B), is a causal model that can also chat; linne-oak is the dedicated decision model.

It slipped past our daily radar because it never had a launch post. We found it on the Decision Index 0.3 board, where it sits second overall.

Specs

Attribute Value
Author PNPM244 (independent)
Released 11 Oct 2026 (Hugging Face)
Base model Gemma 4 31B-it, full fine-tune
License Apache-2.0 (Gemma 4 terms apply to the base)
Size BF16, about 62 GB; fits one 80 GB GPU. Community GGUF by mradermacher
Question types choice and noul in the reference engine; no score
Languages English, Vietnamese
Training data Decision-format data for classification, NLI, retrieval, tool selection and agent safety. Not released

How it works

The engine builds one chat-template prompt per question (thinking off): the state, the question, one line per option, then “Answer with the letter of one option only”. The answer is the softmax over the option letters at the last prompt position. The unusual part is that the model’s full-attention layers run bidirectionally over the prompt, while the sliding-window layers keep their normal behaviour. linne_engine.py in the repo implements this both as a library and as a Decision Index engine.

Decision Index 0.3.2

Hugging Face’s index weights 20% public benchmarks, 50% private tests of the same skills and 30% private tasks from new domains. The private parts are run by the maintainers. On the board data generated 15 October:

Model Full Public Private, same skills Private, new domains
vLLM-SR d3 (27B) 66.26 65.45 62.83 60.51
linne-oak 1.0 (31B) 65.61 63.94 62.44 60.12
Decider 31B (NVFP4) 64.62 64.27 61.79 58.32
Sieve 31B 63.81 62.52 60.89 58.31
Jev 1.14 61.53 60.70 59.28 55.60

The board puts linne-oak and d3 in the same statistical tie group for first place; Decider 31B and Sieve 31B share the next group. The card says the maintainers’ private run agreed with the author’s own submission on 99.51% of validation rows. The board’s latency measurement is a 105 ms median on one RTX PRO 6000.

Fit / anti-fit

Fit when you need: a self-hosted open model near the top of the independent board, Vietnamese support, or an agent step guard you can run yourself.

Anti-fit when you need: score questions, a ready server or SDK, smaller hardware than an 80 GB GPU, or published calibration.

Limits

  • No server: you load the reference engine yourself. No /v1/systemone endpoint.
  • No calibration numbers, despite the “calibrated” tag.
  • Training data and recipe are not released.
  • Single maintainer, no support channel beyond the repo.

Why it is in the catalog

Trained weights for typed decisions, open license, documented inference code, and a board-verified score. That meets the catalog criteria. Its Decision Index result is the strongest independent evidence any newcomer has brought this week.

Score working

  • Maturity 4.4 = availability 8 × 0.30 + docs 6 × 0.25 + integrations 1 × 0.25 + support 1 × 0.20 = 2.40 + 1.50 + 0.25 + 0.20 = 4.35.
  • Capability 6.2 = types 6 × 0.30 + calibration 4 × 0.25 + latency 7 × 0.25 + accuracy 8 × 0.20 = 1.80 + 1.00 + 1.75 + 1.60 = 6.15. Accuracy 8: maintainer-run board score. Latency 7: 105 ms median measured by the board, no p99.
  • Adoption 1: almost no public signal.