# QA-6 Report — Build & Deploy Readiness > Worker: Explore agent · Lead review: 승인 ## Summary - **verdict**: REQUEST_CHANGES - critical: 4, major: 3, minor: 4 ## Critical (배포 차단) ### [critical] C1 Prisma migrations 디렉토리 비어있음 - **Location**: `backend/prisma/migrations/` - **Impact**: `prisma migrate deploy` 가 적용할 SQL 이 없다. Dev VM 새 DB 에 스키마 생성 불가. - **Suggested fix**: 로컬에서 `pnpm prisma migrate dev --name init` 한 번 돌려서 `migrations/` 생성 + commit. 프로덕션에서는 `prisma migrate deploy` 만. ### [critical] C2 `postinstall` hook 부재 → Prisma Client 미생성 - **Location**: `backend/package.json` - **Evidence**: scripts 에 `postinstall` 없음. Fresh `pnpm install` 후 `@prisma/client` import 가 비어있는 기본 client 로 연결. - **Suggested fix**: `"postinstall": "prisma generate"` 추가. 또는 `prisma:deploy` 스크립트에서 generate 를 묶어 실행. ### [critical] C3 Lockfile 부재 - **Location**: repo 루트 - **Impact**: `pnpm install --frozen-lockfile` 불가. 재현 빌드 불가, 버전 drift. - **Suggested fix**: 로컬에서 `pnpm install` 한 번 실행해서 `pnpm-lock.yaml` 생성 + commit. 또는 각 workspace 별로. ### [critical] C4 PM2 ecosystem 설정 파일 부재 - **Location**: repo 루트 - **Impact**: 이전 세션에서 언급한 `reloop-api` / `reloop-web` 프로세스 정의가 없다. 수동 기동 가능하지만 restart 정책 / env 경로 / working directory 미기록. - **Suggested fix**: `ecosystem.config.js` 생성: ```js module.exports = { apps: [ { name: 'reloop-api', cwd: './backend', script: 'dist/main.js', env: { NODE_ENV: 'production' }, max_memory_restart: '512M' }, { name: 'reloop-web', cwd: './frontend', script: 'node_modules/next/dist/bin/next', args: 'start -p 3000', env: { NODE_ENV: 'production' } }, ], }; ``` ## Major ### [major] M1 `frontend/next.config.js` 에 `output: 'standalone'` 없음 - **Impact**: `.next/standalone/server.js` 경로 사용 불가 → PM2 에서 `next start` 호출해야 하므로 node_modules 전체 동반 필요. - **Suggested fix**: `nextConfig.output = 'standalone'` 추가. ### [major] M2 `frontend/.env.example` 부재 - **Impact**: `NEXT_PUBLIC_API_URL` 이 build-time 변수라는 점이 문서화되지 않음. - **Suggested fix**: `.env.example` 생성해서 key 와 의미 설명. ### [major] M3 root `README.md` + `packageManager` 필드 없음 - **Impact**: 신규 환경 셋업 방법이 기록 안 됨. pnpm 버전 drift. - **Suggested fix**: README 에 bootstrap 순서 작성, `"packageManager": "pnpm@9.0.0"` pin. ## Minor - backend/frontend `.eslintrc.json` 부재. - `.env.example` 에 `NODE_ENV` 키가 있지만 런타임 미사용. - `package.json` 에 `engines.node` 필드 부재. - `frontend/next.config.js` 에 `compiler.styledComponents: true` 만 있고 `experimental` 플래그 정비 안 됨. ## PLAN.md Phase 5 교차 체크 | Phase 5 item | 상태 | |---|---| | 차트 (recharts ForgetCurveChart) | DONE | | PWA manifest | PENDING | | PM2 스왑 | PENDING (C4 로 차단됨) | | QA | 진행 중 (본 실행) | ## Verdict **REQUEST_CHANGES** — critical 4건 중 어느 하나라도 해결하지 않으면 Dev VM 배포 불가.