공치고썸타고 — 작업 보고 (2026-06-16)

작업: 카카오 로그인 심사 대기 중 "다른 거" — 앱 전반 QA(버그 헌팅) 및 안전 수정. 자율 진행([[gongsome-feedback-autonomy]]).

■ 진행률 : QA 1라운드 완료 · 확정 버그 1건 수정·배포
■ 완료 : 푸시 토큰 로그아웃 정리(공용기기 알림 오발송 방지) — 수정·tsc통과·OTA 배포
■ 진행 중 : QA 결과 사용자 검토 대기(아래 정책/저위험 2건)
■ 다음 작업 : 사용자 지시(차단 정책 결정 / 추가 QA 라운드 / 카카오 심사 후 복귀)
■ BLOCKED : 카카오 provider 키·포트원 실계약·PG·Oracle VM·SMTP(전부 사용자/승인)
■ 승인 필요 : 없음(이번 수정은 무비용·코드 한정)

1. QA 방식

읽기 전용 Explore 에이전트 3개를 병렬로 도메인 분할 스윕: ① 인증/온보딩/프로필 ② 버디경제/매칭 ③ 채팅/초대/관리자. 보고된 후보는 전부 실제 코드로 재검증해 오보를 걸러냄(에이전트 과대보고 경향 보정).

2. 검증 결과 — 오보로 판정(수정 안 함)

후보판정
sign-up에 성별 미수집 = CRITICAL오보 — 현 설계상 성별은 온보딩 폼에서 선택(의도된 동작). sign-up.tsx L28 주석 확인.
phone-verify /profile 경로 무효오보 — (tabs) 그룹은 URL에서 생략되어 /profile이 정상.
refund_eligible 초기화 = 과거 건 영구 제외 버그오보 — 주석대로 "정책 이전 건 환불 제외"가 의도된 설계(0051 L7).
view_received_like 음수 코인 레이스대체로 오보 — for update(L103)가 같은 profile 행을 직렬화하여 음수 불가.
pay_condition 여성 '동의함' 저장실재하나 수정 보류 — 하드코딩 '동의함'은 남성 온보딩 검증 통과용(성별을 폼에서 고름). 바꾸면 남성 가입이 깨짐. 여성 stray 값은 무해·미노출.

3. 확정 버그 — 수정·배포 완료

푸시 토큰이 로그아웃 시 정리되지 않음 (privacy/correctness)
로그인 시 기기 토큰을 profiles.push_token에 저장(auth-context.tsx)하나, 로그아웃 시 정리 코드가 없었음. RLS상 본인만 자기 행을 수정할 수 있어, 공용 기기에서 A 로그아웃 → B 로그인 시 A 프로필에 그 기기 토큰이 남아 A에게 갈 알림이 B 기기로 전송될 수 있음.

수정: 검증/배포: tsc --noEmit EXIT=0 · OTA(eas update --branch preview) group d07c9812 배포 완료. 웹은 동작 불변이라 재배포 생략.

4. 사용자 결정/검토 대기 항목

항목성격설명
차단(block)이 채팅까지 끊지 않음제품 정책messages RLS(0002)는 방 참여 여부만 검사하고 차단을 보지 않음. 매칭 후 차단해도 기존 채팅방에서 메시지 송수신 가능. 단, 이곳 blocks는 "지인 차단(탐색 숨김)" 용도라 채팅까지 끊을지는 정책 결정. 라이브 DB·RLS 변경이라 임의 적용 안 함.
같은 대상 동시 더블탭 중복 차감저위험view_received_like: 존재검사(L100)가 락 획득(L103) 이전이라 동시 더블탭 시 같은 대상에 5버디 중복 차감 가능(초저확률, 보통 클라이언트가 버튼 비활성화). 락 이후로 존재검사를 옮기면 해소. 필요 시 소규모 마이그레이션으로 하드닝 가능.

서비스 헬스: mobile/admin/privacy 전부 200 · 마이그레이션 0057까지. 변경 파일: mobile/src/lib/push.ts, auth-context.tsx, app/settings.tsx, onboarding.tsx, pending.tsx.