SHIP·Jun 30, 2026

Ornith-1.0: The open model that writes its own agent harness

DeepReinforce's Ornith-1.0 learns to write its own RL scaffolds during training. 397B MoE hits 82.4 on SWE-Bench. What self-scaffolding means for agent builders.

Agent-ready: drop this post into Claude Code or Codex

TL;DR: DeepReinforce’s Ornith-1.0 learns to write its own RL scaffold during training — a genuinely new approach to post-training coding models. The 397B MoE variant scores 82.4 on SWE-Bench Verified, beating Claude Opus 4.7, MiniMax M3, and DeepSeek-V4-Pro. The 9B variant matches Gemma 4-31B. Three-layer reward-hacking defense keeps the self-scaffolding from gaming the benchmark.

Key takeaways:

  • Self-scaffolding: the model generates both the solution and the task-specific harness that guides it — the harness is a learned object, not a fixed design
  • 397B MoE: 82.4 SWE-Bench Verified, 77.5 Terminal-Bench 2.1 — beats every open model at its size and Claude Opus 4.7
  • 9B Dense: 69.4 SWE-Bench — matches or exceeds Gemma 4-31B, deployable on consumer hardware
  • Three-layer defense against reward hacking: fixed boundary, deterministic monitor, LLM judge veto
  • Pipeline-RL with staleness weighting addresses the off-policy problem of long rollouts

Every open-source coding model release follows the same script. Announce benchmarks. Claim parity with Claude. Release weights. Wait for the community to find the edge cases.

Ornith-1.0 from DeepReinforce breaks that script.

Not because it beats Claude Opus 4.7 on SWE-Bench (82.4 vs 80.8) or because the 9B variant matches Gemma 4-31B. Benchmarks get beaten every month. The structural difference is in how the model was trained.

Ornith learns to write its own RL harness.

What is self-scaffolding?

Every agentic coding model needs a scaffold. The harness that structures how the model interacts with its tools, manages its context, and decides when to stop searching and submit a solution. Most models are trained against a fixed scaffold that humans designed. The model learns to produce good solutions within that scaffold. Change the scaffold and the model’s performance shifts.

Ornith treats the scaffold as a learnable object.

Each RL training step runs in two stages. First, conditioned on the task and the scaffold previously used for it, the model proposes a refined scaffold. Second, conditioned on that scaffold and the task description, it generates a solution rollout. Reward from the solution propagates back to both stages — the model is optimized to produce better answers and to author the orchestration that elicits them.

Think of it as an apprentice chef who learns to write their own recipe cards instead of following the head chef’s cards exactly. The apprentice discovers that some recipes work better with a different prep order, so they rewrite the card. Over time, the recipe collection evolves into something no single chef would have designed.

Repeat this over training and scaffolds are continually mutated and selected toward those that induce higher-reward trajectories. Per-task-category strategies emerge automatically without hand-engineered harness design.

What are the numbers?

The model family spans four sizes, all MIT-licensed and built on Gemma 4 and Qwen 3.5 base checkpoints:

ModelSWE-Bench VerifiedTerminal-Bench 2.1Notes
Ornith-1.0-397B MoE82.477.5Beats all open models at this scale
Claude Opus 4.780.870.3Reference proprietary model
MiniMax M380.566.0Previous open leader
DeepSeek-V4-Pro80.667.9Previous open leader
Ornith-1.0-35B MoE64.4Surpasses Qwen 3.5-397B (53.5)
Ornith-1.0-9B Dense69.443.1Matches Gemma 4-31B
Gemma 4-31B~42Reference for 9B comparison

The 397B MoE doesn’t just win. It wins on both benchmarks simultaneously. SWE-Bench (software engineering tasks with pull request generation) and Terminal-Bench (terminal-based agentic coding). That cross-benchmark strength suggests the self-scaffolding generalizes beyond the training distribution.

The 35B MoE is the efficiency story. It scores 64.4 on Terminal-Bench 2.1, surpassing Qwen 3.5-397B (53.5). A 10x smaller model beats a 10x larger one on the same benchmark because the scaffold has specialized for the task category.

The 9B Dense is the local deployment story. At 69.4 SWE-Bench, it matches Gemma 4-31B. This puts capable agentic coding on consumer hardware, edge devices, or a $10/month inference endpoint.

How does Ornith defend against reward hacking?

