I think I played this correctly but please confirm:
When drawing 2 cards with a spy: Discard spy cards and redraw. Keep Gondola and District Cards. Activate Traitor and Doge (activated in the order of the player's choice).
When drawing 3 cards at the end of a round: Discard Doge Cards and redraw. Keep Gondola and District Cards. Activate Traitor and Spy Cards (presumably further spy cards would just be a discard and single redraw)
Other than that, I don't think there were any rules glitches in the game. A surprisingly heavy game I'd say.