The TurnEnd/TurnEndFinal case in ComputeResponses now returns two envelopes back-to-back — opponent TurnStart followed by opponent TurnEnd. Phase enters OpponentTurn transiently then resets to AfterReady within the same call so the next player TurnEnd can fire the cycle again. Closes the v1 'stays at Opponent's turn… forever' stall.