# 수정 모드 프로토콜 > **버전:** 2.3.0 > **최종 수정:** 2026-01-31 > **호환:** CWS Writing Guide v4.3.0+, CWS Design Guide v1.6.0+ > **용도:** 기존 챕터 수정 및 재구성 > **주요 변경:** AI 강제 실행 규칙 추가 (절대 무시 불가) --- ## 🚨 AI 강제 실행 규칙 (v2.3.0 신규 - 절대 무시 불가!) ### ⚠️ 이 문서는 가이드라인이 아닙니다. 체크리스트입니다. **모든 절차는 강제 실행입니다. "참고", "건너뛰기", "판단으로 생략" 절대 금지.** --- ### 규칙 1: 영향 범위 분석 강제 실행 **수정 시작 전 반드시 실행:** ``` 🔍 영향 범위 분석 체크리스트 (강제 실행): - [ ] 1단계: 수정 유형 판단 (A~H) - [ ] 2단계: 영향받는 챕터 파악 - 수정 대상 챕터 목록 - 리네임 필요 여부 - 헤더 수정 필요 여부 - [ ] 3단계: 영향받는 Summary 파악 - 부분 업데이트 가능? (해당 섹션만) - 전체 재생성 필요? (리넘버링 등) - [ ] 4단계: 사용자 승인 대기 **이 분석 없이 수정 시작 절대 금지!** **사용자 승인 없이 진행 절대 금지!** ``` --- ### 규칙 2: Summary 업데이트 원칙 강제 적용 **수정 완료 후 반드시 판단:** ``` 🔍 Summary 업데이트 판단 체크리스트 (강제 실행): - [ ] 유형 A (단순 수정): Summary 업데이트 불필요 - [ ] 유형 B (내용 수정): 해당 섹션만 부분 업데이트 - [ ] 유형 C (다중 수정): 해당 섹션들만 부분 업데이트 - [ ] 유형 D (플롯 수정): - 미세 조정 → 해당 섹션만 - 대폭 변경 → 영향 구간부터 재생성 - [ ] 유형 E~H (구조 변경): 전체 재생성 (리넘버링 불가피) **"전부 재생성"은 E~H만! 나머지는 부분 업데이트!** **토큰 낭비 방지 - 필요한 것만 최소한으로!** ``` --- ### 규칙 3: 리네임 안전 규칙 강제 적용 **리네임 필요 시 (E, F, G, H 유형) 반드시 확인:** ``` 🔍 리네임 안전 체크리스트 (강제 실행): - [ ] 리네임 방향 확인 - 삽입 (E, G): 역순 리네임 (큰 번호→작은 번호) - 삭제 (F, H): 정순 리네임 (작은 번호→큰 번호) - [ ] 덮어쓰기 위험 확인 - 역순/정순 규칙 준수 확인 - 또는 2단계 리네임 (temp 사용) 확인 - [ ] 검증 - 리네임 전후 파일 개수 동일 - temp 파일 0개 확인 - 모든 헤더 번호 일치 **리네임 순서 무시 시 데이터 손실 위험!** **덮어쓰기 가능성 체크 없이 진행 절대 금지!** ``` --- ### 규칙 4: Git 커밋 필수 **수정 완료 후 반드시 실행:** ``` 🔍 Git 커밋 체크리스트 (강제 실행): - [ ] 수정 전 백업 커밋 완료 - [ ] 수정 완료 후 커밋 - [ ] CHANGELOG 업데이트 - [ ] 커밋 메시지에 수정 유형 명시 **커밋 없이 종료 절대 금지!** ``` --- ### 위반 시 처리 **위 규칙 중 하나라도 위반 시:** - 해당 작업 무효 - 사용자에게 즉시 보고 - 규칙 준수 후 재실행 --- ## 📋 CHANGELOG ### v2.3.0 (2026-01-31) - AI 강제 실행 규칙 추가 **추가:** - 🚨 AI 강제 실행 규칙 섹션 (절대 무시 불가) - 📌 영향 범위 분석 강제 체크리스트 - 📌 Summary 업데이트 원칙 강제 적용 체크리스트 - 📌 리네임 안전 규칙 강제 체크리스트 - 📌 Git 커밋 필수 체크리스트 - 📌 위반 시 작업 무효 명시 **철학 변경:** - 이전: 가이드라인 (참고 가능) - 현재: 체크리스트 (강제 실행, 건너뛰기 불가) ### v2.2.0 (2026-01-27) **변경:** - 파일 경로 업데이트 (4단계 플롯 밀도 체계 적용) --- ## 📋 수정 모드 개요 **수정 모드는:** - 기존 챕터 수정/재구성 - 영향 범위 분석 필수 - summary 스마트 업데이트 (필요한 것만!) - CHANGELOG 업데이트 **진입 명령:** - "수정 모드" - "수정 준비해" - "수정 준비해: [수정 내용]" --- ## 📚 모드 진입 시 읽을 파일 ### 필수 1. `standards/chapter-format.md` - 챕터 형식 규칙 2. 수정 대상 챕터들 3. 영향받는 summary들 ### 리네임 시 추가 4. `standards/renaming-protocol.md` - 리네임 안전 규칙 --- ## 🔀 수정 유형 분류 | 유형 | 설명 | 복잡도 | |------|------|--------| | **A. 단순 수정** | 오타, 문장 다듬기 | ⭐ | | **B. 내용 수정** | 한 화 내용 변경 | ⭐⭐ | | **C. 다중 수정** | 여러 화 같은 변경 (예: 호칭) | ⭐⭐ | | **D. 플롯 수정** | 플롯 변경 → 본문 반영 | ⭐⭐⭐ | | **E. 삽입** | 중간에 새 화 추가 | ⭐⭐⭐⭐ | | **F. 삭제** | 기존 화 삭제 | ⭐⭐⭐ | | **G. 분할** | 한 화 → 두 화 | ⭐⭐⭐⭐ | | **H. 병합** | 두 화 → 한 화 | ⭐⭐⭐ | --- ## 🎯 공통 프로세스 ``` 1. 수정 유형 판단 ↓ 2. 영향 범위 분석 ⭐⭐⭐ - 어떤 챕터? - 어떤 summary? - 리네임 필요? ↓ 3. 수정 계획 수립 ↓ 4. CURRENT-TASK.md 생성 ↓ 5. 사용자 승인 ↓ 6. 수정 실행 ↓ 7. summary 스마트 업데이트 (유형별 규칙 참조!) ↓ 8. 검증 ↓ 9. CHANGELOG 업데이트 ↓ 10. Git 커밋 ``` --- ## 📝 유형별 상세 ### A. 단순 수정 (오타, 문장) ``` 영향 범위: 해당 챕터만 summary: 내용 변화 없으면 불필요 리네임: 불필요 절차: 1. 챕터 수정 2. Git 커밋 ``` ### B. 내용 수정 (한 화) ``` 영향 범위: 해당 챕터만 summary: 해당 챕터 포함된 summary만 업데이트 (해당 화 섹션만) 리네임: 불필요 절차: 1. 챕터 수정 2. 해당 챕터 포함된 summary 파일 열기 3. 해당 화 섹션만 업데이트 (전체 재생성 아님!) - 📖 챕터별 핵심: 해당 화만 수정 - 🎭 캐릭터 상태: 필요시 수정 - 🎣 복선 현황: 필요시 수정 4. 검증 5. Git 커밋 예: ch-029 수정 → summary-001-030.md 열기 → ch-029 섹션만 업데이트 → (summary-035, 040 등은 건드리지 않음!) ⚠️ 단, 아래 경우는 전체 재생성: - 플롯 방향 크게 바뀜 (이후 전개 영향) - 캐릭터 관계 크게 바뀜 - 복선 추가/삭제로 이후 영향 ``` ### C. 다중 수정 (여러 화, 같은 변경) ``` 영향 범위: 해당 챕터들만 summary: 영향받는 summary들만 부분 업데이트 리네임: 불필요 절차: 1. 대상 챕터 일괄 수정 2. 영향받는 summary 파일들만 열기 3. 해당 화 섹션들만 부분 업데이트 4. 검증 5. Git 커밋 예: ch-025~050 "당신" → "윤희 씨" 변경 → summary-001-030.md: ch-025~030 섹션만 수정 → summary-001-035.md: ch-031~035 섹션만 수정 → summary-001-040.md: ch-036~040 섹션만 수정 → ... → (전체 재생성 아님! 해당 섹션만 호칭 반영) ⚠️ 단순 호칭/표현 변경은 summary에 영향 적음 → summary는 핵심만 담고 있으므로 수정 불필요할 수도 있음 → 판단 후 필요시만 수정 ``` ### D. 플롯 수정 (대규모) ``` 영향 범위: plot + 해당 챕터들 + summary summary: 플롯 변경 범위에 따라 선택 리네임: 보통 불필요 절차: 1. vol-XX-plot.md 수정 2. vol-XX-plot-NNN-MMM.md 수정 3. 챕터 수정/재작성 4. summary 업데이트 (범위 판단!) - 플롯 미세 조정: 해당 섹션만 부분 업데이트 - 플롯 대폭 변경: 영향받는 구간부터 재생성 5. 검증 6. Git 커밋 예: ch-025~030 플롯 변경 → 미세 조정 (장면 순서 변경): summary-001-030.md에서 ch-025~030 섹션만 수정 → 대폭 변경 (플롯 방향 전환): summary-001-030부터 재생성 (이후 영향 있으므로) ``` ### E. 삽입 (새 화 추가) ⭐⭐⭐⭐ ``` 영향 범위: 삽입 위치 이후 모든 챕터 번호! summary: 삽입 위치부터 전체 재생성 (리넘버링 때문에 불가피) 리네임: 필수! 절차: 1. 영향 범위 분석 - ch-029와 030 사이 삽입 - → ch-030~060 전부 +1 2. 리네임 (역순!) ch-060 → ch-061 ch-059 → ch-060 ... ch-030 → ch-031 3. 새 화 작성 (ch-030) 4. 헤더 수정 (모든 리넘버링 파일) # 2권 30화 → # 2권 31화 5. plot 수정 6. summary 재생성 7. 검증 8. Git 커밋 ``` ### F. 삭제 (화 삭제) ``` 영향 범위: 삭제 위치 이후 모든 챕터 번호 summary: 삭제 위치부터 전체 재생성 (리넘버링 때문에 불가피) 리네임: 필수! 절차: 1. ch-029 백업/삭제 2. 리네임 (정순!) ch-030 → ch-029 ch-031 → ch-030 ... 3. 헤더 수정 4. plot 수정 5. summary 재생성 6. 검증 7. Git 커밋 ``` ### G. 분할 (한 화 → 두 화) ``` = E. 삽입과 유사 ch-029 → ch-029(상), ch-030(하) → 이후 번호 +1 ``` ### H. 병합 (두 화 → 한 화) ``` = F. 삭제와 유사 ch-029 + ch-030 → ch-029 → 이후 번호 -1 ``` --- ## 🔄 리네임 안전 규칙 ### 덮어쓰기 방지! ``` ❌ 정순 (삽입 시): ch-030 → ch-031 ch-031 → ch-032 ← ch-031이 이미 바뀐 파일! → 데이터 손실! ✅ 역순 (삽입 시): ch-060 → ch-061 ch-059 → ch-060 ... ch-030 → ch-031 → 안전! ✅ 정순 (삭제 시): ch-030 → ch-029 ch-031 → ch-030 ... → 안전! (이미 삭제된 위치로 이동) ``` ### 또는 2단계 리네임 ``` 1단계: 임시 이름 ch-030 → ch-030-temp ch-031 → ch-031-temp ... 2단계: 최종 이름 ch-030-temp → ch-031 ch-031-temp → ch-032 ... ``` --- ## ✅ 수정 체크리스트 ### 수정 전 - [ ] 수정 유형 판단 (A~H) - [ ] 영향 범위 분석 - [ ] CURRENT-TASK.md 생성 - [ ] Git 현재 상태 커밋 (백업) ### 수정 중 - [ ] 챕터 수정 - [ ] 리네임 (필요시, 순서 주의!) - [ ] 헤더 수정 (리네임 시) - [ ] plot 수정 (필요시) ### 수정 후 - [ ] summary 재생성 (영향 범위 전체!) - [ ] 타임라인 검증 - [ ] 헤더 화수 = 파일명 확인 - [ ] CHANGELOG 업데이트 - [ ] Git 커밋 - [ ] CURRENT-TASK.md 삭제 --- ## 📊 영향 범위 분석 템플릿 ```markdown # 수정 영향 분석 **수정 유형:** [A~H] **수정 내용:** [구체적 내용] ## 영향받는 파일 ### 챕터 | 현재 | 변경 후 | 헤더 수정 | |------|--------|----------| | ch-030 | ch-031 | # 30화 → 31화 | | ... | ... | ... | ### Summary (재생성 필요) - summary-001-030.md ~ summary-001-060.md ### Plot (수정 필요) - vol-XX-plot.md - vol-XX-plot-026-030.md ## 작업 순서 1. ... 2. ... ``` --- ## 🚫 수정 모드 금지사항 ❌ 영향 분석 없이 수정 ❌ summary 필요한데 업데이트 누락 ❌ summary 불필요한데 전체 재생성 (토큰 낭비!) ❌ 리네임 순서 무시 (덮어쓰기 위험!) ❌ CHANGELOG 업데이트 누락 ❌ Git 커밋 없이 종료 ## 💡 Summary 업데이트 원칙 ``` ✅ 스마트 업데이트: - A (단순 수정): summary 업데이트 불필요 - B (내용 수정): 해당 섹션만 부분 업데이트 - C (다중 수정): 해당 섹션들만 부분 업데이트 - D (플롯 수정): 변경 범위에 따라 판단 - E~H (구조 변경): 전체 재생성 (리넘버링 불가피) ❌ 과도한 재생성: - "하나 바꿨으니 전부 재생성" → 토큰 낭비! - 영향 없는 summary까지 재생성 → 불필요! 핵심: 필요한 것만, 최소한으로! ``` --- *수정은 신중하게! 영향 범위 분석이 핵심입니다.*