CWS v4.2.0: 호칭 복수/단수 검증 + 최적화

**핵심 개선:**
- 호칭 복수/단수 검증 시스템 구축 (실제 오류 대응)
- Summary 재생성 규칙 최적화 (토큰 효율)
- 플랫폼 가독성 기준 작성 단계 반영
- POLISH/MODIFICATION 경계 명확화

**신규 파일:**
- file-formats.md v1.0.0 → v1.1.0 (나이 관계 테이블)

**업그레이드:**
- writing-mode.md v2.1.0 → v2.1.1 (간이 검증)
- verification-mode.md v2.2.0 → v2.3.0 (상세 검증)
- modification-mode.md v2.0.0 → v2.1.0 (Summary 최적화)
- writing-guide.md v2.1.0 → v2.2.0 (플랫폼 기준)
- polish-mode.md v2.2.0 → v2.3.0 (경계 명확화)

**적용 배경:**
1945-novel 실제 오류: 박현우(37세) "형님들" 사용
→ 올바른 호칭: "형님" (윗사람 1명)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Alex
2026-01-20 14:45:31 +09:00
parent 6c41abc581
commit 3dae4cc64c
8 changed files with 1665 additions and 57 deletions

View File

@@ -8,11 +8,85 @@
## [Unreleased] ## [Unreleased]
### 추가 예정 ### 추가 예정
- 장르별 특화 가이드 (대체역사, 로맨스 등) - CLAUDE.md.template 프로젝트 변수 섹션
- foreshadows.md.template (복선 추적 시스템)
- 1945 프로젝트 적용 후 피드백 반영 - 1945 프로젝트 적용 후 피드백 반영
--- ---
## [v4.2.0] - 2026-01-20 (호칭 복수/단수 검증 + 최적화)
### Added
- **file-formats.md v1.1.0**: 나이 관계 테이블 + 호칭 복수/단수 규칙
- characters-master.md 섹션에 "나이 관계 테이블" 추가
- 복수/단수 호칭 규칙 테이블 (대상 수 기준)
- 실제 오류 예시 (1945-novel 박현우 사례)
- 화자 기준 올바른 호칭 검증 방법
- **writing-mode.md v2.1.1**: 간이 검증에 호칭 복수/단수 체크 추가
- Phase 3 간이 검증에 "호칭 복수/단수 정확성" 항목 신규 추가
- characters.md 나이 관계 테이블 기준 검증
- 검색 패턴: "형님들", "형들", "선배님들" 등
- 화자 확인 → 대상 수 체크 → 올바른 호칭 판단
- **verification-mode.md v2.3.0**: 상세 호칭 복수/단수 정확성 검증
- 4단계 내용 검증에 "호칭 복수/단수 정확성" 항목 신규 추가
- 검증 방법 4단계: 검색 → 화자 확인 → 대상 수 확인 → 검증
- 실제 오류 예시 (박현우/최태준)
- 발견 시 기록 형식 명시
- **writing-guide.md v2.2.0**: 웹소설 플랫폼 가독성 기준 추가
- "웹소설 플랫폼 가독성" 섹션 신규 추가 (작성 단계부터 반영!)
- 플랫폼 특성: 문피아/카카오페이지/네이버 시리즈
- 문단 길이 기준: 3-5줄 권장, 7줄 검토, 10줄 필수 분리
- 여백 활용 규칙: 문단 사이 빈 줄 1개 일관성
- 대화 구분 명확성, Scene/Part 구분 규칙
- 모바일 최적화 체크리스트
- **polish-mode.md v2.3.0**: MODIFICATION 경계 명확화
- "POLISH vs MODIFICATION 경계" 섹션 신규 추가
- 명확한 구분: 같은 의미/더 나은 표현 vs 의미/내용 변경
- 구체적 예시 10개 (POLISH 5개, MODIFICATION 5개)
- 판단 기준 체크리스트 4항목
- 애매한 경우 가이드라인
- 보수적 원칙: "의심스러우면 건드리지 마라"
### Changed
- **modification-mode.md v2.1.0**: Summary 재생성 규칙 최적화
- 개요: "summary 재생성 필수" → "summary 스마트 업데이트 (필요한 것만!)"
- 공통 프로세스: "영향 범위 전체 재생성" → "유형별 규칙 참조"
- **B. 내용 수정**: 해당 챕터 포함 summary만 부분 업데이트 (전체 재생성 아님!)
- **C. 다중 수정**: 영향받는 summary들만 부분 업데이트
- **D. 플롯 수정**: 변경 범위에 따라 판단 (미세 조정 vs 대폭 변경)
- **E~H (구조 변경)**: 전체 재생성 (리넘버링 불가피)
- Summary 업데이트 원칙 섹션 추가
- 금지사항: "불필요한데 전체 재생성 (토큰 낭비!)" 추가
### Standards 버전
| 파일 | 이전 버전 | 현재 버전 | 변경사항 |
|------|----------|----------|------------|
| file-formats.md | v1.0.0 | v1.1.0 | 나이 관계 + 호칭 복수/단수 |
| writing-mode.md | v2.1.0 | v2.1.1 | 간이 검증에 호칭 복수/단수 |
| verification-mode.md | v2.2.0 | v2.3.0 | 호칭 복수/단수 정확성 검증 |
| modification-mode.md | v2.0.0 | v2.1.0 | Summary 재생성 최적화 |
| writing-guide.md | v2.1.0 | v2.2.0 | 플랫폼 가독성 (작성 단계) |
| polish-mode.md | v2.2.0 | v2.3.0 | MODIFICATION 경계 명확화 |
### 적용 배경
- **1945-novel 실제 오류 발견**: 박현우(37세, 둘째)가 "형님들" 사용
- 박현우보다 나이 많은 사람: 강민준(41세) 1명만
- 올바른 호칭: "형님" (단수)
- 현재 시스템으로 미탐지
- **호칭 복수/단수 검증 추가**: 나이 관계 기반 대상 수 체크
- **Summary 과도한 재생성 문제**: ch-029 수정 시 summary-030~060 전부 재생성
- 토큰 낭비 심각
- 스마트 업데이트로 최적화
- **플랫폼 가독성 기준 부재**: 작성 단계에 웹소설 플랫폼 기준 없음
- polish-mode에만 있어 뒤늦게 수정 필요
- writing-guide.md에 추가하여 작성 단계부터 반영
---
## [v4.1.2] - 2026-01-20 (웹소설 플랫폼 최적화) ## [v4.1.2] - 2026-01-20 (웹소설 플랫폼 최적화)
### Added ### Added

