- claude.md.template 추가 (프로젝트별 필수 파일) - README.md v4.0: Single Source of Truth 핵심 컨셉 추가 - project-structure.md v4.0: claude.md 필수화, standards 제거 - standards 파일들은 Guide/templates/standards/에서만 관리 - 프로젝트별/권별 standards 복사 금지 - 버전 불일치 원천 차단 주요 변경사항: 1. 새 프로젝트 시작 시 claude.md 생성 필수 2. 모든 모드 진입 시 Guide/templates/standards/ 참조 3. 프로젝트 내 standards/ 디렉토리 생성 금지 4. volumes/vol-XX/validation-standards.md 생성 금지 이유: 표준 파일이 여러 곳에 복사되면 버전 불일치 발생 해결: Guide를 유일한 소스로 지정, claude.md로 강제 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
17 KiB
17 KiB
검증 모드 프로토콜
버전: 2.4.2 최종 수정: 2026-01-21 호환: 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 업데이트 → 다음
📋 검증 모드 개요
검증 모드는:
- 6단계 통합 검증
- 문제 발견 및 기록만 (수정하지 않음!)
- 검증 보고서 생성 → FIX 모드로 전달
핵심 원칙:
VERIFICATION = 발견 + 기록
FIX = 수정
(분리!)
진입 명령:
- "검증해"
- "점검 모드"
- "X권 검증해"
- "전체 검증"
부분 검증:
- "타임라인만 검증해"
- "호칭 검증해"
- "바텀 검증해"
📚 모드 진입 시 읽을 파일
필수
volumes/vol-XX/plot-master.md- 플롯 (일치도 검증용)settings/characters-master.md- 캐릭터 + 호칭 규칙volumes/vol-XX/timeline.md- 타임라인
검증 대상
volumes/vol-XX/chapters/ch-*.md- 전체 챕터
🎯 6단계 통합 검증
사용자: "검증해"
↓
[1/6] 구조 검증 중...
[2/6] 형식 검증 중...
[3/6] 타임라인 검증 중...
[4/6] 내용 검증 중...
[5/6] 일관성 검증 중...
[6/6] 보고서 생성 중...
↓
검증 보고서 출력
↓
"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 → ... 시간 순서
✅ 역행 체크
- 이전 화보다 과거로 가는 경우
✅ 날짜 겹침
- 같은 날짜 과도한 반복
⭐ 배치 경계 체크 (v2.2.0 신규)
- ch-010 → ch-011 연결 확인
- ch-020 → ch-021 연결 확인
- 배치 마지막과 다음 배치 첫 챕터 시간 흐름
기록:
- 타임라인 순서 테이블
- 역행 발견 목록
- 날짜 겹침 경고
- 배치 경계 문제 목록 (신규)
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건**
🔧 보완 권장 사항
-
validation 작성 시
- 각 오류를 정확히 하나의 카테고리에만 할당
- 중복 가능성이 있는 항목은 명시적으로 분리
- 예: "타임라인 헤더" vs "챕터 간 연결"
-
최종 보고 전
- 유형별/챕터별 합계 검증 필수
- 불일치 발생 시 중복 카운트 재확인
- 정확한 숫자 확정 후 보고
-
카운트 방식 표준화
- 명확한 카테고리 정의
- 중복 방지 원칙 적용
- 검증 절차 준수
📊 검증 보고서 형식
# 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단계: 보고서
- 전체 요약
- 심각도별 분류
- 다음 단계 안내
🚫 검증 모드 금지사항
❌ 검증 중 수정 → FIX 모드에서!
❌ 추측 보고 (실제 확인!)
❌ 사소한 문제 숨기기 (모두 기록!)
❌ 보고서 누락
🔗 연계 모드
VERIFICATION (검증, 기록)
↓
FIX (일괄 수정)
↓
POLISH (가독성/문체)
검증은 기록만! 수정은 FIX 모드에서!