Files
novel-writing-guide/templates/standards/verification-mode.md
Alex 4c4f582b88 feat(verification): v2.7.0 - 소설 검증 특성 반영
- 타임라인 겹침 판정 개선: 물리적 모순 확인 필수
- 소설 검증 특성 섹션 추가 (병렬 서사, 옴니버스, 다중 시점)
- 정상 기법 vs 실제 오류 명확히 구분
- 검증 절차 개선: 겹침 발견 → 내용 확인 → 물리적 모순 체크

교훈:
- v2.6.0에서 ch-010↔ch-011 타임라인 겹침을 오류로 과잉 판정
- 실제: 병렬 서사 (강민준/박현우/최태준 각자 다른 장소)
- 소설 ≠ 기술 문서, 병렬 서사는 정상적인 소설 기법

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-24 17:14:15 +09:00

29 KiB

검증 모드 프로토콜

버전: 2.7.0 최종 수정: 2026-01-24 호환: CWS Writing Guide v4.2.0+ 용도: 전체 검증 및 기록 (수정 없음) 주요 변경: 소설 검증 특성 반영, 병렬 서사 정상 판정, 물리적 모순 확인 절차 추가


🔄 컴팩팅 대응 시스템 (v2.1.0 신규)

배치 작업 시 WORK-MODE.txt 사용

배치 시작 시:

1. WORK-MODE.txt 파일 생성
---
CURRENT_MODE: VERIFICATION
READ_FILE: standards/verification-mode.md
---
BATCH: 01
RANGE: ch-001 ~ ch-010
STATUS: IN_PROGRESS
LAST_COMPLETED: none
NEXT: ch-001
REPORT_FILE: validation-batch-01.md
STARTED: 2026-01-20 14:20
---

2. validation-batch-01.md 파일 생성 (진행 상황 체크리스트)

각 챕터 완료 후:

1. validation-batch-01.md에 [x] 표시
2. 챕터별 상세 내용 추가
3. WORK-MODE.txt의 LAST_COMPLETED, NEXT 업데이트
4. 파일 저장
5. 다음 챕터

컴팩팅 후 재개 시:

1. WORK-MODE.txt 읽기
2. CURRENT_MODE 확인 → VERIFICATION
3. READ_FILE 확인 → verification-mode.md (이 파일)
4. REPORT_FILE 읽기 → validation-batch-01.md
5. 진행 상황 체크리스트 확인
6. NEXT 챕터부터 재개

배치 완료 시:

1. 전체 [x] 확인
2. WORK-MODE.txt 삭제
3. 사용자에게 완료 보고

핵심 원칙:

❌ 10개 전부 메모리에 저장 후 한 번에 파일 작성
✅ 1개 완료 → 즉시 파일 업데이트 → WORK-MODE.txt 업데이트 → 다음

🔄 통합 검증 (최종 단계, v2.5.0 신규)

개요

통합 검증이란?

  • 모든 배치 검증 완료 실행
  • 권 전체 구조 확인 (배치는 나무, 통합은 숲)
  • 배치 검증에서 놓칠 수 있는 전체 문제 발견

왜 필요한가?

문제 사례 (실제 발생):
- 배치 5 검증 시: ch-050 "회고와 전망" 제목 확인 → 마무리처럼 보임
- 배치 6 검증 시: ch-051부터 시작 → "이전 배치 있었겠지" 추정
- ❌ 결과: ch-050이 "2권 마무리"인 줄 잘못 판단
- ✅ 실제: ch-059-2 "2부를 향하여"가 진짜 마지막

→ 배치만 보면 전체 구조를 놓침!

실행 시점

배치 1 검증 → 배치 2 검증 → ... → 배치 N 검증
    ↓
📋 통합 검증 (NEW!)
    ↓
검증 완료

마지막 배치 완료 후 즉시 실행

통합 검증 체크 항목

1. 전체 챕터 개수 확인

✅ 파일 리스트 확인
   - ls volumes/vol-XX/chapters/ch-*.md | wc -l
   - 예상 개수와 비교

예시:
- 예상: 50화 (설계 문서 기준)
- 실제: 59화 (ch-001.md ~ ch-059-2.md)
- 판정: ❌ 9개 차이! 확인 필요

✅ 분할 파일 확인
   - ch-XXX-1.md, ch-XXX-2.md 존재 여부
   - 각 분할 파일 용도 확인
   - 원본 ch-XXX.md 삭제 여부 확인

2. 첫 화 / 마지막 화 확인

✅ 첫 화 확인
   - 파일명: ch-001.md
   - 제목: "X권 1화: ..."
   - 타임라인: 시작 날짜
   - 판정: ✅ / ❌

