I'd add a two-instance test to the pending-order check: both instances read an empty order list before either placement becomes visible. Each can pass the same guard and still send an order. A shared reservation needs a defined release path after acknowledgement, rejection or restart, so it doesn't quietly become a second permanent halt. Does the fix serialize entry decisions across instances on one account, or only count pending orders within each instance?