# SPRINT-007 QA Review — Iteration 1 - **검증일시:** 2026-04-04 15:38 KST - **검증자:** 다랑이 (Evaluator) - **결과:** ❌ FAILED (blocking 1건) ## 검증 항목 | 항목 | 결과 | |------|------| | npm install | ✅ | | prisma generate | ✅ | | npm test | ✅ 26/26 pass | | npm run build (BE) | ✅ | | npm run build (FE) | ✅ 16 routes | ## Sprint 006 NB 처리 확인 | 항목 | 상태 | |------|------| | 자동 refresh (401 시) | ✅ | | refreshToken 저장 | ✅ | ## 🔴 Blocking ### B1: getProjectCommits limit 파라미터 NaN 미처리 - **파일:** projects.controller.ts:25 - **문제:** `parseInt(limit, 10)` → NaN 가능 → Gitea API에 `?limit=NaN` - **수정:** `isNaN` 체크 + `Math.min(Math.max(값, 1), 100)` clamp ## Non-blocking (8건) - N1: ProjectsController 인증 없음 — 공개 의도라면 주석 명시 - N2: userId: 0 하드코딩 (refresh 후) — 현재 FE에서 미참조이나 개선 권장 - N3: syncRepos N+1 쿼리 + 트랜잭션 미사용 - N4: login 후 /me 실패 시 userId: 0 fallback - N5: fetch 에러 시 에러 상태 없이 빈 목록 - N6: lastSyncAt 메모리만 저장 - N7: getOpenPRs/getPulls 중복 - N8: useEffect deps 불완전