✅ 마지막 화 확인
   - 파일 목록 정렬 후 마지막 파일 확인
   - ls volumes/vol-XX/chapters/ch-*.md | sort | tail -1
   - 예: ch-059-2.md
   - 제목 확인: "2부를 향하여" 등
   - 마무리 키워드: "끝", "마무리", "다음 권" 등
   - 판정: ✅ / ❌

3. "마무리" 키워드 검증

⚠️ 중요: "마무리" 키워드가 실제 마지막인가?

✅ 검색 실행
   - grep -n "회고\|마무리\|결산\|끝" volumes/vol-XX/chapters/ch-*.md

✅ 발견 시 확인
   - 위치: ch-050 "회고와 전망"
   - 실제 마지막: ch-059-2 "2부를 향하여"
   - 판정: ❌ ch-050은 중간 회고, 마지막 아님!

기록:
- "마무리" 키워드 위치: ch-050
- 실제 마지막: ch-059-2
- ⚠️ 혼동 가능성: 높음

4. 권 구조 검증

✅ 기-승-전-결 구조

- 시작 (1/4 지점): ch-001 ~ ch-015
- 전개 (2/4 지점): ch-016 ~ ch-030
- 위기 (3/4 지점): ch-031 ~ ch-045
- 결말 (4/4 지점): ch-046 ~ 마지막

확인:
- 각 구간이 자연스러운가?
- 갑자기 끝나는 느낌 없는가?
- 마지막 챕터가 정말 끝인가?

예시:
- 2권 총 59화
- 1/4: ch-001~015 (15화)
- 2/4: ch-016~030 (15화)
- 3/4: ch-031~045 (15화)
- 4/4: ch-046~059 (14화)
→ ✅ 균형적

5. 배치 경계 재검증

✅ 배치 간 연결 확인

- 배치 1 → 배치 2: ch-010 → ch-011
- 배치 2 → 배치 3: ch-020 → ch-021
- ...
- 배치 5 → 배치 6: ch-050 → ch-051

각 경계에서:
- 타임라인 연속성
- 내용 연결성
- 갑작스러운 변화 없음

6. 전체 타임라인 검증

✅ 시작 → 끝 흐름

- 시작: ch-001 타임라인
- 끝: ch-059 타임라인
- 총 기간 계산
- 역행 없음 재확인

예시:
- 시작: 1947.1.1 (ch-001)
- 끝: 1955.1.1 (ch-059-2)
- 총 기간: 8년
→ ✅ 자연스러움

통합 검증 보고서 형식

# X권 통합 검증 보고서

> **검증일:** YYYY-MM-DD
> **전체 범위:** ch-001 ~ ch-XXX
> **모드:** 통합 검증 (Final Integration Check)

---

## 📊 전체 구조 요약

### 챕터 개수
- **예상:** 50화
- **실제:** 59화
- **판정:** ⚠️ 9개 차이 (확인 필요)

### 첫 화 / 마지막 화
- **첫 화:** ch-001.md "X권 1화: ..." ✅
- **마지막 화:** ch-059-2.md "2부를 향하여" ✅

### "마무리" 키워드 검증
- **발견 위치:** ch-050 "회고와 전망"
- **실제 마지막:** ch-059-2
- **판정:** ⚠️ ch-050은 중간 회고, 혼동 주의!

### 권 구조
- 시작 (1/4): ch-001~015 ✅
- 전개 (2/4): ch-016~030 ✅
- 위기 (3/4): ch-031~045 ✅
- 결말 (4/4): ch-046~059 ✅

### 전체 타임라인
- **시작:** 1947.1.1
- **끝:** 1955.1.1
- **총 기간:** 8년 ✅

---

## 🔴 발견된 문제

### 1. 챕터 개수 불일치
- 예상 50화 vs 실제 59화
- 원인: [확인 필요]

### 2. "마무리" 키워드 혼동 가능성
- ch-050 "회고와 전망"이 마지막처럼 보임
- 실제 마지막: ch-059-2

---

## ✅ 최종 판정

- 전체 구조: ✅ / ⚠️ / ❌
- 챕터 개수: ✅ / ⚠️ / ❌
- 타임라인: ✅ / ⚠️ / ❌

---

**통합 검증 완료**

통합 검증 체크리스트

- [ ] 1. 전체 챕터 개수 확인
- [ ] 2. 첫 화 확인 (ch-001)
- [ ] 3. 마지막 화 확인 (ls | sort | tail -1)
- [ ] 4. "마무리" 키워드 검색 및 검증
- [ ] 5. 권 구조 균형 확인 (기승전결)
- [ ] 6. 배치 경계 재검증
- [ ] 7. 전체 타임라인 흐름 확인
- [ ] 8. 통합 검증 보고서 생성

통합 검증 실행 명령

"통합 검증해"
"권 전체 검증"
"전체 구조 확인해"

