바이어 검색 이후 "AI / 수동 캠페인" 진입 흐름을 코드베이스 기준으로 전수 조사하고, 진입점 불일치(drift)를 통일 · 죽은 화면(create-unified)을 은퇴시킨 작업 + 남은 정리 계획을 정리한 문서입니다.
같은 "수동/AI 캠페인 생성"이 진입점마다 다른 화면으로 갈라지던 drift 를 제거. 3개 진입점 모두 동일 2화면으로 통일.
?customerGroupId 로 넘겨 진입 화면에서 preselect./sequences/create-unified (UnifiedCampaignPage) 는 통일 후 진입점 0 → 완전 제거. FE·BE·i18n·e2e 전 계층 잔존 0 (grep 검증).
| PR | 내용 |
|---|---|
| #8334 | /leads 캠페인 시작 → create·proposal 연결 + proposal 그룹 preselect |
| #8335 | 알림 진입 통일 + UnifiedCampaignPage 서브트리 14파일 삭제 |
| #8343 | 잔재 정리 — dead i18n 185키 · allowlist · e2e route · 주석 |
lead-discovery/ChatRoom.tsx:1578) 1개뿐 → 별도 lead-discovery-v1 은퇴(아래 P2)에 포함.personalizedPath/templatePath 는 라이브).| # | 진입점 | 파라미터 | 상태 |
|---|---|---|---|
| 1 | GradeCampaignCards.tsx:150 · 바이어 인사이트 등급 카드 | customerGroupId | LIVE |
| 2 | CampaignFromGroupModal.tsx:72 · 어시스턴트 마일스톤 CTA | params | LIVE |
| 3 | SequencesPage.tsx:140 · 목록 "수정"(개인화 draft) | id | LIVE |
| 4 | CampaignStatusTabs.tsx:695 · 상태 탭 편집 | id | LIVE |
| 5 | CampaignModeSelectModal.tsx:112 · 개인화 카드(ChatRoom autoMode) | customerGroupId | LIVE |
| 6 | SequenceEditPage.tsx:101 · edit→개인화 draft 리다이렉트 | id (replace) | LIVE |
| 7 | campaign-readiness.ts:80 · readiness 액션 URL | id | LIVE |
| 8 | lead-discovery/ChatRoom.tsx:1578 · V1 레거시 | id | LEGACY |
CreatePersonalizedCampaignPage.tsx:106,298없는/타 워크스페이스 id 로 진입 시 useSequence 의 error 를 안 읽음 → 빈 Step2 화면에서 멈춤(토스트·리다이렉트 없음). SequenceEditPage 는 처리하는데 이 페이지만 누락.
SequenceEditPage.tsx:97-100 vs SequencesPage.tsx:138개인화+ready 캠페인을 목록에서 "수정"하면 create-personalized 가 아닌 edit(DraftReadyContent)로 가서 활성화 CTA 가 사라짐 → 활성화 동선 단절.
ready 포함해 SSOT 통일.개인화 스트리밍은 DB status 를 draft 유지 → status==="generating" 분기 미트리거(방어적, 무해).
SequenceEditPage.tsx:199-201 에서 분류 누락(도달 불가 추정).
/campaign-calendar/standalone 제거
operations?tab=calendar 와 중복(같은 컴포넌트 임베드)./lead-discovery-v1 은퇴
e2e/routes.json 재생성
sync-routes.mjs 경로 타 머신 하드코딩 수정.?id= 에러 처리 — 트리비얼, SequenceEditPage 패턴 복제ready 상태 라우팅 SSOT 통일 — 활성화 동선 단절 방지