Unfortunately this was extremely difficult to track down... as it appears that exceptions that happen in rpc's ProxyCallback __call__ get completely eaten with nothing logged. It also seems to stop further consumes from the rabbit queue.
Essentially what happened here is that there was some old messages in the rabbit queue that had the previous version of RequestContext encoded. Ie, 'strategy' was in the message. Due to how RequestContext.from_dict() creates a class instance by doing cls(**kwargs)... this traceback occurs.