View File

@@ -1,14 +1,14 @@
# 현재 작업 상태 # 현재 작업 상태
**최종 업데이트:** 2026-01-20 19:00 **최종 업데이트:** 2026-01-20 21:00
--- ---
## 모드 ## 모드
CWS v4.1.2 완료 CWS v4.2.0 완료
## 작업 ## 작업
웹소설 플랫폼 가독성 최적화 완료 (문피아/카카오페이지 기준) 호칭 복수/단수 검증 시스템 구축 + Summary 최적화 + MODIFICATION 경계 명확화 완료
--- ---
@@ -92,6 +92,29 @@ CWS v4.1.2 완료
- 웹소설 플랫폼 특성 반영 (문피아/카카오페이지) - 웹소설 플랫폼 특성 반영 (문피아/카카오페이지)
- [x] **CHANGELOG.md v4.1.2 작성** - [x] **CHANGELOG.md v4.1.2 작성**
### v4.2.0 호칭 복수/단수 검증 + 최적화 (2026-01-20)
- [x] **file-formats.md v1.1.0**
- 나이 관계 테이블 추가 (characters-master.md 섹션)
- 호칭 복수/단수 규칙 테이블 (대상 수 기준)
- 실제 오류 예시 (1945-novel 박현우 사례)
- [x] **writing-mode.md v2.1.1**
- 간이 검증에 "호칭 복수/단수 정확성" 추가
- 나이 관계 테이블 기준 검증
- [x] **verification-mode.md v2.3.0**
- 상세 호칭 복수/단수 정확성 검증
- 검증 방법 4단계 명시
- [x] **modification-mode.md v2.1.0**
- Summary 재생성 규칙 최적화
- 스마트 업데이트 (필요한 것만!)
- 유형별 규칙 상세화 (A~H)
- [x] **writing-guide.md v2.2.0**
- 웹소설 플랫폼 가독성 섹션 추가 (작성 단계부터!)
- 문단 길이/여백/대화 구분 기준
- [x] **polish-mode.md v2.3.0**
- POLISH vs MODIFICATION 경계 명확화
- 구체적 예시 10개 + 판단 기준
- [x] **CHANGELOG.md v4.2.0 작성**
--- ---
## ⏳ 남은 작업 ## ⏳ 남은 작업

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,10 @@
# 수정 모드 프로토콜 # 수정 모드 프로토콜
> **버전:** 2.0.0 > **버전:** 2.1.0
> **최종 수정:** 2026-01-18 > **최종 수정:** 2026-01-20
> **호환:** CWS Writing Guide v3.3.0+ > **호환:** CWS Writing Guide v4.2.0+
> **용도:** 기존 챕터 수정 및 재구성 > **용도:** 기존 챕터 수정 및 재구성
> **주요 변경:** Summary 재생성 규칙 최적화 (불필요한 재생성 제거)
--- ---
@@ -12,7 +13,7 @@
**수정 모드는:** **수정 모드는:**
- 기존 챕터 수정/재구성 - 기존 챕터 수정/재구성
- 영향 범위 분석 필수 - 영향 범위 분석 필수
- summary 재생성 필수 - summary 스마트 업데이트 (필요한 것만!)
- CHANGELOG 업데이트 - CHANGELOG 업데이트
**진입 명령:** **진입 명령:**
@@ -67,7 +68,7 @@
6. 수정 실행 6. 수정 실행
7. summary 재생성 (영향 범위 전체!) 7. summary 스마트 업데이트 (유형별 규칙 참조!)
8. 검증 8. 검증
@@ -95,58 +96,84 @@ summary: 내용 변화 없으면 불필요
### B. 내용 수정 (한 화) ### B. 내용 수정 (한 화)
``` ```
영향 범위: 해당 챕터 + 이후 summary 영향 범위: 해당 챕터
summary: 해당 챕터부터 끝까지 재생성 summary: 해당 챕터 포함된 summary만 업데이트 (해당 화 섹션만)
리네임: 불필요 리네임: 불필요
절차: 절차:
1. 챕터 수정 1. 챕터 수정
2. summary-001-XXX ~ 끝 재생성 2. 해당 챕터 포함된 summary 파일 열기
3. 검증 3. 해당 화 섹션만 업데이트 (전체 재생성 아님!)
4. Git 커밋 - 📖 챕터별 핵심: 해당 화만 수정
- 🎭 캐릭터 상태: 필요시 수정
- 🎣 복선 현황: 필요시 수정
4. 검증
5. Git 커밋
예: ch-029 수정 예: ch-029 수정
→ summary-001-030, 035, 040, ..., 060 전부 재생성 → summary-001-030.md 열기
→ ch-029 섹션만 업데이트
→ (summary-035, 040 등은 건드리지 않음!)
⚠️ 단, 아래 경우는 전체 재생성:
- 플롯 방향 크게 바뀜 (이후 전개 영향)
- 캐릭터 관계 크게 바뀜
- 복선 추가/삭제로 이후 영향
``` ```
### C. 다중 수정 (여러 화, 같은 변경) ### C. 다중 수정 (여러 화, 같은 변경)
``` ```
영향 범위: 해당 챕터들 + 이후 summary 영향 범위: 해당 챕터들
summary: 첫 수정 챕터부터 끝까지 summary: 영향받는 summary들만 부분 업데이트
리네임: 불필요 리네임: 불필요
절차: 절차:
1. 대상 챕터 일괄 수정 1. 대상 챕터 일괄 수정
2. summary 재생성 (첫 수정 챕터부터) 2. 영향받는 summary 파일들만 열기
3. 검증 3. 해당 화 섹션들만 부분 업데이트
4. Git 커밋 4. 검증
5. Git 커밋
예: ch-025~050 "당신" → "윤희 씨" 변경 예: ch-025~050 "당신" → "윤희 씨" 변경
→ summary-001-025부터 재생성 → summary-001-030.md: ch-025~030 섹션만 수정
→ summary-001-035.md: ch-031~035 섹션만 수정
→ summary-001-040.md: ch-036~040 섹션만 수정
→ ...
→ (전체 재생성 아님! 해당 섹션만 호칭 반영)
⚠️ 단순 호칭/표현 변경은 summary에 영향 적음
→ summary는 핵심만 담고 있으므로 수정 불필요할 수도 있음
→ 판단 후 필요시만 수정
``` ```
### D. 플롯 수정 (대규모) ### D. 플롯 수정 (대규모)
``` ```
영향 범위: plot + 해당 챕터들 + summary 영향 범위: plot + 해당 챕터들 + summary
summary: 영향받는 첫 챕터부터 끝까지 summary: 플롯 변경 범위에 따라 선택
리네임: 보통 불필요 리네임: 보통 불필요
절차: 절차:
1. plot-master.md 수정 1. plot-master.md 수정
2. plot-XXX-YYY.md 수정 2. plot-XXX-YYY.md 수정
3. 챕터 수정/재작성 3. 챕터 수정/재작성
4. summary 재생성 4. summary 업데이트 (범위 판단!)
- 플롯 미세 조정: 해당 섹션만 부분 업데이트
- 플롯 대폭 변경: 영향받는 구간부터 재생성
5. 검증 5. 검증
6. Git 커밋 6. Git 커밋
예: ch-025~030 플롯 변경
→ 미세 조정 (장면 순서 변경): summary-001-030.md에서 ch-025~030 섹션만 수정
→ 대폭 변경 (플롯 방향 전환): summary-001-030부터 재생성 (이후 영향 있으므로)
``` ```
### E. 삽입 (새 화 추가) ⭐⭐⭐⭐ ### E. 삽입 (새 화 추가) ⭐⭐⭐⭐
``` ```
영향 범위: 삽입 위치 이후 모든 챕터 번호! 영향 범위: 삽입 위치 이후 모든 챕터 번호!
summary: 삽입 위치부터 전체 재생성 summary: 삽입 위치부터 전체 재생성 (리넘버링 때문에 불가피)
리네임: 필수! 리네임: 필수!
절차: 절차:
@@ -178,7 +205,7 @@ summary: 삽입 위치부터 전체 재생성
``` ```
영향 범위: 삭제 위치 이후 모든 챕터 번호 영향 범위: 삭제 위치 이후 모든 챕터 번호
summary: 삭제 위치부터 전체 재생성 summary: 삭제 위치부터 전체 재생성 (리넘버링 때문에 불가피)
리네임: 필수! 리네임: 필수!
절차: 절차:
@@ -317,11 +344,29 @@ ch-031-temp → ch-032
## 🚫 수정 모드 금지사항 ## 🚫 수정 모드 금지사항
❌ 영향 분석 없이 수정 ❌ 영향 분석 없이 수정
❌ summary 재생성 누락 ❌ summary 필요한데 업데이트 누락
❌ summary 불필요한데 전체 재생성 (토큰 낭비!)
❌ 리네임 순서 무시 (덮어쓰기 위험!) ❌ 리네임 순서 무시 (덮어쓰기 위험!)
❌ CHANGELOG 업데이트 누락 ❌ CHANGELOG 업데이트 누락
❌ Git 커밋 없이 종료 ❌ Git 커밋 없이 종료
## 💡 Summary 업데이트 원칙
```
✅ 스마트 업데이트:
- A (단순 수정): summary 업데이트 불필요
- B (내용 수정): 해당 섹션만 부분 업데이트
- C (다중 수정): 해당 섹션들만 부분 업데이트
- D (플롯 수정): 변경 범위에 따라 판단
- E~H (구조 변경): 전체 재생성 (리넘버링 불가피)
❌ 과도한 재생성:
- "하나 바꿨으니 전부 재생성" → 토큰 낭비!
- 영향 없는 summary까지 재생성 → 불필요!
핵심: 필요한 것만, 최소한으로!
```
--- ---
*수정은 신중하게! 영향 범위 분석이 핵심입니다.* *수정은 신중하게! 영향 범위 분석이 핵심입니다.*

