DC's school changed the company they use for school lunches about a year and a half ago (to cut the amount of admin for the school, due to the different systems used).
The new menus aren't great but it is what it is. 95% of the time my DC takes a packed lunch. But occasionally there will be something on the menu that I know they'd eat so I book a school lunch. It's not at all about the cost. It's about a borderline ARFID (avoidant / restrictive food intake disorder)
child not going hungry and the knock-on effect on concentration.
Given that they only have a school lunch on average of once a month (or 8 or 9 times since the new company came in), at least half of those times, the menu item has been substituted for something else (cheaper) that I know my DC won't eat and I wouldn't have ordered.
With the old company, if they made a change, parents got an email. New company don't inform anyone.
What this means is that if my DC doesn't like the food, they just don't eat. They honestly would rather starve than eat something they don't like. When we have tried to enforce it at home before, they vomit (spectacularly on the table once as a 4 year old). I know of at least one other child in my DC's class that will also go without eating if they don't like the food, so I know DC isn't alone in this.
Am I being unreasonable to think that this isn't acceptable? I know changes need to be made. But they set those menus weeks in advance. If a product isn't in stock, they must know. Surely they should at the very least change the menu online even if they're not going to let parents know?