From e8c671b52158502a9be7cd3f0a4d8e8690711487 Mon Sep 17 00:00:00 2001 From: Alex Date: Sun, 25 Jan 2026 01:03:36 +0900 Subject: [PATCH] Add report validity check protocol to prevent stale report usage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problems fixed: - Reports created before file modifications caused incorrect info - POLISH batch-05 (2026-01-21) reported issues in files modified later (2026-01-24) - No validation between report date and file modification time Changes: 1. Created report-management.md (v1.0.0) - Report validity check protocol - File modification time vs report date comparison - Invalidation conditions and procedures 2. Updated verification-mode.md (v2.8.0 → v2.9.0) - Added report validity check section - Mandatory checklist before reading reports - Clear user reporting format (valid/invalid) 3. Updated polish-mode.md (v2.3.0 → v2.4.0) - Added report validity check section - Mandatory checklist before reading reports - Clear user reporting format (valid/invalid) Process improvement: - Before reading any report: check file mod times - Report date < any file mod time → invalid → re-verify - Prevents using outdated reports after FIX/repositioning Co-Authored-By: Claude Sonnet 4.5 --- templates/standards/polish-mode.md | 98 +++++++- templates/standards/report-management.md | 307 +++++++++++++++++++++++ templates/standards/verification-mode.md | 96 ++++++- 3 files changed, 495 insertions(+), 6 deletions(-) create mode 100644 templates/standards/report-management.md diff --git a/templates/standards/polish-mode.md b/templates/standards/polish-mode.md index da1528f..c6c36b9 100644 --- a/templates/standards/polish-mode.md +++ b/templates/standards/polish-mode.md @@ -1,10 +1,10 @@ # POLISH 모드 프로토콜 -> **버전:** 2.3.0 -> **최종 수정:** 2026-01-20 +> **버전:** 2.4.0 +> **최종 수정:** 2026-01-25 > **호환:** CWS Writing Guide v4.2.0+ > **용도:** 문장 품질 다듬기 (내용 수정 없음) -> **주요 변경:** MODIFICATION 모드와의 경계 명확화 (구체적 예시 추가) +> **주요 변경:** 리포트 유효성 검증 추가 - 파일 수정 시 리포트 무효화 --- @@ -65,6 +65,98 @@ STARTED: 2026-01-20 15:30 --- +## 📋 리포트 유효성 검증 (v2.4.0 신규) + +> **참고:** `standards/report-management.md` 참조 + +### 🚨 필수: 리포트 읽기 전 유효성 체크 + +**문제:** +``` +리포트 작성 후 파일이 수정되면 리포트가 과거 상태를 반영 +→ 잘못된 정보를 사용자에게 전달하는 심각한 오류! +``` + +**해결:** +``` +리포트 읽기 전 반드시 유효성 검증! +``` + +### 검증 절차 + +**1단계: 리포트 날짜 확인** +```bash +# polish-batch-05.md에서 날짜 추출 +grep "시작\|완료" polish-batch-05.md +# 예: **완료:** 2026-01-21 +``` + +**2단계: 대상 파일 수정 시간 확인** +```bash +# 배치 5 = ch-041~050 +ls -l chapters/ch-04*.md chapters/ch-050.md + +# Windows +Get-ChildItem "l:\...\chapters\ch-04*.md" | Select-Object Name,LastWriteTime + +# 최종 수정 시간 확인 +``` + +**3단계: 비교 및 판정** +``` +리포트 날짜: 2026-01-21 +파일 수정: +- ch-041.md: 2026-01-20 ✅ (리포트 이전) +- ch-046.md: 2026-01-24 ❌ (리포트 이후!) + +→ 판정: 리포트 무효 → 재검증 필요 +``` + +### 무효화 조건 + +**자동 무효:** +1. 대상 파일 중 하나라도 리포트 이후 수정됨 +2. FIX 모드에서 챕터 재배치 발생 +3. 리포트 작성일 < 파일 최종 수정일 + +**사용자 보고 형식:** + +✅ **리포트 유효:** +``` +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~030 재배치로 파일 수정됨 +→ 배치 5 재검증 필요 +``` + +### 체크리스트 + +**모든 리포트 읽기 전:** +- [ ] 리포트 파일 존재 확인 +- [ ] 리포트 작성 날짜 추출 +- [ ] 대상 파일 목록 확인 (RANGE 기준) +- [ ] 각 파일 최종 수정 시간 확인 +- [ ] 리포트 날짜 < 파일 수정? → 무효 +- [ ] 무효 시: 사용자에게 명확히 보고 + 재검증 +- [ ] 유효 시: 리포트 내용 사용 + +--- + ## 📋 POLISH 모드 개요 **POLISH 모드는:** diff --git a/templates/standards/report-management.md b/templates/standards/report-management.md new file mode 100644 index 0000000..19925d3 --- /dev/null +++ b/templates/standards/report-management.md @@ -0,0 +1,307 @@ +# 리포트 관리 프로토콜 + +> **버전:** 1.0.0 +> **최종 수정:** 2026-01-25 +> **호환:** CWS Writing Guide v4.2.0+ +> **용도:** 모든 검증/POLISH 리포트의 유효성 관리 + +--- + +## 🚨 핵심 문제 + +### 리포트 재사용 시 발생하는 오류 + +**시나리오:** +``` +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에 파일 수정됨** +- 리포트가 현재 파일 상태와 불일치 + +**결과:** +- 사용자에게 잘못된 정보 전달 +- "문제 있다" → 확인하면 "문제 없다" → 혼란 + +--- + +## ✅ 해결 방법: 리포트 유효성 검증 + +### 필수 절차 + +**리포트 읽기 전 체크:** + +```python +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단계: 리포트 날짜 추출 + +```bash +# 리포트 파일에서 날짜 찾기 +grep "검증일\|시작\|완료" polish-batch-05.md + +# 예시 출력: +# > **시작:** 2026-01-21 +# **검토 완료:** 2026-01-21 +``` + +#### 2단계: 대상 파일 수정 시간 확인 + +```bash +# 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단계: 비교 및 판정 + +```markdown +리포트 날짜: 2026-01-21 +파일 수정 시간: +- ch-041.md: 2026-01-20 (리포트 이전) ✅ +- ch-042.md: 2026-01-24 (리포트 이후!) ❌ + +판정: 리포트 무효 → 재검증 필요 +``` + +--- + +## 📋 리포트 유효성 검증 체크리스트 + +### VERIFICATION 모드 + +```markdown +- [ ] 1. validation-batch-XX.md 존재 확인 +- [ ] 2. 리포트 작성 날짜 추출 +- [ ] 3. 대상 챕터들의 최종 수정 시간 확인 +- [ ] 4. 리포트 날짜 < 파일 수정 시간? → 무효 +- [ ] 5. 무효 시: 리포트 삭제 또는 아카이브 +- [ ] 6. 재검증 실행 +``` + +### POLISH 모드 + +```markdown +- [ ] 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. 타임스탬프 명확히 기록 + +```markdown +# POLISH 배치 5 진행 리포트 + +> **시작:** 2026-01-21 14:30 +> **완료:** 2026-01-21 16:45 +> **대상 파일 수정 시간 기준:** 2026-01-21 16:45까지 + +--- + +## 검증 기준 시점 + +이 리포트는 **2026-01-21 16:45** 시점의 파일 상태를 반영합니다. +이후 파일이 수정되었다면 이 리포트는 무효입니다. +``` + +### 2. 리포트 버전 관리 + +```markdown +# 옵션 1: 날짜 포함 파일명 +polish-batch-05-20260121.md +polish-batch-05-20260124.md # 재검증 시 + +# 옵션 2: 리포트 내 버전 기록 +> **버전:** v1 (2026-01-21 초기) +> **버전:** v2 (2026-01-24 재검증) +``` + +### 3. 아카이브 + +```markdown +# 무효화된 리포트는 삭제 대신 아카이브 +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가 해야 할 것 + +### 리포트 읽기 전 + +```markdown +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 명령어 + +```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 모드 프로토콜 + +--- + +*리포트는 시점의 스냅샷! 파일 수정 후엔 재검증 필수!* diff --git a/templates/standards/verification-mode.md b/templates/standards/verification-mode.md index 3cf9952..2385e6a 100644 --- a/templates/standards/verification-mode.md +++ b/templates/standards/verification-mode.md @@ -1,10 +1,10 @@ # 검증 모드 프로토콜 -> **버전:** 2.8.0 -> **최종 수정:** 2026-01-24 +> **버전:** 2.9.0 +> **최종 수정:** 2026-01-25 > **호환:** CWS Writing Guide v4.2.0+ > **용도:** 전체 검증 및 기록 (수정 없음) -> **주요 변경:** 강제 워크플로우 추가 - 검증→FIX→재검증 사이클 필수화 +> **주요 변경:** 리포트 유효성 검증 추가 - 파일 수정 시 리포트 무효화 --- @@ -193,6 +193,96 @@ STARTED: 2026-01-20 14:20 --- +## 📋 리포트 유효성 검증 (v2.9.0 신규) + +> **참고:** `standards/report-management.md` 참조 + +### 🚨 필수: 리포트 읽기 전 유효성 체크 + +**문제:** +``` +리포트 작성 후 파일이 수정되면 리포트가 과거 상태를 반영 +→ 잘못된 정보를 사용자에게 전달하는 심각한 오류! +``` + +**해결:** +``` +리포트 읽기 전 반드시 유효성 검증! +``` + +### 검증 절차 + +**1단계: 리포트 날짜 확인** +```bash +# validation-batch-05.md에서 날짜 추출 +grep "검증일\|완료" validation-batch-05.md +# 예: **검증일:** 2026-01-21 +``` + +**2단계: 대상 파일 수정 시간 확인** +```bash +# 배치 5 = ch-041~050 +ls -l chapters/ch-04*.md chapters/ch-050.md + +# Windows +Get-ChildItem "l:\...\chapters\ch-04*.md" | Select-Object Name,LastWriteTime + +# 최종 수정 시간 확인 +``` + +**3단계: 비교 및 판정** +``` +리포트 날짜: 2026-01-21 +파일 수정: +- ch-041.md: 2026-01-20 ✅ (리포트 이전) +- ch-046.md: 2026-01-24 ❌ (리포트 이후!) + +→ 판정: 리포트 무효 → 재검증 필요 +``` + +### 무효화 조건 + +**자동 무효:** +1. 대상 파일 중 하나라도 리포트 이후 수정됨 +2. FIX 모드에서 챕터 재배치 발생 +3. 리포트 작성일 < 파일 최종 수정일 + +**사용자 보고 형식:** + +✅ **리포트 유효:** +``` +validation-batch-05.md 확인: +- 작성일: 2026-01-21 +- 파일 수정: 2026-01-20 (리포트 이전) +- 상태: ✅ 유효 + +배치 5 결과 사용 가능 +``` + +❌ **리포트 무효:** +``` +validation-batch-05.md 확인: +- 작성일: 2026-01-21 +- 파일 수정: 2026-01-24 (리포트 이후!) +- 상태: ❌ 무효 + +이유: ch-028~030 재배치로 파일 수정됨 +→ 배치 5 재검증 필요 +``` + +### 체크리스트 + +**모든 리포트 읽기 전:** +- [ ] 리포트 파일 존재 확인 +- [ ] 리포트 작성 날짜 추출 +- [ ] 대상 파일 목록 확인 (RANGE 기준) +- [ ] 각 파일 최종 수정 시간 확인 +- [ ] 리포트 날짜 < 파일 수정? → 무효 +- [ ] 무효 시: 사용자에게 명확히 보고 + 재검증 +- [ ] 유효 시: 리포트 내용 사용 + +--- + ## 🔄 통합 검증 (최종 단계, v2.5.0 신규) ### 개요