Here is the codebase or configuration. List every place behaviour depends on the specific model: model identifiers, prompts tuned to its quirks, assumptions about output format, token limits, reasoning or thinking settings, tool-calling schemas, and anything parsing the response shape. For each, say what breaks if the model changes and how it would surface.
From the workload described below, write twenty concrete test inputs that would expose a behavioural difference between two models: edge cases, ambiguous instructions, long inputs, refusals, format compliance and tool use. For each, state what correct output looks like precisely enough to score automatically.
Here are the current and candidate model rates, and the workload volumes below. Calculate monthly cost under each, separately for input, output and cached tokens. Then adjust for any stated difference in tokens consumed per task and in step count. Show the arithmetic and state which assumption moves the answer most.
Compare the two models on configuration that has no equivalent on the other side: reasoning or effort levels, thinking modes that cannot be disabled, context tiers that rebill a whole request, cache pricing, rate-limit shapes and anything gated by account age. List each mismatch and what you would do about it.
Define the conditions under which the migration should be reverted, as specific measurable thresholds rather than judgements: error rate, format compliance, latency percentile, cost per task and any quality score you can compute. State who checks each one and how often during the first week.
Given the workload below, write a migration sequence that limits exposure: what moves first, what fraction of traffic, what runs in shadow mode against both models, and what must pass before each stage. Keep the first stage small enough that a total failure is invisible to customers.