It is a question of scale though isn't it. Easyjet is much more able to do what you suggest What is the turnover of Easyjet relative to Caledonian Sleeper?
Do you really think someone could go to Sainsburys at Euston and buy random goods for resale or distribution on the train?
How do you propose they are told?
I can only assume that up until that point there were staff frantically trying to resolve the problem, and I've seen them go to lengths such as emptying the shelves of supermarkets in Inverness and Fort William when supplies have been disrupted.
So, supplier issues with pre-prepared food.
When do they know there's an issue?
Just before departure? 10 minutes before? 1 hour before? When???
Seriously, how bad is this supplier?
How do they tell customers, the people actually paying their wages?
from the CS website;
"Please provide a contact mobile number in case we need to contact you in a disruption. The phone number is used for contact in the event of service disruption and should be a mobile number or contact number the evening the service operates."
they even have your email address.
& look, they're even on Twitter & Facebook.
Next you'll be saying that no-one at CS is allowed to make phone calls, & the social media person is the only one logged in & works part-time hours.