This seems really broken.

"error" objects should be like "SKIP UPGRADE".  seems like we lost sensible flow control somewhere?