Files
novel-writing-guide/templates/standards/report-management.md
Alex c56b6f1f76 Design Guide v1.6.0: Phase 4 태스크 기반 재설계 + 전체 프로세스 검증 완료
- Phase 4 아키텍처 재설계: 수량 기반 → 태스크 실행 기반
- phase4-master-design.md 신규 (전체 Phase 4 아키텍처)
- 설계 모드 11개 신규/갱신:
  - plot-master-mode/verification (Phase 4-1)
  - volume-timeline-mode/verification (Phase 4-2선행)
  - volume-characters-mode/verification (Phase 4-2선행)
  - volume-plot-mode/verification (Phase 4-2)
  - plot-detail-verification (Phase 4-3)
  - design-verification-mode (Phase 5)
- 검증 프로토콜 강화:
  - 에스컬레이션 경로, 신뢰 모델, 유효성 조건 전 프로토콜 통일
  - 검증 보고서 유효성 관리 (report-management.md 연동)
  - 권 경계 교차 검증 추가 (Phase 4-2 §6.3, 4-3 §4.3, Phase 5 검증 6)
  - 입력 소비 확인 (Phase 4-1 검증 0)
- 작성 파이프라인 보강:
  - writing-mode: Phase 5 통과 전제 명시, vol-XX-plot.md INPUT 추가
  - polish-mode: VERIFICATION→FIX 완료 필수 진입 조건
- 3회 종합 감사 통과 (설계+작성 전체, 실제 문제 0건)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 21:52:24 +09:00

8.5 KiB

리포트 관리 프로토콜

버전: 1.0.0 최종 수정: 2026-01-25 호환: CWS Writing Guide v4.2.0+ 용도: 모든 검증/POLISH 리포트의 유효성 관리


📋 CHANGELOG

v1.0.0 (2026-01-25) - 초기 버전

배경:

  • 문제: 리포트 작성 후 파일 수정 시 리포트가 과거 상태 반영
  • 결과: 잘못된 정보를 사용자에게 전달하는 심각한 오류

추가:

  • 📌 리포트 유효성 검증 프로토콜
  • 파일 수정 시간 vs 리포트 날짜 비교 로직
  • 무효화 조건 명확화
  • 리포트 관리 Best Practices

연동:

  • VERIFICATION 모드 v2.9.0에 통합
  • POLISH 모드 v2.4.0에 통합
  • FIX 모드 v2.0.0에 통합

🚨 핵심 문제

리포트 재사용 시 발생하는 오류

시나리오:

2026-01-21: POLISH 완료 → polish-batch-05.md 생성 (ch-046, 047, 050 문제 기록)
2026-01-24: FIX 모드로 ch-028, 029, 030 재배치 → 파일 수정
2026-01-25: polish-batch-05.md 읽음 → "문제 있다" 보고 ❌ 잘못됨!

왜 잘못되었나?

  • 리포트는 2026-01-21 시점의 파일 상태 반영
  • 하지만 2026-01-24에 파일 수정됨
  • 리포트가 현재 파일 상태와 불일치

결과:

  • 사용자에게 잘못된 정보 전달
  • "문제 있다" → 확인하면 "문제 없다" → 혼란

해결 방법: 리포트 유효성 검증

필수 절차

리포트 읽기 전 체크:

def read_report(report_file):
    # 1. 리포트 존재 확인
    if not exists(report_file):
        return "리포트 없음 → 새로 검증 필요"

    # 2. 리포트 날짜 확인
    report_date = get_report_date(report_file)

    # 3. 대상 파일들의 최종 수정 시간 확인
    target_files = get_target_files(report_file)  # ch-041~050 등
    latest_file_mod = max(f.modified_time for f in target_files)

    # 4. 유효성 검증
    if latest_file_mod > report_date:
        return "❌ 리포트 무효 (파일이 리포트 이후 수정됨) → 재검증 필요"
    else:
        return "✅ 리포트 유효 → 사용 가능"

