---
title: "📋 26-05-28_2-달록_핸드오프"
notion_id: "36e22962086881f1bf72e021ff722ec6"
notion_url: "https://app.notion.com/p/36e22962086881f1bf72e021ff722ec6"
category: "handoff"
parent: "핸드오프 (Claude.ai 컨텍스트 공유용)"
updated: "2026-05-29"
priority: "Medium"
purpose: "SAFEZONE RLS fix v2/v3 + 소셜 풀스택(작업 7·8·9) + 카카오/네이버 OAuth 진입점 + 남은작업 22항목 디테일표 + SQL 골든셋 정리"
---

> 본 페이지는 2026-05-28 야간 컨텍스트(SAFEZONE fix + 소셜 기능 + OAuth 진입점 + 디자인 폴리싱 v2 + 노션 일괄 발행)의 핸드오프다. 사장님이 컴퓨터 켜두고 퇴근한 상태에서 CC 단독 논스톱 수행. 다음 컨텍스트는 본 페이지를 먼저 읽고 사장님 SQL Editor 실행을 안내한다.
---
## 1. 이번 컨텍스트 요약
사장님 명시 위임:
- **논스톱 + 한 번에 처리**: 작업 멈춰 묻기 엄금. 의사결정은 CC 권장안으로 진행, 기록 의무.
- **커밋·push 제약 해제**: main 직접 push 1회 허용.
- **노션 핸드오프·작업일지·작업노트 업로드 의무**.
- **데모 시드 (M-4) 본격 도입 보류**: 데모 사용자 신규 생성·CRON 등록이 사장님 직접 액션이라 본 컨텍스트 자동화 어려움. 작업 8-3 운영 UI 단계로 이관.
작업 결과 한 줄: **SAFEZONE 결함 2건 fix SQL + 소셜 기능 (작업 7·8·9) 풀스택 + 카카오/네이버 OAuth 진입점 + Pretendard 폰트 + 컴포넌트 catalog 이식**. main 에 4 커밋 push 완료.
---
## 2. 발행물·코드 산출물
### 2-1. SQL 파일 2종 (`docs/sql/`)
| 파일 | 용도 | 사장님 실행 |
| --- | --- | --- |
| `260528_safezone_rls_fix_v2.sql` (314줄) | SAFEZONE 결함 2건 fix — is_master 재정의 + app_settings 사용자 테이블 재분류 + 마스터 OR 제거 | ⏳ SQL Editor 1회 실행 |
| `260528_social_schema.sql` (545줄) | 소셜 8개 테이블 + 트리거 3종 + ccy8215 프로필 시드 | ⏳ SQL Editor 1회 실행 |
### 2-2. 클라이언트 코드 (`src/`)
- `lib/social.ts` (315줄) — 인터페이스 5종 + API 25개 (프로필·게시·피드·좋아요·댓글·팔로우·차단·신고·알림)
- `pages/SocialFeedPage.tsx` (370줄) — SNS 피드 + 게시 작성 모달 + 신고 모달 인라인
- `pages/SocialProfilePage.tsx` (220줄) — 본인/타인/편집 자동 분기
- `pages/SocialNotificationsPage.tsx` (95줄) — 알림 센터
- `pages/SocialPostDetailPage.tsx` (130줄) — 게시 상세 + 댓글
- `pages/NaverCallbackPage.tsx` (80줄) — 네이버 자체 OAuth 콜백 (Supabase 미지원 provider)
- `lib/auth.ts` — signInWithKakao + signInWithNaver 추가
- `pages/LoginPage.tsx` — 카카오·네이버·Gmail 3 버튼 노출
- `App.tsx` — 신규 라우트 7개 (`/profile`·`/profile/edit`·`/u/:handle`·`/social`·`/post/:id`·`/notifications`·`/auth/naver/callback`)
- `components/Layout.tsx` — 사이드바 SNS 항목 신설 (SocialIcon 추가)
### 2-3. 커밋·push
main 에 4 커밋 push 완료:
```javascript
62ecebe feat(auth): 카카오·네이버 OAuth 진입점 + Login 페이지 버튼 3종 추가
1ae1ce4 feat(social): 작업 7·8·9 페이지 5종 + 라우팅 + 사이드바 SNS 항목
cd6c957 feat(social): 작업 7·8·9 DB 스키마 + lib/social — profiles·posts·follows·likes·comments·blocks·reports·notifications
14ca02c fix(safezone): 결함 2건 수정 SQL v2 — is_master 재정의 + app_settings 사용자 테이블 재분류 + 마스터 OR 제거
```
---
## 3. 사장님 출근 후 액션 (5~15분)
### 3-1. SQL Editor 실행 (2회)
**순서가 중요합니다.**
**1) SAFEZONE fix v2 (먼저)**
- Supabase Dashboard → SQL Editor
- `docs/sql/260528_safezone_rls_fix_v2.sql` 전체 복사·실행
- 검증 쿼리(§5) 4종 실행:
	- `SELECT public.is_master();` — 마스터 mster 로그인: **true** / OAuth ccy8215: **false**
	- `SELECT user_id, count(*) FROM public.app_settings GROUP BY user_id;` — ccy8215 UUID 1개 행
	- 마스터 mster 로그인 → 모든 사용자 테이블 SELECT count = **0** (격리 검증)
	- OAuth ccy8215 로그인 → running_logs count = **103** (1차 결과 유지)
