Files
hanarang-dashboard/.plans/sprints/SPRINT-014-IMPLEMENTATION-HANDOFF.md

108 lines
4.3 KiB
Markdown

# SPRINT-014 Implementation Handoff
## 대상 브랜치
- repo: `https://git.nabomhalang.co.kr/hanarang/hanarang-dashboard`
- branch: `feature/structure-renewal-sync`
- 기준 commit: `94cc4da` (`docs: refine sprint-014 implementation handoff`)
## 목적
Hermes 전환으로 깨진 자매 상태/아바타/프로젝트 운영 화면을 새 문서 구조와 함께 정렬한다.
## 이번 브랜치에서 이미 정리된 것
### 문서
- `ARCHITECTURE.md`
- `README.md`
- `.plans/OVERVIEW.md`
- `.plans/design/index.md`
- `.plans/design/ui/dashboard-design.md`
- `.plans/design/ui/projects-page-design.md`
- `.plans/design/ui/project-detail-design.md`
- `.plans/sprints/SPRINT-014.md`
- `.plans/deploy/main-release-flow.md`
- `docs/references/repo-structure.md`
- `docs/product-specs/project-information-architecture.md`
- `docs/tech-debt-tracker.md`
- `docs/QUALITY_SCORE.md`
### 구현 반영 대상
- Hermes 우선 / OpenClaw fallback 경로 처리
- avatar fallback 경로 보강
- 프로젝트 phase / QA / deploy 메타 구조 확장
- 프로젝트 상세 delivery flow / QA / deploy / sprint / hotfix 분리
- 프로젝트 네비 두 번째 위치 정렬
- `main = deployable`, `이랑 = latest main redeploy only` 문구 반영
## 나랑 작업 단위
1. `backend-runtime`
- `backend/src/sisters/sisters.service.ts`
- `backend/src/sisters/sister-detail.service.ts`
- `backend/src/admin/admin.service.ts`
- `backend/src/costs/costs.service.ts`
2. `avatar-fallback`
- `backend/src/sisters/avatar.service.ts`
- 공통 avatar 사용처 확인
3. `projects-nav`
- `frontend/components/common/Sidebar.tsx`
- 모바일 탭/공통 네비
4. `projects-phase`
- `backend/src/projects/projects.service.ts`
- `frontend/app/projects/page.tsx`
- `frontend/components/projects/ProjectCard.tsx`
5. `project-detail-flow`
- `backend/src/projects/sprint-sync.service.ts`
- `frontend/app/projects/[id]/page.tsx`
- `frontend/components/projects/SprintAccordion.tsx`
- `frontend/components/projects/TaskTable.tsx`
6. `deploy-copy`
- 프로젝트 목록/상세의 deploy wording 정리
## 반드시 읽고 구현할 문서
- `.plans/sprints/SPRINT-014.md`
- `.plans/design/ui/dashboard-design.md`
- `.plans/design/ui/projects-page-design.md`
- `.plans/design/ui/project-detail-design.md`
- `.plans/deploy/main-release-flow.md`
- `ARCHITECTURE.md`
## 검증 결과
### 통과
- Backend test: `npm test -- --runInBand`
- Backend build: `npm run build`
- Frontend build: `npm run build`
- Sprint scope frontend lint 재확인 통과
### 다랑 review-2 기준 blocker
- 최신 QA 문서: `.plans/qa/SPRINT-014-review-2.md`
- 결과: `FAILED`
- blocker 1: `backend/.env.example``JWT_SECRET`가 없어 기본 실행 경로에서 backend 부팅이 깨짐
- blocker 2: `JWT_SECRET`를 넣어도 현재 제공 환경값 기준 MariaDB access denied로 `/api/auth/login`, `/api/projects``500` 응답함
- blocker 3: protected 페이지 실데이터/모바일 QA가 auth+DB 차단으로 완료되지 못함
- blocker 4: `frontend/app/projects/[id]/page.tsx` 상단 헤더 우측 메타에 design 문서가 요구한 `current sprint`가 아직 노출되지 않음
- 따라서 이번 브랜치는 **QA failed 상태**이며, 위 4개를 정리한 뒤 같은 branch에서 다시 다랑 재검증을 받아야 한다.
## QA 전달 규칙
- 다랑은 `.plans/qa/`에 결과 md 작성
- 보고 형식은 최소 아래를 포함
- `repo`
- `branch`
- `passed`
- `errors[]`
- 구 구조 fallback 확인 포함
- `.plans/qa/` 우선 + `.qa/` fallback
- `.plans/hotfix/` 우선 + 구 구조 fallback
## 배포 규칙
1. 다랑 QA 통과 전 `main` merge 금지
2. 하랑 확인 후 `main` merge
3. merge 시점부터 `main`이 배포 기준
4. 이랑은 feature branch 배포 금지
5. 이랑은 최신 `main` pull 후 재배포만 수행
## 완료 기준
- Hermes 환경에서 자매가 전원 offline으로 고정되지 않음
- avatar 이미지가 없어도 broken image 없이 fallback 유지
- 프로젝트가 네비게이션 두 번째 위치에 보임
- 프로젝트 목록에서 `PLANNING / IMPLEMENT / QA / READY FOR DEPLOY / DEPLOYED`가 읽힘
- 프로젝트 상세에서 `DELIVERY FLOW / QA STATUS / DEPLOY STATUS / SPRINT LEDGER / HOTFIX HISTORY`가 분리됨
- 문서/화면 모두 `main = deployable` 원칙과 `이랑 = latest main redeploy only` 규칙이 일치함