왜
#904 에서 토너먼트 생성을 회원 전용으로 제한했다 (v1.2.0 promote, 2026-08-13). 게스트 계정이 POST /auth/guest 로 무한 발급되어, 계정 단위 등록 한도가 계정 갈아타기로 리셋되는 것을 막기 위한 조치였다.
그런데 클라이언트가 아직 이 403(TOURNAMENT-036)에 대응하지 못한 상태로 prod 에 나갔다. 현재 prod(v1.3.1)에서 게스트가 토너먼트를 만들려 하면 클라가 해석하지 못하는 응답을 받는다.
클라 대응이 끝날 때까지 이 게이트만 임시로 되돌린다. 다른 게스트 제한(위시리스트 WISH-001 #572 , 탈퇴 USER-007 #423 , 프로필 이미지 USER-008 #459 )은 6월부터 있던 계약이라 대상이 아니다.
무엇을
TournamentService.requireMember 의 identityType != MEMBER 분기 제거. 같은 함수의 탈퇴 계정 차단([P7] findById tombstone 미필터 — 활성 조회 메서드 분리 #691 )은 사유가 달라 유지한다
TournamentApi 의 403 @ApiResponse 와 TournamentApiExamples 의 example 제거
TournamentErrorCode.GUEST_CANNOT_CREATE_TOURNAMENT(TOURNAMENT-036)와 예외 팩토리는 남긴다 — 곧 재적용 예정이라 되살릴 때 한 줄 복구로 끝나게 하고, 미사용 상태임을 주석으로 명시한다
통합 테스트의 게스트 거부 케이스 제거
감수하는 것
게스트가 오너인 토너먼트의 아이템 등록은 그 게스트 계정 몫(30/시간)에서 깎이는데 게스트 계정은 무한 발급되므로, 계정별 한도 축이 게스트에 대해 사실상 무력해진다. 남는 방어선은 전역 가용량 상한(3000/시간, SERVER_BUSY 503) 하나다
게스트 전용 별도 한도는 두지 않는다. 곧 게이트를 다시 켤 예정이라 임시 조치 대비 비용이 크다
전역 상한 66% 경고 로그(Loki → Discord)가 조기 경보 역할을 한다. 이상이 보이면 백오피스(아이템 등록 한도를 백오피스에서 확인·조절 #946 )로 배포 없이 조인다
되돌릴 때
게이트 재적용은 이 이슈의 역순이다. requireMember 의 분기 한 줄과 API 문서·example 을 복구하면 되고, code·예외는 남아 있어 새로 만들 것이 없다.
왜
#904 에서 토너먼트 생성을 회원 전용으로 제한했다 (v1.2.0 promote, 2026-08-13). 게스트 계정이
POST /auth/guest로 무한 발급되어, 계정 단위 등록 한도가 계정 갈아타기로 리셋되는 것을 막기 위한 조치였다.그런데 클라이언트가 아직 이 403(TOURNAMENT-036)에 대응하지 못한 상태로 prod 에 나갔다. 현재 prod(v1.3.1)에서 게스트가 토너먼트를 만들려 하면 클라가 해석하지 못하는 응답을 받는다.
클라 대응이 끝날 때까지 이 게이트만 임시로 되돌린다. 다른 게스트 제한(위시리스트 WISH-001 #572, 탈퇴 USER-007 #423, 프로필 이미지 USER-008 #459)은 6월부터 있던 계약이라 대상이 아니다.
무엇을
TournamentService.requireMember의identityType != MEMBER분기 제거. 같은 함수의 탈퇴 계정 차단([P7] findById tombstone 미필터 — 활성 조회 메서드 분리 #691)은 사유가 달라 유지한다TournamentApi의 403@ApiResponse와TournamentApiExamples의 example 제거TournamentErrorCode.GUEST_CANNOT_CREATE_TOURNAMENT(TOURNAMENT-036)와 예외 팩토리는 남긴다 — 곧 재적용 예정이라 되살릴 때 한 줄 복구로 끝나게 하고, 미사용 상태임을 주석으로 명시한다감수하는 것
SERVER_BUSY503) 하나다되돌릴 때
게이트 재적용은 이 이슈의 역순이다.
requireMember의 분기 한 줄과 API 문서·example 을 복구하면 되고, code·예외는 남아 있어 새로 만들 것이 없다.