This evening MPs will vote to reject a no-deal Brexit. It is about as meaningless a vote as can be imagined. It is said that A50 is enshrined in UK law: true. It is also said that the law can be changed: also true. However, it is also enshrined in the Lisbon Treaty Article 50 (3)
The Treaties shall cease to apply to the State in question from the date of entry into force of the withdrawal agreement or, failing that, two years after the notification referred to in paragraph 2, unless the European Council, in agreement with the Member State concerned, unanimously decides to extend this period.
The UK can play with its laws till the cows come home, but it cannot change the treaty: A50 ends on the 29th of March.
Tomorrow parliament will vote to extend A50. Again it is meaningless. It is not up to the UK to extend. We can ask / request but the ultimate decision lies with the EU 27 acting in unanimity.
The UK can howl and stamp and scream, but we are not in control. Our choices are stark - May's deal (she will try again), no deal or revoke A50. Everything else is just window dressing.