📋 검증 모드 개요

검증 모드는:

  • 6단계 통합 검증
  • 문제 발견 및 기록만 (수정하지 않음!)
  • 검증 보고서 생성 → FIX 모드로 전달

핵심 원칙:

VERIFICATION = 발견 + 기록
FIX = 수정
(분리!)

진입 명령:

  • "검증해"
  • "점검 모드"
  • "X권 검증해"
  • "전체 검증"

부분 검증:

  • "타임라인만 검증해"
  • "호칭 검증해"
  • "바텀 검증해"

📖 소설 검증 특성 (v2.7.0 신규)

소설 ≠ 기술 문서

핵심 원칙:

소설은 창작물이다.
병렬 서사, 옴니버스, 다중 시점 = 정상적인 소설 기법
타임라인 겹침 ≠ 무조건 오류

정상적인 소설 기법

1. 병렬 서사 (Parallel Narrative)

같은 시기, 다른 장소/인물 이야기를 동시 진행

예시:
- ch-010: 강민준(서울), 김구 만남, 11월 말
- ch-011: 박현우(서울 빈민가), 페니실린 배포, 11월 1일~
- ch-011: 최태준(만주), 출발 준비, 11월~

판정: ✅ 정상 (서로 다른 장소/인물)

2. 옴니버스 (Omnibus)

여러 시점을 교차하며 전체 그림 완성

예시:
- 같은 날, 서울 5곳 동시 장면
- 각 장소마다 다른 인물 시점
- 전체가 모여 하나의 사건 구성

판정: ✅ 정상 (다중 시점 교차)

3. 다중 시점 (Multiple POV)

같은 사건을 여러 각도에서 묘사

예시:
- ch-020: 3.1절 시위 (강민준 시점)
- ch-021: 3.1절 당일 (이승만 시점)

판정: ✅ 정상 (같은 사건, 다른 각도)

실제 오류

1. 물리적 모순 (Physical Contradiction)

같은 인물이 두 곳에 동시 존재

예시:
- ch-010: 강민준이 서울 경교장에서 김구와 대화 (11.23 오후 2시)
- ch-011: 강민준이 만주 연길에서 회의 (11.23 오후 2시)

판정: 🔴 긴급 오류 (물리적 불가능)

2. 인과관계 모순 (Causality Error)

결과가 원인보다 먼저 발생

예시:
- ch-005: 페니실린 배포 시작 (10.1)
- ch-010: 페니실린 첫 생산 (10.25)

판정: 🔴 긴급 오류 (인과 역전)

3. 사건 중복 (Event Duplication)

같은 대화/장면이 여러 챕터에서 반복

예시:
- ch-003: 여운형과 첫 만남 대화 전체
- ch-005: 똑같은 대화 장면 재등장

판정: 🔴 긴급 오류 (중복)

🔍 검증 절차 (v2.7.0)

타임라인 겹침 발견 시:

1단계: 양쪽 파일 읽기 (필수)
   - 이전 챕터 내용 확인
   - 다음 챕터 내용 확인

2단계: 물리적 모순 체크
   ✅ 같은 인물? → 어디에 있나?
   ✅ 같은 사건? → 중복인가, 다른 각도인가?
   ✅ 인과관계? → 순서가 맞나?

3단계: 판정
   - 모순 있음 → 🔴 긴급 오류
   - 모순 없음 → ✅ 병렬 서사 (정상)

4단계: 기록
   - 모순: 상세 설명 + 🔴
   - 정상: "병렬 서사, 문제 없음" + ✅

📝 보고서 작성 예시

잘못된 보고:

타임라인 겹침 발견:
- ch-010: 11.1~11.24
- ch-011: 11.1~11.25
판정: 🔴 긴급 오류

올바른 보고:

타임라인 겹침 발견:
- ch-010: 11.1~11.24 (강민준 서울, 김구 만남)
- ch-011: 11.1~11.25 (박현우 서울 빈민가, 최태준 만주)

물리적 모순 확인:
- 같은 인물 두 곳? → ❌ (서로 다른 인물)
- 같은 사건 중복? → ❌ (서로 다른 장면)
- 인과관계 오류? → ❌ (자연스러운 연결)

판정: ✅ 병렬 서사 (정상)

⚠️ 주의사항

과도한 검증 방지:

  • 소설 특성을 무시한 기계적 검증 금지
  • "겹침 = 오류" 공식화 금지
  • 반드시 내용 확인 후 판정

교훈 (실제 사례):

v2.6.0 검증에서 ch-010↔ch-011 타임라인 겹침을 🔴 긁급으로 판정
→ 실제: 병렬 서사 (정상)
→ 문제: 소설 특성 미반영
→ 개선: v2.7.0에서 물리적 모순 확인 절차 추가

