Currently the migration process applies assertions for the end state of the migration, but it doesn't apply assertions for the current state before commencing the assertion.
A Wildebeest principal is that the assertions for a state should always pass no matter how long the resource is in that state and no matter what transactional activity takes place after the resource is migrated to that state. This strict principal is important to ensure the resource is healthy and can be migrated forward or backwards cleanly.
Therefore Wildebeest should apply assertions to the current state BEFORE migrating in addition to applying assertions to the target state AFTER migrating.
This affects WildebeestApiImpl.migrate().