구체적 절차

1단계: 리포트 날짜 추출

# 리포트 파일에서 날짜 찾기
grep "검증일\|시작\|완료" polish-batch-05.md

# 예시 출력:
# > **시작:** 2026-01-21
# **검토 완료:** 2026-01-21

2단계: 대상 파일 수정 시간 확인

# Windows
ls -l "l:\내 드라이브\Writing\1945-novel\volumes\vol-01\chapters\ch-04*.md" | awk '{print $6, $7, $8, $9}'

# Unix/Mac
stat -c "%y %n" chapters/ch-04*.md

3단계: 비교 및 판정

리포트 날짜: 2026-01-21
파일 수정 시간:
- ch-041.md: 2026-01-20 (리포트 이전) ✅
- ch-042.md: 2026-01-24 (리포트 이후!) ❌

판정: 리포트 무효 → 재검증 필요

📋 리포트 유효성 검증 체크리스트

VERIFICATION 모드

- [ ] 1. validation-batch-XX.md 존재 확인
- [ ] 2. 리포트 작성 날짜 추출
- [ ] 3. 대상 챕터들의 최종 수정 시간 확인
- [ ] 4. 리포트 날짜 < 파일 수정 시간? → 무효
- [ ] 5. 무효 시: 리포트 삭제 또는 아카이브
- [ ] 6. 재검증 실행

POLISH 모드

- [ ] 1. polish-batch-XX.md 존재 확인
- [ ] 2. 리포트 작성 날짜 추출
- [ ] 3. 대상 챕터들의 최종 수정 시간 확인
- [ ] 4. 리포트 날짜 < 파일 수정 시간? → 무효
- [ ] 5. 무효 시: 리포트 삭제 또는 아카이브
- [ ] 6. 재검증 실행

🔄 리포트 무효화 조건

자동 무효화

다음 경우 리포트 자동 무효:

  1. 파일 수정

    • 대상 파일 중 하나라도 리포트 이후 수정됨
    • 예: ch-046.md 수정 시간 > polish-batch-05.md 작성 시간
  2. 파일 재배치

    • FIX 모드에서 챕터 번호 변경
    • 예: ch-028 → ch-022 이동 시 모든 관련 배치 리포트 무효
  3. 날짜 차이

    • 리포트 작성일과 현재 날짜 차이 7일 이상 (선택)
    • 파일 수정 없어도 재검증 권장

수동 무효화

사용자가 명시적으로 요청 시:

  • "리포트 무시하고 재검증해"
  • "처음부터 다시 검증해"

📝 리포트 관리 Best Practices

1. 타임스탬프 명확히 기록

# POLISH 배치 5 진행 리포트

> **시작:** 2026-01-21 14:30
> **완료:** 2026-01-21 16:45
> **대상 파일 수정 시간 기준:** 2026-01-21 16:45까지

---

## 검증 기준 시점

이 리포트는 **2026-01-21 16:45** 시점의 파일 상태를 반영합니다.
이후 파일이 수정되었다면 이 리포트는 무효입니다.

2. 리포트 버전 관리

# 옵션 1: 날짜 포함 파일명
polish-batch-05-20260121.md
polish-batch-05-20260124.md  # 재검증 시

# 옵션 2: 리포트 내 버전 기록
> **버전:** v1 (2026-01-21 초기)
> **버전:** v2 (2026-01-24 재검증)

3. 아카이브

# 무효화된 리포트는 삭제 대신 아카이브
volumes/vol-01/reports/archive/
  ├── polish-batch-05-20260121-INVALID.md
  └── validation-batch-02-20260120-INVALID.md

# 현재 유효한 리포트만 루트에
volumes/vol-01/
  ├── polish-batch-05.md  # 최신 유효 리포트
  └── validation-batch-02.md

🚨 Claude가 해야 할 것

리포트 읽기 전