📚 모드 진입 시 읽을 파일

필수

  1. volumes/vol-XX/plot-master.md - 플롯 (일치도 검증용)
  2. settings/characters-master.md - 캐릭터 + 호칭 규칙
  3. volumes/vol-XX/timeline.md - 타임라인

검증 대상

  1. volumes/vol-XX/chapters/ch-*.md - 전체 챕터

🎯 검증 워크플로우

배치 검증 (6단계)

사용자: "검증해"
    ↓
[1/6] 구조 검증 중...
[2/6] 형식 검증 중...
[3/6] 타임라인 검증 중...
[4/6] 내용 검증 중...
[5/6] 일관성 검증 중...
[6/6] 보고서 생성 중...
    ↓
배치 검증 보고서 출력

전체 워크플로우 (v2.5.0)

배치 1 검증 (6단계)
    ↓
배치 2 검증 (6단계)
    ↓
...
    ↓
배치 N 검증 (6단계)
    ↓
📋 통합 검증 (최종 단계) ← NEW!
    - 전체 챕터 개수 확인
    - 첫/마지막 화 확인
    - "마무리" 키워드 검증
    - 권 구조 확인
    ↓
통합 검증 보고서
    ↓
"FIX 모드로 수정하시겠습니까?"

📝 단계별 상세

1단계: 구조 검증

✅ 파일 존재/연속성
   - ch-001 ~ ch-XXX 모두 있나?
   - 빠진 번호 없나?
   - 중복 번호 없나?

✅ 파일명 규칙
   - ch-XXX.md 형식
   - 3자리 숫자 패딩

기록:
- 총 챕터 수
- 빠진 번호 목록
- 중복 번호 목록

2단계: 형식 검증

✅ 헤더 형식
   - "# X권 Y화: 제목" 형식
   - 파일명 번호 = 헤더 화수 일치

✅ 타임라인 형식
   - "> **타임라인:** YYYY.M.D-M.D" 형식

⭐ 바텀 검증
   - "[X화 끝]" 있으면 → 🔴 기록
   - "다음 X화:" 있으면 → 🔴 기록

기록:
- 헤더 오류 목록
- 화수 불일치 목록
- 바텀 있는 챕터 목록

3단계: 타임라인 검증

✅ 시간 순서
   - ch-001 → ch-002 → ... 시간 순서

✅ 역행 체크 ⭐ 추측 금지!
   - 이전 화보다 과거로 가는 경우
   - 🚨 역행 발견 시:
     1. 해당 챕터 전체 읽기 (필수!)
     2. 제목에 "회상" 표시 확인
     3. 본문 시제 확인 ("~했었다" 등)
     4. Part 헤더에 회상 표시 확인
     5. 명확한 회상 표시 없으면 → 🔴 긴급 오류
   - ❌ "회상으로 보임" 추측 금지
   - ❌ "병렬 진행일 수도" 추측 금지
   - ✅ 파일 읽고 명확히 판정

✅ 타임라인 겹침 (v2.7.0 소설 특성 반영)
   - 같은 날짜 과도한 반복
   - 🚨 겹침 발견 시 물리적 모순 확인 (필수!):
     1. 같은 인물이 두 곳에 동시 존재? → 🔴 긴급
     2. 같은 사건이 중복? → 🔴 긴급
     3. 인과관계 모순? → 🔴 긴급
     4. 다른 장소/인물 병렬? → ✅ 정상 (병렬 서사)
   - ✅ 정상 사례:
     - ch-010(강민준 서울) + ch-011(박현우 서울, 최태준 만주) 같은 시기
     - 옴니버스: 여러 시점 교차
     - 다중 시점: 같은 사건 다른 각도
   - ❌ 오류 사례:
     - 강민준이 같은 날 서울과 만주에 동시 존재
     - 같은 대화 장면이 두 챕터에서 반복
   - 🔑 핵심: 소설 ≠ 기술 문서, 병렬 서사는 정상 기법

⭐ 배치 경계 체크 (v2.2.0 신규, v2.6.0 강제화, v2.7.0 소설 특성 반영)
   - 🚨 배치 시작 시 필수 확인:
     1. 이전 배치 마지막 챕터 타임라인 읽기
     2. 현재 배치 첫 챕터 타임라인 읽기
     3. 시간 흐름 연속성 검증
     4. 역행 발견 시 → 회상 확인 → 없으면 🔴 긴급
     5. 겹침 발견 시 → 물리적 모순 확인 (위 절차)
   - ch-010 → ch-011 연결 확인
   - ch-020 → ch-021 연결 확인
   - ch-030 → ch-031 연결 확인
   - ch-040 → ch-041 연결 확인
   - ch-050 → ch-051 연결 확인
   - ❌ "이전 배치 있었겠지" 추측 금지
   - ✅ 실제로 이전 챕터 확인
   - ✅ 타임라인 겹침 = 물리적 모순 먼저 확인