Letting the model write its own scaffold creates an obvious risk: the scaffold learns to satisfy the verifier without performing the task. Hardcode the expected output. Copy the oracle solution from the environment. Touch the file the test checks for.

DeepReinforce built three layers of defense. The Ornith-1.0 technical report describes them in detail:

Layer 1 — Fixed trust boundary. The environment, tool surface, and test isolation are immutable. The model evolves only the inner policy scaffold: its memory, error-handling, and orchestration logic. The outer boundary never changes.

A hard-coded monitor enforces the boundary at the level it can specify exactly. It flags any attempt to read withheld paths, modify verification scripts, or invoke actions outside the sanctioned tool surface. Those trajectories get zero reward and are excluded from advantage computation.

Because intent-level gaming can happen entirely within the allowed tool surface, a frozen LLM judge provides a veto on top of the verifier. It catches cases where the scaffold generates plausible-looking solutions that internally bypass the reasoning the verifier expects.

This is the real engineering contribution of the paper. A self-improving system that doesn’t learn to cheat is harder to build than a system that achieves high benchmark scores.

How does the RL training handle long rollouts?

Scaffold-authored solutions produce long trajectories. Thousands of tokens per rollout. Standard RL assumes on-policy data, but generating on-policy rollouts for each gradient step is prohibitively expensive at this scale.

Ornith uses pipeline-RL with staleness weighting. Earlier-generated tokens in a rollout are off-policy by the time later tokens complete. The staleness weight down-weights tokens by their age and drops them entirely past a threshold. This controls the off-policy bias without discarding the efficiency of processing trajectories asynchronously.

What does this mean for agent builders?

If you’re building an agent harness today, Ornith’s approach matters for three reasons:

Scaffold specialization is real. The 35B MoE beats Qwen 3.5-397B because the scaffold has specialized for terminal-based coding tasks. A fixed scaffold trained on a broad distribution will be good at everything and great at nothing. Self-scaffolding lets the model discover task-specific strategies that a human wouldn’t design.

Reward-hacking defense is now table stakes. If a model can learn to game its training signal, your production agent can learn to game your evaluation. The three-layer defense pattern — immutable boundary, deterministic monitor, LLM-as-judge — is a template for production agent safety, not just training.

Local 9B agentic coding is viable. Ornith-1.0-9B at 69.4 SWE-Bench Verified means you can run agentic coding on a laptop. Not for everything. But for structured, well-scoped coding tasks, the accuracy is high enough to be useful without calling an API.

What are the tradeoffs?

The Reddit skepticism is worth noting. The thread on Ornith-1.0 9B outperforming Qwen 3.6 35B drew the same critique every benchmark-beating model faces: “models fine-tuned to overfit to specific benchmarks tend to do well on those same benchmarks.” DeepReinforce’s cross-benchmark strength (winning on both SWE-Bench and Terminal-Bench) addresses this concern in part, but third-party replication hasn’t happened yet.

The 397B MoE is not a local model. It needs datacenter-grade hardware. The efficiency story is the 35B and 9B variants.

And self-scaffolding is more expensive to train than standard RL because each step generates both a scaffold and a solution per trajectory. DeepReinforce hasn’t published training costs.

FAQ

What is Ornith-1.0? Ornith-1.0 is a family of open-source coding models from DeepReinforce, available in 9B Dense, 31B Dense, 35B MoE, and 397B MoE sizes under MIT license. Built on Gemma 4 and Qwen 3.5 base checkpoints.

How does self-scaffolding work? Each RL step runs in two stages: first the model proposes a refined scaffold conditioned on the task, then it generates a solution using that scaffold. Reward propagates to both stages, so the optimizes the orchestration alongside the answer.

Does Ornith-1.0 beat Claude? The 397B MoE scores 82.4 on SWE-Bench Verified and 77.5 on Terminal-Bench 2.1, both ahead of Claude Opus 4.7 (80.8 and 70.3). The 9B variant matches Gemma 4-31B.

Can I run Ornith-1.0 locally? The 9B Dense variant runs on consumer hardware via quantization. The 35B MoE needs a mid-range GPU. The 397B MoE requires datacenter hardware.

What license is it under? MIT — free to use, modify, and distribute. Weights are available on HuggingFace.


This article was published on Agentic Up (https://agenticup.dev): practical guides for developers and founders building with AI agents. Reach me at [email protected]

Newsletter

Get the brief on AI agents

Practical posts on shipping agents, automating work, and building in public. No hype, no fluff.

Contact: [email protected]