1. 리포트 파일 존재 확인
2. 리포트 작성 날짜 확인
3. 대상 파일 수정 시간 확인 (ls -l 또는 stat)
4. 유효성 판정:
   - 유효: 리포트 사용 → 사용자에게 보고
   - 무효: 리포트 무시 → "재검증 필요" 보고

사용자에게 보고

리포트 유효 시:

polish-batch-05.md 확인 결과:
- 작성일: 2026-01-21
- 파일 수정: 2026-01-20 (리포트 이전)
- 상태: ✅ 유효

배치 5 (ch-041~050): 이미 완료
- 수정: 0건
- 다음 배치로 진행할까요?

리포트 무효 시:

polish-batch-05.md 확인 결과:
- 작성일: 2026-01-21
- 파일 수정: 2026-01-24 (리포트 이후!) ❌
- 상태: 무효

이유: ch-028, ch-029, ch-030 재배치로 인한 파일 수정

배치 5를 재검증하겠습니다.

🔧 구현 가이드

Bash 명령어

# 리포트 날짜 추출
REPORT_DATE=$(grep -oP '(?<=완료:\s)\d{4}-\d{2}-\d{2}' polish-batch-05.md)

# 대상 파일 최종 수정 시간 확인 (Unix timestamp)
LATEST_MOD=$(stat -c %Y chapters/ch-04*.md | sort -n | tail -1)

# 리포트 날짜를 Unix timestamp로 변환
REPORT_TS=$(date -d "$REPORT_DATE" +%s)

# 비교
if [ $LATEST_MOD -gt $REPORT_TS ]; then
    echo "❌ 리포트 무효 (파일이 리포트 이후 수정됨)"
else
    echo "✅ 리포트 유효"
fi

📊 프로세스 통합

VERIFICATION 모드 진입 시

1. WORK-MODE.txt 확인
2. BATCH 확인 → validation-batch-XX.md 찾기
3. 리포트 유효성 검증 ← NEW!
   - 유효: 리포트 읽고 계속
   - 무효: 리포트 삭제, 재검증
4. 검증 진행

POLISH 모드 진입 시

1. WORK-MODE.txt 확인
2. BATCH 확인 → polish-batch-XX.md 찾기
3. 리포트 유효성 검증 ← NEW!
   - 유효: 리포트 읽고 다음 배치로
   - 무효: 리포트 삭제, 재검증
4. POLISH 진행

체크리스트 (Claude용)

모든 리포트 읽기 전 필수:

  • 리포트 파일 존재 확인
  • 리포트 작성 날짜 추출
  • 대상 파일들 목록 확인
  • 각 파일의 최종 수정 시간 확인
  • 리포트 날짜와 파일 수정 시간 비교
  • 하나라도 리포트 이후 수정됨? → 무효
  • 무효 시: 사용자에게 명확히 보고
  • 유효 시: 리포트 내용 사용

🔗 관련 문서

작성 단계:

  • verification-mode.md - 검증 모드 프로토콜
  • polish-mode.md - POLISH 모드 프로토콜
  • fix-mode.md - FIX 모드 프로토콜

설계 단계 (Design Phase):

  • plot-master-verification.md - Phase 4-1 검증
  • volume-timeline-verification.md - Phase 4-2선행 검증 (타임라인)
  • volume-characters-verification.md - Phase 4-2선행 검증 (캐릭터)
  • volume-plot-verification.md - Phase 4-2 검증
  • plot-detail-verification.md - Phase 4-3 검증
  • design-verification-mode.md - Phase 5 검증

설계 단계 적용: 설계 검증 보고서에도 동일한 유효성 규칙이 적용됩니다. 검증 보고서 작성 후 대상 파일(plot, timeline, characters 등)이 수정되면 해당 검증 보고서는 무효화됩니다.


리포트는 시점의 스냅샷! 파일 수정 후엔 재검증 필수!