suppose you have cannonfile like
[invoke.one]
step =1
[invoke.two]
step = 2
and change it to
[invoke.one]
step = 2
[invoke.two]
step = 2
if you have already built it, you will get an error that the txn has already been run. but in reality, the txn has been removed from a previous step and moved to a new step.
this will likely be fixed by topological cannonfiles.