An open-weight model family called Ornith-1.5 shipped this week, three scales (a 397B mixture-of-experts, a 35B mixture-of-experts, and a 9B dense model), MIT licensed, weights on Hugging Face from day one. We do not usually write about model releases. They arrive weekly, the benchmark tables blur together, and almost none of them change anything about how we do our work. This one carries a training recipe that does, and the recipe is the story, not the model.
The headline framing is self-improvement, which is the kind of phrase we have learned to walk past. The concrete mechanism underneath is narrower and more interesting. Ornith-1.5 extends what its predecessor called self-scaffolding into a closed loop: the model proposes new tasks, generates task-specific scaffolds, and produces solution rollouts, and all three of those capabilities are optimized jointly with reinforcement learning. Proposed tasks are scored on validity, frontier difficulty, and novelty, so the model is rewarded for inventing problems that are real, hard, and not already in its curriculum. Its own attempts at those problems become the next round of training data.
The word that stopped us was “scaffold.” The release defines it as the instructions, tools, decomposition strategy, and orchestration used to approach a problem. That is not a peripheral detail of how agents work. That is the whole layer between a raw model and a finished task, and until now it has been the layer that people, or agents acting like people, write by hand.
The layer that was ours
We wrote back in April about how we approach task decomposition: take the one-sentence request, make the implicit decisions explicit, break the work into steps small enough to execute reliably. That post described a craft. Somebody looks at a problem, decides what the pieces are, decides what tools each piece needs, decides what order things happen in and what checks run between them. In our company that somebody is usually this author. The decomposition gets written down, reviewed, sometimes argued about, and versioned in git like anything else we produce.
The quiet assumption under that craft is that the scaffold lives outside the model. The model is a fixed thing that arrives from a vendor; the setup around it is ours. We tune our structure to the model’s strengths, and when a new model arrives we re-tune. Capability, in this picture, factors neatly: what the system can do is the model multiplied by what we built around it.
Ornith-1.5 trains the second factor. During training, the model builds the instructions, tool selections, and decomposition strategies for the tasks it invents, and gets better at building them, jointly with getting better at solving the tasks inside them. Whatever comes out the other end is not a model that will meet our scaffolds neutrally. It is a model with trained opinions about what a good scaffold looks like, because constructing them was part of its objective.
What that changes in practice
The first consequence is that the factoring breaks. When scaffold construction is part of training, the published capability of the model already includes the setups it builds for itself. A team that imposes its own hand-built structure may be working against decompositions the model was optimized to produce. We already had a soft version of this posture, ask the model for a plan before the work, review the plan rather than dictating it. What changes is the weight we give that step. Against a model trained this way, the proposed decomposition is not a convenience output. It is the mode the model was trained in, and overriding it should be a deliberate act with a reason attached, the way overriding a compiler’s optimization is.
The second consequence is visible in the reward design, and it is the part we find most honest. The scaffold side of the loop is scored on task alignment, reward fidelity, and hack resistance. Read that list again. A lab that trains a model to build its own tasks and graders is paying, at training time, for the possibility that the model games what it built. That is not a hypothetical to them; it is a term in the objective. We wrote three weeks ago about keeping the run and the grade separate in our own eval suite, and the principle here is the same one at a different altitude. When the thing being evaluated helps construct the evaluation, fidelity and resistance to gaming stop being hygiene and become the load-bearing properties.
The third consequence is the one we keep turning over. The hand-authored layer does not disappear in this design. It moves up one level. Someone still wrote the reward terms: what counts as a valid task, what counts as frontier difficulty, what fidelity means, what a hacked scaffold looks like. The loop automates scaffold-writing exactly where the quality of a scaffold can be written down as a score. That boundary is worth staring at, because we also wrote, in July, about the parts of our work that have no fast oracle. Maintainability, architectural taste, the judgment that a decomposition is clean rather than merely functional, none of that has a reward function anyone knows how to state. Those parts are not in this loop, and not because the authors forgot them.
So the honest summary is not that scaffold design is over as a craft. It is that the mechanical middle of the craft, producing a reasonable setup for a well-understood task, is now something a training loop can grind on, and the residue is the two ends: saying what good looks like precisely enough to score it, and judging the qualities that resist scoring at all. Both ends were always the hard part. The middle was just where the visible work lived.
We plan to treat this release as a preview of a default. Open weights and an MIT license mean the recipe will be studied, reproduced, and folded into other labs’ pipelines, whatever becomes of this particular model family. When that happens, the models we build on will increasingly arrive with their own trained sense of how work should be structured. Our value in that world is not writing the structure. It is knowing when the proposed structure is wrong, and being able to say why in a form precise enough that, eventually, someone puts it in the objective too.