From e6962cb577e6fd977a94e8f4a6d52a34a9ff8fad Mon Sep 17 00:00:00 2001 From: Alex Date: Sun, 25 Jan 2026 10:03:53 +0900 Subject: [PATCH] =?UTF-8?q?plot-mode.md=20v1.0.0=20=EC=B6=94=EA=B0=80:=20?= =?UTF-8?q?=EC=84=A4=EA=B3=84=20=EB=8B=A8=EA=B3=84=20=ED=83=80=EC=9E=84?= =?UTF-8?q?=EB=9D=BC=EC=9D=B8=20=EA=B2=80=EC=A6=9D=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=ED=86=A0=EC=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 배경: - 문제: 플롯 자체에 타임라인 역행 존재 (8화 11월 → 9화 10월) - 근본 원인: 설계 단계(플롯)에 검증 프로토콜 없음 - 결과: 작성 단계에서 역행 발생 → FIX 모드 재배치 필요 추가 사항: - 📌 PLOT 모드 프로토콜 신규 작성 (v1.0.0) - 플롯 작성 시 타임라인 검증 (3단계 체크포인트) - 이전 화 종료일 ≤ 다음 화 시작일 강제 검증 - 전체 플롯 타임라인 일관성 체크 - 회상/병렬 서사 명시 규칙 ([회상], [병렬] 태그) - 플롯 형식 표준 및 수정 프로토콜 - 📌 3단계 방어선 체계 확립 - 1차 방어선: PLOT 모드 (설계 오류 차단) - 2차 방어선: WRITING 모드 (작성 시 예방) - 3차 방어선: VERIFICATION 모드 (최후의 보루) - 📌 README.md 업데이트 - 설계 모드 섹션 신규 추가 - 워크플로우에 PLOT 모드 추가 (0단계) - 버전 관리 테이블에 PLOT v1.0.0 추가 - FAQ 업데이트 (플롯 타임라인, 회상 처리) - 사용 가이드 개선 (신규 작품 vs 기존 작품) 철학: ``` PLOT 모드 = 설계 단계 품질 보증 WRITING 모드 = 1차 방어선 (예방) VERIFICATION 모드 = 최후의 보루 (검증) → 설계가 올바르면 작성도 올바르다! ``` 효과: - 설계 단계에서 타임라인 역행 원천 차단 - FIX 모드 재배치 작업 대폭 감소 - 작성 효율성 향상 변경 파일: - plot-mode.md: 신규 작성 (v1.0.0) - 플롯 작성 프로세스 - 타임라인 검증 체크리스트 - 회상/병렬 서사 처리 - 전체 타임라인 검증 - 플롯 수정 프로토콜 - Best Practices - README.md: 업데이트 - 설계 모드 섹션 추가 - 워크플로우 재구성 - 버전 테이블 업데이트 - FAQ 및 사용 가이드 개선 Co-Authored-By: Claude Sonnet 4.5 --- templates/standards/README.md | 95 +++++- templates/standards/plot-mode.md | 516 +++++++++++++++++++++++++++++++ 2 files changed, 602 insertions(+), 9 deletions(-) create mode 100644 templates/standards/plot-mode.md diff --git a/templates/standards/README.md b/templates/standards/README.md index 17ad4b8..d102e8f 100644 --- a/templates/standards/README.md +++ b/templates/standards/README.md @@ -147,9 +147,37 @@ --- +## 🎨 설계 모드 + +### 8. PLOT 모드 📐 + +**파일:** `plot-mode.md` +**버전:** v1.0.0 +**최종 수정:** 2026-01-25 +**용도:** 플롯 작성 및 타임라인 검증 (설계 단계 품질 보증) + +**주요 기능:** +- 플롯 작성 시 타임라인 검증 +- 이전 화 종료일 ≤ 다음 화 시작일 강제 검증 +- 전체 플롯 타임라인 일관성 체크 +- 회상/병렬 서사 명시 규칙 +- 플롯 형식 표준 + +**워크플로우:** +``` +플롯 작성 → 각 화 타임라인 검증 → 전체 타임라인 검증 → 커밋 +``` + +**최근 변경 (v1.0.0):** +- 📌 초기 버전 릴리즈 +- 설계 단계 타임라인 역행 방지 +- 철학: PLOT = 설계, WRITING = 예방, VERIFICATION = 최후의 보루 + +--- + ## 📝 작성 모드 -### 8. WRITING 모드 ✍️ +### 9. WRITING 모드 ✍️ **파일:** `writing-mode.md` **버전:** v2.4.0 @@ -175,7 +203,7 @@ --- -### 9. MODIFICATION 모드 🔨 +### 10. MODIFICATION 모드 🔨 **파일:** `modification-mode.md` **용도:** 기존 내용 수정 (플롯/캐릭터/장면) @@ -188,21 +216,21 @@ --- -### 10. RETOUCH 모드 🎨 +### 11. RETOUCH 모드 🎨 **파일:** `retouch-mode.md` **용도:** 세밀한 문장 수정 --- -### 11. Creative Writing 가이드 📖 +### 12. Creative Writing 가이드 📖 **파일:** `creative-writing.md` **용도:** 창작 기법 및 문체 가이드 --- -### 12. Writing Guide 총람 📚 +### 13. Writing Guide 총람 📚 **파일:** `writing-guide.md` **용도:** 전체 작문 가이드 통합 문서 @@ -214,8 +242,13 @@ ### 전체 흐름 ``` -1. WRITING 모드 +0. PLOT 모드 (설계 단계) ⭐ NEW + → 플롯 작성 및 타임라인 검증 + → 설계 단계에서 타임라인 역행 차단 + +1. WRITING 모드 (작성 단계) → 새 챕터 작성 + → 작성 전 타임라인 체크포인트 2. VERIFICATION 모드 (필수) → 검증 및 문제 발견 @@ -236,6 +269,22 @@ 6. 완료! ``` +### 3단계 방어선 (v1.0.0+) + +``` +🛡️ 1차 방어선: PLOT 모드 (설계) + → 플롯 타임라인 검증 + → 설계 오류 차단 + +🛡️ 2차 방어선: WRITING 모드 (예방) + → 작성 전 타임라인 체크포인트 + → 역행 즉시 중단 + +🛡️ 3차 방어선: VERIFICATION 모드 (최후의 보루) + → 전체 검증 + → 누락된 문제 발견 +``` + ### 필수 워크플로우 (v2.8.0+) ``` @@ -253,10 +302,11 @@ | 프로토콜 | 버전 | 주요 변경 | |----------|------|-----------| +| PLOT | v1.0.0 | 플롯 타임라인 검증 (설계 단계 품질 보증) | +| WRITING | v2.4.0 | 타임라인 역행 방지 필수 체크포인트 | | VERIFICATION | v2.9.0 | 리포트 유효성 검증 | | FIX | v2.0.0 | 재배치 프로토콜, 롤백 메커니즘 | | POLISH | v2.4.0 | 리포트 유효성 검증 | -| WRITING | v2.4.0 | 타임라인 역행 방지 필수 체크포인트 | | Report Management | v1.0.0 | 초기 버전 | ### 호환성 @@ -323,6 +373,23 @@ PATCH: 버그 수정, 문서 개선 ### 처음 사용하는 경우 +#### 신규 작품 시작 + +1. **PLOT 모드로 시작** + - `plot-mode.md` 읽기 + - 플롯 작성 및 타임라인 검증 + - 설계 단계에서 품질 확보 + +2. **WRITING 모드로 작성** + - `writing-mode.md` 읽기 + - 플롯 기반 챕터 작성 + +3. **VERIFICATION 모드로 검증** + - `verification-mode.md` 읽기 + - 전체 검증 실행 + +#### 기존 작품 검증 + 1. **VERIFICATION 모드부터 시작** - `verification-mode.md` 읽기 - 1권 전체 검증 실행 @@ -331,17 +398,27 @@ PATCH: 버그 수정, 문서 개선 - `fix-mode.md` 읽기 - 검증 보고서 기반 수정 -3. **품질 개선은 POLISH 모드** +3. **플롯 타임라인 역행 발견 시** + - `plot-mode.md` 읽기 + - 플롯 타임라인 재검증 및 수정 + +4. **품질 개선은 POLISH 모드** - `polish-mode.md` 읽기 - 문장 다듬기 ### 자주 묻는 질문 +**Q: 플롯에 타임라인 역행이 있으면 어떻게 하나요?** +A: PLOT 모드로 플롯 타임라인을 검증하고 수정하세요. 설계 단계에서 오류를 차단하는 것이 가장 효율적입니다. `plot-mode.md` 참조. + +**Q: 회상 장면은 어떻게 처리하나요?** +A: 플롯 제목에 `[회상]`을 명시하세요. PLOT/WRITING/VERIFICATION 모드에서 자동으로 인식하여 타임라인 역행 검증에서 제외합니다. `plot-mode.md` 참조. + **Q: 리포트가 무효화되는 이유는?** A: 리포트 작성 후 파일이 수정되면 리포트가 과거 상태를 반영하므로 재검증이 필요합니다. `report-management.md` 참조. **Q: 재배치는 언제 하나요?** -A: 타임라인 역행 발견 시 FIX 모드에서 자동으로 실행됩니다. `fix-mode.md` 참조. +A: 타임라인 역행 발견 시 FIX 모드에서 자동으로 실행됩니다. 하지만 PLOT 모드에서 미리 검증하면 재배치를 방지할 수 있습니다. `fix-mode.md` 참조. **Q: POLISH와 MODIFICATION 차이는?** A: POLISH는 의미 동일하게 문장만 다듬기, MODIFICATION은 내용/플롯 변경. `polish-mode.md` 참조. diff --git a/templates/standards/plot-mode.md b/templates/standards/plot-mode.md new file mode 100644 index 0000000..ee0345f --- /dev/null +++ b/templates/standards/plot-mode.md @@ -0,0 +1,516 @@ +# 플롯 모드 프로토콜 + +> **버전:** 1.0.0 +> **최종 수정:** 2026-01-25 +> **호환:** CWS Writing Guide v4.2.0+ +> **용도:** 플롯 작성 및 타임라인 검증 (설계 단계 품질 보증) + +--- + +## 📋 CHANGELOG + +### v1.0.0 (2026-01-25) - 초기 버전 + +**배경:** +- 문제: 플롯 자체에 타임라인 역행 존재 +- 예시: 8화(11월) → 9화(10월), 20화(4월) → 21화(3월) +- 결과: 작성 단계에서 역행 발생 → FIX 모드 재배치 필요 +- 근본 원인: **설계 단계(플롯)에 검증 프로토콜 없음** + +**추가:** +- 📌 플롯 작성 시 타임라인 검증 프로토콜 +- 이전 화 종료일 ≤ 다음 화 시작일 강제 검증 +- 전체 플롯 타임라인 일관성 체크 +- 회상/병렬 서사 명시 규칙 +- 플롯 형식 표준 + +**철학:** +``` +PLOT 모드 = 설계 단계 품질 보증 +WRITING 모드 = 1차 방어선 (예방) +VERIFICATION 모드 = 최후의 보루 (검증) + +→ 설계가 올바르면 작성도 올바르다! +``` + +--- + +## 🎯 플롯 모드 개요 + +**플롯 모드는:** +- 신규 플롯 작성 또는 기존 플롯 수정 +- 타임라인 일관성 필수 검증 +- 회상/병렬 서사 명시 +- 플롯 완성 후 전체 검증 + +**진입 명령:** +- "플롯 작성" +- "플롯 검증" +- "X-Y화 플롯 작성해" +- "plot-master.md 타임라인 검증해" + +--- + +## 📝 플롯 작성 프로세스 + +### Phase 1: 준비 + +``` +1. 플롯 범위 확인 + - 신규: X-Y화 (보통 5화 단위) + - 수정: 특정 화 또는 전체 + +2. 필수 파일 읽기 + - volumes/vol-XX/plot-master.md + - volumes/vol-XX/timeline.md + - volumes/vol-XX/characters.md + +3. 이전 화 마지막 날짜 확인 + - plot-master.md에서 이전 화 타임라인 추출 + - 예: 7화 종료일 = 1945.9.20 +``` + +### Phase 2: 각 화 플롯 작성 + +``` +1. 화수 및 제목 설정 + 예: ### 8화: 금괴 탈취 작전 + +2. 🚨 타임라인 설정 및 검증 (필수!) + + ❌ **이 절차를 건너뛰면 타임라인 역행이 발생합니다!** + ✅ **반드시 아래 3단계를 순서대로 확인하세요:** + + --- + + **Step 1: 이전 화 종료 날짜 확인** + ```bash + # plot-master.md에서 이전 화 검색 + grep "7화" plot-master.md + + # 출력 예시: + # ### 7화: 금괴 탈취 작전 + # - **타임라인:** 1945.9.11-9.20 + + → 이전 화 종료일: 1945.9.20 + ``` + + **Step 2: 현재 화 타임라인 설정** + ``` + 현재 화: 8화 + 플롯 내용: 건준 활동, 신탁통치 준비 + + → 예상 기간: 1945.9.21-9.30 (10일) + + 시작일: 1945.9.21 + 종료일: 1945.9.30 + ``` + + **Step 3: 타임라인 역행 체크 (필수!)** + ``` + 비교: + - 이전 화 종료일: 1945.9.20 + - 현재 화 시작일: 1945.9.21 + + 판정: + → 9.20 < 9.21 ✅ 정상! + → 타임라인 설정: 1945.9.21-9.30 + ``` + + **역행 감지 예시:** + ``` + 비교: + - 이전 화 종료일: 1945.11.10 + - 현재 화 시작일: 1945.10.1 + + 판정: + → 11.10 > 10.1 ❌ 역행! + + ⚠️ 즉시 중단! + + 원인 파악: + 1. 회상 장면인가? → 제목에 "[회상]" 추가 + 2. 병렬 서사인가? → 제목에 "[병렬]" 추가 + 3. 플롯 순서 오류인가? → 순서 재조정 + + 조치 후 다시 검증 + ``` + + --- + +3. 주요 내용 작성 + - 날짜, 장소, 등장인물 + - 핵심 내용 (3-5개 불릿) + - 주요 장면 (구체적으로) + +4. 형식 준수 + ```markdown + ### X화: 제목 + - **타임라인:** YYYY.M.D-M.D + - **장소:** 위치 + - **등장인물:** 이름1, 이름2 + - **주요내용:** + * 내용1 + * 내용2 + ``` + +5. 다음 화로 이동 +``` + +### Phase 3: 전체 타임라인 검증 (필수!) + +``` +플롯 작성 완료 후 반드시 실행: + +1. 타임라인 추출 + ```bash + grep "타임라인:" plot-master.md | grep -v "^**타임라인:" + ``` + +2. 순서대로 검증 + ```python + # 의사 코드 + timelines = extract_all_timelines("plot-master.md") + + for i in range(1, len(timelines)): + prev_end = timelines[i-1].end_date + curr_start = timelines[i].start_date + + if curr_start < prev_end: + # 역행 감지! + if is_flashback(timelines[i].title): + # 회상이면 OK + continue + elif is_parallel(timelines[i].title): + # 병렬 서사면 OK + continue + else: + # 역행 오류! + report_error(i, prev_end, curr_start) + ``` + +3. 검증 결과 보고 + ``` + ✅ 타임라인 검증 통과 + - 총 52화 + - 역행 0건 + - 회상 2건 (명시됨) + - 병렬 3건 (명시됨) + + 또는 + + ❌ 타임라인 역행 발견! + + 8화 → 9화: + - 8화 종료: 1945.11.10 + - 9화 시작: 1945.10.1 + → 11월 다음에 10월 ❌ + + 조치 필요: + - 9화가 회상이면 제목에 "[회상]" 추가 + - 아니면 8화/9화 타임라인 재조정 + ``` +``` + +--- + +## 🔄 회상/병렬 서사 처리 + +### 회상 장면 + +**명시 규칙:** +```markdown +### 21화: [회상] 1945년 가을 +- **타임라인:** 1945.10.1-10.15 +- **주요내용:** + * 과거 회상 + * 플래시백 장면 +``` + +**특징:** +- 타임라인이 이전 화보다 과거여도 OK +- 제목에 반드시 `[회상]` 또는 `[플래시백]` 표시 +- WRITING 모드에서도 회상 처리 +- VERIFICATION 모드에서 역행 검증 제외 + +### 병렬 서사 + +**명시 규칙:** +```markdown +### 24화: [병렬] 만주에서 +- **타임라인:** 1946.3.20-3.22 +- **주요내용:** + * 만주 사건 (메인 서사와 동시 진행) + * 다른 장소, 같은 시간 +``` + +**특징:** +- 메인 서사와 시간대 겹침 OK +- 제목에 반드시 `[병렬]` 표시 +- 지리적으로 다른 장소에서 동시 진행 +- VERIFICATION 모드에서 역행 검증 제외 + +--- + +## ✅ 플롯 작성 체크리스트 + +### 각 화 작성 시 + +``` +- [ ] 이전 화 종료일 확인 +- [ ] 현재 화 시작일 ≥ 이전 화 종료일 +- [ ] 타임라인 형식: YYYY.M.D-M.D +- [ ] 회상이면 제목에 "[회상]" 명시 +- [ ] 병렬이면 제목에 "[병렬]" 명시 +- [ ] 장소, 등장인물 명시 +- [ ] 주요내용 3개 이상 +``` + +### 전체 플롯 완성 후 + +``` +- [ ] 전체 타임라인 추출 +- [ ] 순서대로 역행 검증 +- [ ] 역행 발견 시 회상/병렬 확인 +- [ ] 회상/병렬 아니면 수정 +- [ ] 최종 검증 통과 +- [ ] Git 커밋 +``` + +--- + +## 🚨 플롯 타임라인 검증 명령어 + +### Bash 스크립트 예시 + +```bash +#!/bin/bash +# plot-timeline-check.sh + +# 타임라인 추출 (화수 제외) +grep -n "### [0-9]" plot-master.md | while read line; do + chapter=$(echo "$line" | grep -oP '\d+화') + timeline=$(grep -A 5 "$line" plot-master.md | grep "타임라인:" | grep -oP '\d{4}\.\d+\.\d+-\d+\.\d+') + + echo "$chapter: $timeline" +done + +# 수동 검증: +# 1. 각 화의 종료일 < 다음 화 시작일 확인 +# 2. 역행 발견 시 "[회상]" 또는 "[병렬]" 확인 +``` + +--- + +## 📊 플롯 형식 표준 + +### 필수 형식 + +```markdown +### X화: 제목 +- **타임라인:** YYYY.M.D-M.D +- **장소:** 위치 +- **등장인물:** 이름1, 이름2, 이름3 +- **주요내용:** + * 핵심 내용 1 + * 핵심 내용 2 + * 핵심 내용 3 +``` + +### 회상 형식 + +```markdown +### X화: [회상] 제목 +- **타임라인:** YYYY.M.D-M.D (과거 날짜 OK) +- **장소:** 위치 +- **등장인물:** 이름1, 이름2 +- **주요내용:** + * 회상 장면 설명 +``` + +### 병렬 서사 형식 + +```markdown +### X화: [병렬] 제목 +- **타임라인:** YYYY.M.D-M.D (메인과 겹침 OK) +- **장소:** 위치 (메인과 다름) +- **등장인물:** 이름1, 이름2 +- **주요내용:** + * 병렬 서사 설명 +``` + +--- + +## 🔧 플롯 수정 프로토콜 + +### 타임라인 수정 필요 시 + +``` +1. 문제 파악 + - 어느 화에서 역행 발생? + - 회상/병렬이 맞는가? + +2. 영향 범위 확인 + - 해당 화만 수정? + - 이후 모든 화 조정? + +3. 수정 방법 선택 + + **옵션 1: 해당 화를 회상/병렬로 변경** + - 제목에 "[회상]" 또는 "[병렬]" 추가 + - 빠르고 간단 + - 서사적으로 타당한 경우 + + **옵션 2: 타임라인 재조정** + - 이전 화 또는 현재 화 날짜 수정 + - 이후 화들도 영향받을 수 있음 + - 서사 흐름 유지 + + **옵션 3: 화 순서 변경** + - 플롯 순서 자체를 재배치 + - 가장 큰 변경 + - 필요시에만 사용 + +4. 수정 후 전체 재검증 + +5. Git 커밋 + "plot-master.md: X화 타임라인 수정 + + 문제: X화(날짜A) → Y화(날짜B) 역행 + 조치: [선택한 옵션] + + 전체 타임라인 검증: 통과 ✅" +``` + +--- + +## 📋 Best Practices + +### 1. 타임라인 간격 + +``` +✅ 권장: +- 화 간격: 최소 1일 이상 +- 긴 기간: 명시 (예: 1946.1.1-3.31) +- 짧은 기간: 시간 명시 (예: 1946.5.15 오후-저녁) + +⚠️ 주의: +- 같은 날짜 연속 사용 가능 (시간 구분) +- 예: + - 32화: 1946.5.15 오전 + - 33화: 1946.5.15 오후 +``` + +### 2. 회상/병렬 사용 + +``` +✅ 회상 사용 케이스: +- 과거 사건 설명 +- 캐릭터 백스토리 +- 플래시백 장면 + +✅ 병렬 사용 케이스: +- 다른 장소 동시 사건 +- 멀티 시점 서사 +- 동시다발 전개 +``` + +### 3. 플롯 작성 순서 + +``` +권장: +1. 전체 타임라인 스케치 + - 1부: 1945.8-10 (10화) + - 2부: 1945.11-12 (10화) + - 3부: 1946.1-6 (20화) + - 4부: 1946.7-12 (12화) + +2. 각 부별 상세 플롯 작성 + - 1부 1-10화 작성 → 타임라인 검증 + - 2부 11-20화 작성 → 타임라인 검증 + - ... + +3. 전체 통합 검증 + - 1-52화 전체 타임라인 체크 + - 역행 0건 확인 +``` + +--- + +## 🔄 다른 모드와의 연계 + +### PLOT → WRITING + +``` +PLOT 모드에서 타임라인 검증 완료 +→ WRITING 모드에서 타임라인 체크포인트 통과 가능 +→ 작성 단계 역행 0건 +``` + +### PLOT → VERIFICATION + +``` +PLOT 타임라인 정상 +→ WRITING 정상 작성 +→ VERIFICATION 타임라인 검증 통과 +→ FIX 모드 재배치 불필요 +``` + +--- + +## ⚠️ 금지사항 + +``` +❌ 타임라인 없이 플롯 작성 +❌ 역행 무시하고 진행 +❌ 회상/병렬을 명시하지 않고 역행 사용 +❌ 전체 검증 없이 플롯 완료 +❌ 날짜 형식 불일치 (YYYY.M.D-M.D 필수) +``` + +--- + +## 📊 플롯 타임라인 검증 예시 + +### 정상 케이스 + +```markdown +### 7화: 금괴 탈취 작전 +- **타임라인:** 1945.9.11-9.20 + +### 8화: 건준 활동 +- **타임라인:** 1945.9.21-9.30 ✅ 9.20 < 9.21 + +### 9화: 신탁통치 준비 +- **타임라인:** 1945.10.1-10.15 ✅ 9.30 < 10.1 +``` + +### 역행 케이스 (오류) + +```markdown +### 7화: 금괴 탈취 작전 +- **타임라인:** 1945.9.11-9.20 + +### 8화: 건준 활동 +- **타임라인:** 1945.11.1-11.10 + +### 9화: 신탁통치 준비 +- **타임라인:** 1945.10.1-10.15 ❌ 11.10 > 10.1 역행! +``` + +### 회상 케이스 (정상) + +```markdown +### 20화: 만주 진출 +- **타임라인:** 1946.4.1-4.30 + +### 21화: [회상] 1945년 가을 +- **타임라인:** 1945.10.1-10.15 ✅ 회상으로 명시됨 + +### 22화: 희토류 확보 +- **타임라인:** 1946.5.1-5.10 ✅ 20화 이후 정상 +``` + +--- + +*플롯이 올바르면 작성도 올바르다. 설계 단계 품질이 모든 것의 시작!*