One shared login collided with itself the moment I added a second worker. Here's the architecture that fixed it, three classes, each with exactly one job.
Turning workers up from one to four sounded like a simple config change. It broke cart tests, coupon tests, and checkout - all pointed at the same shared login.