PLAN v3 · Oracle 검토 반영

RB-6289 · 슬랙 온보딩 플로우 개선

Linear · RB-6289 Project · Better onboarding flow Team · Runbear KR Status · Todo

결론. 슬랙 OAuth → welcome DM → 추천 / 직접 입력 → team agent 생성까지 한 호흡으로 이어지는 conversational journey를 만든다. C안 starter(T3 Gmail external trigger + I2 Zoom tool integration)는 합의된 항목. 4개 gap (G1 starter / G2 OAuth 복귀 / G3 team agent orchestration / G4 em dash) 을 4 PR로 분할해 점진 배포한다.

핵심 정정. create_agent MCP tool은 이미 존재한다. G3는 "신규 tool 도입"이 아니라 "기존 tool 조합 orchestration 검증"이 1순위, wrapper tool은 fallback.

1. 현재 vs 목표 journey

현재 journey는 starter 추천 → OAuth 링크 prose → ★ drop-off로 끝난다. 목표 journey는 두 분기(추천 / 직접 입력)가 동일한 하류 흐름으로 합쳐져 team agent 생성까지 완주한다.

Slack OAuth 완료
   │
   ▼
Welcome DM
   [Show me what's possible]   [I have a job in mind]
   │                            │
   ▼                            ▼
[A. 추천 분기 — C안]           [B. 직접 입력 분기]
  • "Alert me when a Gmail     사용자 자유 입력
     with [keyword] arrives"
  • "Summarize my Zoom         (preset palette 밖이면 가장 가까운
     recordings here"            preset으로 매핑 + 한계 고지)
   │                            │
   └────────────┬───────────────┘
                ▼
        [통합 하류 흐름]
        intent normalized
                ↓
        required auth/OAuth (단일 primary CTA)
                ↓
        ★ G2: OAuth 완료 후 personal agent 자동 발화 복귀
                ↓
        confirmation gate (1턴 승인 — "이 조합으로 만들까요?")
                ↓
        ★ G3: team agent 생성 + trigger 배포 + channel/target 묶음
              (기존 MCP tool: create_agent + connect_app_to_agent +
               create_external_trigger / create_scheduled_job)
                ↓
        recap: "Created agent X / Deployed / Posting to #channel"
                ↓
        next-step surface (modes_recommended 미달) 또는 graduation

2. 4 Gap

#GapLayerPR
G1 starter가 Slack-내부 검색(Q1/Q2)에 편향 — 카드 "예시 다양성" hidden prompt fallback .ts + Langfuse production (dual-sync) PR 2
G2 OAuth 완료 후 personal agent 대화 자동 복귀 없음 worker / API adapter layer (BC 경계 — inbox BC 내부 X) PR 3
G3 team agent 생성이 conversation 밖 — "그냥 링크만 던져준다" 기존 MCP tool 조합 orchestration. create_agent는 이미 존재. wrapper tool은 fallback. PR 4
G4 welcome DM 본문 em dash 1곳 welcome DM 빌더 1줄 PR 1

3. PR 분할 전략

PR 1 Quick · 즉시

G4. bounded-contexts/inbox/src/application/commands/index.tsbuildWelcomeValuePropMessage welcome DM 본문 em dash 1곳 제거. 카드 description의 "즉시"는 이 PR에만 해당.

검증 — 변경 파일 단위 type-check + pnpm lint:ci. dev에서 슬랙 OAuth 한 번 돌려 본문 확인.

PR 2 Short · 텍스트·프롬프트

G1. starter 2줄을 C안으로 교체 + hidden prompt의 "Lead with Q-tier" 룰을 "Lead with T/I-tier"로 반전 + "Or try:" alt mix rule + Hard constraints + Good opening A/B 예시 + modes_recommended 우선순위. .ts fallback + Langfuse production prompt dual-sync 필수 (memory project_onboarding_prompt_dual_sync).

인프라 의존 없음 → PR 1과 병렬 머지 가능. 검증 — hidden prompt 테스트의 starter 어서션 보강. Langfuse production fetch로 새 버전 라벨 확인.

PR 3 Medium · OAuth 복귀 인프라

G2. OAuth 완료 → Slack DM thread → personal agent 자동 발화 메커니즘 도입. BC 경계 가드 — OAuth callback과 Slack platform id 해석은 worker / API adapter layer 안에서. inbox BC에는 connectionUrn 기반 command만 전달.

실패 / 취소 / 만료 fallback 포함. OAuth completion page에 Slack permalink + "DM에 done 입력" 경로.

PR 4 Medium · Team agent orchestration

G3. personal agent가 기존 MCP tool(create_agent + connect_app_to_agent/attach_app + create_external_trigger / create_scheduled_job) 조합으로 confirmation 후 team agent 자동 생성. 우선 조합 안정성 검증 → 불안정하면 그때만 wrapper tool 신규 도입.

confirmation 게이트 필수 (LLM 자율 금지). edit / cancel / skip 처리. 중복 방지 (동일 user에 유사 agent / trigger 이미 있을 때 재사용 또는 안내).

PR 1·2는 PR 3·4 없이도 즉시 사용자 가치. PR 3·4는 인프라 변경 위험 분리.

4. 5개 결정 (Oracle 권고 반영)

#결정권고
1LLM 자율 vs 1턴 confirmationconfirmation 필수. OAuth 링크는 명시 의도면 즉시 노출 OK. team agent 생성 · trigger 배포 직전엔 반드시 1턴 승인.
2OAuth 자동 복귀 메커니즘 현 존재 여부현재 없음. PR 3에서 신규 도입.
3두 분기 하류 흐름 통합통합. intent normalized → auth → confirmation → create/deploy → recap 1개 경로.
4자동 복귀 불가 시 타협안OAuth completion page에 Slack permalink + "DM에 done 입력" — 임시 타협, G2 완전 해결은 아님.
5measurement 이벤트 도입필수. 기존 onboarding_cta_click 만으로 부족.

5. 측정 이벤트 (PR 3·4와 함께 도입)

기존 funnel 부족. 새로 emit해야 할 이벤트(이름은 코드 컨벤션 따름):

PostHog project 52166, Langfuse production trace. 7일 funnel 측정.

6. journey 분기 케이스 (Oracle 보강)

PR 4 구현 시 모두 고려해야 할 엣지 케이스:

7. 리스크 / 롤백

#리스크완화
R1PR 3·4 인프라 변경이 1 PR로 끝나지 않음Oracle 권고대로 G2 / G3를 별 PR로 분리
R2team agent 자동 생성이 너무 빠르면 사용자가 동의 시점 모름결정 #1 confirmation 게이트로 완화
R3OAuth 자동 복귀 기술 제약 발견결정 #4 타협안으로 부분 회수
R4.ts fallback과 Langfuse production prompt 불일치새 버전 push 후 production fetch 즉시 검증 필수

롤백 단위 — 각 PR 독립. PR 2의 Langfuse production prompt는 옛 버전으로 라벨 이동.

8. Monitoring Plan

9. 합의 / 미합의

합의 (사용자 답변 + Oracle 검증)

구현 plan (v4)에서 확정할 것