기록:
- 타임라인 순서 테이블
- 역행 발견 목록 (🔴 긴급)
- 날짜 겹침 경고
- 배치 경계 문제 목록 (🔴 긴급)

4단계: 내용 검증

✅ 플롯 일치도
   - plot-master.md와 실제 내용 비교
   - 제목, 타임라인, 핵심 내용

✅ 캐릭터 등장
   - 소개 없이 갑자기 등장?
   - 죽은/퇴장 캐릭터 재등장?

⭐ 호칭 일관성
   - characters-master.md의 호칭 규칙 기준
   - 결혼 전/후 호칭 구분
   - 갑자기 호칭 바뀌는 경우

⭐ 호칭 복수/단수 정확성 (v2.3.0)
   - characters-master.md 나이 관계 테이블 기준
   - 화자가 대상 몇 명에게 말하는지 검증
   - 검증 방법:
     1. "형님들", "형들", "선배님들" 등 복수 호칭 검색
     2. 화자 확인 (대화 직전 지문에서 파악)
     3. 나이 관계 테이블에서 화자보다 나이/지위 높은 사람 수 확인
     4. 대상 1명 → 단수 / 대상 2명 이상 → 복수
   - 실제 오류 예시:
     ❌ 박현우(37세, 2위): "형님들" → 윗사람 1명(강민준 41세)만 있음 → "형님" 사용해야
     ✅ 최태준(35세, 3위): "형님들" → 윗사람 2명(강민준+박현우) 있음 → 올바름
   - 발견 시 기록: 화자, 대화 내용, 실제 윗사람 수, 올바른 호칭

✅ 말투 일관성
   - 존댓말/반말 패턴 유지

⭐ 캐릭터 성격 일관성 (v2.4.0 신규!)
   - characters-master.md의 성격 설정 기준
   - 검증 방법:
     1. 각 캐릭터의 핵심 성격 확인 (냉철/감정적/과묵/수다 등)
     2. 본문에서 성격과 다른 행동/반응 검색
   - 오류 예시:
     ❌ 민준(냉철한 전략가): "아악! 무서워!" 비명
     ❌ 태준(과묵함): 갑자기 장황한 설명 10줄
     ✅ 민준(냉철): 손이 떨렸다. 하지만 표정은 변하지 않았다.
   - 발견 시 기록: 캐릭터, 설정된 성격, 모순되는 행동, 위치

⭐ 캐릭터 능력 일관성 (v2.4.0 신규!)
   - 이전 챕터에서 못했던 것을 갑자기 함 (학습 과정 없이)
   - 검증 방법:
     1. 중요 능력 등장 시 이전 챕터 확인
     2. 학습/훈련 과정 있었는지 체크
   - 오류 예시:
     ❌ ch-003: "난 총을 한 번도 쏴본 적 없어."
        ch-010: 민준이 저격총으로 완벽한 저격 성공
        → 학습 과정 누락!
     ✅ ch-003: "난 총을 한 번도..."
        ch-005: 몰래 사격 연습 시작
        ch-010: 일주일간 연습 끝에 사격 성공
   - 발견 시 기록: 캐릭터, 능력, 이전 언급, 학습 과정 유무

⭐ 캐릭터 지식 일관성 (v2.4.0 신규!)
   - 몰랐던 정보를 갑자기 앎 (정보 획득 과정 없이)
   - 검증 방법:
     1. 중요 정보 언급 시 이전 챕터 확인
     2. 정보 획득 장면 있었는지 체크
   - 오류 예시:
     ❌ ch-004: "강세우? 누구야 그 사람?"
        ch-005: "강세우가 형님이라고 부른 이유는..."
        → 소개받은 장면 누락!
     ✅ ch-004: "강세우? 누구야?"
        ch-004 끝: 여운형이 설명함
        ch-005: "강세우가 형님이라고..."
   - 발견 시 기록: 캐릭터, 정보, 이전 상태, 획득 과정 유무

⭐ 장면 중복 (v2.1.0 신규)
   - 같은 대화/장면이 챕터 내에서 반복되는지
   - 같은 정보를 여러 번 전달하는지
   - 예: "예언 내용"을 Part 2, Part 3에서 중복

⭐ 인과관계 논리 (v2.1.0 신규)
   - 이전 챕터에서 받은 물건/정보가 다음 챕터에 반영되는지
   - 예: ch-004에서 명단 받았는데 ch-005에서 또 작성 ❌
   - 시간 흐름에 따른 상태 변화 논리

⭐ 정보 흐름 (v2.1.0 신규)
   - 캐릭터 첫 등장 시 소개 있는지
   - 관계 형성이 점진적인지 (갑자기 친밀한 호칭 ❌)
   - 예: 강세우가 소개 없이 갑자기 "형님" ❌

