# SPRINT-009 QA Review — Iteration 1 - **검증일시:** 2026-04-04 17:06 KST - **검증자:** 다랑이 (Evaluator) - **결과:** ❌ FAILED (blocking 2건) ## 검증 항목 | 항목 | 결과 | |------|------| | npm install | ✅ | | prisma generate | ✅ | | npm test | ✅ 23/23 pass | | npm run build (BE) | ✅ | | npm run build (FE) | ✅ 16 routes | ## 🔴 Blocking ### B1: repoUrl.split('/').pop() trailing slash 취약 - **파일:** sprint-sync.service.ts:42, 51 - **문제:** trailing slash URL → repoName 빈 문자열 → Gitea API 깨짐 - **수정:** `.replace(/\/+$/, '').split('/').pop()` ### B2: parseSprintMd status 전체 본문 키워드 검색 오탐 - **파일:** sprint-sync.service.ts:22-24 - **문제:** 본문에 "완료", "진행" 단어 포함 시 오탐 → DB status 부정확 → 진행률 계산 오류 - **수정:** 명시적 섹션(## Status 등)만 파싱하도록 범위 제한 ## Non-blocking (8건) - NB1: syncAllProjectSprints 순차 처리 - NB2: getRawFile ref='main' 하드코딩 - NB3: getRepoTree 전체 tree fetch 비효율 - NB4: /register redirect 방식은 적절 (OK) - NB5: login page dead import/styled component - NB6: auth spec mock 잔여 - NB7: sprint update 조건 코멘트 부족 - NB8: avatar onError display:none