Files
novel-writing-guide/templates/standards/polish-mode.md
Alex c56b6f1f76 Design Guide v1.6.0: Phase 4 태스크 기반 재설계 + 전체 프로세스 검증 완료
- Phase 4 아키텍처 재설계: 수량 기반 → 태스크 실행 기반
- phase4-master-design.md 신규 (전체 Phase 4 아키텍처)
- 설계 모드 11개 신규/갱신:
  - plot-master-mode/verification (Phase 4-1)
  - volume-timeline-mode/verification (Phase 4-2선행)
  - volume-characters-mode/verification (Phase 4-2선행)
  - volume-plot-mode/verification (Phase 4-2)
  - plot-detail-verification (Phase 4-3)
  - design-verification-mode (Phase 5)
- 검증 프로토콜 강화:
  - 에스컬레이션 경로, 신뢰 모델, 유효성 조건 전 프로토콜 통일
  - 검증 보고서 유효성 관리 (report-management.md 연동)
  - 권 경계 교차 검증 추가 (Phase 4-2 §6.3, 4-3 §4.3, Phase 5 검증 6)
  - 입력 소비 확인 (Phase 4-1 검증 0)
- 작성 파이프라인 보강:
  - writing-mode: Phase 5 통과 전제 명시, vol-XX-plot.md INPUT 추가
  - polish-mode: VERIFICATION→FIX 완료 필수 진입 조건
- 3회 종합 감사 통과 (설계+작성 전체, 실제 문제 0건)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 21:52:24 +09:00

741 lines
17 KiB
Markdown

