現象
ターン制トークで、リクエストに失敗したエージェントは T_FORCE_SKIP を返す(logic/communication_turn.go:26-28)。processSkipOver(logic/communication_session.go:109-122)はこれを T_SKIP に変換するが、remainSkipMap を減らさず T_OVER にも変換しないため、runTurnBased の継続フラグが立ち続ける。
再現シナリオ
切断済みエージェントが1体いると、健全なエージェント全員が Over を出した後も、per_day 上限までダメ元のリクエスト(即失敗)とラウンドが繰り返され、フェーズ終了が大幅に遅れる。
修正案
ForceSkip にも remainSkipMap の減算を適用し、上限超過で T_OVER 扱いにする(またはエラーエージェントを即 Over 扱いにする)。
現象
ターン制トークで、リクエストに失敗したエージェントは
T_FORCE_SKIPを返す(logic/communication_turn.go:26-28)。processSkipOver(logic/communication_session.go:109-122)はこれをT_SKIPに変換するが、remainSkipMapを減らさずT_OVERにも変換しないため、runTurnBasedの継続フラグが立ち続ける。再現シナリオ
切断済みエージェントが1体いると、健全なエージェント全員が
Overを出した後も、per_day上限までダメ元のリクエスト(即失敗)とラウンドが繰り返され、フェーズ終了が大幅に遅れる。修正案
ForceSkipにもremainSkipMapの減算を適用し、上限超過でT_OVER扱いにする(またはエラーエージェントを即Over扱いにする)。