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.
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:
- Ornith-1.5-397B — a 397-billion-parameter mixture-of-experts flagship.
- Ornith-1.5-35B-A3B — a 35B MoE activating 3B parameters per token.
- Ornith-1.5-9B — a 9B dense model, and this time with a quantised mobile build targeted at iPhone and Android.
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:
| Size | In Ornith 1.0 (2026-06-25) | In Ornith 1.5 (2026-08-19) | What that means for you |
|---|---|---|---|
| 9B dense | Yes — ~19GB bf16, ~6GB Q4, GGUF published | Yes, plus a quantised mobile build | The one size that got easier to run, not harder |
| 31B dense | Yes — workstation-class | Dropped | If you standardised on it, there is no 1.5 upgrade path at that size |
| 35B MoE | Yes — ~3B active/token, ~25GB Q5_K_M | Yes — 35B-A3B, 3B active/token | Unchanged shape; still the practical self-host pick |
| 397B MoE | Yes — ~200GB FP8 to ~400GB bf16 | Yes — flagship | Still 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.
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:
| Model | Terminal-Bench 2.1 | SWE-Bench Verified | Other |
|---|---|---|---|
| Ornith-1.5-397B | 85.1 | — | DeepSWE 56.0 · GPQA Diamond 92.8 · BrowseComp 86.6 |
| Ornith-1.5-35B-A3B | 68.5 | 79.0 | — |
| Ornith-1.5-9B | 47.0 | 70.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) | Score | Measured cost / 1k tasks | Mean latency | Reasoning tokens |
|---|---|---|---|---|
| DeepSeek V3.2 | 9/9 | $0.08 | 7.1s | 0 |
| Qwen3 Coder Next | 9/9 | $0.10 | 7s | 0 |
| DeepSeek V4-Flash | 9/9 | $0.13 | 14.5s | 568 |
| Kimi K2.7 Code | 9/9 | $1.34 | 10.4s | 272 |
| GLM-5.2 | 9/9 | $1.99 | 12.3s | 559 |
| Llama 4 Scout | 8/9 | $0.03 | 1.5s | 0 |
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:
- We have not run any Ornith model, 1.0 or 1.5, through our harness. Neither appears in our benchmark data.
- Every Ornith score on this page is vendor-reported and taken from DeepReinforce's launch material, read 2026-08-20.
- We have not verified the self-improvement loop description beyond reading it. We have reproduced none of the training procedure.
- The measured table above contains no Ornith models and is not a ranking Ornith sits in.
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.
DataLLM Lab