# POLISH 모드 프로토콜
> **버전:** 2.4.0
> **최종 수정:** 2026-01-25
> **호환:** CWS Writing Guide v4.2.0+
> **용도:** 문장 품질 다듬기 (내용 수정 없음)
> **주요 변경:** 리포트 유효성 검증 추가 - 파일 수정 시 리포트 무효화
---
## 📋 CHANGELOG
### v2.4.0 (2026-01-25)
**추가:**
- 📌 리포트 유효성 검증 프로토콜 (report-management.md 연동)
- 리포트 날짜 vs 파일 수정 시간 자동 체크
- 무효 리포트 발견 시 재검증 필수
**참고:**
- 이 업데이트는 VERIFICATION 모드 v2.9.0과 함께 적용됨
### v2.3.0 (2026-01-20)
**추가:**
- POLISH vs MODIFICATION 경계 명확화
- 구체적 예시 추가 (OK/금지)
### v2.2.0 (2025-XX-XX)
**추가:**
- 플랫폼 가독성 체크 (문피아 최적화)
- 빈 줄 패턴 통일 프로토콜
### v2.0.0 이전
자세한 이력은 Git 커밋 히스토리 참조
---
## 🔄 컴팩팅 대응 시스템 (v2.0.0 신규)
### 배치 작업 시 WORK-MODE.txt 사용
**배치 시작 시:**
```
1. WORK-MODE.txt 파일 생성
---
CURRENT_MODE: POLISH
READ_FILE: standards/polish-mode.md
---
BATCH: 01
RANGE: ch-001 ~ ch-010
STATUS: IN_PROGRESS
LAST_COMPLETED: none
NEXT: ch-001
REPORT_FILE: polish-batch-01.md
STARTED: 2026-01-20 15:30
---
2. polish-batch-01.md 파일 생성 (진행 상황 체크리스트)
```
**각 챕터 완료 후:**
```
1. polish-batch-01.md에 [x] 표시
2. 챕터별 상세 내용 추가
3. WORK-MODE.txt의 LAST_COMPLETED, NEXT 업데이트
4. 파일 저장
5. 다음 챕터
```
**컴팩팅 후 재개 시:**
```
1. WORK-MODE.txt 읽기
2. CURRENT_MODE 확인 → POLISH
3. READ_FILE 확인 → polish-mode.md (이 파일)
4. REPORT_FILE 읽기 → polish-batch-01.md
5. 진행 상황 체크리스트 확인
6. NEXT 챕터부터 재개
```
**배치 완료 시:**
```
1. 전체 [x] 확인
2. WORK-MODE.txt 삭제
3. 사용자에게 완료 보고
```
**핵심 원칙:**
```
❌ 10개 전부 메모리에 저장 후 한 번에 파일 작성
✅ 1개 완료 → 즉시 파일 업데이트 → WORK-MODE.txt 업데이트 → 다음
```
---
## 📋 리포트 유효성 검증 (v2.4.0 신규)
> **참고:** `standards/report-management.md` 참조
### 🚨 필수: 리포트 읽기 전 유효성 체크
**문제:**
```
리포트 작성 후 파일이 수정되면 리포트가 과거 상태를 반영
→ 잘못된 정보를 사용자에게 전달하는 심각한 오류!
```
**해결:**
```
리포트 읽기 전 반드시 유효성 검증!
```
### 검증 절차
**1단계: 리포트 날짜 확인**
```bash
# polish-batch-05.md에서 날짜 추출
grep "시작\|완료" polish-batch-05.md
# 예: **완료:** 2026-01-21
```
**2단계: 대상 파일 수정 시간 확인**
```bash
# 배치 5 = ch-041~050
ls -l chapters/ch-04*.md chapters/ch-050.md
# Windows
Get-ChildItem "l:\...\chapters\ch-04*.md" | Select-Object Name,LastWriteTime
# 최종 수정 시간 확인
```
**3단계: 비교 및 판정**
```
리포트 날짜: 2026-01-21
파일 수정:
- ch-041.md: 2026-01-20 ✅ (리포트 이전)
- ch-046.md: 2026-01-24 ❌ (리포트 이후!)
→ 판정: 리포트 무효 → 재검증 필요
```
### 무효화 조건
**자동 무효:**
1. 대상 파일 중 하나라도 리포트 이후 수정됨
2. FIX 모드에서 챕터 재배치 발생
3. 리포트 작성일 < 파일 최종 수정일
**사용자 보고 형식:**
**리포트 유효:**
```
polish-batch-05.md 확인:
- 작성일: 2026-01-21
- 파일 수정: 2026-01-20 (리포트 이전)
- 상태: ✅ 유효
배치 5 (ch-041~050): 이미 완료
- 수정: 0건
- 다음 배치로 진행
```
**리포트 무효:**
```
polish-batch-05.md 확인:
- 작성일: 2026-01-21
- 파일 수정: 2026-01-24 (리포트 이후!)
- 상태: ❌ 무효
이유: ch-028~030 재배치로 파일 수정됨
→ 배치 5 재검증 필요
```
### 체크리스트
**모든 리포트 읽기 전:**
- [ ] 리포트 파일 존재 확인
- [ ] 리포트 작성 날짜 추출
- [ ] 대상 파일 목록 확인 (RANGE 기준)
- [ ] 각 파일 최종 수정 시간 확인
- [ ] 리포트 날짜 < 파일 수정? → 무효
- [ ] 무효 시: 사용자에게 명확히 보고 + 재검증
- [ ] 유효 시: 리포트 내용 사용
---
## 📋 POLISH 모드 개요
**POLISH 모드는:**
- **문장 품질만** 개선 (내용/플롯 수정 없음!)
- 가독성, 리듬감, 문체 일관성 체크
- VERIFICATION → FIX 완료 후 최종 다듬기
**핵심 원칙:**
```
VERIFICATION = 모든 문제 발견 (플롯 포함)
FIX = 발견된 문제 수정
POLISH = 문장 품질만 다듬기 (오타, 가독성, 문체)
(엄격 분리!)
```
**금지:**
```
❌ 장면 추가/삭제
❌ 인과관계 수정
❌ 캐릭터 관계 변경
❌ 설정 변경
→ 이런 건 VERIFICATION → FIX에서!
```
**진입 조건:**
- ⚠️ VERIFICATION → FIX 완료 후 (필수)
- POLISH는 검증 완료된 콘텐츠의 문체만 다듬음
- 검증되지 않은 콘텐츠에 POLISH 적용 금지 (사용자 명시 요청 시 예외)
**진입 명령:**
- "POLISH 모드"
- "다듬기"
- "가독성 검토해"
- "문체 검토해"
**모드 진입 시 자동 실행:**
- WORK-MODE.txt 업데이트 (CURRENT_MODE: POLISH)
- 필수 파일 자동 읽기 (writing-guide.md, characters-master.md)
- 준비 완료 보고 및 대기
---
## 📚 모드 진입 시 읽을 파일
### 필수
1. `standards/writing-guide.md` - 문체 기준
2. `settings/characters-master.md` - 캐릭터 말투
### 검토 대상
3. `volumes/vol-XX/chapters/ch-*.md` - 해당 챕터들
---
## 🎯 POLISH 체크 항목
### 1. 문장 가독성
```
✅ 문장 길이
- 한 문장 50자 이상 → 분리 권장
- 3줄 이상 문장 → 🔴 분리 필요
✅ 문단 길이 (웹소설 기준)
- 권장: 3-5줄 (모바일 화면 최적)
- 7줄 이상 → 🟡 분리 검토
- 10줄 이상 → 🔴 필수 분리
- 1-2줄 짧은 문단 OK (호흡 공간)
✅ 복문 구조
- ~하고, ~하며, ~해서 3개 이상 연결 → 분리
```
### 2. 반복 표현
```
✅ 문장 끝 반복
- "~했다" 3회 연속 → 🟡 변경 권장
- "~였다" 3회 연속 → 🟡 변경 권장
✅ 주어 반복
- "그는" / "그녀는" 연속 → 생략 또는 이름으로
✅ 단어 반복
- 같은 단어 한 문단에 3회 이상 → 유의어로 대체
✅ 접속사 반복
- "그리고" / "하지만" 연속 → 다양화
```
### 3. 대화/묘사 비율
```
✅ 권장 비율
대화 : 묘사 : 서술 = 40 : 40 : 20
✅ 불균형 체크
- 대화만 1페이지 이상 → 🟡 묘사/서술 추가
- 묘사만 1페이지 이상 → 🟡 대화 추가
- 서술만 1페이지 이상 → 🟡 장면화 고려
```
### 4. 문체 일관성
```
✅ 시제 일관성
- 과거형 기조 유지
- 갑자기 현재형 전환 → 🟡 수정
✅ 문어체/구어체
- 지문: 문어체 유지
- 대화: 캐릭터별 구어체
✅ 어미 다양성
- ~다, ~였다, ~했다 균형
```
### 5. 리듬감
```
✅ 문장 길이 변화
- 짧은 문장 → 긴 문장 → 짧은 문장
- 같은 길이 5문장 연속 → 🟢 변화 권장
✅ 긴장/이완
- 액션 장면: 짧은 문장
- 여유 장면: 긴 문장
```
### 6. 어색한 표현
```
✅ 조사 오류
- 을/를, 이/가, 은/는 체크
✅ 어색한 어순
- 자연스러운 한국어 어순
✅ 번역체
- "~라는 것을" → "~라는 걸"
- "그것은" → "그건"
```
### 7. 플랫폼 가독성 (v2.2.0 신규)
```
⭐ 웹소설 플랫폼 최적화 (문피아/카카오페이지/네이버 시리즈)
✅ 문단 사이 빈 줄 일관성
- 기본 원칙: 모든 문단 사이 빈 줄 1개
- Part 구분: 빈 줄 2개
- 현재 문제: 파일마다 다름 → 🔴 통일 필수
예시:
```
민준은 창밖을 바라보았다. 해방된 서울이 보였다.
"이제 시작이야."
그가 중얼거렸다.
```
✅ 대화 구분 명확성
- 대화 블록 전: 빈 줄 1개
- 대화 블록 후: 빈 줄 1개
- 연속 대화: 빈 줄 없이 연결
예시:
```
민준은 눈을 감았다.
"뭐라고?"
"네가 들은 대로야."
"믿을 수 없어."
침묵이 흘렀다.
```
✅ 모바일 화면 최적화
- 세로 스크롤 중심 (좁은 화면)
- 긴 문단 → 피로감 증가
- 짧은 문단 + 빈 줄 → 숨 쉬는 공간
- 빠른 스크롤 → 명확한 구분 필요
✅ 여백 활용
- 긴 장면 후: 빈 줄로 호흡
- 시점 전환: 빈 줄 2개
- 시간 경과: 빈 줄 + "---" + 빈 줄 (선택)
- 액션 → 대화: 명확한 빈 줄
✅ Part/Scene 구분
- Part 전환: 빈 줄 3개 (또는 "---" 구분선)
- Scene 전환: 빈 줄 2개
- 일반 문단: 빈 줄 1개
```
---
## 📊 POLISH 보고서 형식
```markdown
# POLISH 보고서
> **검토일:** YYYY-MM-DD
> **검토 범위:** ch-001 ~ ch-050
---
## 📊 요약
| 항목 | 발견 건수 | 수정 |
|------|----------|------|
| 1. 문장 가독성 | X건 | ✅/⏳ |
| 2. 반복 표현 | X건 | ✅/⏳ |
| 3. 대화/묘사 비율 | X건 | ✅/⏳ |
| 4. 문체 일관성 | X건 | ✅/⏳ |
| 5. 리듬감 | X건 | ✅/⏳ |
| 6. 어색한 표현 | X건 | ✅/⏳ |
| 7. 플랫폼 가독성 ⭐ | X건 | ✅/⏳ |
| **총계** | **X건** | |
---
## 🔴 필수 수정
| # | 위치 | 유형 | 내용 | 수정 |
|---|------|------|------|------|
| 1 | ch-005:34-36 | 문장 길이 | 3줄 문장 | → 2문장으로 분리 |
| 2 | ch-012:45-50 | 반복 | "했다" 5회 연속 | → 어미 다양화 |
---
## 🟡 권장 수정
| # | 위치 | 유형 | 내용 | 수정 제안 |
|---|------|------|------|----------|
| 1 | ch-008:22-35 | 대화 과다 | 대화만 15줄 | 중간에 묘사 추가 |
| 2 | ch-015:67 | 번역체 | "그것은" | → "그건" |
---
## 🟢 선택 수정
| # | 위치 | 유형 | 내용 |
|---|------|------|------|
| 1 | ch-003:12-16 | 리듬 | 비슷한 길이 5문장 |
---
## 📈 통계
### 문장 길이 분포
- 20자 이하: XX%
- 21-40자: XX%
- 41-60자: XX%
- 60자 이상: XX% (→ 분리 권장)
### 문장 끝 어미 분포
- ~했다: XX%
- ~였다: XX%
- ~이다: XX%
- 기타: XX%
```
---
## 🔧 POLISH 수정 예시
### 긴 문장 분리
```
Before:
"민준은 창밖을 바라보며 지난 몇 년간 자신이 걸어온 길을
되돌아보았는데, 그 과정에서 수많은 사람들을 만났고,
때로는 그들과 갈등을 빚기도 했지만, 결국에는 모두가
같은 목표를 향해 나아가고 있다는 것을 깨달았다."
After:
"민준은 창밖을 바라보았다. 지난 몇 년간 걸어온 길이
떠올랐다. 수많은 사람들을 만났다. 때로는 갈등을 빚기도
했다. 하지만 결국 모두가 같은 목표를 향하고 있었다."
```
### 반복 표현 수정
```
Before:
"민준이 말했다. 윤희가 대답했다. 태준이 끼어들었다.
민준이 다시 말했다."
After:
"민준이 입을 열었다. 윤희가 고개를 끄덕였다. 태준이
끼어들었다. 민준은 잠시 생각하다 다시 말했다."
```
### 대화/묘사 균형
```
Before:
"뭐라고?"
"네가 들은 대로야."
"믿을 수 없어."
"믿든 말든."
"하지만..."
"더 이상 말해도 소용없어."
After:
"뭐라고?"
민준의 눈이 커졌다. 믿기 어려웠다.
"네가 들은 대로야."
윤희는 담담했다. 창밖을 바라보는 눈빛이 차가웠다.
"믿을 수 없어."
"믿든 말든." 윤희가 어깨를 으쓱했다.
"더 이상 말해도 소용없어."
```
---
## 🔄 POLISH 워크플로우
```
1. 범위 설정 (1권 전체 또는 특정 챕터)
2. 체크 항목별 검토
3. 🔴 필수 수정 처리
4. 🟡 권장 수정 처리
5. 🟢 선택 수정 (시간 여유 시)
6. 보고서 작성
7. Git 커밋
```
---
## ✅ POLISH 체크리스트
### 문장 가독성
- [ ] 50자 이상 문장 분리
- [ ] 7줄 이상 문단 검토, 10줄 이상 필수 분리
- [ ] 복문 구조 단순화
### 반복 표현
- [ ] 문장 끝 어미 다양화
- [ ] 주어 반복 해소
- [ ] 단어 반복 해소
### 대화/묘사 비율
- [ ] 40:40:20 근접
- [ ] 대화만 구간 없음
- [ ] 묘사만 구간 없음
### 문체 일관성
- [ ] 시제 일관
- [ ] 문어체/구어체 구분
- [ ] 어미 다양
### 리듬감
- [ ] 문장 길이 변화
- [ ] 장면에 맞는 템포
### 어색한 표현
- [ ] 조사 정확
- [ ] 어순 자연스러움
- [ ] 번역체 제거
### 플랫폼 가독성 ⭐
- [ ] 문단 사이 빈 줄 일관성 (기본 1개, Part 2개)
- [ ] 대화 구분 명확성 (대화 블록 전후 빈 줄)
- [ ] 모바일 화면 최적 (짧은 문단 + 여백)
- [ ] Part/Scene 구분 명확 (빈 줄 개수 통일)
---
## 🚫 POLISH 모드 금지사항
```
❌ 스토리 변경 (→ MODIFICATION 모드)
❌ 설정 수정 (→ FIX 모드)
❌ 캐릭터 성격 변경
❌ 플롯 추가/삭제
❌ 과도한 수정 (원문의 맛 유지)
```
---
## ⚖️ POLISH vs MODIFICATION 경계 (v2.3.0 신규)
### 명확한 구분
```
┌─────────────────────────────────────────────────┐
│ POLISH = 같은 의미, 더 나은 표현 │
│ MODIFICATION = 의미/내용 변경 │
└─────────────────────────────────────────────────┘
```
### 구체적 예시
#### ✅ POLISH (OK)
```markdown
**1. 문장 다듬기 (의미 동일)**
Before: "민준은 화가 많이 났다."
After: "민준의 주먹이 떨렸다."
→ Show, Don't Tell 적용 (의미 동일!)
**2. 어순 자연스럽게**
Before: "민준은 화가 나서 주먹을 쥐었다."
After: "민준이 주먹을 쥐었다. 화가 치밀었다."
→ 리듬감 개선 (내용 동일!)
**3. 반복 제거**
Before: "민준이 말했다. 윤희가 말했다."
After: "민준이 말했다. 윤희가 고개를 끄덕였다."
→ 태그 다양화 (대화 내용 변경 없음!)
**4. 문단 분리 (가독성)**
Before: (10줄 긴 문단)
After: (3-5줄씩 3개 문단)
→ 모바일 가독성 (내용 동일!)
**5. 띄어쓰기/여백**
Before: (불규칙한 빈 줄)
After: (일관된 빈 줄 1개)
→ 플랫폼 최적화 (내용 동일!)
```
#### ❌ MODIFICATION (금지!)
```markdown
**1. 대사 추가/삭제**
Before: "알겠습니다."
After: "알겠습니다. 그런데 형님, 이거는 어떻게 하시겠습니까?"
→ ❌ 새로운 질문 추가 = 내용 변경!
→ MODIFICATION 모드에서 해야 함!
**2. 장면 추가**
Before: 민준이 회의실을 나섰다.
After: 민준이 회의실을 나섰다. 복도에서 윤희를 만났다.
→ ❌ 새 장면 추가 = 플롯 변경!
→ MODIFICATION 모드에서 해야 함!
**3. 인과관계 수정**
Before: "명단을 받았으니 이제 작성하겠습니다."
After: "이미 작성했습니다."
→ ❌ 순서 바뀜 = 플롯 변경!
→ FIX 모드에서 해야 함!
**4. 캐릭터 반응 변경**
Before: 민준은 고개를 끄덕였다.
After: 민준은 고개를 저었다.
→ ❌ 동의 → 거부 = 내용 변경!
→ MODIFICATION 모드에서 해야 함!
**5. 설정/호칭 변경**
Before: "형님들"
After: "형님"
→ ❌ 호칭 수정 = 내용 변경!
→ FIX 모드에서 해야 함! (검증 보고서 기반)
```
### 판단 기준
```
질문: "이 수정이 POLISH인가, MODIFICATION인가?"
체크:
1. [ ] 의미가 100% 동일한가?
2. [ ] 플롯에 영향 없는가?
3. [ ] 인과관계 변화 없는가?
4. [ ] 캐릭터 반응/관계 동일한가?
→ 모두 Yes: POLISH ✅
→ 하나라도 No: MODIFICATION ❌
```
### 애매한 경우
```
❓ "그는" → "민준은"
✅ POLISH
→ 대명사를 이름으로 (의미 동일, 명확성 증가)
❓ "민준은" → "강민준은"
✅ POLISH
→ 이름 풀네임 (의미 동일, 명확성 증가)
❓ "형님" → "민준 형님"
⚠️ 판단 필요!
→ 호칭 규칙에 맞으면 POLISH
→ 호칭 규칙 위반 수정이면 FIX
❓ "민준이 말했다." → "민준이 고개를 끄덕이며 말했다."
⚠️ MODIFICATION!
→ 행동 추가 = 내용 변경
→ "말했다" → "고개를 끄덕였다" (대체)는 POLISH OK
```
### 원칙
```
의심스러우면 → 건드리지 마라!
POLISH는 보수적으로:
- 확실히 의미 동일한 것만
- 가독성/문체만 개선
- 내용에 의심 가면 SKIP
"이거 바꿔도 될까?" → NO!
"이거 안 바꾸면 문법 틀림?" → YES!
```
---
## 🔗 연계 모드
```
VERIFICATION (검증, 기록)
FIX (일괄 수정)
POLISH (가독성/문체) ← 현재
완료!
```
---
## 💡 POLISH 팁
```
1. 소리 내어 읽어보기
- 막히는 부분 = 수정 필요
2. 한 번에 한 유형씩
- 반복 표현만 → 문장 길이만 → 리듬만
3. 과도한 수정 주의
- 작가의 문체 유지
- 모든 문장을 완벽하게 할 필요 없음
4. 핵심 장면 우선
- 클라이맥스, 감정 장면 먼저 다듬기
```
---
*POLISH는 문장 품질! 스토리는 건드리지 않음!*