⭐ 설정 일관성 (v2.2.0)
   - 숫자/데이터 일관성: 인원수, 금액, 날짜 일치
   - 예: 3화에서 "20명" → 5화에서 "50명" (설명 없음) ❌
   - 물리적 설정: 거리, 시간, 위치 논리
   - 예: 서울→부산 1시간 (불가능) ❌
   - 호칭 변화 추적: 호칭 변화에 계기 있는지
   - 예: "서 선생님" → "윤희" (계기 누락) ❌

⭐ 날씨/계절 일관성 (v2.4.1 신규!)
   - 타임라인 날짜와 날씨/계절 매칭
   - 검증 방법:
     1. 타임라인에서 날짜 확인 (YYYY.M.D)
     2. 본문에서 날씨/계절 묘사 확인
     3. 날짜와 날씨가 맞는지 검증
   - 오류 예시:
     ❌ 타임라인: 1945.5.15 (5월)
        본문: "눈이 펑펑 내렸다."
        → 5월에 눈? 계절 불일치!
     ❌ 타임라인: 1945.12.20 (12월)
        본문: "벚꽃이 만개했다."
        → 12월에 벚꽃? 계절 불일치!
     ✅ 타임라인: 1945.5.15
        본문: "봄비가 내렸다."
        → 5월에 맞는 날씨!
   - 계절별 기준:
     - 봄 (3~5월): 봄비, 따뜻함, 벚꽃
     - 여름 (6~8월): 더위, 장마, 폭염
     - 가을 (9~11월): 선선함, 낙엽, 단풍
     - 겨울 (12~2월): 추위, 눈, 얼음
   - 발견 시 기록: 위치, 타임라인 날짜, 본문 날씨 묘사, 모순 이유

기록:
- 플롯 불일치 목록
- 호칭 오류 목록
- 호칭 복수/단수 오류 목록 (v2.3.0)
- 캐릭터 성격 일관성 오류 목록 (v2.4.0)
- 캐릭터 능력 일관성 오류 목록 (v2.4.0)
- 캐릭터 지식 일관성 오류 목록 (v2.4.0)
- 캐릭터 오류 목록
- 장면 중복 목록 (v2.1.0)
- 인과관계 오류 목록 (v2.1.0)
- 정보 흐름 오류 목록 (v2.1.0)
- 설정 일관성 오류 목록 (v2.2.0)
- 날씨/계절 일관성 오류 목록 (v2.4.1 신규!)

5단계: 일관성 검증

✅ 앞뒤 연결
   - 이전 화 끝 ↔ 다음 화 시작
   - 갑작스러운 상황 변화

✅ 복선 추적
   - 설치된 복선 목록
   - 회수된 복선 목록
   - 미회수 복선 (회수 예정)

✅ 설정 충돌
   - 같은 사건 다른 날짜
   - 같은 캐릭터 다른 나이

기록:
- 연결 오류 목록
- 복선 현황 테이블
- 설정 충돌 목록

6단계: 보고서 생성


📏 오류 카운트 원칙 (v2.4.2 신규)

목적: 중복 카운트 방지 및 정확한 오류 개수 산출

⚠️ 주의: 중복 카운트 금지

문제 상황:

타임라인 헤더 오류: 7건
챕터 간 연결 오류: 3건
---
합계: 10건 ❌ 잘못된 카운트!

왜 잘못되었나?

  • "챕터 간 연결 오류" 3건이 타임라인 문제에서 발생
  • 실제로는 같은 오류를 두 번 센 것!
  • 정확한 합계: 7건 (타임라인 헤더만)

정확한 카운트 방식

1. 유형별 카운트 (Primary)

각 오류를 정확히 하나의 카테고리에만 분류:

1. 타임라인 헤더 오류: 7건
   - ch-002, 003, 004, 005, 006, 007, 008
   - 헤더 날짜 ≠ 본문 날짜

2. 챕터 간 연결 오류: 3건
   - ch-002→003, ch-003→004, ch-004→005
   - 날짜 건너뜀, 본문 표현 문제
   - ⚠️ 타임라인 오류와 **별개**

3. 호칭 복수/단수 오류: 2건
   - ch-002:139, ch-011:511

4. 설정 모순: 2건
   - ch-003:417 (나이), ch-003:427 (신분)

---
총 오류: 7+3+2+2 = 14건 ✅

2. 챕터별 카운트 (Verification)

각 챕터에서 발견된 오류를 개별로 세기:

