# 다음 할 일 (Next Steps)

최근 갱신: 2026-04-21 (v0.6.0 릴리스 완료)
현재 상태: **Phase 0~5 + 세션 E 전체 완료**. `v0.6.0` 태그 (커밋 `631a082`).

---

## 0. 리팩토링 프로젝트 현황

| Phase | 상태 | 완료 시점 |
|-------|------|----------|
| Phase 0 (Contract Alignment) | ✅ | 2026-04-18 |
| Phase 1 (Step Catalog) | ✅ | 2026-04-18 |
| Phase 2 (Checkpoint Sync) | ✅ | 2026-04-18 |
| Phase 3 (Image Domain + 3b.1~3b.6) | ✅ | 2026-04-18 |
| Phase 4 (Legacy Convergence) | ✅ | 2026-04-18 |
| Phase 5 (Frontend 재구성, 세션 A~D+C2) | ✅ | 2026-04-20 |
| 세션 E (Observability) | ✅ | 2026-04-20 |

**리팩토링 본체는 여기서 종료**. 이후는 제품 개선 단계로 넘어간다.

---

## 1. 제품 방향 (v0.7.0 로드맵 논의)

> 자세한 논의 자료: `docs/product-roadmap-discussion.md`

### 1.1 HiTL UI 개선 (우선)
- 시각 중심 편집 (이미지 위에 드로잉/영역 선택)
- Provenance ("왜 이 결과가 나왔나" 근거 표시)
- 자연어 수정 지시 ("좀 더 가까이", "더 어둡게")
- 일괄 편집 (전 에피소드에 반영하는 수정)

### 1.2 시각 품질 — 미해결 영역
- **AI 모더레이션 우회** (상업 영화 잔혹·선정 장면)
- **소품 강제 주입** (시나리오의 필수 소품이 누락되는 케이스)
- **물리법칙 해석** (공중 부양, 빙의 등 판타지 요소)

### 1.3 다중 에피소드
- 프로젝트 단위 EntityCanon (에피소드 간 인물 일관성)
- 스토리 타임라인 (인물 상태 변화 추적)
- 세트 연속성 (장소 참조 이미지 공유)

### 1.4 보조 기능
- 리뷰·승인 워크플로
- 샷 리스트 수동 모드 (감독이 먼저 샷 설계 → AI는 T2I만 담당)
- 스토리보드 포맷 export
- 스타일 학습 (감독별/장르별)
- 비용 예측 및 상한

---

## 2. 이월 기술 부채 (저우선순위)

### 2.1 Backend
- **PostgreSQL 통합 테스트** (Codex Phase 4 이월): alias 충돌·episode-link NULL 합산·relation self-collapse·부분 실패 rollback
- **EntityEpisodeLink `source` 컬럼 merge 정책**
- **outlook_dedup 주석 정확도** (`MIN(id)` vs "최신 1 row" 주석 일치화)
- **self-collapsed relation 사후 정리 정책** (role-aware dedup 후 base==variant 비정상 relation)
- **`shot_extract` 재설계** — 연속 행동 한 샷 몰림 문제
- **`scene_image_pipeline` sub_steps 7개의 manifest 진입**

### 2.2 Frontend
- **H7**: Episode summary 필드 백엔드 계약 확인 (응답 항상 포함인지)
- **Task #398**: 레거시 테스트 56건 정리 (사용자 유보)

### 2.3 Infra / CI
- **GitHub Actions CI**
- **outlook 테이블 분리** (독립 DB 마이그레이션 프로젝트)

### 2.4 관찰성
- **Opik 통합 재검토**
- 로그 레벨 일관화 (`logger.warning` vs `logger.error` 기준)

---

## 3. 지속 실행 원칙 (앞으로 개발 시)

### 3.1 절대 규칙 (CLAUDE.md)
- LLM에 데이터 자르지 않기 (`description[:80]` 같은 슬라이싱 금지)
- 시나리오 고유명사 코드/프롬프트 금지 (범용 예시만)
- UPSERT 사용, DELETE→INSERT 금지
- 프롬프트 파일 덮어쓰기 금지, 새 버전 디렉토리
- DB/프로젝트 파일 삭제 금지 (명시적 요청 제외)
- PostgreSQL 사용 (SQLite 금지)

### 3.2 코드 리뷰 규칙 (feedback_dual_code_review)
- 각 커밋 전 **Codex + Claude 병행 리뷰** 필수
- High 이상 지적 반영 후 커밋

### 3.3 테스트 기준선
- 현재: **256 passed** 유지 필요
- 신규 기능 추가 시 테스트 동반

### 3.4 버전/CHANGELOG
- 중요 업데이트 시 버전 업 + `CHANGELOG.md` 작성 + UI 사이드바 반영
- 프론트엔드 버전은 `frontend/package.json` 관리

### 3.5 문서 업데이트
- 코드 변경 시 `docs/architecture/` 해당 Phase 문서 갱신
- 비전문가 대상 변경 시 `docs/architecture-easy/` 갱신

---

## 4. 긴급 시 롤백 절차

1. 현재 브랜치 포기: `git checkout main`
2. 특정 commit 이전으로 reset: `git reset --hard <commit>`
3. DB 스냅샷 복원 (UI에서)
4. 체크포인트 스냅샷 복원 (UI에서)

각 Phase feature branch로 작업하므로 merge 전까지 `main` 영향 없음.

---

## 5. 관련 문서 지도

| 파일 | 용도 | 언제 읽음 |
|---|---|---|
| `README.md` | 인덱스 + 완료 요약 | 세션 시작 |
| `progress.md` | **완료 기록 상세** (Phase 0~5 + 세션 E) | 세션 시작 |
| `next-steps.md` (본 문서) | **다음 할 일** (v0.7.0 + 이월) | 세션 시작 |
| `test-plan.md` | 테스트 현황 + 계획 | 신규 기능 추가 시 |
| `00-integrated-analysis.md` | 13 결함 분석 (역사 문서) | 원인 확인 |
| `01-principles-revised.md` | 9원칙 (역사 문서) | 설계 의문 시 |
| `02-final-roadmap.md` | 원본 Phase 0~5 상세 | 구현 중 상시 |
| `03-comparison.md` | 초안 vs Codex vs 최종 | 왜 이렇게 했는지 |
| `baseline.md` | 지표 추적 | 성과 확인 |
| `phase-5-plan.md` | Phase 5 실행 계획 (완료) | 패턴 참조 |

### 리팩토링 외 문서 (제품 방향)

| 파일 | 용도 |
|------|------|
| `docs/product-roadmap-discussion.md` | 영화 현장 인터뷰용 논의 자료 |
| `docs/architecture-easy/` | 비전문가용 가이드 (8개) |
| `frontend/public/pipeline_explained.html` | 브라우저 접근 시각화 |
| `CHANGELOG.md` | 버전별 변경 이력 |
