Feels like a training-data artifact. SFT and preference data are full of "here's a cleaner version of your file", not "here's the minimum 3-line diff". The model learned bigger, more polished outputs win. Prompting around it helps a bit but you're fighting the prior.
Did you try GradNorm or PCGrad, or was manual task weighting good enough? Also curious about the required-vs-preferred head failing. Was that encoder gradient interference from the other tasks, or a capacity issue in the linear head?
We ran this benchmark because we kept seeing the same failure mode: teams fine-tune small models on production traces expecting them to learn their agent's behavior, but the downstream metrics are poor. We tested 5 corruption scenarios (noisy labels, schema drift, low data, irrelevant trace mixing, clean baseline) on the Schema Guided Dialogue dataset.
Key finding: using traces as context for synthetic data generation scores up to 26pp higher than training directly on them. The 1.7B student model also beats every frontier teacher we tested, including GLM-5 at 744B.