## 왜 ### 게스트 토너먼트 생성 게이트가 꺼진 상태 - **이전:** (#904, v1.2.0) 토너먼트 생성을 회원 전용으로 제한. 403 `TOURNAMENT-036` - **원인:** 게스트 계정은 `POST /auth/guest` 로 입력값 없이 무한 발급 - **원인:** 비용이 드는 행위의 소유자가 게스트면 계정을 갈아타는 것만으로 계정별 아이템 등록 한도 리셋 - **이전:** (#966, 2026-08-20) 클라이언트가 403 을 처리하지 못한 채 prod 에 나가 게이트만 임시 해제 - **결과:** 게스트 오너 토너먼트의 아이템 등록은 게스트 몫에서 차감. 계정별 한도가 게스트에 대해 실효 없음 - **결과:** 남는 방어선은 전역 가용량 상한 하나 ### 클라이언트 대응 완료 - 게스트 권한 매트릭스 확정. 토너먼트 생성은 게스트 차단·로그인 유도 - client 홈의 새 토너먼트 만들기 카드 게스트 차단 (TeamPiKi/client#682, dev 머지) - client `errorCode.ts` 에 `TOURNAMENT-036` 문구 매핑 있음 ## 무엇을 ### #966 의 역순 복구 - `TournamentService.rejectIfDeleted` 에 `identityType != MEMBER` 분기 복구. 이름은 `requireMember` 로 복귀 - `TournamentApi` 의 403 `@ApiResponse` 와 `TournamentApiExamples` 의 example 복구 - 통합 테스트 단언을 403 `TOURNAMENT-036` + 행 수 불변으로 복구 - `TournamentErrorCode`·`TournamentException` 의 복구 지점 안내 주석 삭제 - **참조:** `GUEST_CANNOT_CREATE_TOURNAMENT` enum 과 예외 팩토리는 #966 이 남겨 둠. 신설 없음 ### 범위 밖 - 위시(WISH-001)·탈퇴(USER-007)·프로필 이미지(USER-008)·그룹 결과 마스킹(#1061)은 서버가 이미 차단. 변경 없음 - 히스토리 조회·알림은 본인 데이터 조회라 서버 허용 유지. 클라이언트 라우트 차단만 - #1087 의 게스트 오너 방장 승계 분기는 유지 - **원인:** 게이트를 켜도 이미 게스트가 만든 토너먼트가 prod 에 남음 ### 배포 순서 1. client production 에 TeamPiKi/client#682 포함 확인 2. core dev 머지 3. prod promote - **원인:** #966 사고는 서버가 클라이언트보다 먼저 나간 순서 역전
왜
게스트 토너먼트 생성 게이트가 꺼진 상태
TOURNAMENT-036POST /auth/guest로 입력값 없이 무한 발급클라이언트 대응 완료
errorCode.ts에TOURNAMENT-036문구 매핑 있음무엇을
#966 의 역순 복구
TournamentService.rejectIfDeleted에identityType != MEMBER분기 복구. 이름은requireMember로 복귀TournamentApi의 403@ApiResponse와TournamentApiExamples의 example 복구TOURNAMENT-036+ 행 수 불변으로 복구TournamentErrorCode·TournamentException의 복구 지점 안내 주석 삭제GUEST_CANNOT_CREATE_TOURNAMENTenum 과 예외 팩토리는 게스트의 토너먼트 생성 제한을 클라 대응 전까지 임시 해제 #966 이 남겨 둠. 신설 없음범위 밖
배포 순서