Open Models

Ornith 1.5: What Changed From 1.0 (and What We Have Not Measured)

Ornith 1.5 landed on 2026-08-19, eight weeks after 1.0, and the interesting part is not the leaderboard slide. It is that DeepReinforce shipped one fewer model than last time — the 31B dense from the 1.0 lineup is simply gone — and that 1.0's one genuinely novel idea, self-scaffolding, has been closed into a full loop where the model now proposes its own training tasks as well as its own harness. We reviewed Ornith 1.0 on 2026-07-12, so this page is the delta rather than another rewrite of the launch post. Up front: every Ornith number below is vendor-reported. Ornith is not on OpenRouter, we have not run it through our executed harness, and the only measured numbers on this page belong to models that are not Ornith.

Correction, October 3, 2026: single-model benchmark latency is a mean, not a median. Labels were corrected; measured values and the original run dates are unchanged. Measurement details.

Diagram of the Ornith 1.5 three-stage self-improvement loop from task proposal through scaffold generation to rollout

Ornith 1.5 is a family of open-weight models from DeepReinforce, released 2026-08-19 under the MIT licence, with weights published to the Hugging Face collection ornith-ai/ornith-1.5. Quantised builds ship alongside the originals in FP8, GGUF, MLX and NVFP4.

That is the launch-post summary, and you can get it anywhere. What follows is the part that needs a copy of the 1.0 release notes to write.

What actually shipped on 2026-08-19

Three models, not four:

DeepReinforce's framing is that the family performs on par with Claude Opus 4.8 across reasoning, coding and agentic tasks. Hold that thought until the claims section.

The delta from 1.0, size by size

When we reviewed 1.0 on 2026-07-12 it shipped in four sizes. 1.5 ships in three. Laid side by side:

SizeIn Ornith 1.0 (2026-06-25)In Ornith 1.5 (2026-08-19)What that means for you
9B denseYes — ~19GB bf16, ~6GB Q4, GGUF publishedYes, plus a quantised mobile buildThe one size that got easier to run, not harder
31B denseYes — workstation-classDroppedIf you standardised on it, there is no 1.5 upgrade path at that size
35B MoEYes — ~3B active/token, ~25GB Q5_K_MYes — 35B-A3B, 3B active/tokenUnchanged shape; still the practical self-host pick
397B MoEYes — ~200GB FP8 to ~400GB bf16Yes — flagshipStill impractical for most single-box setups

The dropped 31B is the only structural loss, and it is a real one for anyone sitting on a single high-memory workstation: 9B is a step down, and 35B MoE has a different memory profile even though its active parameter count is smaller. Nobody covering the launch mentioned this, because it only shows up if you diff the two lineups.

One thing that did not change: base-model attribution is still murky. Our 1.0 review found Ornith post-trained on Gemma 4 and Qwen 3.5 (both Apache 2.0) with sources disagreeing on which size came from which base. The 1.5 launch material does not settle it either. If licence provenance matters to your legal review, that is the open question to chase, and our note on open weights versus open source covers why the distinction bites.

The self-improvement loop, and the number at its centre

Ornith 1.0's novel idea was self-scaffolding: during reinforcement learning the model learned its own orchestration harness instead of inheriting a human-designed one. 1.5 extends that into a closed three-stage loop, and the third stage is the new part.

Ornith 1.5: the loop closes around the scaffoldStage 2 is what 1.0 already did. Stages 1 and 3 are new, and GRPO now optimises all three together.STAGE 1 · NEW IN 1.5Propose a harder taskTargeted at a 0.2 success rateSTAGE 2 · ALREADY IN 1.0Write a scaffold for itTask-specific, not generalSTAGE 3 · NEW IN 1.5Generate the RL rolloutConditioned on task + scaffoldoutput feeds the next round of task proposals — no human curation in the chainGRPO is applied across all three stages. Source: DeepReinforce launch material, read 2026-08-20. We have not reproduced any of this.
The 1.0 to 1.5 change in one picture: the scaffold step stayed, and a task proposer and a rollout generator were wrapped around it.

The number worth remembering is 0.2. The task proposer is aimed at problems the model solves roughly one time in five — hard enough to carry signal, easy enough that the reinforcement learning gradient is not all noise. That single target is doing most of the work in this design, and it is the part launch coverage skipped in favour of the leaderboard table.

