1. 요약 (Summary)
- 신규 판정 로직·신규 테이블 없이 인증·티어 원천을 읽기 전용으로 조립한다. 쓰기는
PATCH /users/me/profile 하나다.
- 시간 의존 응답 — 캘린더·통계·스트릭 — 은 귀속일+2일 00:00 KST 최종 확정 경계를 넘겨 캐시하지 않고, 이의 인용 소급은 원천 테이블 기반 조회 구조로 자연 반영되게 한다.
- 타인 프로필은 서버에서 필드 자체를 제외한 별도 DTO — 비공개 노출 0건을 응답 스키마로 보장한다.
2. 전제 및 현재 시스템
- 영향받는 서비스/모듈: 마이페이지 조회 계층. 원천 — VerificationResult·Appeal — 인증, UserRating·RatingChangeLog·RatingMonthlySnapshot — 티어, UserInformation·ModerationRecord — 회원, BlockedUser·BlockedChallenge — 신고 (2026-08-26 개명 — 구
BlacklistUser).
- 현재 트래픽/데이터 규모: 마이 탭은 참여자 반복 진입 — 읽기 지배적, 목표 p95 1초. 유저당 판정 행 = 참여 챌린지 × 일수 수준이라 월 캘린더 조회는 인덱스 범위 스캔으로 충분.
- 외부 의존성: 닉네임 모더레이션 LLM·이미지 SafeSearch — 프로필 편집 경로.
3. 목표 (Goals) / 목표가 아닌 것 (Non-Goals)
Goals
- 같은 사실이 화면마다 다르게 보이지 않게 한다 — 단일 원천 원칙: 모든 표면이 VerificationResult 하나에서 파생.
- 일자 상세 응답에 이의 가능 여부 — D+1 00:00~D+2 00:00 KST 유예 창 — 를 포함해 N+1 호출을 없앤다.
- 닉네임·사진 통합 1개월 잠금과 모더레이션 재수정 예외를 정확히 구현한다.
Non-Goals
- 이의 접수 처리 — 인증 모듈. 판정·점수 계산 — 각 모듈. 차단 목록 CRUD — 신고 모듈 (
/users/me/blocks). 초대 보상 지급 — 보상 정책 확정 전 범위 밖. 초대 코드·링크·현황 조회는 Phase 1 범위.
4. 계획 (Plan)
4-1. DB 스키마 상세