View File

@@ -1,10 +1,10 @@
# POLISH 모드 프로토콜 # POLISH 모드 프로토콜
> **버전:** 2.2.0 > **버전:** 2.3.0
> **최종 수정:** 2026-01-20 > **최종 수정:** 2026-01-20
> **호환:** CWS Writing Guide v3.3.0+ > **호환:** CWS Writing Guide v4.2.0+
> **용도:** 문장 품질 다듬기 (내용 수정 없음) > **용도:** 문장 품질 다듬기 (내용 수정 없음)
> **주요 변경:** 웹소설 플랫폼 가독성 최적화 (문피아/카카오페이지 기준) > **주요 변경:** MODIFICATION 모드와의 경계 명확화 (구체적 예시 추가)
--- ---
@@ -447,6 +447,135 @@ After:
--- ---
## ⚖️ 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!
```
---
## 🔗 연계 모드 ## 🔗 연계 모드
``` ```

View File

@@ -1,10 +1,10 @@
# 검증 모드 프로토콜 # 검증 모드 프로토콜
> **버전:** 2.2.0 > **버전:** 2.3.0
> **최종 수정:** 2026-01-20 > **최종 수정:** 2026-01-20
> **호환:** CWS Writing Guide v3.3.0+ > **호환:** CWS Writing Guide v3.3.0+
> **용도:** 전체 검증 및 기록 (수정 없음) > **용도:** 전체 검증 및 기록 (수정 없음)
> **주요 변경:** 설정 일관성 검증 추가, 배치 경계 체크 추가 > **주요 변경:** 호칭 복수/단수 정확성 검증 추가
--- ---
@@ -203,6 +203,19 @@ FIX = 수정
- 결혼 전/후 호칭 구분 - 결혼 전/후 호칭 구분
- 갑자기 호칭 바뀌는 경우 - 갑자기 호칭 바뀌는 경우
⭐ 호칭 복수/단수 정확성 (v2.3.0 신규!)
- characters-master.md 나이 관계 테이블 기준
- 화자가 대상 몇 명에게 말하는지 검증
- 검증 방법:
1. "형님들", "형들", "선배님들" 등 복수 호칭 검색
2. 화자 확인 (대화 직전 지문에서 파악)
3. 나이 관계 테이블에서 화자보다 나이/지위 높은 사람 수 확인
4. 대상 1명 → 단수 / 대상 2명 이상 → 복수
- 실제 오류 예시:
❌ 박현우(37세, 2위): "형님들" → 윗사람 1명(강민준 41세)만 있음 → "형님" 사용해야
✅ 최태준(35세, 3위): "형님들" → 윗사람 2명(강민준+박현우) 있음 → 올바름
- 발견 시 기록: 화자, 대화 내용, 실제 윗사람 수, 올바른 호칭
✅ 말투 일관성 ✅ 말투 일관성
- 존댓말/반말 패턴 유지 - 존댓말/반말 패턴 유지
@@ -232,11 +245,12 @@ FIX = 수정
기록: 기록:
- 플롯 불일치 목록 - 플롯 불일치 목록
- 호칭 오류 목록 - 호칭 오류 목록
- 호칭 복수/단수 오류 목록 (v2.3.0 신규!)
- 캐릭터 오류 목록 - 캐릭터 오류 목록
- 장면 중복 목록 (v2.1.0) - 장면 중복 목록 (v2.1.0)
- 인과관계 오류 목록 (v2.1.0) - 인과관계 오류 목록 (v2.1.0)
- 정보 흐름 오류 목록 (v2.1.0) - 정보 흐름 오류 목록 (v2.1.0)
- 설정 일관성 오류 목록 (v2.2.0 신규) - 설정 일관성 오류 목록 (v2.2.0)
``` ```
### 5단계: 일관성 검증 ### 5단계: 일관성 검증

View File

@@ -1,9 +1,10 @@
# 작성 가이드 (문체/분량 규칙) # 작성 가이드 (문체/분량 규칙)
> **버전:** 2.1.0 > **버전:** 2.2.0
> **최종 수정:** 2026-01-18 > **최종 수정:** 2026-01-20
> **호환:** CWS Writing Guide v3.3.0+ > **호환:** CWS Writing Guide v4.2.0+
> **용도:** 소설 작성 시 문체, 분량, 표현 규칙 > **용도:** 소설 작성 시 문체, 분량, 표현 규칙
> **주요 변경:** 웹소설 플랫폼 가독성 기준 추가 (작성 단계부터 반영)
--- ---
@@ -212,6 +213,120 @@
--- ---
## 📱 웹소설 플랫폼 가독성
### 플랫폼 특성
```
타겟 플랫폼: 문피아, 카카오페이지, 네이버 시리즈
주 독자 환경: 모바일 (스마트폰)
화면 크기: 좁고 세로로 긴 화면
스크롤: 빠른 스크롤 독서
→ 짧은 문단 + 충분한 여백 필수!
```
### 문단 길이 기준
```
✅ 권장: 3-5줄 문단
⚠️ 검토 필요: 7줄 이상
❌ 필수 분리: 10줄 이상
예시:
❌ 긴 문단 (모바일에서 답답함):
강민준은 창밖을 바라보았다. 1945년 8월 15일. 광복의 날이었다.
하지만 그의 마음은 무거웠다. 앞으로 다가올 분단의 위기를 알고
있었기 때문이다. 이승만과 김구의 갈등, 미소의 대립, 모든 것이
역사대로 흘러가고 있었다. 그는 이를 막아야 했다. 하지만 어떻게?
✅ 적절한 문단 (모바일 최적):
강민준은 창밖을 바라보았다. 1945년 8월 15일. 광복의 날이었다.
하지만 그의 마음은 무거웠다. 앞으로 다가올 분단의 위기를 알고
있었기 때문이다.
이승만과 김구의 갈등, 미소의 대립. 모든 것이 역사대로 흘러가고
있었다. 그는 이를 막아야 했다. 하지만 어떻게?
```
### 여백 활용 규칙
```
✅ 문단 사이: 빈 줄 1개 (일관성!)
✅ 대화 블록 전후: 빈 줄 1개
✅ Part 구분선 (---) 전후: 빈 줄 1개
❌ 빈 줄 2개 이상: 금지
❌ 빈 줄 불규칙: 금지
예시:
## Part 1: 아침
(빈 줄 1개)
본문 문단 1
(빈 줄 1개)
본문 문단 2
(빈 줄 1개)
"대화 시작"
"대화 계속"
(빈 줄 1개)
본문 문단 3
(빈 줄 1개)
---
(빈 줄 1개)
## Part 2: 회의
```
### 대화 구분 명확성
```
✅ 대화 블록 = 연속 대화 (빈 줄 없음):
"형님, 어떻게 생각하십니까?"
"글쎄, 쉽지 않아 보이는군."
"하지만 해야 합니다."
✅ 대화 후 지문 = 빈 줄 1개:
"형님, 어떻게 생각하십니까?"
"글쎄, 쉽지 않아 보이는군."
강민준은 고개를 저었다.
❌ 대화 사이 빈 줄 (구분 애매):
"형님, 어떻게 생각하십니까?"
"글쎄, 쉽지 않아 보이는군."
(누가 말하는지 헷갈림!)
```
### Scene/Part 구분
```
✅ Part 전환 (중요도 높음):
---
## Part 2: 회의
✅ Scene 전환 (Part 내):
(빈 줄 1개)
한 시간 후.
(빈 줄 1개)
❌ Part 남용:
Part가 너무 많으면 파편화됨
권장: 1화당 Part 3-5개
```
### 모바일 최적화 체크리스트
```
작성 중 체크:
- [ ] 7줄 이상 문단 없음
- [ ] 문단 사이 빈 줄 1개 (일관성)
- [ ] 대화 블록 구분 명확
- [ ] Part 구분선 전후 빈 줄 1개
- [ ] 불필요한 빈 줄 2개 이상 없음
```
---
## 🎭 캐릭터 표현 ## 🎭 캐릭터 표현
### 말투 일관성 ### 말투 일관성

View File

@@ -1,37 +1,42 @@
# 작성 모드 프로토콜 # 작성 모드 프로토콜
> **버전:** 2.0.0 > **버전:** 2.1.1
> **최종 수정:** 2026-01-18 > **최종 수정:** 2026-01-20
> **호환:** CWS Writing Guide v3.3.0+ > **호환:** CWS Writing Guide v4.2.0+
> **용도:** 신규 챕터 5화 단위 작성 > **용도:** 신규 챕터 작성 (3/5/7화 유연)
> **주요 변경:** 간이 검증에 호칭 복수/단수 체크 추가
--- ---
## 📋 작성 모드 개요 ## 📋 작성 모드 개요
**작성 모드는:** **작성 모드는:**
- 플롯 기반 5화 연속 작성 - 플롯 기반 신규 챕터 작성
- 매 화 완료 시 summary 누적 업데이트 - 매 화 완료 시 summary 누적 업데이트
- 작성 완료 후 즉시 간이 검증
- Git 자동 커밋 - Git 자동 커밋
**진입 명령:** **진입 명령:**
- "작성 모드" - "작성 모드"
- "X화 작성해" - "X화 작성해"
- "1-5화 작성해" - "1-5화 작성해" (기본 권장)
- "3화 작성해" / "7화 작성해" (유연)
--- ---
## 📚 모드 진입 시 읽을 파일 ## 📚 모드 진입 시 읽을 파일
### 필수 ### 필수
1. `volumes/vol-XX/characters.md` - 해당 권 캐릭터 1. `standards/file-formats.md` - 파일 형식 표준
2. `volumes/vol-XX/timeline.md` - 해당 권 타임라인 2. `standards/writing-guide.md` - 작성 규칙
3. `standards/writing-guide.md` - 작성 규칙 3. `volumes/vol-XX/characters.md` - 해당 권 캐릭터
4. `volumes/vol-XX/plots/plot-XXX-YYY.md` - 이번 5화 플롯 4. `volumes/vol-XX/timeline.md` - 해당 권 타임라인
5. `volumes/vol-XX/summaries/summary-이전.md` - 이전 서머리 5. `volumes/vol-XX/plots/plot-XXX-YYY.md` - 이번 N화 플롯
6. `volumes/vol-XX/summaries/summary-이전.md` - 이전 서머리
7. `volumes/vol-XX/foreshadows.md` - 복선 추적
### 다른 권 시작 시 추가 ### 다른 권 시작 시 추가
6. `volumes/vol-이전/summaries/summary-vol-XX-final.md` - 이전 권 압축 서머리 8. `volumes/vol-이전/summaries/summary-vol-XX-final.md` - 이전 권 압축 서머리
--- ---
@@ -69,7 +74,22 @@
- 헤더: # X권 Y화: 제목 - 헤더: # X권 Y화: 제목
- 타임라인: > **타임라인:** YYYY.M.D-M.D - 타임라인: > **타임라인:** YYYY.M.D-M.D
- 분량: 8,000-12,000자 - 분량: 8,000-12,000자
- 바텀: 없음! (절대 금지) - file-formats.md 형식 준수
⚠️ **마지막 Part 작성 시 중요:**
```
## Part 4: 소제목
(본문 내용 마지막 문장.)
← 여기서 즉시 멈추세요!
절대 추가하지 마세요:
- [X화 끝]
- 다음 화 예고
- 구분선 (---)
- 아무것도!
```
4. 저장 4. 저장
- volumes/vol-XX/chapters/ch-XXX.md - volumes/vol-XX/chapters/ch-XXX.md
@@ -83,10 +103,10 @@
7. 다음 화로 이동 7. 다음 화로 이동
``` ```
### Phase 3: 5화 완료 ### Phase 3: 작성 완료 + 간이 검증
``` ```
1. 5개 챕터 파일 확인 1. N개 챕터 파일 확인
2. summary 최종 정리 2. summary 최종 정리
- 전체 줄거리 완성도 - 전체 줄거리 완성도
@@ -94,21 +114,57 @@
- 캐릭터 상태 - 캐릭터 상태
- 복선 추적 - 복선 추적
3. Git 커밋 3. 🔍 즉시 간이 검증 (1-2분)
✅ 타임라인 연속성
- 이전 화 종료일 ≤ 현재 화 시작일
- 역행 체크
✅ 호칭 일관성
- characters.md 호칭 규칙 기준
- 갑작스러운 호칭 변화 없는지
✅ 호칭 복수/단수 정확성 (신규!)
- characters.md 나이 관계 테이블 기준
- "형님들" vs "형님" 체크
- 예: 박현우 → 강민준(1명) = "형님" (단수)
- 예: 최태준 → 강민준+박현우(2명) = "형님들" (복수)
- 검색 패턴: "형님들", "형들", "선배님들" 등
- 발견 시 화자가 누구인지 확인 → 대상 수 체크
✅ 바텀 존재 여부
- [X화 끝] 패턴 검색
- "다음 X화:" 패턴 검색
✅ 헤더 형식
- # X권 Y화: 제목 형식
- 파일명 번호 = 헤더 화수
- 타임라인 형식 (YYYY.M.D-M.D)
→ 문제 발견 시: 즉시 수정 후 다시 검증
→ 통과 시: 다음 단계
4. foreshadows.md 업데이트
- 설치된 복선 추가
- 회수된 복선 체크
5. Git 커밋
"X권 N-M화 작성 완료 "X권 N-M화 작성 완료
- ch-XXX: 제목 (분량) - ch-XXX: 제목 (분량)
- ch-XXX: 제목 (분량) - ch-XXX: 제목 (분량)
... ...
- summary-001-XXX.md 업데이트 - summary-001-XXX.md 업데이트
- foreshadows.md 업데이트
총 XX,XXX자 총 XX,XXX자
간이 검증: 통과 ✅
Co-Authored-By: Claude <noreply@anthropic.com>" Co-Authored-By: Claude <noreply@anthropic.com>"
4. CURRENT-TASK.md 업데이트 또는 삭제 6. CURRENT-TASK.md 업데이트 또는 삭제
5. 완료 보고 + 다음 5화 안내 7. 완료 보고 + 다음 작업 안내
``` ```
--- ---
@@ -181,4 +237,70 @@
--- ---
*작성 모드는 속도가 핵심입니다. 플롯대로 빠르게 작성하고, 수정은 나중에!* ## 🔢 유연한 작업 단위
### 기본 권장: 5화
```
플롯: plot-001-005.md (5화)
작성: ch-001 ~ ch-005
서머리: summary-001-005.md
장점:
- 토큰 효율 최적
- 한 세션 완료 가능
- 관리 용이
```
### 허용: 3화, 7화, 10화
```
"3화 작성해"
→ plot-001-003.md 기준
→ ch-001 ~ ch-003
→ summary-001-003.md
"7화 작성해"
→ plot-001-007.md 기준
→ ch-001 ~ ch-007
→ summary-001-007.md
"10화 작성해"
→ plot-001-010.md 기준
→ ch-001 ~ ch-010
→ summary-001-010.md
```
### 권장 사항
```
✅ 권장:
- 일반: 5화 (기본)
- 짧게: 3화 (시간 부족)
- 길게: 7화 (몰입 중)
⚠️ 주의:
- 10화 이상: 컴팩팅 위험
- 1-2화: 너무 잦은 세션 전환
❌ 비권장:
- 불규칙 단위 (4화, 6화)
- 단위 혼용 (5화 → 3화 → 7화)
```
### summary 누적 규칙
```
예: 1-5화 작성 후 6-10화 작성
summary-001-005.md 생성
summary-001-010.md 생성 (1-10화 전체 누적!)
→ summary-001-005.md는 유지 (백업)
→ summary-001-010.md가 최신
```
---
*작성 모드는 속도가 핵심입니다. 플롯대로 빠르게 작성하고, 간이 검증 후 커밋!*