It is also the part that should make you cautious. A model that writes its own tasks, writes its own scaffolds and grades its own rollouts has no human in the chain to notice when the whole loop drifts somewhere useless. That is not a criticism of the results; it is a reason to want independent measurement before believing them.

The benchmark claims, and how tightly to hold them

These are DeepReinforce's numbers, not ours:

ModelTerminal-Bench 2.1SWE-Bench VerifiedOther
Ornith-1.5-397B85.1—DeepSWE 56.0 · GPQA Diamond 92.8 · BrowseComp 86.6
Ornith-1.5-35B-A3B68.579.0—
Ornith-1.5-9B47.070.6—

Two caveats that are ours, not the vendor's.

First, the same reason we distrusted the 1.0 table applies. DeepReinforce is a small outfit with, as of our 1.0 review, one prior paper to its name (June 2025). That is not disqualifying, but a near-frontier claim from a vendor with almost no public track record deserves a heavier discount than the same claim from a lab with years of reproducible releases.

Second, self-reported benchmark scores break in ways that are invisible from the outside. We know this from our own harness: a content filter returning an empty body was silently scored as a wrong answer, and one model would have been published at 4 out of 9 when the failure was ours, not the model's. We wrote that up in the content filter bug post. If our own harness could be wrong in that direction, a vendor scoring its own model can be wrong in the flattering direction just as easily.

What you can actually run today, measured

Ornith 1.5 is not on OpenRouter as of 2026-08-20, so the practical question is not whether it beats the field — it is what you give up by using something you can call this afternoon. These are our numbers, from our executed nine-task Python benchmark: real generated code, run against hidden asserts in an isolated subprocess, temperature 0, cost derived from measured token counts at list price. Method is on the methodology page.

Open-weight model (callable today)ScoreMeasured cost / 1k tasksMean latencyReasoning tokens
DeepSeek V3.29/9$0.087.1s0
Qwen3 Coder Next9/9$0.107s0
DeepSeek V4-Flash9/9$0.1314.5s568
Kimi K2.7 Code9/9$1.3410.4s272
GLM-5.29/9$1.9912.3s559
Llama 4 Scout8/9$0.031.5s0

The point of putting this next to Ornith's claims is not to compare them — they are not comparable, and pretending otherwise would be exactly the sleight of hand this page is trying to avoid. The point is the floor. An open-weight model that clears our whole suite costs seven cents per thousand tasks. Whatever Ornith 1.5 turns out to be worth, that is the alternative it has to beat on your actual workload, and you can test that today. Our open-source model guide has the wider field, and the budget coding roundup covers the cheap end where the 9B would compete.

What we did not measure

Plainly, so there is no ambiguity:

If Ornith 1.5 appears on a provider we can call, it goes through the same nine tasks as everything else and we will publish whatever comes back, including a bad result. That is the whole point of running the harness ourselves.

FAQ

When was Ornith 1.5 released? 2026-08-19, by DeepReinforce, under the MIT licence, with weights on Hugging Face at ornith-ai/ornith-1.5.

What sizes does Ornith 1.5 come in? Three: 397B MoE, 35B-A3B MoE (3B active per token) and 9B dense. Ornith 1.0 had four — the 31B dense was dropped.

Is Ornith 1.5 really as good as Claude Opus 4.8? That is DeepReinforce's claim, not a measured result. No independent benchmark we can point to had confirmed it as of 2026-08-20.

Can I call Ornith 1.5 through an API? Not on OpenRouter as of 2026-08-20. The weights are open, so self-hosting is the route today — the 9B and 35B-A3B are the realistic sizes for that.

What is the 0.2 success rate about? The self-improvement loop aims its generated tasks at problems the model solves about one time in five, which is where a reinforcement learning signal is strongest.

Written by

Founder of DataLLM Lab, the unified LLM gateway. Kevin tests models the boring way — same prompts, real costs, unedited outputs — and writes up what the runs actually show. Articles are drafted with AI assistance and published under his name; every first-party number comes from an executed run.

One API for every model

One API, every model.

Get a single API key for Claude Opus 4.7, GPT-5.4, and 300+ more — with automatic price comparison and routing to the best model for every request.