On thinking about this a bit more, I feel like you may be expecting the system to handle situations where your business requirement needs the new field to be used now, but used to work without this field before. Based on the example you provided, I am imagining something like a getTasksForUser functionality which previously might have just been filtering on userId but if the business now says that this functionality should now return tasks sorted by priority, you expect the system to somehow know the business requirement and force the developer to use this new priority field ?
If that’s what you’re hoping for, the problem is harder to solve although not impossible. Assuming the example as above , you could maybe just inject the priority field at the data access layer . Another way would be to make the modified entity private and expose a facade with helper functions that are exposed. Now when code that previously used to rely on the entity inevitably breaks , you can replace those usages with usage specific functions exposed from the facade and since the entity is now accessible only from the facade, you can easily update all usages within the facade and make sure no one can miss passing the priority field since the entity is private to the facade and all functions in the facade are known to use the new field.
It grinds my gears that sony software locked the ability to backup saves locally on the PS5 making a PS plus subscription the only way to have a backup of save games. I don’t play multiplayer and don’t play the monthly free games either so I have to pay a premium for the rest of my life to get a basic functionality that was present in ps4 but got nerfed for some dubious reasons in ps5. The recent ps plus price hike was the last straw so I ditched my PS and got into PC gaming and loving it so far.