I'd love to hear any solution you may come to when you're able to dig into it.
For now, I was able to remove the trap/sleep from Webmachine::Adapters::Reel#run and add an adapter_option for supervise_as to get it running. (Since I already used supervision groups, I had my own sleep it can hit.) I hooked the adapter's embedded Reel::Server shutdown into my existing supervision group's finalize, and it seems to cleanly terminate. It may be that to do this in a supervisor-aware way, we should make a separate entry point into Webmachine, letting the adapter know if it should handle supervision or not?
We'll see if this ends up causing more problems than it solves. :)