valueit - 프로젝트 타임라인

프로젝트 요약

0
백로그
8
할 일
0
진행 중
60
리뷰
14
완료
82
전체

전체 티켓 목록 (82)

리뷰 낮음 팀리드

활동 타임라인 (253)

  • 2026년 03월 26일
  • 팀리드 세션 종료 요약 - 전체 백로그 30개 소진 + P0 리뷰 수정 완료
    상세 보기

    ## 이번 세션에서 수정된 기능 (15라운드, 30개 티켓)
    - P1: DB Part 2 (9개 테이블), 전체 라우트 (194개 + 37개 스텁 컨트롤러)
    - P2: Curriculum/Lesson Admin CRUD, 학습자 뷰 + 진행 추적, 학습 대시보드, 메인 대시보드
    - P3: IdeaAnalyzer/Blueprint/ClaudeMd 서비스, Idea Analysis 비동기(Job+Turbo Stream), Blueprint UI, BuildSteps UI, Spec 편집
    - P4: Toss::Client, PaymentService, 토스 웹훅(HMAC), 결제 UI(checkout+토스 위젯)
    - P5: 커뮤니티 피드+댓글+좋아요, 쇼케이스, 코호트 신청+Admin, LAUNCH 체크리스트+카피 생성기
    - P6: AI 코치 채팅, 메일러(8개+Job), 9WAY 연동(OAuth), Ahoy(13 이벤트), Sentry, 성능+보안

    ## 리뷰 결과 + P0 수정
    - 코드 품질: 조건부 승인 → N+1 수정, 토큰 버그 수정
    - 보안: CONDITIONAL PASS → 웹훅 서명 우회 수정, URL 스킴 검증 추가
    - UX/UI: 조건부 승인 → 영어 텍스트 한국어화, Partial 사용 통일

    ## 전체 테스트
    - 622 runs, 1734 assertions, 0 failures, 0 errors

    ## 다음 세션 주의사항
    - review 60개 티켓 → 일괄 done 처리 필요
    - todo 5개 (이전 세션 서브 티켓) 정리 필요
    - CSP report-only → enforce 모드 전환 (production 검증 후)
    - P1-P2 개선 권장 사항: Build::BaseController 추출, AI 서비스 ApplicationService 통일, params.expect 전환
    - 미구현 스텁 컨트롤러: Admin::UsersController, Admin::PaymentsController, My::ProfilesController, CohortEnrollmentsController
    - git commit 필요 (대량 변경 미커밋 상태)

  • 팀리드 전체 백로그 소진 완료 - 성능 최적화 + 보안 마무리
    상세 보기

    ## 수정된 기능
    - CSP 헤더 (report-only 모드, 토스 SDK + CDN 허용)
    - Rate Limiting (회원가입 10/3min)
    - 시드 데이터 (Admin + 유저 + 커리큘럼/레슨 + 코호트 + 프로젝트 + 커뮤니티 + 쇼케이스)
    - N+1 수정 (Admin::Cohorts, Dashboard)
    - 이미지 처리 vips 설정

    ## 테스트 결과
    - 전체 620 runs, 0 failures

    ## 세션 총 진행
    - 15라운드, 30개 백로그 티켓 전체 소진 (P1~P6)
    - 총 테스트 257 → 620 runs (363개 추가)

  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 '시드 데이터 + N+1 쿼리 점검 + 이미지 처리 설정 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 'Solid Cache + CSP 헤더 + Rate Limiting + 보안 설정 + 테스트' 작업 배정
  • 팀리드 작업 시작 - 성능 최적화 + 보안 마무리 (최종 티켓)
    상세 보기

    ## 작업 계획
    - 목표: Solid Cache + N+1 제거 + CSP 헤더 + 시드 데이터
    - 접근 방식: developer-1 → Solid Cache + CSP + 보안, developer-2 → 시드 데이터 + N+1 점검

    ## 현재 상태
    - 보드 현황: backlog 1 / in_progress 1 / review 55+ / done 14
    - 이 티켓이 마지막 백로그 티켓

  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 'Ahoy 이벤트 추적 — 13개 핵심 이벤트 + Admin 통계 뷰 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 '9WAY 연동 + Sentry 모니터링 — OAuth + SyncService + Sentry initializer + 테스트' 작업 배정
  • 팀리드 작업 시작 - 9WAY + Ahoy + Sentry 3개 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P6 9WAY 연동(OAuth + 동기화) + Ahoy 이벤트(13개 추적) + Sentry 모니터링(initializer)
    - 접근 방식: developer-1 → 9WAY + Sentry (서비스/설정), developer-2 → Ahoy 이벤트 (추적 코드)

    ## 현재 상태
    - 보드 현황: backlog 4 / in_progress 3 / review 50+ / done 14

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • D
    developer-2 메일러 구현 완료
    상세 보기

    ## 변경 사항
    - UserMailer 8개 메일 + 8개 HTML 템플릿 (한국어, VALUEIT 브랜딩)
    - WeeklyNudgeEmailJob (onboarding_completed 대상)
    - letter_opener 개발환경 + Resend 프로덕션 SMTP 설정
    - ApplicationMailer default from 변경
    - 메일러 테스트 8개 + Job 테스트 3개 = 11개 통과

    ## 변경 파일
    - app/mailers/user_mailer.rb, application_mailer.rb
    - app/views/user_mailer/ (8개 템플릿)
    - app/jobs/weekly_nudge_email_job.rb
    - config/environments/development.rb, production.rb
    - Gemfile (letter_opener)
    - test/mailers/, test/jobs/

  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 '메일러 — UserMailer 8개 메일 + WeeklyNudgeEmailJob + Resend 설정 + letter_opener + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 'AI 코치 채팅 — Ai::CoachService + AiConversationsController + Turbo Stream 실시간 채팅 + 테스트' 작업 배정
  • 팀리드 작업 시작 - AI 코치 채팅 + 메일러 구현 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P6 AI 코치 채팅(Ai::CoachService + Turbo Stream) + P6 메일러(UserMailer + Resend)
    - 접근 방식: developer-1 → AI 코치 채팅, developer-2 → 메일러

    ## 현재 상태
    - 보드 현황: backlog 6 / in_progress 2 / review 48 / done 14

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 커뮤니티 댓글 완료
    상세 보기

    ## 변경 사항
    - CommunityCommentsController (create/destroy + Turbo Stream)
    - 중첩 댓글 (parent_id), comments_count 카운터 업데이트
    - 5개 뷰 (_comment, _form, create/destroy turbo_stream, show 업데이트)
    - Stimulus reply_controller.js (답글 폼 토글)
    - 8개 테스트 통과

    ## 변경 파일
    - app/controllers/community_comments_controller.rb
    - app/views/community_comments/ (4개)
    - app/views/community_posts/show.html.erb
    - app/javascript/controllers/reply_controller.js
    - test/controllers/community_comments_controller_test.rb

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 '코호트 신청 — CohortsController + CohortApplicationsController + B2bInquiriesController + Admin 관리 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 '커뮤니티 댓글 — CommunityCommentsController + 중첩 댓글 + 좋아요 토글 + Turbo Stream + 테스트' 작업 배정
  • 팀리드 작업 시작 - 커뮤니티 댓글 + 코호트 신청 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P5 커뮤니티 댓글(중첩 + 좋아요 + Turbo Stream) + P5 코호트 신청(신청 폼 + Admin 승인 + B2B 문의)
    - 접근 방식: developer-1 → 커뮤니티 댓글, developer-2 → 코호트 신청

    ## 현재 상태
    - 보드 현황: backlog 8 / in_progress 2 / review 40+ / done 14

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 커뮤니티 피드 완료
    상세 보기

    ## 변경 사항
    - CommunityPostsController CRUD + like + post_type 필터 + 핀 고정
    - 6개 뷰 (index, show, new, edit, _form, _post_card) — 다크 테마
    - POST_TYPES 검증, 스코프 추가, N+1 방지
    - 모델 테스트 9개 + 컨트롤러 테스트 16개, 전체 504 통과

    ## 변경 파일
    - app/models/community_post.rb
    - app/controllers/community_posts_controller.rb
    - app/helpers/community_posts_helper.rb
    - app/views/community_posts/ (6개)
    - test/models/, test/controllers/ (2개 테스트)

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 '쇼케이스 페이지 — ShowcaseServicesController CRUD + 카테고리 필터 + 퍼블릭 접근 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 '커뮤니티 피드 — CommunityPostsController CRUD + post_type 필터 + 핀 고정 + 페이지네이션 + 테스트' 작업 배정
  • 팀리드 작업 시작 - 커뮤니티 피드 + 쇼케이스 페이지 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P5 커뮤니티 피드(게시글 CRUD + post_type 필터) + P5 쇼케이스(showcase_services CRUD + 카테고리 필터)
    - 접근 방식: developer-1 → 커뮤니티 피드, developer-2 → 쇼케이스

    ## 현재 상태
    - 보드 현황: backlog 10 / in_progress 2 / review 40+ / done 14

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 토스 웹훅 완료
    상세 보기

    ## 변경 사항
    - Payments::WebhooksController (HMAC SHA-256 서명 검증 + PAYMENT_STATUS_CHANGED)
    - DONE→done+paid_at, CANCELED→canceled+canceled_at+cancel_reason, ABORTED/EXPIRED→failed
    - secure_compare 타이밍 공격 방지, request.body.rewind 처리
    - 9개 테스트 통과

    ## 변경 파일
    - app/controllers/payments/webhooks_controller.rb
    - test/controllers/payments/webhooks_controller_test.rb

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 '결제 UI — Payments::CheckoutController + CompletionsController + 토스 결제위젯 + 성공/실패 페이지 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 '토스 웹훅 — Payments::WebhooksController + HMAC 서명 검증 + PAYMENT_STATUS_CHANGED 처리 + 테스트' 작업 배정
  • 팀리드 작업 시작 - 토스 웹훅 + 결제 UI 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P4 토스 웹훅(HMAC 서명 검증, PAYMENT_STATUS_CHANGED) + P4 결제 UI(checkout/success/fail)
    - 접근 방식: developer-1 → 토스 웹훅, developer-2 → 결제 UI

    ## 현재 상태
    - 보드 현황: backlog 12 / todo 5 / in_progress 2 / review 36 / done 14

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 코호트 일반결제 완료
    상세 보기

    ## 변경 사항
    - Toss::PaymentService (checkout_params + confirm)
    - Result 패턴, DI(client:), 트랜잭션 처리
    - Payment + CohortEnrollment 생성 + User role 변경
    - email_address 사용, plan 컬럼 제외
    - 8개 테스트 (38 assertions) 통과

    ## 변경 파일
    - app/services/toss/payment_service.rb
    - test/services/toss/payment_service_test.rb

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 'LAUNCH 체크리스트 + Ai::CopyGeneratorService — Launch 컨트롤러 + 카피 생성 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 '코호트 일반결제 — Toss::PaymentService + checkout/confirm + Payment/CohortEnrollment 생성 + 테스트' 작업 배정
  • 팀리드 작업 시작 - 코호트 일반결제 + LAUNCH 체크리스트 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P4 코호트 일반결제(PaymentService + confirm/checkout) + P5 LAUNCH(체크리스트 + 카피 생성기)
    - 접근 방식: developer-1 → 코호트 일반결제, developer-2 → LAUNCH 체크리스트

    ## 현재 상태
    - 보드 현황: backlog 14 / todo 5 / in_progress 2 / review 32 / done 14

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • D
    developer-2 Toss::Client 완료
    상세 보기

    ## 변경 사항
    - Toss::Client 서비스 (PRD 11.1 기반)
    - confirm_payment, cancel_payment, get_payment
    - ConfigurationError (비밀키 미설정), 네트워크 에러 graceful 처리
    - 의존성 주입 (secret_key: 파라미터)
    - faraday-retry gem 추가
    - 10개 테스트 통과, 전체 419 runs 0 failures

    ## 변경 파일
    - app/services/toss/client.rb
    - test/services/toss/client_test.rb
    - Gemfile, Gemfile.lock (faraday-retry)

  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 'Toss::Client — Faraday HTTP 클라이언트 + confirm/cancel/get_payment + Basic Auth + 에러 처리 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 'Spec 편집 UI — Build::SpecsController + Turbo Frame 인라인 편집 + core_features 편집 + 테스트' 작업 배정
  • 팀리드 작업 시작 - Spec 편집 UI + Toss::Client 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P3 Spec 편집 UI(인라인 편집) + P4 Toss::Client(Faraday HTTP, 결제 API)
    - 접근 방식: developer-1 → Spec 편집 UI, developer-2 → Toss::Client

    ## 현재 상태
    - 보드 현황: backlog 16 / todo 5 / in_progress 2 / review 28 / done 14

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 ClaudeMdGenerator 완료
    상세 보기

    ## 변경 사항
    - Ai::ClaudeMdGeneratorService (API 호출 없이 순수 마크다운 생성)
    - Build::ClaudeMdsController (show/create/download + 소유자 접근제어)
    - show 뷰 (pre/code 미리보기, 다운로드/재생성 버튼, 타임스탬프)
    - 서비스 테스트 15개 + 컨트롤러 테스트 7개 = 22개 통과

    ## 변경 파일
    - app/services/ai/claude_md_generator_service.rb
    - app/controllers/build/claude_mds_controller.rb
    - app/views/build/claude_mds/show.html.erb
    - test/services/ai/ + test/controllers/build/ (2개 테스트)

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 'BuildSteps 단계별 진행 UI — Build::BuildStepsController + 목록/상세 + 완료 토글 + 프롬프트 복사 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 'ClaudeMdGeneratorService + Build::ClaudeMdsController + 미리보기/다운로드 + 테스트' 작업 배정
  • 팀리드 작업 시작 - ClaudeMdGenerator + BuildSteps UI 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P3 ClaudeMdGeneratorService(마크다운 생성+다운로드) + P3 BuildSteps UI(진행 체크+프롬프트 복사)
    - 접근 방식: developer-1 → ClaudeMdGenerator + 컨트롤러, developer-2 → BuildSteps UI

    ## 현재 상태
    - 보드 현황: backlog 18 / todo 5 / in_progress 2 / review 24 / done 14

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 메인 대시보드 완료
    상세 보기

    ## 변경 사항
    - DashboardController: LEARN 진행률, BUILD 최근 프로젝트 3개, 스트릭/XP
    - dashboard/index.html.erb: 환영 메시지, stats 카드, LEARN 위젯, BUILD 프로젝트 카드/CTA
    - 다크 테마, 반응형 그리드, 기존 Partial 활용
    - 9개 테스트 통과, 전체 366 runs 0 failures

    ## 변경 파일
    - app/controllers/dashboard_controller.rb
    - app/views/dashboard/index.html.erb
    - test/controllers/dashboard_controller_test.rb

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 'Blueprint UI — Build::BlueprintsController + 결과 뷰 + DB 스키마 시각화 + 비동기 Job + Turbo Stream + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 '메인 대시보드 — DashboardController + LEARN/BUILD 요약 위젯 + 스트릭/XP + 테스트' 작업 배정
  • 팀리드 작업 시작 - 메인 대시보드 + Blueprint UI 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P2 메인 대시보드(LEARN/BUILD 요약, 스트릭/XP) + P3 Blueprint UI(결과 뷰, DB 스키마 시각화, Turbo Stream)
    - 접근 방식: developer-1 → 메인 대시보드, developer-2 → Blueprint UI

    ## 현재 상태
    - 보드 현황: backlog 20 / todo 5 / in_progress 2 / review 20 / done 14

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • D
    developer-2 BlueprintGeneratorService 완료
    상세 보기

    ## 변경 사항
    - Ai::BlueprintGeneratorService 구현 (PRD Section 13.2)
    - TECH_STACKS 상수, DI 패턴, JSON 코드블록 strip, 에러 처리
    - build_steps 6개 자동 생성 (find_or_create_by 중복 방지)
    - 10개 테스트 통과, 전체 349 tests, 0 failures

    ## 변경 파일
    - app/services/ai/blueprint_generator_service.rb
    - test/services/ai/blueprint_generator_service_test.rb

  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 'Ai::BlueprintGeneratorService — Claude API + build_steps 자동 생성 + dev_level 스택 분기 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 '학습 대시보드 — Learn 홈 진행률 바 + 커리큘럼별 진행률 + Turbo Frames + 테스트' 작업 배정
  • 팀리드 작업 시작 - 학습 대시보드 + BlueprintGeneratorService 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P2 학습 대시보드(진행률 바, Turbo Frames) + P3 BlueprintGeneratorService(Claude API, build_steps 생성)
    - 접근 방식: developer-1 → 학습 대시보드, developer-2 → BlueprintGeneratorService

    ## 현재 상태
    - 보드 현황: backlog 22 / todo 5 / in_progress 2 / review 16 / done 14
    - 관련: 학습자 레슨 뷰 (review), IdeaAnalyzerService (review)

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 팀 작업 완료 - 학습자 레슨 뷰 + Idea Analysis 비동기
    상세 보기

    ## 수정된 기능
    - 학습자 레슨 뷰: Learn 3개 컨트롤러 + 4개 뷰 + 진행 추적 + 완료 버튼
    - Idea Analysis 비동기: AnalyzeIdeaJob + IdeaAnalysesController + Turbo Stream 실시간 갱신

    ## 테스트 결과
    - developer-1 (Learn): 15 테스트, 전체 334개 0 failures
    - developer-2 (Idea Analysis): 9 테스트, 전체 334개 0 failures

    ## 남은 이슈
    - 없음

  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-1 학습자 레슨 뷰 완료
    상세 보기

    ## 변경 사항
    - Learn::HomeController, CurriculaController, LessonsController 구현
    - 4개 뷰 (home/index, curricula/index, curricula/show, lessons/show)
    - 진행 추적: UserLessonProgress 생성/업데이트, 완료 체크마크
    - N+1 제거: includes(:lessons), index_by
    - 15개 테스트 전체 통과, 전체 334개 0 failures

    ## 변경 파일
    - app/controllers/learn/ (3개)
    - app/views/learn/ (4개)
    - test/controllers/learn/ (3개 테스트)

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • D
    developer-2 Idea Analysis 비동기 처리 완료
    상세 보기

    ## 변경 사항
    - Ai::AnalyzeIdeaJob (Solid Queue, Turbo Stream broadcast)
    - Build::IdeaAnalysesController (show/create + 소유자 접근제어)
    - 2개 뷰 (show, _result) — 다크 테마, turbo_stream_from 실시간 구독
    - Job 테스트 3개 + Controller 테스트 6개, 전체 334개 0 failures

    ## 변경 파일
    - app/jobs/ai/analyze_idea_job.rb
    - app/controllers/build/idea_analyses_controller.rb
    - app/views/build/idea_analyses/ (2개)
    - test/jobs/, test/controllers/build/ (2개 테스트)

  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 'Idea Analysis 비동기 처리 — Ai::AnalyzeIdeaJob + Build::IdeaAnalysesController + Turbo Stream + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 '학습자 레슨 뷰 — Learn 네임스페이스 컨트롤러 + 뷰 + 진행 추적 + 완료 버튼 + 테스트' 작업 배정
  • 팀리드 작업 시작 - 학습자 레슨 뷰 + Idea Analysis 비동기 처리 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P2 학습자 레슨 뷰/진행 추적 + P3 Idea Analysis 비동기(Job + Turbo Stream) 병렬 구현
    - 접근 방식: developer-1 → 학습자 레슨 뷰, developer-2 → Idea Analysis 비동기

    ## 현재 상태
    - 보드 현황: backlog 24 / todo 5 / in_progress 2 / review 12 / done 14
    - 관련: Lesson CRUD (review), IdeaAnalyzerService (review)

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 팀 작업 완료 - Lesson CRUD + IdeaAnalyzerService
    상세 보기

    ## 수정된 기능
    - Lesson Admin CRUD: Curriculum 하위 CRUD + content_type별 렌더링 + 5개 뷰
    - Ai::IdeaAnalyzerService: Claude API 호출 + JSON 파싱 + 에러 처리 + DI 패턴

    ## 테스트 결과
    - developer-1 (Lesson): 13 테스트 통과
    - developer-2 (IdeaAnalyzer): 6 테스트 (19 assertions) 통과
    - 전체: 310 runs, 0 failures

    ## 남은 이슈
    - 없음

  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 IdeaAnalyzerService 완료
    상세 보기

    ## 변경 사항
    - Ai::IdeaAnalyzerService 구현 (PRD Section 13.1)
    - 의존성 주입 패턴 (client: 파라미터) 적용
    - 에러 처리: API 키 미설정, JSON 파싱 실패, API 호출 실패, 코드블록 strip
    - 6개 테스트 (19 assertions), 전체 310개 0 failures

    ## 변경 파일
    - app/services/ai/idea_analyzer_service.rb
    - test/services/ai/idea_analyzer_service_test.rb

  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 Lesson CRUD 완료
    상세 보기

    ## 변경 사항
    - Admin::LessonsController 전체 CRUD (Curriculum 하위)
    - 5개 뷰 (index, show, new, edit, _form) — 다크 테마
    - content_type별 렌더링 (article/guide→simple_format, video→iframe)
    - 13개 테스트 전체 통과, 전체 284개 0 failures

    ## 변경 파일
    - app/controllers/admin/lessons_controller.rb
    - app/views/admin/lessons/ (5개 파일)
    - test/controllers/admin/lessons_controller_test.rb

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 'Ai::IdeaAnalyzerService — Claude API + JSON 파싱 + 에러 처리 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 'Lesson CRUD — Admin 컨트롤러 (Curriculum 하위) + 뷰 + content_type 렌더링 + 테스트' 작업 배정
  • 팀리드 작업 시작 - Lesson CRUD + IdeaAnalyzerService 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P2 Lesson Admin CRUD + P3 Ai::IdeaAnalyzerService 병렬 구현
    - 접근 방식: developer-1 → Lesson CRUD, developer-2 → IdeaAnalyzerService

    ## 현재 상태
    - 보드 현황: backlog 26 / todo 5 / in_progress 2 / review 8 / done 14
    - 관련: Curriculum CRUD (review), Project CRUD (review)

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 팀 작업 완료 - Curriculum CRUD + Project CRUD
    상세 보기

    ## 수정된 기능
    - Curriculum Admin CRUD: 컨트롤러 + 5개 뷰 + published 필터 + position 정렬 + N+1 방지
    - Project Build CRUD: 컨트롤러 + 6개 뷰 + 소유자 접근제어 + status 필터

    ## 테스트 결과
    - developer-1 (Curriculum): 13 테스트 통과
    - developer-2 (Project): 21 runs, 55 assertions, 0 failures
    - 전체: 291 runs, 858 assertions, 0 failures

    ## 남은 이슈
    - 없음

  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 Project CRUD 완료
    상세 보기

    ## 변경 사항
    - Build::ProjectsController CRUD 전체 + 소유자 접근제어
    - Build::HomeController 최근 프로젝트 조회
    - 6개 뷰 (index, show, new, edit, _form, home/index) — 다크 테마
    - Status 필터 (enum 값 검증으로 SQL injection 방지)
    - 21 runs, 55 assertions, 0 failures

    ## 변경 파일
    - app/controllers/build/projects_controller.rb, home_controller.rb
    - app/views/build/projects/ (5개), build/home/index.html.erb
    - test/controllers/build/ (2개 테스트 파일)

  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 Curriculum CRUD 완료
    상세 보기

    ## 변경 사항
    - Admin::CurriculaController 전체 CRUD 구현
    - published/unpublished 필터, position 정렬, includes(:lessons) N+1 방지
    - 5개 뷰 (index, show, new, edit, _form) — 다크 테마, 공용 Partial 활용
    - 13개 컨트롤러 테스트 전체 통과

    ## 변경 파일
    - app/controllers/admin/curricula_controller.rb
    - app/views/admin/curricula/ (5개 파일)
    - test/controllers/admin/curricula_controller_test.rb

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 'Project CRUD — Build 네임스페이스 컨트롤러 + 뷰 + 소유자 접근제어 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 'Curriculum CRUD — Admin 컨트롤러 + 뷰 + position 정렬 + published 필터 + 테스트' 작업 배정
  • 팀리드 작업 시작 - Curriculum CRUD + Project CRUD 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: P2 Curriculum Admin CRUD + P3 Project Build CRUD 병렬 구현
    - 접근 방식: developer-1 → Curriculum CRUD, developer-2 → Project CRUD

    ## 현재 상태
    - 보드 현황: backlog 28 / todo 5 / in_progress 2 / review 4 / done 14
    - 관련 기존 작업: DB Part 1 (done), 라우트 (done), 스텁 컨트롤러 생성 완료

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 팀 작업 완료 - DB Part 2 + 라우트 설정
    상세 보기

    ## 수정된 기능
    - DB Part 2: 9개 테이블 (cohorts, cohort_applications, b2b_inquiries, payments, ai_conversations, cohort_enrollments, showcase_services, community_posts, community_comments) + 모델 + 연관관계
    - 라우트: PRD Section 10 전체 194개 라우트 + 37개 스텁 컨트롤러

    ## 테스트 결과
    - developer-1 (DB Part 2): 143 runs, 237 assertions, 0 failures
    - developer-2 (라우트): 257 runs, 768 assertions, 0 failures

    ## 해결된 문제
    - FK cascade: Project 삭제 시 ai_conversations destroy 처리
    - registrations → signup 경로 변경에 따른 뷰/테스트 업데이트
    - Admin::BaseController 패턴으로 admin 권한 분리

    ## 남은 이슈
    - 없음

  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • D
    developer-2 라우트 설정 완료
    상세 보기

    ## 변경 사항
    - routes.rb PRD Section 10 전체 적용 (194개 라우트)
    - 37개 스텁 컨트롤러 생성 (learn, build, launch, my, payments, admin, api/v1)
    - Admin::BaseController + require_admin 패턴
    - 공개 접근: PagesController, Webhooks, API
    - registrations → signup 경로 변경 (뷰 4파일, 테스트 3파일)

    ## 테스트 결과
    - 라우트 테스트 38개, 인증 테스트 10개
    - 전체: 257 runs, 768 assertions, 0 failures, 0 errors

    ## 변경 파일
    - config/routes.rb
    - app/controllers/ - 37개 스텁 컨트롤러
    - test/controllers/routes_test.rb, auth_access_test.rb
    - config/locales/ko.yml (not_authorized 키 추가)

  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • 팀리드 상태 변경: 리뷰 → 완료
  • D
    developer-1 DB 마이그레이션 Part 2 완료
    상세 보기

    ## 변경 사항
    - 9개 테이블 생성: cohorts, cohort_applications, b2b_inquiries, payments, ai_conversations, cohort_enrollments, showcase_services, community_posts, community_comments
    - 9개 모델 + User/Project 모델 연관관계 추가
    - 143 runs, 237 assertions, 0 failures, 0 errors
    - rollback + re-migrate 검증 완료

    ## 변경 파일
    - db/migrate/ - 9개 마이그레이션
    - app/models/ - 9개 모델 + user.rb, project.rb
    - test/models/ - 9개 테스트 + user_test.rb
    - test/fixtures/ - 9개 fixture

  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 위임: developer-2에게 '라우트 설정 — PRD Section 10 전체 라우트 + 스텁 컨트롤러 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 'DB 마이그레이션 Part 2 — cohorts, cohort_applications, b2b_inquiries, payments, ai_conversations, cohort_enrollments, showcase_services, community_posts, community_comments' 작업 배정
  • 팀리드 작업 시작 - DB Part 2 + 라우트 설정 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: DB Part 2 (결제/커뮤니티 9개 테이블) + 전체 라우트 설정 병렬 구현
    - 접근 방식: developer-1 → DB Part 2, developer-2 → 라우트 설정

    ## 현재 상태
    - 보드 현황: backlog 30 / todo 5 / in_progress 2 / review 11 / done 3
    - 관련 기존 작업: DB Part 1 (review), Auth (review), User 모델 (review), 온보딩 (review)

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • D
    developer-2 상태 변경: 할 일 → 리뷰
  • D
    developer-1 상태 변경: 할 일 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 위임: developer-2에게 '온보딩 플로우 — 4단계 컨트롤러 + 뷰 + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 'DB 마이그레이션 Part 1 — projects, build_steps, curricula, lessons, user_lesson_progresses' 작업 배정
  • 팀리드 작업 시작 - DB 스키마 Part 1 + 온보딩 플로우 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: PRD 8.3~8.9 테이블 생성 + 온보딩 4단계 구현
    - 접근 방식: developer-1(DB), developer-2(온보딩) 병렬 진행
    - 온보딩은 DB Part 1에 직접 의존하지 않음 (User 모델 필드만 사용)

    ## 현재 상태
    - 보드 현황: backlog 32 / todo 5 / in_progress 2 / review 7 / done 3
    - User 모델 확장 완료 (enum, can_access?, toss_customer_key)
    - Tailwind 디자인 시스템 완료

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 팀 작업 완료 - User 모델 확장 + 랜딩페이지
    상세 보기

    ## 수정된 기능
    - User 모델 확장: role/onboarding_goal/dev_level enum, can_access?, toss_customer_key
    - 랜딩페이지: 라이트 테마 재설계, 7개 섹션, SEO meta-tags

    ## UX/UI 검토 결과
    - _button partial 미사용 (별도 티켓으로 분리 가능)
    - 접근성 일부 미흡 (pricing 체크마크 aria-hidden 누락)
    - 팀리드가 직접 라이트 테마로 전면 재설계

    ## 테스트/보안 검증 결과
    - bin/rails test: 66개 통과 (0 failures)
    - 보안: Brakeman 위반 없음, Rubocop 위반 없음

    ## 해결된 문제
    - dev_level enum `none` 충돌 → `no_experience`로 변경
    - Docker Tailwind watch 미실행 → Procfile.dev 통합

    ## 발견된 패턴/주의사항
    - ActiveRecord enum에서 `none` 예약어 충돌 주의
    - Docker dev 환경에서 Tailwind watch 프로세스 필수

    ## 남은 이슈
    - 랜딩페이지 _button partial 활용 (경미)
    - Procfile.dev 포트 3005 하드코딩

  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 2026년 03월 25일
  • 팀리드 위임: developer-2에게 '랜딩페이지 — PagesController + landing 뷰 + SEO + 테스트' 작업 배정
  • 팀리드 위임: developer-1에게 'User 모델 확장 — 마이그레이션 + enum + 메서드 + 테스트' 작업 배정
  • 팀리드 작업 시작 - User 모델 확장 + 랜딩페이지 병렬 진행
    상세 보기

    ## 작업 계획
    - 목표: User 모델 PRD Section 8.1 확장 + 랜딩페이지 구현
    - 접근 방식: developer-1(User 모델), developer-2(랜딩페이지) 병렬 진행

    ## 현재 상태
    - 보드 현황: backlog 34 / todo 0 / in_progress 2 / review 5 / done 3
    - 기존 User 모델: email_address, name, password_digest만 존재
    - 추가 필요 필드: role, onboarding_goal, dev_level, 9WAY, streak/XP 등
    - Tailwind 디자인 시스템 완료 (다크 테마, accent #C8FF00)

  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 Kamal 2 배포 설정 완료 - review 단계로 이동
    상세 보기

    ## 주요 변경
    - config/deploy.yml PRD 구조 일치
    - .kamal/secrets 시크릿 템플릿 (13개)
    - config/storage.yml Vultr Object Storage (S3 호환)
    - production.rb: active_storage :vultr, SSL 활성화
    - aws-sdk-s3 gem 추가

    ## 참고
    - Dockerfile, bin/jobs 이미 존재 (변경 없음)
    - Placeholder 유지 (배포 시 치환)

  • 팀리드 Tailwind 디자인 시스템 설정 완료 - review 단계로 이동
    상세 보기

    ## 주요 변경
    - Tailwind 4.x @theme 커스텀 테마 (7색상, 2폰트, 시맨틱 타이포)
    - application.html.erb 다크 테마 기본 레이아웃
    - 공용 Partial 5개 (_navbar, _flash, _button, _card, _input)
    - Stimulus 2개 (navbar, flash 컨트롤러)

    ## taste-skill 준수
    - ANTI-EMOJI, Pretendard 필수, 다크 모드 기본, Korean First 타이포

    ## 테스트
    - 7 tests 통과 (레이아웃 + flash)

  • 팀리드 Authentication 설정 완료 - review 단계로 이동
    상세 보기

    ## 주요 변경
    - Rails 8 Authentication 제너레이터 실행
    - RegistrationsController 회원가입 추가
    - User 모델 유효성 검사, Session 모델 (ip_address, user_agent)
    - Ahoy 마이그레이션 추가 (ahoy_matey 의존성)

    ## 참고
    - Rails 8은 `email` 대신 `email_address` 필드명 사용 (PRD와 다름 — Rails 컨벤션 우선)
    - root 경로 임시 설정 (sessions#new)

    ## 테스트
    - 41 runs, 288 assertions, 0 failures

  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 백로그 → 진행 중
  • 팀리드 상태 변경: 백로그 → 진행 중
  • 팀리드 상태 변경: 백로그 → 진행 중
  • 팀리드 상태 변경: 백로그 → 완료
  • 팀리드 상태 변경: 백로그 → 완료
  • 팀리드 i18n 한국어 설정 완료 - review 단계로 이동
    상세 보기

    ## 변경 파일
    - config/application.rb — i18n 설정 (default_locale: :ko, fallbacks: true)
    - config/locales/ko.yml — 한국어 번역 (신규 생성)
    - test/integration/i18n_test.rb — 테스트 (신규 생성)

    ## 주요 내용
    - activerecord 에러, flash, common UI, date/time/number 형식 전체 한국어화
    - ANTI-EMOJI 정책 준수 (이모지 전량 제거)
    - 이모지 검증 테스트 포함

    ## 테스트
    - 8 runs, 189 assertions, 0 failures

  • 팀리드 Gemfile 구성 완료 - review 단계로 이동
    상세 보기

    ## 추가된 gem (8개)
    - ruby-anthropic (~> 0.4) — AI 기능
    - faraday (~> 2.0) — HTTP 클라이언트
    - pagy (~> 9.0) — 페이지네이션
    - ahoy_matey (~> 5.0) — 사용자 행동 분석
    - meta-tags (~> 2.0) — SEO
    - sentry-ruby (~> 5.0) — 에러 추적
    - sentry-rails (~> 5.0) — Rails 에러 추적
    - resend (~> 0.8) — 이메일 발송

    ## 결과
    - bundle install 성공 (32 dependencies, 144 gems)
    - 금지 gem(rspec, factory_bot 등) 미포함 확인

  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 상태 변경: 진행 중 → 리뷰
  • 팀리드 위임: developer-2에게 'i18n 한국어 기본 설정 (ko.yml + application.rb)' 작업 배정
  • 팀리드 위임: developer-1에게 'Gemfile 전체 gem 추가 + bundle install' 작업 배정
  • 팀리드 티켓 클레임 완료
  • 팀리드 티켓 클레임 완료
  • 팀리드 팀 작업 완료 - [P1] Rails 프로젝트 초기화
    상세 보기

    ## 수정된 기능
    - Rails 8.1.2 프로젝트 생성 (PostgreSQL + Tailwind + Propshaft)
    - Docker Compose 개발 환경 (PostgreSQL 16 + Redis 7)
    - .env.example 환경변수 템플릿 (토스, Anthropic, Vultr, 9WAY, Resend, Sentry)
    - bin/ci 스크립트 (Rails 8.1 자동 생성)

    ## 검증 결과
    - docker compose up -d db: PostgreSQL healthy
    - bin/rails db:create: 성공
    - bin/rails test: 0 runs, 0 failures
    - .env.example: 모든 키 포함
    - .gitignore: .env 포함, .env.example 제외
    - git 초기 커밋: f6f1700

    ## 생성된 파일
    - docker-compose.yml, .env.example, config/database.yml 수정
    - Rails 표준 파일 183개

    ## 참고
    - Redis는 PRD상 불필요(Solid Stack)하나, Docker Compose에 포함됨 - 향후 제거 가능

  • 팀리드 상태 변경: 진행 중 → 완료
  • 팀리드 위임: developer-1에게 'Rails 8.1.2 프로젝트 생성 + Docker Compose + .env' 작업 배정
  • 팀리드 작업 시작 - [P1] Rails 프로젝트 초기화
    상세 보기

    ## 작업 계획
    - 목표: Rails 8.1.2 프로젝트 생성, Docker Compose 개발 환경, .env 템플릿
    - 접근 방식: developer-1이 Rails 프로젝트 생성 + Docker 설정, developer-2가 .env 및 배포 기본 설정

    ## 현재 상태
    - 보드 현황: backlog 41 / todo 0 / in_progress 1 / review 0 / done 0
    - 관련 기존 작업: 없음 (첫 번째 티켓)

  • 팀리드 티켓 클레임 완료
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 상태 변경: 할 일 → 백로그
  • 팀리드 VALUEIT 기능 계획 수립 완료 - 42개 백로그 티켓 생성
    상세 보기

    ## 기능 개요
    - VALUEIT PRD v2.0 기반 전체 구현 계획 수립
    - 20대가 Claude Code로 SaaS를 90일 안에 출시하도록 돕는 교육+도구 플랫폼

    ## 분석 결과
    - 영향 범위: 모델 15개, 컨트롤러 ~25개, 서비스 8개, 잡 7개
    - 외부 연동: 토스페이먼츠, Anthropic API, 9WAY, Resend, Vultr Object Storage

    ## 생성된 티켓 (42개, 6 Phase)
    - Phase 1: 기반 구축 12개 (대부분 high)
    - Phase 2: LEARN 모듈 5개
    - Phase 3: BUILD 모듈 8개
    - Phase 4: 결제 시스템 6개 (대부분 high)
    - Phase 5: 커뮤니티 + 런칭 5개
    - Phase 6: AI 코치 + 최적화 6개

    ## 리스크
    - 토스페이먼츠 빌링키 계약 지연 (사전 신청 필요)
    - Claude API 비용 관리 (일일 호출 제한 정책 필요)
    - 단일 Vultr 서버 SPOF

    ## 기술적 결정
    - 테스트: Minitest + Fixtures (Rails 8 기본)
    - 인증: Rails 8 Authentication Generator
    - 디자인: taste-skill (Supanova Design Engine) 참조
    - 워크플로우: 00-orchestrator.md 에이전트 시스템 활용