- ch-002: 2건 (타임라인 1 + 호칭 1)
- ch-003: 2건 (타임라인 1 + 설정 1)
- ch-004: 3건 (타임라인 1 + 연결 1 + 설정 1)
- ch-005: 2건 (타임라인 1 + 연결 1)
- ch-006: 1건 (타임라인 1)
- ch-007: 1건 (타임라인 1)
- ch-008: 1건 (타임라인 1)
- ch-011: 2건 (타임라인 1 + 호칭 1)

---
챕터별 합계: 2+2+3+2+1+1+1+2 = 14건 ✅

3. 검증 (Mandatory)

두 방식의 합계가 반드시 일치해야 함:

유형별 합계: 14건
챕터별 합계: 14건
---
✅ 일치! 정확한 카운트

불일치 시:

유형별 합계: 17건
챕터별 합계: 12건
---
❌ 불일치! 중복 카운트 발생
→ 재확인 필수

🚨 중복 카운트가 발생하는 패턴

패턴 1: 연결 문제를 두 번 세기

잘못된 방식:

타임라인 오류 (10건):
- 헤더 오류: ch-002~008 (7건)
- 연결 문제: ch-002→003, ch-003→004, ch-004→005 (3건)

챕터 간 연결 오류 (3건):
- ch-002→003, ch-003→004, ch-004→005

---
합계: 10 + 3 = 13건 ❌ (연결 3건 중복!)

올바른 방식:

타임라인 헤더 오류 (7건):
- ch-002~008

챕터 간 연결 오류 (3건):
- ch-002→003, ch-003→004, ch-004→005

---
합계: 7 + 3 = 10건 ✅

패턴 2: 하위 카테고리를 상위와 중복

잘못된 방식:

설정 오류 (5건):
- 나이 불일치: 2건
- 신분 모순: 1건
- 위치 충돌: 2건

나이 불일치 (2건):
- ch-003, ch-015

---
합계: 5 + 2 = 7건 ❌ (나이 2건 중복!)

올바른 방식:

설정 오류 (5건):
- 나이 불일치: 2건 (ch-003, ch-015)
- 신분 모순: 1건
- 위치 충돌: 2건

---
합계: 5건만 ✅

📋 보고서 작성 체크리스트

보고서 완성 전 필수 확인:

  • 1. 유형별 오류 합계 계산
  • 2. 챕터별 오류 합계 계산
  • 3. 두 합계가 일치하는지 확인
  • 4. 불일치 시 중복 카운트 찾기
  • 5. 중복 제거 후 재계산
  • 6. 최종 합계 확정
  • 7. "총 X건" 표기

예시:

## 검증 요약

### 유형별
- 타임라인: 7건
- 연결: 3건
- 호칭: 2건
- 설정: 2건
**합계: 14건**

### 챕터별
- ch-002: 2건
- ch-003: 2건
- ...
**합계: 14건**

✅ 검증 완료 (일치)

**총 발견 오류: 14건**

🔧 보완 권장 사항

  1. validation 작성 시

    • 각 오류를 정확히 하나의 카테고리에만 할당
    • 중복 가능성이 있는 항목은 명시적으로 분리
    • 예: "타임라인 헤더" vs "챕터 간 연결"
  2. 최종 보고 전

    • 유형별/챕터별 합계 검증 필수
    • 불일치 발생 시 중복 카운트 재확인
    • 정확한 숫자 확정 후 보고
  3. 카운트 방식 표준화

    • 명확한 카테고리 정의
    • 중복 방지 원칙 적용
    • 검증 절차 준수

📊 검증 보고서 형식

# X권 검증 보고서

> **검증일:** YYYY-MM-DD
> **검증 범위:** ch-001 ~ ch-XXX
> **모드:** VERIFICATION (기록만, 수정 없음)

---

## 📊 요약

| 항목 | 발견 건수 | 심각도 |
|------|----------|--------|
| 구조 오류 | X건 | 🔴/🟡/🟢 |
| 형식 오류 | X건 | 🔴/🟡/🟢 |
| 타임라인 오류 | X건 | 🔴/🟡/🟢 |
| 내용 오류 | X건 | 🔴/🟡/🟢 |
| 일관성 오류 | X건 | 🔴/🟡/🟢 |
| **총계** | **X건** | |

---

## 🔴 심각 (즉시 수정 필요)

| # | 위치 | 유형 | 내용 |
|---|------|------|------|
| 1 | ch-012:34 | 설정 충돌 | 민준 나이 32→34 불일치 |
| 2 | ch-025:102 | 타임라인 | 5월인데 단풍 묘사 |
| ... | | | |

---

## 🟡 중요 (수정 권장)

| # | 위치 | 유형 | 내용 |
|---|------|------|------|
| 1 | ch-018:45 | 호칭 | "윤희 씨" → "서 선생님" (시점 이전) |
| 2 | ch-033:78 | 바텀 | "[33화 끝]" 존재 |
| ... | | | |

---

