I think PoolMachine has the responsibility for figuring that out.  I might make run_bundle return a value indicating the machine has the wrong architecture in this case.