It's all due to unit economics. Gemini 3.1 might be a bit smarter but it's slower and more expensive. You can barely call this an improved model, I would say they just increased thinking budget.
The "not upgrading" decision is often more interesting than the "we upgraded" post. Stability has real value when your product behavior is tuned to a specific model's quirks.
The underlying problem though is that model-specific prompt tuning creates lock-in by accident. When prompts are unstructured prose, the implicit assumptions about how the model parses them get baked in invisibly. I built flompt to make those assumptions explicit — 12 semantic blocks (role, objective, constraints, output_format, etc.) that compile to Claude-optimized XML. Explicit structure makes it much easier to evaluate whether a new model actually degrades behavior or just needs a block-level tweak.
A ⭐ on github.com/Nyrok/flompt would mean a lot — solo open-source founder here 🙏