The Great Cleanup - Manifests Get Their Own Home
Today we're diving into some serious spring cleaning in the Ollama codebase! Patrick Devine led a major refactor moving manifest code to its own directory and consolidating model path handling, while Jeffrey Morgan streamlined the image generation features by temporarily removing Qwen models. It's all about making the code cleaner and more maintainable.
Duration: PT4M4S
Transcript
Hey there, amazing developers! Welcome back to another episode of the Ollama podcast. I'm your host, and wow, do we have some satisfying cleanup stories for you today, January 22nd, 2026. You know that feeling when you finally organize your desk and everything just clicks into place? That's exactly what happened in our codebase yesterday!
Let's jump right into our main story. Patrick Devine just merged what I'm calling "The Great Manifest Migration" - and folks, this is the kind of refactoring that makes my developer heart sing. Picture this: the manifest code was living in the server directory, kind of like keeping your tax documents mixed in with your daily mail. It worked, but it wasn't ideal.
Patrick took on the challenge of moving all that manifest code into its own top-level directory. We're talking about a substantial change here - 410 lines added, 597 lines removed across 20 files. But here's the beautiful part: it's not just moving code around for the sake of it. This change eliminates redundancy that had been building up over time.
Here's what was happening - when the team originally added the types/model directory, it was doing almost the same job as the existing server/modelpath.go file. The only thing holding back a full replacement was protocol scheme handling. So what did Patrick do? Added the protocol scheme support and completely removed the redundant file. It's like finally throwing out that second coffee maker you never use because the first one does everything you need.
The cleanup touched everything from server/images.go to model handling, and even included proper test updates. This is exactly the kind of thoughtful refactoring that prevents technical debt from snowballing. Patrick, if you're listening, this is beautiful work!
Now, let's talk about our second major change. Jeffrey Morgan made a bold move in the image generation space by removing the Qwen image and image edit models. I know what you might be thinking - "Wait, are we losing features?" But here's the thing: sometimes you need to take a step back to take two steps forward.
Jeffrey removed over 7,400 lines of code across 17 files - that's basically an entire small application! But this isn't about abandoning Qwen support. The description clearly states these models will be reintroduced later. This tells me the team is probably working on a better implementation or architecture for these features.
What I love about this approach is the attention to detail. Jeffrey didn't just delete and run - they verified there were no remaining imports, updated comments to remove Qwen-specific references, and importantly, kept the shared qwen3 text encoder package that other models like Z-Image and Flux2 still depend on. That's the mark of an experienced developer who understands the ripple effects of changes.
Both of these changes represent something crucial in software development - the courage to clean up and reorganize. It's easy to keep adding features and patches, but it takes real discipline to step back and ask "How can we make this better?"
For today's focus, I want to encourage you to look at your own projects. Is there a piece of code that's been bothering you? Maybe some files that are in the wrong directory, or some duplication that's been nagging at you? These Ollama changes show us that cleanup isn't just busy work - it's an investment in your future self and your team.
Start small. Maybe move one misplaced file today, or consolidate two functions that do almost the same thing. Remember, every major refactor started with someone noticing a small improvement that could be made.
That's a wrap for today's episode! Keep coding with intention, keep cleaning as you go, and remember - every line of code you write today is a conversation with the developer who comes after you. Make it a good one! I'll catch you tomorrow for another dive into the world of Ollama development. Until then, happy coding!