## 🟢 경미 (선택적 수정)

| # | 위치 | 유형 | 내용 |
|---|------|------|------|
| 1 | ch-005:12 | 날짜 겹침 | 3일 연속 같은 날짜 |
| ... | | | |

---

## 📋 복선 현황

| 복선 | 설치 | 회수 | 상태 |
|------|------|------|------|
| 만주 언급 | ch-003 | ch-045 | ✅ 회수됨 |
| 검은 반지 | ch-015 | - | ⏳ 미회수 |
| ... | | | |

---

## ➡️ 다음 단계
**X건** 발견됨.
→ `FIX 모드`로 일괄 수정 진행

명령: "FIX 모드" 또는 "수정 진행해"

🔍 부분 검증

타임라인만

"타임라인만 검증해" → 3단계만 실행

호칭만

"호칭 검증해" → 4단계 호칭 항목만

바텀만

"바텀 검증해" → 2단계 바텀 항목만
→ 바텀 있는 챕터 목록 출력

형식만

"형식 검증해" → 2단계만 실행

검증 체크리스트

1단계: 구조

  • 파일 존재 확인
  • 번호 연속성
  • 중복 없음

2단계: 형식

  • 헤더 형식
  • 헤더 화수 = 파일명
  • 타임라인 형식
  • 바텀 없음

3단계: 타임라인

  • 시간 순서
  • 역행 없음
  • 날짜 겹침 최소

4단계: 내용

  • 플롯 일치도
  • 캐릭터 등장/퇴장
  • 호칭 일관성
  • 말투 일관성

5단계: 일관성

  • 앞뒤 연결
  • 복선 추적
  • 설정 충돌 없음

6단계: 보고서

  • 전체 요약
  • 심각도별 분류
  • 다음 단계 안내

🚫 검증 모드 금지사항 (v2.6.0 강화)

절대 금지 사항

1. 추측 금지 (v2.6.0 강화)

❌ "~로 보임", "~일 수도", "~으로 추정", "~인 것 같음"
❌ "회상/병렬 진행으로 보이나" (실제 파일 읽고 확인!)
❌ "의도적 오버랩으로 보임" (내용 확인 후 판단!)
❌ "이전 배치 있었겠지" (실제 이전 챕터 확인!)

✅ 파일을 읽었으면 확인 가능
✅ "확인 필요" 대신 "파일 읽고 확인"
✅ 추측이 나온다 = 제대로 검증 안 한 것

2. 판단 회피 금지 (v2.6.0 신규)

❌ 명백한 오류를 ⚠️로 약하게 분류
❌ 타임라인 역행을 "주의 필요"로 표시
❌ "확인 필요"로 넘기기

✅ 역행 발견 = 즉시 🔴 긴급
✅ 파일 읽고 명확히 판정
✅ 회피하지 말고 결론 도출

3. 확인 누락 금지 (v2.6.0 신규)

❌ 타임라인 이상 발견했는데 파일 안 읽기
❌ 배치 경계인데 이전 챕터 안 확인
❌ 중복 의심인데 내용 비교 안 하기

✅ 이상 발견 시 해당 파일 전체 읽기
✅ 배치 시작 시 이전 배치 마지막 챕터 확인
✅ 의심되면 반드시 확인

4. 기타 금지사항

❌ 검증 중 수정 → FIX 모드에서!
❌ 사소한 문제 숨기기 (모두 기록!)
❌ 보고서 누락

🚨 실제 사례로 배우기 (v2.6.0 신규)

잘못된 검증 (실제 발생):

ch-028 타임라인 관련:
- 시간 역행: ⚠️ **주의 필요**
- ch-025~027은 4월인데, ch-028은 3월로 역행
- 만주 서사 회상/병렬 진행으로 보이나, 명확한 표시 부족

문제점:

  1. "회상/병렬로 보이나" → 추측! (파일 읽으면 확인 가능)
  2. "⚠️ 주의 필요" → 약한 분류! (역행은 🔴 긴급)
  3. 수정 권고 없음 → 판단 회피!

올바른 검증:

ch-028 타임라인 역행 🔴 긴급:
- ch-027: 1946.04.05~23
- ch-028: 1946.03.05~15 ← 역행!
- 파일 확인 결과:
  - 제목에 "회상" 표시 없음
  - 본문 시제: 일반 과거형 (회상 아님)
  - Part 헤더: 회상 표시 없음
- 판정: 명백한 타임라인 역행 오류
- 조치: FIX 모드에서 즉시 수정 필요

검증 = 전체 읽기 + 확인 + 기록 (추측 )


🔗 연계 모드

VERIFICATION (검증, 기록)
    ↓
FIX (일괄 수정)
    ↓
POLISH (가독성/문체)

검증은 기록만! 수정은 FIX 모드에서!