Skip to content
DriftCaught

Situation

A model update changed our outputs

Re-pin to a dated model id first, so today stops moving. Then rerun your suite against the last passing run, read the cases that changed verdict, and only then decide whether to re-prompt or migrate.

What is actually happening

Two different things get called a model update, and they need different responses. The first is your code calling a moving name. Google says a Gemini "latest" alias points to the most recent release of a model variation and is hot-swapped with every new release of that variation, so what your feature calls can change with no deploy on your side.[Google] Google's own changelog records the latest aliases being pointed at Gemini 3 models on 21 January 2026, and OpenAI's changelog records the chat-latest snapshot being updated on 24 June 2026 to point to the latest Instant model in ChatGPT. Both sit in our change log with the provider's own source attached.

The second is a change to the call rather than to the model. Anthropic deprecated the temperature, top_p and top_k request parameters from Claude Opus 4.7 onward, and a non-default value now returns a 400 error.[Anthropic] That breaks caller code with no model swap by you, and it says nothing about output quality. Reading which of the two you are looking at is most of the work, and the per-provider change log is where that reading starts.

Separately, Future AGI writes that OpenAI, Anthropic, Google and most frontier providers update model weights without a major version bump.[Future AGI] That is Future AGI's characterisation of the market and not a provider statement, so we label it that way every time we use it. Google's own documentation is the firmer ground: it says stable models usually don't change and that most production apps should use a specific stable model.[Google]

The honest part is what you have right now. You have an impression that outputs moved. Without a golden dataset (a fixed set of labelled inputs and expected outputs, versioned, that every run scores against) you cannot say how much moved, on which inputs, or whether anything moved at all rather than your reading of it changing. That gap is what the week below closes.

What to do this week

The sequence in the list above has one rule behind it: stop the movement before you try to measure it. re-pin (moving your code from a floating model alias to a fixed, dated model id) on day one is not the fix, it is the freeze. It costs a deploy, it is easy to revert, and it means that everything you measure from day three onward is measuring one configuration instead of a moving target.

Reading the provider's own page comes second because it narrows the search. A parameter deprecation, a snapshot shutdown and an alias repoint produce different symptoms and need different fixes, and the provider has usually written down which one it shipped. Guessing here costs days.

The rerun comes third, and it runs against both model ids rather than against an absolute bar, because the only question you can actually answer is what changed between the two. Day four is manual on purpose. A scorer (a function that turns one output into a number or a pass and fail verdict) tells you that eleven cases flipped; only reading them tells you whether those eleven matter. The decision waits until last because a decision made before day four is a guess with a deployment attached. Our rerun protocol is the same sequence written out step by step.

What happens without evals

The published case we can point to is a provider's own, and it is a lesson about attribution rather than a sales point. In a postmortem published on 17 September 2025, Anthropic wrote that its evaluations simply didn't capture the degradation users were reporting, and that it had relied too heavily on noisy evaluations.[Anthropic] Anthropic's stated causes were three overlapping infrastructure bugs[src], a context window routing error, output corruption and a TPU miscompilation, and not a change in model weights.

We make no claim that we would have caught it. We were not measuring it, and the stated causes sat inside the provider's own serving stack. What the case does show is narrower and still worth having: people experienced worse outputs and reached for the nearest available explanation, a model update, and the explanation the provider published was somewhere else entirely. Without a measurement on your own inputs, you cannot tell which explanation applies to you, and you will spend the week rewriting a prompt that was never the problem.

Which plan fits and why

One feature is $1,900 a month and is built for exactly this: one production feature that a provider update can move. It reruns your suite on every tracked provider update, on every prompt or retrieval change you flag, and weekly, samples production, and sends a monthly drift (a change in how a feature behaves from one run to the next, measured against your dataset) report. One of our six guarantees covers the trigger you are living through now: every tracked provider update triggers a rerun within 2 business days of the provider's announcement.

The honest limit: the plan covers one feature, 500 dataset items, 4 scheduled runs a month and a 1,000 request production sample, and a rerun measures the agreed dataset and the agreed threshold (the number you and we write down as the line a score must not cross) values. It says nothing about inputs your dataset does not contain, and a regression (a case that passed on the previous run and fails on this one) outside that dataset will not appear in the verdict. You need a dataset before any of this runs, which is the eval baseline, and the full bounds are written on what we cannot do.

Week one

What to do, day by day

  1. Day 1

    Re-pin every floating alias in production to an explicit dated model id, and deploy that pin.

  2. Day 2

    Find the provider's own changelog entry and write down what the provider says changed.

  3. Day 3

    Rerun the suite on a pinned dataset version, against the previous model id and the new one.

  4. Day 4

    Read every case that changed verdict by hand, with the input and both outputs in front of you.

  5. Day 5

    Pick one action, stay pinned, re-prompt or migrate, and write down when the pin runs out.

Protocols behind this

What we cannot do

We cannot make a model deterministic or guarantee its outputs. We measure against an agreed dataset and thresholds and report what changed. We do not train or fine-tune models, and we do not replace human review for policy or legal decisions. Coverage is bounded by the dataset and the plan.

The longer version, with the reasoning

$1,900per month, after the baseline

A team with one AI feature in production that a provider update can change.

Reruns trigger on

  • A tracked provider announces an update
  • You flag a prompt change
  • You flag a retrieval or index change
  • The weekly scheduled run

Included

  • Reruns on every trigger with a written verdict
  • Production sampling and online scoring
  • Monthly drift report
  • Async channel

Not included

  • Agent span-level evals
  • CI gate integration
  • Same-day reruns

Questions

Should we re-pin before or after we rerun?
Before. While an alias can be swapped under you, two runs are not measuring the same thing, and a verdict you write today may not describe what runs tomorrow.
How quickly do you rerun after a provider announces something?
Every tracked provider update triggers a rerun within 2 business days of the provider's announcement. That is a commitment about when we run, not about what the run will find.
Our code already calls a dated snapshot. Does that settle it?
A dated pin buys time, not permanence. OpenAI announced on 11 June 2026 that the gpt-5-2025-08-07 snapshot would be shut down on 11 December 2026.
Can you tell us the update made the model worse?
We can tell you what moved on your dataset, case by case and scorer by scorer. We publish no measurement of our own on any model, and no general claim about any model's quality.
What if the provider announced nothing at all?
The weekly scheduled run and production sampling are what reach an unannounced change. On the One feature plan that is 4 scheduled runs a month plus a 1,000 request production sample.

If the honest answer for your team is that a tool and an afternoon would fix this, that is the answer. We are worth buying when the work has to keep happening.