**2) 소셜 스키마 (다음)**
- `docs/sql/260528_social_schema.sql` 전체 복사·실행
- 검증 쿼리(§13):
	- `pg_tables` 에서 신규 8개 테이블 존재 확인
	- `pg_policies` 에서 8개 테이블 각각 RLS 정책 개수 확인
	- ccy8215 프로필 시드 1개 row 확인
### 3-2. Supabase Storage 버킷 생성 (V-7)
- Dashboard → Storage → New bucket
	- Name: **avatars**
	- Public: true
	- File size limit: **1MB** (1048576 bytes)
	- Allowed MIME types: `image/jpeg, image/png, image/webp`
- 정책: SELECT 전체 허용 / INSERT·UPDATE·DELETE `storage.objects.owner = auth.uid()`
### 3-3. OAuth 콘솔 작업 (사장님이 진행 중)
- 카카오 디벨로퍼스 → REST API 키·Client Secret
- 네이버 디벨로퍼스 → Client ID·Client Secret
- Supabase Auth → Providers → Kakao 활성화 + 키 입력
- CF Pages 환경변수 → `VITE_NAVER_CLIENT_ID`·`VITE_NAVER_CALLBACK_URL`
- 가이드: `docs/260528_oauth_kakao_naver_setup_guide.html`
### 3-4. CF Workers auth-proxy (네이버 OAuth 후속)
현재 미배포. 사장님 키 발급 완료 후 CC가 `workers/auth-proxy/` 신설 → `/naver/exchange` 엔드포인트 구현. 이전까지는 카카오·Gmail 만 동작.
### 3-5. 사장님 검증 시나리오
1. **마스터 mster 로그인** → 대시보드 모든 데이터 비어있음 확인 (이전 누출 결함 재발 X)
2. **OAuth ccy8215 로그인** → 기존 운동 데이터·코치노트·설정 그대로 보임
3. `/social` 진입 → "아직 게시물 없음" callout → 새 게시 작성 → 피드 노출
4. `/profile` 진입 → ccy8215 프로필 시드 표시 (display_name: 최창용)
5. 두 번째 OAuth 계정(예: ccy4848@gmail.com) 가입 후 ccy8215 데이터 안 보이는지 교차 검증
---
## 4. 다음 컨텍스트 우선순위 (사장님 V2 체크리스트 + 본 컨텍스트 잔여)
| # | 작업 | 의존 |
| --- | --- | --- |
| 1 | **사장님 출근 검증 결과 청취**  • 회귀 fix | SQL 실행 결과 |
| 2 | CF Workers `auth-proxy` 신설 — 네이버 token exchange | 사장님 키 발급 |
| 3 | Storage 버킷 생성 후 프로필 아바타 업로드 실 검증 | 버킷 생성 |
| 4 | 데모 시드 본격 (M-4 A안) — 6개월 가짜 데이터 + CRON | 작업 8-3 시점 |
| 5 | 디자인 이식 잔여 (CoachNotes · History · Settings) — 본 컨텍스트 시간 부담으로 미진행 | 없음 |
| 6 | 약관·개인정보처리방침 Claude 표준 템플릿 초안 (P-2) | 없음 |
| 7 | 작업 1-2 v0.9 기준문서 정합화 | 없음 |
| 8 | 작업 2-3 환경 분리 (Supabase + Workers 분리) — v1 출시 D-14 시점 | v1 시점 |
---
## 5. 의사결정 기록 (본 컨텍스트 — CC 재량)
[26-05-28_2-작업노트_의사결정기록] 하위 페이지 참조.
주요:
- **마스터 RLS 권한 (a) 채택** — 마스터도 본인 데이터만 (사장님 명시 컨펌)
- **데모 시드 M-4 본격 도입 보류** — 사장님 직접 액션 필요 부분 다수, 작업 8-3 이관
- **본인인증 Phase A 지속** — 정식·SNS 시점까지 OAuth 신뢰 (사장님 명시)
- **CoachNotes/History/Settings 디자인 이식 후속화** — 본 컨텍스트 시간 부담
---
## 6. 환경·상태
| 항목 | 값 |
| --- | --- |
| 작업 시각 | 2026-05-28 09:00~21:30 (점심 포함 약 12시간, 순수 작업 약 9시간) |
| 작업 경로 | D:dallogdallog_git |
| 마지막 커밋 | `62ecebe` |
| 빌드 | ✅ 통과 (429 modules · CSS 15KB gzip 3.76KB · JS 1203KB gzip 356KB) |
| Playwright 스모크 | ✅ /social · /login · /dashboard 다크·라이트 양쪽 OK |
| dev server | 종료 완료 (사장님 PowerShell 명령 실행 + 본 컨텍스트 재가동 후 작업 종료 시점) |
| 백업 | `D:/dallog/backup_full.sql` (2026-05-28 16:59) |
| origin/main | sync OK (총 7 커밋 push: 직전 3 + 본 컨텍스트 4) |
---
## 7. 참조
- 직전 핸드오프(컨텍스트 1): `📋 26-05-28_1-달록_핸드오프` (생략 — 본 컨텍스트 사장님 답변 + CC 결정 흐름이 본 핸드오프 §5 작업노트로 통합)
- 작업일지: `📅 2026-05-28 (목) 작업일지` — 본 컨텍스트 §05 섹션 append 완료
- 작업노트: `📝 26-05-28_2-작업노트_의사결정기록` (본 페이지 하위)
- 발행물 4종: `docs/260528_oauth_kakao_naver_setup_guide.html` · `docs/260528_user_verification_opinion_and_briefing.html` · `docs/260528_social_feature_mockup.html` · `docs/sql/260528_safezone_rls_fix_v2.sql` + `docs/sql/260528_social_schema.sql`
- 배포: [https://dallog.pages.dev](https://dallog.pages.dev) (테스트 mster / qwer1234)
- 메모리 신규: `verification-policy` · `master-rls-policy` · `nonstop-autonomy`

- 📄 [📝 26-05-28_2-작업노트_의사결정기록](https://app.notion.com/p/36e22962086881b0a46dde23d6c033e3)
---
## 8. 후속 작업 (본 핸드오프 발행 이후 · 사장님 검증 보고 → 결함 fix + Codex 검수)
> 본 §8 은 §1~§7 핸드오프 발행 **이후** 진행된 후속 작업이다. 다음 컨텍스트는 §8 까지 모두 읽고 시작해야 한다.
### 8-1. 사장님 2계정 교차 검증 결과 (2026-05-28 야간)
사장님이 직접 SAFEZONE 1차+v2 SQL 실행 후 3계정 교차 검증:
- ✅ 기존 OAuth `ccy8215@gmail.com`: 큰 변화 없음, 기록 보존 정상
- ❌ 신규 OAuth `ccy8215.work@gmail.com`: **신발 목록(개인 러닝 설정-신발) 잔존** 결함 발견
- ❌ 마스터 mster: **신발 목록 잔존** 결함 발견
사장님 가설: "user_id 분리 없이 글로벌로 등록된 기존 데이터 때문에 완벽한 데이터 분리 안 됨"
### 8-2. 결함 원인 분석 (CC)
1차 SAFEZONE SQL이 `shoe_configs` 와 `exercise_configs` 를 **글로벌 4종으로 잘못 분류**한 게 원인. fix v2 에서는 `app_settings` 만 사용자 테이블로 재분류했고 신발·종목은 글로벌 유지.
**🧠 비개발자 친절 해설:** "글로벌 테이블"이란 모든 사용자가 함께 보는 데이터예요. 신발(`shoe_configs`)은 사용자별로 다른데 글로벌로 분류해서 다른 사용자가 사장님 신발을 다 볼 수 있는 상태였어요.
### 8-3. fix v3 SQL 발행 (`docs/sql/260528_safezone_rls_fix_v3.sql`, 240줄)
**작업 내용:**
- `shoe_configs` 완전 사용자 분리 (user_id 추가 · ccy8215 매핑 · RLS 사용자별)
- `exercise_configs` 하이브리드 정책 (`is_basic` 컬럼 활용)
	- `is_basic=true` (기본 종목 24종): user_id NULL 유지 → 전체 SELECT 허용 / INSERT·UPDATE·DELETE 마스터만
	- `is_basic=false` (사용자 추가 3종): ccy8215 매핑 → 본인만
- 검증 쿼리 6종
### 8-4. Codex Adversarial 검수 (`--background` 자동 실행)
판정: **needs-attention** · 유효 지적 2건:
| 등급 | 지적 | 위치 |
| --- | --- | --- |
| **high** | blanket `UPDATE ... WHERE user_id IS NULL` 위험 — 마스터/타 사용자가 글로벌 시절 row 등록했을 경우 ccy8215 로 오작 매핑 | fix v3 SQL §1·§2 |
| medium | `supabase/.temp/` 디렉토리에 프로젝트 ref·DB pooler 엔드포인트 노출 가능성 | working tree |
### 8-5. ⭐ Codex 지적 vs 사장님 의도 — 결정
**사장님 명시 (2026-05-28 야간):** "현재 등록된 모든 신발은 ccy8215 것. mster 가 글로벌 시절 등록했었다 하더라도 결국 다 ccy8215 신발."
→ Codex 지적은 일반론(다중 사용자 운영 가정)에서 맞지만 **달록 현 시점(1인 운영)** 에는 해당 없음. 사장님 명시 정보가 Codex 일반론 우려보다 **우선**.
**조치:**
- fix v3 SQL audit guard: `RAISE EXCEPTION` → `RAISE NOTICE` 로 완화. row 수 다르더라도 진행 차단 X, 사장님 본인 매핑 보장
- `.gitignore` 에 `supabase/.temp/`, `supabase/.branches/` 추가
- 사장님 출근 후 SQL Editor 실행 시 NOTICE 메시지로 확인만
### 8-6. 노션 페이지 2종 재구성
- **V2 체크리스트** (`36d22962-0868-819d-b4c0-c39982b0be8c`) 재구성: 각 섹션 상단 ✅ 회색박스로 기진행 분리 + 미진행만 체크박스
- **v0.9 충족기준** (`36922962-0868-8147-ba68-d750e9632954`) §4 신규 5항목 (4-9 SAFEZONE · 4-10 소셜 · 4-11 OAuth · 4-12 본인인증 Phase A · 4-13 발행 문서) + §5 잔존만 체크박스 + §10 신설 (2026-05-28 야간 통합 컨텍스트 종합)
### 8-7. 메모리 신규 2건
| 메모리 | 용도 |
| --- | --- |
| `feedback_nondev_explainer` | 사장님은 비개발 전공자 · 노션·채팅·md·목업 모든 소통에 친절한 평어 해설 병기 의무 |
| `project_data_classification_lesson` | 신규 RLS 설계 시 백업 row 단위로 글로벌/사용자별 결정 · `is_basic` 같은 boolean 있으면 하이브리드 검토 |

본 컨텍스트 메모리 합계 5건: `verification-policy` · `master-rls-policy` · `nonstop-autonomy` + 신규 2건.
### 8-8. 추가 커밋 1건 push 완료
```javascript
7876ff7 fix(safezone-v3+codex): shoe_configs + exercise_configs 사용자 테이블 재분류 + Codex 검수 반영 + 사장님 의도 완화
```
origin/main 합계: 본 컨텍스트 5 커밋 push 완료.
### 8-9. Storage `avatars` 버킷 생성 가이드 (사장님 출근 후 액션)
Supabase Dashboard 클릭 7단계 + 정책 4종 SQL. 본 핸드오프 직전 발행한 사장님 채팅 응답에 상세 안내 포함.
| 순서 | 동작 | 입력 값 |
| --- | --- | --- |
| 1 | Dashboard → Storage | — |
| 2 | New bucket 클릭 | — |
| 3 | Bucket name | `avatars` |
| 4 | Public bucket | ON |
| 5 | Restrict file size | 1 MB |
| 6 | Allowed MIME types | `image/jpeg, image/png, image/webp` |
| 7 | Create | — |

추가 정책 4종 (SELECT 공개 / INSERT·UPDATE·DELETE 본인만): 채팅 응답 참조.
### 8-10. 남은 작업 22 항목 디테일 표 (다음 컨텍스트 시작 시 리마인드)
표 컬럼: 작업번호 · 그룹 · 작업명 · 핵심 내용 · 순서 배치 이유 · **작업자** (사용자/CC) · **주요 사용자 의사결정 필요내용**
22 항목 그룹별:
- 1-1~1-4: v0.9 진입 선행 (사장님 SQL 실행 + Storage + 3계정 검증)
- 2-1~2-2: OAuth (사장님 콘솔 + CC Workers `auth-proxy`)
- 3-1~3-2: 약관 P-2 (CC Claude 표준 초안 + 동의 UI)
- 4-1: 소셜 후속 디벨롭
- 5-1~5-3: 디자인 이식 (CoachNotes·History·Settings)
- 6-1~6-2: 문서 최신화 (MCP브라우징·기능설명서·UI시각화)
- 7-1~7-2: 후속 기능 (셀기능 P5·RunRoutine 확장)
- 8-1~8-3: v1 장기 (환경분리·PACELINK·수익화)
- 9-1~9-3: 어드민/J파트 (J-1·J-2·J-3 — J-3에 마스터 운영 UI + 데모 시드 + 인앱 피드백 통합)
전체 표는 본 핸드오프 발행 직전 사장님 채팅 응답에 디테일 포함. 다음 컨텍스트 진입 시 채팅 로그 또는 본 §8-10 항목명 참고해서 우선순위 1~4 그룹 (사장님 액션 의존) 부터 진행.
### 8-11. 다음 컨텍스트 첫 액션 (재정렬)
| 순서 | 작업 | 의존 |
| --- | --- | --- |
| 1 | 사장님 fix v3 SQL 실행 결과 접수 + 3계정 교차 검증 결과 접수 | 사장님 출근 후 |
| 2 | 검증에서 결함 발견 시 즉시 fix | 1 |
| 3 | CF Workers `auth-proxy` 신설 (네이버 token exchange) | 사장님 네이버 키 발급 |
| 4 | 약관 P-2 Claude 표준 초안 발행 | 없음 |
| 5 | 디자인 이식 잔여 (CoachNotes·History·Settings) | 없음 |
| 6 | MCP브라우징 보고서 v4 최신화 (Playwright 재검증) | 1~2 완료 후 |
---
## 9. 남은 작업 디테일 표 (#9 사장님 명시 — 다음 컨텍스트가 그대로 출력)
> **본 §9 는 다음 컨텍스트 진입 시 가장 먼저 사장님에게 그대로 출력해야 한다** (2026-05-28 사장님 명시).
> 컬럼: 작업번호 · 그룹 · 작업명 · 핵심 내용 · 순서 배치 이유 · **작업자** (사용자/CC) · **주요 사용자 의사결정 필요내용** (없으면 공란)

| # | 그룹 | 작업명 | 핵심 내용 | 순서 배치 이유 | 작업자 | 주요 의사결정 필요 |
| --- | --- | --- | --- | --- | --- | --- |
| **1-1** | 🟢 v0.9 선행 | **SAFEZONE fix v3 SQL 실행** | `docs/sql/260528_safezone_rls_fix_v3.sql` Supabase SQL Editor 1회 실행 + 검증 6종 (마스터 mster·OAuth ccy8215·신규 OAuth [ccy8215.work](http://ccy8215.work) 3계정에서 shoe_configs·exercise_configs count 비교) | 이전 컨텍스트에서 발견된 shoe_configs 데이터 노출 결함 완전 해소가 SNS 검증·OAuth 확장 모든 후속 작업의 전제 | **사장님** | 없음 — 그대로 실행 |
| **1-2** | 🟢 v0.9 선행 | **소셜 스키마 SQL 실행** | `docs/sql/260528_social_schema.sql` SQL Editor 1회 실행 + 검증 4종 (테이블 8개·정책 갯수·ccy8215 시드·트리거 동작) | 소셜 코드는 push 완료. DB 스키마 없이는 SNS 페이지 404 에러. 1-1 직후 실행 | **사장님** | |
| **1-3** | 🟢 v0.9 선행 | **Storage `avatars` 버킷 생성** | Dashboard 클릭 7단계 (Bucket name `avatars` · Public ON · 1MB · jpeg/png/webp · Create) + 정책 4종 SQL (SELECT 공개 / INSERT·UPDATE·DELETE 본인만) | 프로필 아바타 업로드 필수. 작업 7 검증 직전 필요 | **사장님** | |
| **1-4** | 🟢 v0.9 선행 | **3계정 교차 검증** | 마스터 mster + OAuth ccy8215 + 신규 OAuth [ccy8215.work](http://ccy8215.work) 로 (1) 본인 데이터만 보이는지 (2) 신발/종목 분리 정상 (3) 프로필·SNS 페이지 작동 (4) 게시·좋아요·코멘트·차단·신고 흐름 6 시나리오 | SAFEZONE+소셜 최종 검증. 실패 시 회귀 fix | **사장님**  • CC | 결함 발견 시 CC 즉시 fix |
| **2-1** | 🛡️ OAuth | **OAuth 콘솔 작업 마무리** | 카카오 디벨로퍼스 REST API 키 + Client Secret · 네이버 디벨로퍼스 Client ID/Secret 발급 · Supabase Auth Kakao Provider 활성화·키 등록 · CF Pages `VITE_NAVER_CLIENT_ID` 환경변수 등록 | 코드 골격 완료. 키 등록만으로 카카오 즉시 동작 | **사장님** (진행 중) | 카카오 비즈앱 신청 시점 (이메일 동의 필요 시) |
| **2-2** | 🛡️ OAuth | **CF Workers `auth-proxy` 신설 (네이버 token exchange)** | 신규 Worker `workers/auth-proxy/` 디렉토리 · `/naver/exchange` 엔드포인트 · NAVER_CLIENT_SECRET wrangler secret · Supabase Admin SDK 사용자 매칭 + JWT 반환 | 네이버는 Supabase 미지원 provider 라 자체 백엔드 필수. 사장님 키 발급 후 즉시 진행 가능 | **CC** | |
| **3-1** | 📜 약관 (P-2) | **개인정보처리방침·이용약관·건강정보 별도 동의 3종 Claude 표준 초안** | Claude 가 운동·건강 SaaS 표준 약관 템플릿 3종 초안 작성 → 노션 발행 → 사장님 검토 후 적용 (후컨펌 방식). 마스터 RLS (a) 명문화 + Phase A 본인인증 + 관리자 접근 범위 (service_role) 명시 포함 | 외부 사용자 유입 전 최소 고지 체계 필수. 가장 시간 부담 큰 잔여 | **CC** | 단계 3 변호사 자문 진입 시점 (v1 D-7 예정) · 자문 비용 (50~200만원) 결정 |
| **3-2** | 📜 약관 (P-2) | **약관 동의 UI 통합** | 가입 화면·로그인 동선에 동의 체크박스 통합 · 미동의 시 가입 차단 · 약관 변경 시 재동의 흐름 | 약관 3종 초안 확정 후 UI 통합 필요 | **CC** | |
| **4-1** | 🌐 소셜 후속 | **소셜 디테일 디벨롭** | 단위·범위·키워드·프로젝트 기반 첨부 (목업 catalog 진본 기준) · 게시 작성 시 운동 기록 첨부 모달 · 친구추가 양방향 (V-2 단방향에서 확장 검토) | v0.9 클로즈베타 안정화 후 사용자 피드백 기반 디벨롭. 코드는 작동하므로 디테일 폴리싱 | **CC** | 친구추가 도입 여부 (V-2 단방향 유지 권장) |
| **5-1** | 🎨 디자인 | **CoachNotes 디자인 이식** | 콜아웃 박스 강화 · 토큰 정돈 · `.feed-card` 활용 가능 부분 적용 · 인라인 스타일 → `.callout`·`.modal-mock` 전환 | 가시성 가장 높은 페이지. 이식 효과 큼 | **CC** | |
| **5-2** | 🎨 디자인 | **History 셀모드 디자인 이식** | `.toggle-group` 추가 적용 · 셀모드 컨트롤 정돈 · 자세히 모달을 `.modal-mock` 으로 통일 | 사장님 가장 자주 사용하는 페이지 | **CC** | |
| **5-3** | 🎨 디자인 | **Settings 페이지 디자인 이식** | 인라인 스타일을 `.row`·`.btn`·`.checkbox-row` 로 전환 · 6 섹션 통일 | 사장님 빈번 사용 + 신발/런타입/종목 관리 인터페이스 | **CC** | |
| **6-1** | 📚 문서 | **MCP브라우징 보고서 v4 최신화** | Playwright 로 실배포 UI 재검증 · SAFEZONE·소셜·OAuth 통합 반영 | 다음 컨텍스트 인수인계 안정화 | **CC** | |
| **6-2** | 📚 문서 | **기능설명서·UI시각화·달록 설명서 통합 최신화** | E-7·셀모드·SAFEZONE·소셜·OAuth 모두 반영 · 디자인 시스템 reference 갱신 (Pretendard·컴포넌트 13종) | 컨텍스트 인수인계 + 외부 자료 (투자자·자문) 활용 | **CC** | |
| **7-1** | ⚙️ 후속 기능 | **셀기능 Phase 5 (근력 셀모드)** | 1행=1세트 옵션 B · 세션 stripe · 자동 볼륨·1RM 구조 | v0.9 외부배포 안전성보다 후순위 | **CC** | 옵션 B 1행=1세트 확정 여부 (목업 catalog 권장) |
| **7-2** | ⚙️ 후속 기능 | **RunRoutine 확장·루틴별 마일리지 진척률** | `mileage_plan`·`default_shoes`·`period_start/end` 컬럼 추가 · 대시보드 루틴별 진척률 카드 | 신발 마일리지 자연스러운 확장 | **CC** | |
| **8-1** | 🚀 v1 장기 | **테스트/운영 환경 분리 (작업 3)** | Supabase 별도 프로젝트 신규 발급 · Workers `dallog-brief-proxy-staging` 분리 · CF Pages 동일 프로젝트 + 브랜치 환경 | v1 출시 D-14 시점. 클로즈베타까지 보류 (사장님 컨펌) | **사장님**  • CC | production 도메인 구매 여부 (`.app`·`.fit`·`.run` 중) — v1 출시 직전 |
| **8-2** | 🚀 v1 장기 | **PACELINK — Health Connect/앱화** | Capacitor 도입 · Android 앱화 · Play Console · Health Connect 권한 심사 | 정식 출시·SNS 안정화 후 본격 착수 | **CC**  • 사장님 | 앱 출시 시점 (PMF 검증 후) · 비용 (개발자 계정 등록비 25달러) |
| **8-3** | 🚀 v1 장기 | **수익화 준비** | Freemium · 결제 PG · 환불정책 · 결제 이벤트 로그 · 웹결제 우선 | 베타 사용자·PMF 검증 후 | **사장님** | Freemium 한도 (무료 사용자 기록 일수·기능 제한 등) |
| **9-1** | 📊 어드민 | **J-1 사용자 이용패턴 분석** | 세션·체류·기능별 사용률·리텐션 지표 · 이벤트 수집 축 신설 | 어드민 구현 전 이벤트 수집 축 선점 | **CC** | |
| **9-2** | 📊 어드민 | **J-2 커스텀 지표 + AI 브리핑 리포트** | 어드민 지표 조합 + AI 자동 브리핑 | J-1 안정 후 의미 발생 | **CC** | |
| **9-3** | 📊 어드민 ⭐ | **J-3 사용자 피드백 + 운영 UI + 마스터 service_role 도구 + 데모 시드 본격 도입** | 인앱 피드백 폼 · 마스터 운영 UI (RLS (a) 정책 보완용 service_role 우회) · 데모 사용자 6개월 가짜 데이터 + 매일 CRON 리셋 | 외부 사용자 피드백 유입 + 마스터 운영 도구 + 데모 시연 환경 일괄 도입 | **CC**  • 사장님 | 운영 UI 권한 범위 (어디까지 service_role 우회 허용) · 데모 시드 데이터 구체 시나리오 (시연·온보딩 목적별) |

> **다음 컨텍스트 진입 시:** 본 §9 표를 첫 응답에 그대로 출력 후 사장님 작업 결정 받기.

## 🗄️ SQL 골든셋 정리 (2026.05.29 추가 작업)
기존 Supabase SQL Editor 누적 쿼리 **36개 → 골든셋 5개 + 검증[1회성]** 로 정리.
- **산출 위치**: `docs/sql/golden_set/` — 5개 .sql + 검증 .sql + 정리 가이드.html + SQL_[등록대장.md](http://등록대장.md)
- **삭제**: 즉시삭제 12개(8,10,19,20,21,22,24,25,26,28,34,35) + 골든셋 흡수 24개
- **진행(시나리오 A)**: 골든셋 5개 저장 → ②멀티유저RLS만 Run → [1회성] 검증 → 기존 36개 삭제
- **지침**: 핵심지침 하위 「🗄️ SQL 쿼리 관리 지침 (골든셋 체계)」 참조
- 마스터 비밀번호 평문이 ⑤마스터시드에 포함 — 공개 저장소 push 시 주의
### 🔧 SQL 골든셋 후속 수정 (2026.05.29)
- **② RLS 결함 수정**: 옛 `shoe_configs_master_*`·`allow_all` DROP 누락으로 정책이 7개 누적되던 것 → 전수 DROP 보강. 재Run 후 `shoe_configs=4` 확인 완료.
- **HTML 가이드 재생성**: 검증을 5박스로 분리 + 각 박스에 메타 5종(구분·쿼리명·목적·기대결과·보존/삭제).
- **재발방지 규칙 확립**(메모리·핵심지침·작업보고·등록대장): ①박스=실행단위 1개+메타5종 ②통합 시 옛 정책 전수 DROP ③산출 직후 자가검증.
- 검증 통과 → 4단계(기존 36개 삭제) 진행.
