Schema Evolution: Changing the Contract Without Breaking What Runs