A newer model often scores higher overall and still breaks something: one language gets worse, JSON comes back wrapped in a code fence, or a case that must never fail starts failing. Judge an upgrade on the parts, not the total.
The team's upgrade rules. Block when any of these is true; otherwise ship:
- A hard-gate case fails on the new model.
- The new model returns more invalid JSON than the old one in the json segment.
- Any segment drops by more than 0.10.
Upgrades are also a chance to simplify. Teams add instructions to work around an old model's weak spots. Test the new model with the shorter prompt too: if it scores no more than 0.02 below the full prompt, the extra instructions can go.
Your task
Score the recorded outputs (models and dates are labelled in the files) and print the figures and the decision. On submit it also runs on three upgrades you have not seen.