전체 표준 파일에 AI 강제 실행 규칙 추가 - 절대 무시 불가 체크리스트 ## 변경 사항 ### 핵심 철학 변경 - **기존:** 프로토콜을 "참고" 자료로 취급 가능 - **신규:** 모든 프로토콜은 "강제 실행" 체크리스트 - **목적:** AI의 절차 생략/건너뛰기/판단 회피 100% 차단 ### 추가된 공통 구조 (26개 파일 전체) 모든 파일에 다음 섹션 추가: ```markdown ## 🚨 AI 강제 실행 규칙 (vX.Y.0 신규 - 절대 무시 불가!) ### ⚠️ 이 문서는 가이드라인이 아닙니다. 체크리스트입니다. **모든 절차는 강제 실행입니다. "참고", "건너뛰기", "판단으로 생략" 절대 금지.** ### 규칙 1-N: [모드별 특화 규칙] 🔍 [강제 실행 체크리스트] - [ ] 필수 항목 1 - [ ] 필수 항목 2 ... **위반 시 즉시 보고!** ### 위반 시 처리 **위 규칙 중 하나라도 위반 시:** - 해당 작업 무효 - 사용자에게 즉시 보고 - 규칙 준수 후 재작업 ``` ## 업데이트된 파일 목록 (26개) ### 검증 프로토콜 (6개) - verification-mode.md: v3.2.0 → v3.3.0 + 트리거 발견 시 체크리스트 강제 출력 + 판단 명확성 강제 - volume-timeline-verification.md: v1.1.0 → v1.2.0 + 상위 계층 반영 검증 강제 + 사건 완성도 강제 검증 - volume-characters-verification.md: v1.1.0 → v1.2.0 + 나이 계산 정확성 강제 검증 + 판단 명확성 강제 - plot-master-verification.md: v2.1.0 → v2.2.0 + 입력 소비 확인 강제 + 상위 계층 반영 100% 강제 - volume-plot-verification.md: v2.1.0 → v2.2.0 + 타임라인 순차 검증 강제 + 특수 타임라인 검증 강제 + 복선 고아/유령 검증 강제 - plot-detail-verification.md: v2.1.0 → v2.2.0 + Part 구조 강제 검증 + Part 필수 항목 9개 강제 검증 + 집필 가능성 구체성 강제 검증 ### 수정 프로토콜 (3개) - fix-mode.md: v2.0.0 → v2.1.0 + 리포트 유효성 검증 강제 + 재배치 3-Stage 강제 실행 + Git 커밋 타이밍 강제 - polish-mode.md: v2.5.0 → v2.6.0 + 리포트 유효성 검증 강제 + 백업 생성 강제 - modification-mode.md: v2.2.0 → v2.3.0 + 영향 범위 분석 강제 + 상위 계층 동기화 강제 ### 작성 모드 (6개) - writing-mode.md: v2.7.0 → v2.8.0 + 타임라인 역행 방지 4단계 강제 + 호칭 규칙 확인 3단계 강제 + Phase 3/4 검증 강제 - plot-mode.md: v3.1.0 → v3.2.0 + 필수 입력 파일 읽기 강제 + 타임라인 검증 5단계 강제 - plot-master-mode.md: v3.1.0 → v3.2.0 + 상위 계층 반영 100% 강제 + 필수 정보 8개 항목 강제 - volume-timeline-mode.md: v1.0.0 → v1.1.0 + 필수 입력 파일 읽기 강제 + 역사적 사건 추출 완전성 강제 - volume-characters-mode.md: v1.0.0 → v1.1.0 + 필수 입력 파일 읽기 강제 + 나이 계산 정확성 강제 - volume-plot-mode.md: v3.1.0 → v3.2.0 + 필수 입력 파일 읽기 강제 + 화별 필수 정보 9개 항목 강제 ### 지원 프로토콜 (6개) - design-verification-mode.md: v1.1.0 → v1.2.0 + 계층적 반영 검증 3단계 강제 + Phase 5-2 필수 실행 - artistic-review-mode.md: v1.0.0 → v1.1.0 + 진단 기준 강제 적용 + 구체적 가이드 생성 강제 - retouch-mode.md: v1.1.0 → v1.2.0 + 백업 생성 강제 + POLISH/MODIFICATION 경계 준수 강제 - renaming-protocol.md: v2.0.0 → v2.1.0 + 3-stage 프로세스 강제 실행 - report-management.md: v1.0.0 → v1.1.0 + 리포트 유효성 검증 강제 - chapter-format.md: v2.0.0 → v2.1.0 + 헤더 형식 강제 준수 ### 참조 문서 (5개) - creative-writing.md: v1.0.0 → v1.1.0 + 기법 적용 체크리스트 강제 - writing-guide.md: v2.5.0 → v2.6.0 + 프로토콜 읽기 강제 - file-formats.md: v1.2.0 → v1.3.0 + 파일명 규칙 강제 준수 - phase4-master-design.md: v3.3.0 → v3.4.0 + Phase 진행 순서 강제 준수 + 블로킹 조건 강제 확인 + 에러 복구 프로토콜 강제 실행 - README.md: v4.3.0 → v4.3.1 + 프로토콜 읽기 강제 + Phase 진행 순서 강제 + 검증 워크플로우 강제 ## 영향 ### AI 행동 변경 - **이전:** "이 프로토콜을 참고하여..." (선택적) - **이후:** "다음 체크리스트를 실행합니다..." (강제적) ### 예상 효과 - 절차 생략/건너뛰기: 100% 차단 - 판단 회피/추측 표현: 100% 차단 - 프로토콜 준수율: 대폭 향상 ## 파일 통계 - 총 업데이트 파일: 26개 - 총 추가된 라인 수: ~1,800줄 - 평균 파일당 추가: ~70줄 (규칙 섹션) ## Breaking Changes 없음. 기존 기능은 모두 유지되며, 강제 실행 규칙만 추가됨. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
912 lines
20 KiB
Markdown
912 lines
20 KiB
Markdown
# FIX 모드 프로토콜
|
|
|
|
> **버전:** 2.1.0
|
|
> **최종 수정:** 2026-01-31
|
|
> **호환:** CWS Writing Guide v4.2.0+
|
|
> **용도:** 검증 보고서 기반 일괄 수정 (타임라인 역행 재배치 포함)
|
|
> **주요 변경:** AI 강제 실행 규칙 추가 (절대 무시 불가)
|
|
|
|
---
|
|
|
|
## 🚨 AI 강제 실행 규칙 (v2.1.0 신규 - 절대 무시 불가!)
|
|
|
|
### ⚠️ 이 문서는 가이드라인이 아닙니다. 체크리스트입니다.
|
|
|
|
**모든 절차는 강제 실행입니다. "참고", "건너뛰기", "판단으로 생략" 절대 금지.**
|
|
|
|
---
|
|
|
|
### 규칙 1: 리포트 유효성 검증 강제
|
|
|
|
**FIX 모드 진입 시 반드시 실행:**
|
|
|
|
```
|
|
🔍 리포트 유효성 체크리스트 (강제 실행):
|
|
- [ ] 1단계: 검증 보고서 날짜 추출
|
|
- [ ] 2단계: 대상 파일 최종 수정 시간 확인
|
|
- [ ] 3단계: 비교 (보고서 날짜 < 파일 수정 시간?)
|
|
- [ ] 4단계: 판정
|
|
- 유효 (보고서 날짜 ≥ 파일 수정 시간) → FIX 진행
|
|
- 무효 (보고서 날짜 < 파일 수정 시간) → 즉시 중단, VERIFICATION 재실행 요청
|
|
|
|
**이 체크리스트를 출력하지 않으면 FIX 모드 진입 무효!**
|
|
```
|
|
|
|
---
|
|
|
|
### 규칙 2: 재배치 3-Stage 강제 실행
|
|
|
|
**타임라인 역행 발견 시 반드시 실행:**
|
|
|
|
```
|
|
🔍 챕터 재배치 체크리스트 (강제 실행):
|
|
- [ ] Stage 0: 사전 준비
|
|
- [ ] Git clean working tree 확인
|
|
- [ ] 백업 생성 (선택)
|
|
- [ ] 재배치 계획 확인
|
|
- [ ] Stage 1: Temp 파일로 이동
|
|
- [ ] 역순으로 temp-XXX.md 생성
|
|
- [ ] 검증: temp 파일 개수 확인
|
|
- [ ] Stage 2: 헤더 수정
|
|
- [ ] 각 temp 파일 헤더 수정
|
|
- [ ] 검증: head -1 각 파일 확인
|
|
- [ ] Stage 3: 최종 이름 변경
|
|
- [ ] temp → ch-XXX.md 변경
|
|
- [ ] 검증: temp 파일 0개 확인
|
|
- [ ] Stage 4: 검증
|
|
- [ ] 파일 개수 확인
|
|
- [ ] 헤더 확인
|
|
- [ ] 타임라인 순서 확인
|
|
|
|
**각 Stage 완료 확인 없이 다음 Stage 진행 금지!**
|
|
**실패 시 즉시 롤백 프로토콜 실행!**
|
|
```
|
|
|
|
---
|
|
|
|
### 규칙 3: Git 커밋 타이밍 강제
|
|
|
|
**각 수정 유형별 커밋 필수:**
|
|
|
|
```
|
|
🔍 Git 커밋 체크리스트 (강제 실행):
|
|
- [ ] 재배치 완료 후 → 즉시 별도 커밋
|
|
- [ ] 형식 수정 완료 후 → 별도 커밋
|
|
- [ ] 호칭 수정 완료 후 → 별도 커밋
|
|
- [ ] 각 커밋 메시지에 변경 내용 명확히 기록
|
|
|
|
**커밋 없이 다음 수정 유형으로 진행 금지!**
|
|
```
|
|
|
|
---
|
|
|
|
### 규칙 4: 영향받는 배치 무효화 강제
|
|
|
|
**재배치 완료 후 반드시 실행:**
|
|
|
|
```
|
|
🔍 배치 무효화 체크리스트 (강제 실행):
|
|
- [ ] 1단계: 영향받는 파일 범위 계산
|
|
- [ ] 2단계: 해당 파일 포함하는 배치 번호 계산
|
|
- [ ] 3단계: 해당 배치 리포트 무효화 (삭제/아카이브/표시)
|
|
- [ ] 4단계: 사용자에게 보고
|
|
|
|
**이 단계를 건너뛰면 재검증 시 오류 발생!**
|
|
```
|
|
|
|
---
|
|
|
|
### 위반 시 처리
|
|
|
|
**위 규칙 중 하나라도 위반 시:**
|
|
- 해당 작업 무효
|
|
- 사용자에게 즉시 보고
|
|
- 규칙 준수 후 재실행
|
|
|
|
---
|
|
|
|
## 📋 CHANGELOG
|
|
|
|
### v2.1.0 (2026-01-31) - AI 강제 실행 규칙 추가
|
|
|
|
**추가:**
|
|
- 🚨 AI 강제 실행 규칙 섹션 (절대 무시 불가)
|
|
- 📌 리포트 유효성 검증 강제 체크리스트
|
|
- 📌 재배치 3-Stage 강제 실행 체크리스트
|
|
- 📌 Git 커밋 타이밍 강제 체크리스트
|
|
- 📌 영향받는 배치 무효화 강제 체크리스트
|
|
- 📌 위반 시 작업 무효 명시
|
|
|
|
**철학 변경:**
|
|
- 이전: 가이드라인 (참고 가능)
|
|
- 현재: 체크리스트 (강제 실행, 건너뛰기 불가)
|
|
|
|
### v2.0.0 (2026-01-25) - Major Update
|
|
|
|
**추가:**
|
|
- 📌 챕터 재배치 프로토콜 (3-stage 안전 프로세스)
|
|
- 📌 롤백 메커니즘 및 에러 복구
|
|
- 📌 리포트 유효성 검증 (report-management.md 연동)
|
|
- 📌 Git 커밋 타이밍 명확화
|
|
- 📌 영향받는 배치 자동 무효화
|
|
|
|
**변경:**
|
|
- 워크플로우 개선 (백업 → 수정 → 검증 → 커밋)
|
|
- 체크리스트 세분화
|
|
|
|
### v1.1.0 (2026-01-20)
|
|
|
|
**추가:**
|
|
- WORK-MODE.txt 시스템 (컴팩팅 대응)
|
|
|
|
### v1.0.0 (2025-XX-XX)
|
|
|
|
**초기 버전:**
|
|
- 기본 FIX 모드 프로토콜
|
|
|
|
---
|
|
|
|
## 🔄 컴팩팅 대응 시스템
|
|
|
|
### 일괄 수정 시 WORK-MODE.txt 사용
|
|
|
|
**FIX 모드 시작 시:**
|
|
```
|
|
1. WORK-MODE.txt 파일 생성
|
|
---
|
|
CURRENT_MODE: FIX
|
|
READ_FILE: standards/fix-mode.md
|
|
---
|
|
SOURCE_REPORT: validation-report-vol-01.md
|
|
TOTAL_ISSUES: 45
|
|
COMPLETED: 0
|
|
NEXT_ISSUE: 1
|
|
STATUS: IN_PROGRESS
|
|
STARTED: 2026-01-25 10:30
|
|
---
|
|
|
|
2. fix-progress.md 파일 생성 (진행 상황 체크리스트)
|
|
```
|
|
|
|
**각 문제 수정 후:**
|
|
```
|
|
1. fix-progress.md에 [x] 표시
|
|
2. 수정 내용 기록
|
|
3. WORK-MODE.txt의 COMPLETED, NEXT_ISSUE 업데이트
|
|
4. 파일 저장
|
|
5. 다음 문제
|
|
```
|
|
|
|
**컴팩팅 후 재개 시:**
|
|
```
|
|
1. WORK-MODE.txt 읽기
|
|
2. CURRENT_MODE 확인 → FIX
|
|
3. READ_FILE 확인 → fix-mode.md (이 파일)
|
|
4. SOURCE_REPORT 읽기 → 원본 검증 보고서
|
|
5. fix-progress.md 읽기 → 진행 상황 확인
|
|
6. NEXT_ISSUE부터 재개
|
|
```
|
|
|
|
**FIX 완료 시:**
|
|
```
|
|
1. 전체 [x] 확인
|
|
2. WORK-MODE.txt 삭제
|
|
3. 사용자에게 완료 보고
|
|
```
|
|
|
|
**핵심 원칙:**
|
|
```
|
|
❌ 전체 문제를 메모리에서 처리 후 한 번에 기록
|
|
✅ 1개 수정 → 즉시 파일 업데이트 → WORK-MODE.txt 업데이트 → 다음
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 리포트 유효성 검증 (v2.0.0 신규)
|
|
|
|
> **참고:** `standards/report-management.md` 참조
|
|
|
|
### 🚨 필수: 검증 보고서 읽기 전 유효성 체크
|
|
|
|
**FIX 모드 진입 시:**
|
|
|
|
```bash
|
|
# 1. 검증 보고서 날짜 확인
|
|
grep "검증일" validation-report-vol-01.md
|
|
# 예: **검증일:** 2026-01-21
|
|
|
|
# 2. 대상 파일 수정 시간 확인
|
|
ls -l chapters/*.md
|
|
|
|
# 3. 유효성 판정
|
|
if [ 보고서_날짜 < 파일_수정 ]; then
|
|
echo "❌ 검증 보고서 무효 → 재검증 필요"
|
|
else
|
|
echo "✅ 검증 보고서 유효 → FIX 진행"
|
|
fi
|
|
```
|
|
|
|
**무효 시 처리:**
|
|
```
|
|
검증 보고서 확인:
|
|
- 작성일: 2026-01-21
|
|
- 파일 수정: 2026-01-24 (보고서 이후!)
|
|
- 상태: ❌ 무효
|
|
|
|
이유: FIX 모드에서 파일 재배치 발생
|
|
|
|
→ VERIFICATION 재실행 필요
|
|
→ FIX 모드 중단
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 FIX 모드 개요
|
|
|
|
**FIX 모드는:**
|
|
- VERIFICATION 모드의 검증 보고서를 기반으로
|
|
- 발견된 문제를 **일괄 수정**
|
|
- 심각도 순서대로 처리 (🔴 → 🟡 → 🟢)
|
|
- 타임라인 역행 발견 시 **챕터 재배치** 수행
|
|
|
|
**핵심 원칙:**
|
|
```
|
|
VERIFICATION = 발견 + 기록
|
|
FIX = 일괄 수정 (재배치 포함)
|
|
(분리!)
|
|
```
|
|
|
|
**진입 조건:**
|
|
- VERIFICATION 모드 완료 후
|
|
- 검증 보고서 존재 및 유효
|
|
|
|
**진입 명령:**
|
|
- "FIX 모드"
|
|
- "수정 진행해"
|
|
- "검증 결과 수정해"
|
|
|
|
**모드 진입 시 자동 실행:**
|
|
- WORK-MODE.txt 업데이트 (CURRENT_MODE: FIX)
|
|
- 필수 파일 자동 읽기 (검증 보고서, vol-XX-characters.md, vol-XX-timeline.md)
|
|
- 준비 완료 보고 및 대기
|
|
|
|
---
|
|
|
|
## 📚 모드 진입 시 읽을 파일
|
|
|
|
### 필수
|
|
1. 검증 보고서 (VERIFICATION 결과)
|
|
2. `standards/report-management.md` - 리포트 유효성 검증
|
|
3. `settings/characters-master.md` - 호칭 수정 시
|
|
4. `volumes/vol-XX/vol-XX-timeline.md` - 타임라인 수정 시
|
|
|
|
### 수정 대상
|
|
5. `volumes/vol-XX/chapters/ch-*.md` - 해당 챕터들
|
|
|
|
---
|
|
|
|
## 🎯 FIX 모드 워크플로우 (v2.0.0)
|
|
|
|
```
|
|
검증 보고서 유효성 체크 ⭐ NEW!
|
|
↓
|
|
검증 보고서 읽기
|
|
↓
|
|
심각도별 분류 확인
|
|
↓
|
|
Git 현재 상태 확인 (clean working tree)
|
|
↓
|
|
🔴 타임라인 역행 → 챕터 재배치 ⭐ NEW!
|
|
↓
|
|
🔴 기타 심각 항목 처리
|
|
↓
|
|
🟡 중요 항목 처리
|
|
↓
|
|
🟢 경미 항목 처리 (선택)
|
|
↓
|
|
영향받는 배치 리포트 무효화 ⭐ NEW!
|
|
↓
|
|
Git 커밋 ⭐ 타이밍 명확화
|
|
↓
|
|
재검증 (자동) ⭐ NEW!
|
|
↓
|
|
POLISH 모드로 전환 (선택)
|
|
```
|
|
|
|
---
|
|
|
|
## 📌 챕터 재배치 프로토콜 (v2.0.0 신규)
|
|
|
|
### 언제 사용하나?
|
|
|
|
**타임라인 역행 발견 시:**
|
|
```
|
|
검증 결과:
|
|
- ch-027: 1946.04.05-23
|
|
- ch-028: 1946.03.05-15 ← 역행!
|
|
|
|
판정: 🔴 긴급 오류 (회상 표시 없음)
|
|
조치: ch-028을 올바른 위치로 재배치
|
|
```
|
|
|
|
### 3-Stage 안전 프로세스
|
|
|
|
#### Stage 0: 사전 준비
|
|
|
|
```bash
|
|
# 1. Git 상태 확인
|
|
git status
|
|
# → clean working tree 확인
|
|
|
|
# 2. 백업 생성 (선택)
|
|
cp -r chapters/ chapters-backup-$(date +%Y%m%d-%H%M%S)/
|
|
|
|
# 3. 재배치 계획 확인
|
|
# ch-028 (3월) → ch-022 위치로 이동
|
|
# 영향받는 파일: ch-022~028 (7개)
|
|
```
|
|
|
|
#### Stage 1: Temp 파일로 이동
|
|
|
|
```bash
|
|
# 목적: 파일 덮어쓰기 방지
|
|
|
|
# ch-028을 제외한 나머지를 temp로
|
|
mv chapters/ch-022.md chapters/temp-023.md
|
|
mv chapters/ch-023.md chapters/temp-024.md
|
|
mv chapters/ch-024.md chapters/temp-025.md
|
|
mv chapters/ch-025.md chapters/temp-026.md
|
|
mv chapters/ch-026.md chapters/temp-027.md
|
|
mv chapters/ch-027.md chapters/temp-028.md
|
|
|
|
# ch-028은 temp-022로
|
|
mv chapters/ch-028.md chapters/temp-022.md
|
|
|
|
# 검증: temp-022~028 존재 확인
|
|
ls chapters/temp-*.md
|
|
```
|
|
|
|
#### Stage 2: 헤더 수정
|
|
|
|
```python
|
|
# 각 temp 파일의 내부 헤더 수정
|
|
|
|
for file in temp-022.md ~ temp-028.md:
|
|
old_header = "# 1권 XX화: ..."
|
|
new_number = extract_number(file) # temp-022 → 22
|
|
new_header = f"# 1권 {new_number}화: ..."
|
|
|
|
replace_in_file(file, old_header, new_header)
|
|
|
|
# 검증: 각 파일 헤더 확인
|
|
for f in temp-*.md:
|
|
head -1 $f # "# 1권 22화", "# 1권 23화" 등 확인
|
|
```
|
|
|
|
#### Stage 3: 최종 이름 변경
|
|
|
|
```bash
|
|
# temp → 최종 파일명
|
|
|
|
mv chapters/temp-022.md chapters/ch-022.md
|
|
mv chapters/temp-023.md chapters/ch-023.md
|
|
mv chapters/temp-024.md chapters/ch-024.md
|
|
mv chapters/temp-025.md chapters/ch-025.md
|
|
mv chapters/temp-026.md chapters/ch-026.md
|
|
mv chapters/temp-027.md chapters/ch-027.md
|
|
mv chapters/temp-028.md chapters/ch-028.md
|
|
|
|
# 검증: ch-022~028 존재 확인
|
|
ls chapters/ch-022.md chapters/ch-023.md ... chapters/ch-028.md
|
|
|
|
# temp 파일 남아있는지 확인
|
|
ls chapters/temp-*.md 2>&1
|
|
# → "No such file" 확인
|
|
```
|
|
|
|
#### Stage 4: 검증
|
|
|
|
```bash
|
|
# 1. 파일 개수 확인
|
|
ls chapters/ch-*.md | wc -l
|
|
# → 이전과 동일한 개수
|
|
|
|
# 2. 헤더 확인
|
|
for i in {022..028}; do
|
|
echo "ch-$i:"
|
|
head -1 chapters/ch-$i.md
|
|
done
|
|
|
|
# 3. 타임라인 순서 확인
|
|
for i in {022..028}; do
|
|
grep "타임라인" chapters/ch-$i.md
|
|
done
|
|
# → 시간 순서대로 정렬되었는지 확인
|
|
```
|
|
|
|
### 롤백 메커니즘 (v2.0.0 신규)
|
|
|
|
**각 Stage 실패 시:**
|
|
|
|
```bash
|
|
# Stage 1 실패 (일부만 temp로 이동됨)
|
|
→ 이동된 temp 파일을 원래 이름으로 복구
|
|
→ mv chapters/temp-023.md chapters/ch-022.md
|
|
|
|
# Stage 2 실패 (헤더 수정 중 에러)
|
|
→ temp 파일은 그대로 (원본 보존됨)
|
|
→ 에러 파일만 다시 수정 시도
|
|
→ 또는 전체 롤백
|
|
|
|
# Stage 3 실패 (일부만 최종 이름 변경됨)
|
|
→ 이동된 파일을 temp로 복구
|
|
→ mv chapters/ch-022.md chapters/temp-022.md
|
|
→ Stage 3 재시도
|
|
|
|
# 최악의 경우 (복구 불가)
|
|
→ 백업에서 복원
|
|
→ cp -r chapters-backup-YYYYMMDD-HHMMSS/* chapters/
|
|
```
|
|
|
|
### 에러 처리 프로토콜
|
|
|
|
**에러 발생 시 절차:**
|
|
|
|
1. **즉시 중단**
|
|
- 현재 Stage 중단
|
|
- 에러 메시지 기록
|
|
|
|
2. **상태 확인**
|
|
```bash
|
|
ls chapters/ch-*.md
|
|
ls chapters/temp-*.md
|
|
```
|
|
|
|
3. **롤백 판단**
|
|
- Stage 1-2: temp 파일 삭제 → 원본 유지
|
|
- Stage 3: temp로 복구 → Stage 3 재시도
|
|
|
|
4. **사용자 보고**
|
|
```
|
|
❌ 재배치 실패 (Stage 2)
|
|
|
|
에러: ch-025.md 헤더 수정 중 파일 읽기 오류
|
|
|
|
현재 상태:
|
|
- temp-022~024: 헤더 수정 완료 ✅
|
|
- temp-025: 헤더 수정 실패 ❌
|
|
- temp-026~028: 대기 중
|
|
|
|
조치:
|
|
1. temp-025.md 수동 확인 필요
|
|
2. 또는 전체 롤백 후 재시도
|
|
|
|
롤백하시겠습니까?
|
|
```
|
|
|
|
---
|
|
|
|
## 📝 수정 유형별 처리
|
|
|
|
### 1. 타임라인 역행 → 재배치 (최우선)
|
|
|
|
```markdown
|
|
## 발견 내용
|
|
| 위치 | 타임라인 | 문제 |
|
|
|------|----------|------|
|
|
| ch-027 | 1946.04.05-23 | - |
|
|
| ch-028 | 1946.03.05-15 | ← 역행! |
|
|
|
|
## 조치
|
|
1. 재배치 프로토콜 실행 (3-stage)
|
|
2. ch-028 → ch-022 위치로 이동
|
|
3. ch-022~027 → 한 칸씩 뒤로
|
|
4. 검증 완료
|
|
```
|
|
|
|
### 2. 설정 충돌 수정
|
|
|
|
```markdown
|
|
## 발견 내용
|
|
| 위치 | 내용 |
|
|
|------|------|
|
|
| ch-012:34 | 민준 나이 32→34 불일치 |
|
|
|
|
## 수정 방법
|
|
1. characters-master.md 확인 (정답: 32세)
|
|
2. ch-012 열기
|
|
3. 34줄 수정: "34세" → "32세"
|
|
4. 체크: ✅
|
|
```
|
|
|
|
### 3. 타임라인 헤더 형식 수정
|
|
|
|
```markdown
|
|
## 발견 내용
|
|
| 챕터 | 현재 | 올바른 형식 |
|
|
|------|------|------------|
|
|
| ch-025 | 타임라인: 1945.05.15 | > **타임라인:** 1945.05.15 |
|
|
|
|
## 수정 방법
|
|
1. ch-025 열기
|
|
2. Edit 도구 사용:
|
|
old_string: "타임라인: 1945.05.15"
|
|
new_string: "> **타임라인:** 1945.05.15"
|
|
3. 체크: ✅
|
|
```
|
|
|
|
### 4. 호칭 오류 수정
|
|
|
|
```markdown
|
|
## 발견 내용
|
|
| 위치 | 내용 |
|
|
|------|------|
|
|
| ch-018:45 | "윤희 씨" → "서 선생님" (시점 이전) |
|
|
|
|
## 수정 방법
|
|
1. characters-master.md 호칭 규칙 확인
|
|
2. ch-018 시점 확인 (첫 만남 직후)
|
|
3. 45줄 수정: "윤희 씨" → "서 선생님"
|
|
4. 체크: ✅
|
|
```
|
|
|
|
### 5. 바텀 제거
|
|
|
|
```markdown
|
|
## 발견 내용
|
|
| 챕터 | 바텀 내용 |
|
|
|------|----------|
|
|
| ch-033 | "[33화 끝]" |
|
|
| ch-041 | "[41화 끝]\n다음 42화:" |
|
|
|
|
## 수정 방법
|
|
1. 해당 챕터 열기
|
|
2. "[X화 끝]" 패턴 삭제
|
|
3. "다음 X화:" 패턴 삭제
|
|
4. 체크: ✅
|
|
```
|
|
|
|
---
|
|
|
|
## 🔗 영향받는 배치 자동 무효화 (v2.0.0 신규)
|
|
|
|
### 재배치 후 처리
|
|
|
|
**재배치 완료 후 필수:**
|
|
|
|
```python
|
|
# 1. 영향받는 파일 범위 계산
|
|
repositioned = "ch-028"
|
|
new_position = "ch-022"
|
|
affected_files = ["ch-022", "ch-023", ..., "ch-028"]
|
|
|
|
# 2. 영향받는 배치 계산
|
|
# 배치 3: ch-021~030
|
|
# affected_files에 ch-022~028 포함됨
|
|
affected_batches = ["batch-03"]
|
|
|
|
# 3. 리포트 무효화
|
|
for batch in affected_batches:
|
|
report = f"validation-batch-{batch}.md"
|
|
if exists(report):
|
|
# 옵션 A: 삭제
|
|
delete(report)
|
|
|
|
# 옵션 B: 아카이브
|
|
archive(report, f"archive/{report}.invalid")
|
|
|
|
# 옵션 C: 무효 표시
|
|
add_invalid_marker(report)
|
|
|
|
# 4. 사용자 보고
|
|
print(f"""
|
|
재배치 완료: ch-028 → ch-022
|
|
|
|
영향받는 배치:
|
|
- 배치 3 (ch-021~030)
|
|
→ validation-batch-03.md 무효화됨
|
|
→ 다음 검증 시 재검증 필요
|
|
""")
|
|
```
|
|
|
|
---
|
|
|
|
## 💾 Git 워크플로우 (v2.0.0 명확화)
|
|
|
|
### 커밋 타이밍
|
|
|
|
**원칙:**
|
|
```
|
|
각 수정 유형별로 논리적 단위로 커밋
|
|
재배치는 별도 커밋 (영향 범위가 크므로)
|
|
```
|
|
|
|
**구체적 타이밍:**
|
|
|
|
#### 1. 재배치 완료 후 즉시 커밋
|
|
|
|
```bash
|
|
# ch-028 재배치 완료
|
|
git add chapters/ch-022.md chapters/ch-023.md ... chapters/ch-028.md
|
|
|
|
git commit -m "$(cat <<'EOF'
|
|
Fix timeline reversal: reposition ch-028 (March) to ch-022
|
|
|
|
Problem:
|
|
- ch-027: 1946.04.05-23 (April)
|
|
- ch-028: 1946.03.05-15 (March) ← reversal!
|
|
|
|
Changes:
|
|
- ch-028 (old pos) → ch-022 (new pos)
|
|
- ch-022~027 → shifted to ch-023~028
|
|
- Internal headers updated
|
|
|
|
Affected batches:
|
|
- batch-03 (ch-021~030) invalidated
|
|
|
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
EOF
|
|
)"
|
|
```
|
|
|
|
#### 2. 형식 수정 완료 후 커밋
|
|
|
|
```bash
|
|
# 타임라인 헤더 형식 수정 완료 (23건)
|
|
git add chapters/ch-*.md
|
|
|
|
git commit -m "$(cat <<'EOF'
|
|
Fix timeline header format in 23 chapters
|
|
|
|
Changes:
|
|
- "타임라인: YYYY.M.D" → "> **타임라인:** YYYY.M.D"
|
|
- Chapters: ch-002~008, ch-012~016, ch-020~025
|
|
|
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
EOF
|
|
)"
|
|
```
|
|
|
|
#### 3. 호칭 수정 완료 후 커밋
|
|
|
|
```bash
|
|
git add chapters/ch-*.md
|
|
|
|
git commit -m "Fix honorific inconsistencies (5 instances)
|
|
|
|
..."
|
|
```
|
|
|
|
**커밋 묶음 예시:**
|
|
```
|
|
1st commit: Timeline reversal repositioning (ch-028)
|
|
2nd commit: Timeline header format fixes (23 files)
|
|
3rd commit: Honorific fixes (5 instances)
|
|
4th commit: Bottom text removal (3 files)
|
|
|
|
→ 총 4개 커밋 (유형별)
|
|
```
|
|
|
|
### Git 상태 체크
|
|
|
|
**FIX 시작 전:**
|
|
```bash
|
|
git status
|
|
# → clean working tree 확인
|
|
# → 미커밋 변경 있으면 먼저 처리
|
|
```
|
|
|
|
**FIX 중간:**
|
|
```bash
|
|
# 각 커밋 후
|
|
git log --oneline -5
|
|
# → 커밋 히스토리 확인
|
|
```
|
|
|
|
**FIX 완료 후:**
|
|
```bash
|
|
git status
|
|
# → clean working tree 확인
|
|
|
|
git push
|
|
# → 원격 저장소에 푸시
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 수정 진행 보고 형식
|
|
|
|
```markdown
|
|
# FIX 모드 진행 보고
|
|
|
|
> **수정일:** 2026-01-25
|
|
> **검증 보고서 기준:** 2026-01-24
|
|
|
|
---
|
|
|
|
## 📊 진행 현황
|
|
|
|
| 심각도 | 총 건수 | 완료 | 남음 |
|
|
|--------|--------|------|------|
|
|
| 🔴 심각 | 3 | 3 | 0 |
|
|
| 🟡 중요 | 20 | 20 | 0 |
|
|
| 🟢 경미 | 2 | 0 | 2 (보류) |
|
|
| **합계** | **25** | **23** | **2** |
|
|
|
|
---
|
|
|
|
## ✅ 완료된 수정
|
|
|
|
### 🔴 타임라인 역행 재배치
|
|
|
|
| # | 챕터 | 조치 | 커밋 |
|
|
|---|------|------|------|
|
|
| 1 | ch-028 | ch-022로 재배치 | abc123f |
|
|
|
|
**영향받는 배치:**
|
|
- validation-batch-03.md 무효화됨
|
|
|
|
### 🟡 형식 수정
|
|
|
|
| # | 위치 | 유형 | 수정 내용 |
|
|
|---|------|------|----------|
|
|
| 1 | ch-002~008 | 타임라인 헤더 | 형식 수정 |
|
|
| 2 | ch-012~016 | 타임라인 헤더 | 형식 수정 |
|
|
| ... | | | |
|
|
|
|
---
|
|
|
|
## ⏳ 보류/미완료
|
|
|
|
| # | 위치 | 유형 | 사유 |
|
|
|---|------|------|------|
|
|
| 1 | ch-005:12 | 날짜 겹침 | 🟢 경미, 추후 처리 |
|
|
| 2 | ch-010:34 | 병렬 서사 | ✅ 정상 (오판) |
|
|
|
|
---
|
|
|
|
## 🔄 Git 커밋 히스토리
|
|
|
|
1. `abc123f` - Fix timeline reversal: reposition ch-028 to ch-022
|
|
2. `def456a` - Fix timeline header format in 23 chapters
|
|
3. `ghi789b` - Fix honorific inconsistencies (5 instances)
|
|
|
|
---
|
|
|
|
## ➡️ 다음 단계
|
|
|
|
- [x] VERIFICATION 완료
|
|
- [x] FIX 완료 (23/25건)
|
|
- [ ] RE-VERIFICATION (자동 실행 예정)
|
|
- [ ] POLISH 진행 (선택)
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ FIX 모드 체크리스트 (v2.0.0)
|
|
|
|
### 수정 전
|
|
- [ ] 검증 보고서 유효성 확인 ⭐
|
|
- [ ] 총 수정 건수 파악
|
|
- [ ] 심각도별 분류 확인
|
|
- [ ] Git clean working tree 확인 ⭐
|
|
- [ ] 백업 생성 (재배치 시) ⭐
|
|
|
|
### 수정 중
|
|
- [ ] 🔴 타임라인 역행 재배치 (최우선) ⭐
|
|
- [ ] 🔴 기타 심각 항목 완료
|
|
- [ ] 🟡 중요 항목 완료
|
|
- [ ] 🟢 경미 항목 처리 (선택)
|
|
- [ ] 각 유형별 Git 커밋 ⭐
|
|
|
|
### 수정 후
|
|
- [ ] 영향받는 배치 리포트 무효화 ⭐
|
|
- [ ] 수정 완료 보고 작성
|
|
- [ ] Git 푸시 ⭐
|
|
- [ ] 재검증 (자동) 대기 ⭐
|
|
|
|
---
|
|
|
|
## 🚫 FIX 모드 금지사항
|
|
|
|
```
|
|
❌ 검증 보고서 유효성 체크 생략 (v2.0.0)
|
|
❌ Git 상태 확인 없이 수정 시작
|
|
❌ 재배치 시 백업 없이 진행
|
|
❌ 수정하면서 새 문제 발견해도 범위 확장 (→ 다시 VERIFICATION)
|
|
❌ 플롯/내용 변경 (→ MODIFICATION 모드에서)
|
|
❌ 수정 기록 누락
|
|
❌ Git 커밋 누락
|
|
❌ 영향받는 배치 무효화 누락 (v2.0.0)
|
|
```
|
|
|
|
---
|
|
|
|
## 🔗 연계 모드
|
|
|
|
```
|
|
VERIFICATION (검증, 기록)
|
|
↓
|
|
FIX (일괄 수정 + 재배치) ← 현재
|
|
↓
|
|
RE-VERIFICATION (자동)
|
|
↓
|
|
POLISH (가독성/문체)
|
|
```
|
|
|
|
---
|
|
|
|
## 💡 효율적인 FIX 팁
|
|
|
|
```
|
|
1. 타임라인 역행 재배치부터 (영향이 크므로)
|
|
|
|
2. 같은 유형끼리 묶어서 처리
|
|
- 형식 수정 → 한번에
|
|
- 호칭 수정 → 한번에
|
|
|
|
3. 같은 챕터 수정은 한번에
|
|
- ch-012에 3건 있으면 한번에 처리
|
|
|
|
4. 심각도 순서 지키기
|
|
- 🔴 먼저, 시간 부족하면 🟢은 보류
|
|
|
|
5. 수정 후 바로 커밋
|
|
- 논리적 단위로 커밋 (롤백 용이)
|
|
|
|
6. 재배치 후 영향 배치 확인
|
|
- 무효화 누락 방지
|
|
```
|
|
|
|
---
|
|
|
|
## 🔧 에러 복구 시나리오
|
|
|
|
### 시나리오 1: 재배치 Stage 2 실패
|
|
|
|
```
|
|
상황: 헤더 수정 중 파일 읽기 오류
|
|
|
|
조치:
|
|
1. 즉시 중단
|
|
2. temp 파일 확인
|
|
3. 에러 파일만 수동 수정
|
|
4. Stage 2 재개
|
|
```
|
|
|
|
### 시나리오 2: Git 충돌
|
|
|
|
```
|
|
상황: 푸시 중 리모트 변경 감지
|
|
|
|
조치:
|
|
1. git pull --rebase
|
|
2. 충돌 해결
|
|
3. git rebase --continue
|
|
4. git push
|
|
```
|
|
|
|
### 시나리오 3: 재배치 후 검증 실패
|
|
|
|
```
|
|
상황: 재배치 완료했지만 타임라인 여전히 역행
|
|
|
|
조치:
|
|
1. 재배치 로직 재확인
|
|
2. 타임라인 다시 읽기
|
|
3. 올바른 위치 재계산
|
|
4. 재배치 재실행
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 관련 문서
|
|
|
|
- `verification-mode.md` - 검증 모드 프로토콜
|
|
- `report-management.md` - 리포트 유효성 관리
|
|
- `polish-mode.md` - POLISH 모드 프로토콜
|
|
|
|
---
|
|
|
|
*FIX는 검증 결과 기반! 새 문제 발견 시 다시 VERIFICATION!*
|