Initial commit: 천공의 심장 프로젝트 초기화
**프로젝트:** - 제목: 천공의 심장 (Celestial Heart) - 장르: 회귀 + 산업 경영 + 하드SF - 권수: 10권 (각 50화) - 작성 시스템: v3.0 모드 기반 **주인공:** - 한세진 (1968년생) - 회귀: 2026년 58세 → 1988년 20세 - 직업: 항공엔진 엔지니어 **생성 파일:** - CLAUDE.md (프로젝트 특화 프로토콜) - README.md (작품 소개) - settings/ (v3.0 모드 시스템) - chapter-format-standard.md - writing-mode.md - modification-mode.md - verification-mode.md - renaming-protocol.md **다음 단계:** - Phase 1: 마스터 파일 설계 - Phase 2: 1권 플롯 작성 - Phase 3: 실행 준비 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
12
.gitattributes
vendored
Normal file
12
.gitattributes
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
# Markdown files
|
||||||
|
*.md text eol=lf
|
||||||
|
|
||||||
|
# Text files
|
||||||
|
*.txt text eol=lf
|
||||||
|
|
||||||
|
# Scripts
|
||||||
|
*.sh text eol=lf
|
||||||
|
*.bash text eol=lf
|
||||||
33
.gitignore
vendored
Normal file
33
.gitignore
vendored
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# OS
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
desktop.ini
|
||||||
|
|
||||||
|
# Editor
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
|
||||||
|
# Temp
|
||||||
|
*.tmp
|
||||||
|
*.bak
|
||||||
|
*.backup
|
||||||
|
~*
|
||||||
|
|
||||||
|
# Output
|
||||||
|
*.pdf
|
||||||
|
*.docx
|
||||||
|
*.epub
|
||||||
|
|
||||||
|
# Private
|
||||||
|
private/
|
||||||
|
drafts/
|
||||||
|
|
||||||
|
# Node (if used)
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# Python (if used)
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
338
CLAUDE.md
Normal file
338
CLAUDE.md
Normal file
@@ -0,0 +1,338 @@
|
|||||||
|
# CLAUDE.md - AI 협업 프로토콜
|
||||||
|
|
||||||
|
> **프로젝트:** 천공의 심장 (Celestial Heart)
|
||||||
|
> **장르:** 회귀 + 산업 경영 + 하드SF
|
||||||
|
> **권수:** 10권
|
||||||
|
> **작성일:** 2026-01-17
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔴 절대 규칙 (최우선)
|
||||||
|
|
||||||
|
1. **세션 시작 시 자동 실행** - 아래 "세션 시작 프로토콜" 무조건 실행
|
||||||
|
2. **모드 확인** - WORK-MODE.txt 확인 후 해당 모드 프로토콜 실행 (v3.0)
|
||||||
|
3. **5화 단위 작성** - 항상 5화씩 연속 작성
|
||||||
|
4. **서머리 자동 업데이트** - 각 화 완료 시 즉시 summary 업데이트
|
||||||
|
5. **설정 파일 우선** - settings/ 및 vol-XX/ 내용이 최우선
|
||||||
|
6. **일관성 검증** - 매 화마다 캐릭터/타임라인 체크
|
||||||
|
7. **마스터 파일 동기화** - 작업 파일 변경 시 마스터도 업데이트
|
||||||
|
8. **기술 묘사 정확성** - 공학적 개연성 유지
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 세션 시작 프로토콜 (v3.0)
|
||||||
|
|
||||||
|
**Step 1: 이 파일 읽기** ✅ (자동)
|
||||||
|
|
||||||
|
**Step 2: 모드 확인 (최우선!)** ⭐⭐⭐
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# WORK-MODE.txt 확인
|
||||||
|
LATEST_VOL=$(ls -d volumes/vol-* 2>/dev/null | sort -V | tail -1)
|
||||||
|
if [ -f "$LATEST_VOL/WORK-MODE.txt" ]; then
|
||||||
|
MODE=$(grep "^MODE:" "$LATEST_VOL/WORK-MODE.txt" | cut -d: -f2 | xargs)
|
||||||
|
else
|
||||||
|
MODE="UNKNOWN"
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
**MODE별 분기:**
|
||||||
|
|
||||||
|
**MODE = "MODIFICATION"** (수정 모드)
|
||||||
|
```
|
||||||
|
→ settings/modification-mode.md 읽기
|
||||||
|
→ 수정 프로토콜 실행
|
||||||
|
→ 이 파일 이하 실행 중단! (modification-mode.md만 따름)
|
||||||
|
```
|
||||||
|
|
||||||
|
**MODE = "VERIFICATION"** (점검 모드)
|
||||||
|
```
|
||||||
|
→ settings/verification-mode.md 읽기
|
||||||
|
→ 점검 프로토콜 실행
|
||||||
|
→ 이 파일 이하 실행 중단!
|
||||||
|
```
|
||||||
|
|
||||||
|
**MODE = "UNKNOWN"** 또는 **없음** (작성 모드, 기본)
|
||||||
|
```
|
||||||
|
→ 계속 진행 (아래 Step 3 실행)
|
||||||
|
→ settings/writing-mode.md 읽기 (선택)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Step 3: 작성 모드 파일 읽기**
|
||||||
|
|
||||||
|
세션 시작 시 자동 실행:
|
||||||
|
|
||||||
|
```
|
||||||
|
1. 이 파일 (CLAUDE.md) 읽기 ✅ (자동)
|
||||||
|
2. WORK-MODE.txt 확인 ✅ (Step 2)
|
||||||
|
3. volumes/vol-XX/characters.md 읽기
|
||||||
|
4. volumes/vol-XX/timeline.md 읽기
|
||||||
|
5. settings/writing-guide.md 읽기
|
||||||
|
6. plots/plot-XXX-YYY.md 읽기 (이번 5화)
|
||||||
|
7. summaries/summary-이전.md 읽기 ⭐
|
||||||
|
8. summaries/summary-vol-이전-final.md 읽기 (다른 권이면)
|
||||||
|
9. docs/todo.md 읽기 (있으면)
|
||||||
|
```
|
||||||
|
|
||||||
|
**읽기 완료 후:**
|
||||||
|
```
|
||||||
|
"준비 완료. ch-XXX부터 시작합니다."
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 작성 프로세스
|
||||||
|
|
||||||
|
### 각 화 작성 시:
|
||||||
|
|
||||||
|
```
|
||||||
|
1. plot 파일 확인
|
||||||
|
- 날짜, 장소, 등장인물
|
||||||
|
- 핵심 내용, 주요 장면
|
||||||
|
- 분량, 복선
|
||||||
|
|
||||||
|
2. 메모리 참조 (파일 읽기 X!)
|
||||||
|
- characters.md: 성격, 말투
|
||||||
|
- timeline.md: 날짜 확인
|
||||||
|
- writing-guide.md: 작성 규칙
|
||||||
|
- summary: 이전 내용
|
||||||
|
|
||||||
|
3. 작성
|
||||||
|
- Show, Don't Tell
|
||||||
|
- 5감 묘사
|
||||||
|
- 대화:묘사:서술 = 40:40:20
|
||||||
|
- 분량: 8,000-12,000자
|
||||||
|
- 기술 설명: 정확하되 과도하지 않게
|
||||||
|
|
||||||
|
4. 완료 후 즉시
|
||||||
|
- chapters/ch-XXX.md 저장
|
||||||
|
- summaries/summary 업데이트 (누적!)
|
||||||
|
- 변경사항 있으면 마스터 동기화
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 변경사항 처리
|
||||||
|
|
||||||
|
### 새 캐릭터 추가 시:
|
||||||
|
```
|
||||||
|
1. volumes/vol-XX/characters.md 업데이트
|
||||||
|
2. settings/characters-master.md 업데이트 ⭐
|
||||||
|
3. summary에 기록
|
||||||
|
```
|
||||||
|
|
||||||
|
### 복선 추가 시:
|
||||||
|
```
|
||||||
|
1. volumes/vol-XX/timeline.md 복선 추적표
|
||||||
|
2. settings/timeline-master.md 복선 추적표 ⭐
|
||||||
|
3. summary에 기록
|
||||||
|
```
|
||||||
|
|
||||||
|
### 설정 변경 시:
|
||||||
|
```
|
||||||
|
즉시 사용자에게 보고:
|
||||||
|
"[변경사항] 발생. 확인 필요합니다."
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 서머리 관리
|
||||||
|
|
||||||
|
### 형식:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# X-Y화 누적 서머리
|
||||||
|
|
||||||
|
> 최종 업데이트: YYYY-MM-DD HH:MM
|
||||||
|
> 현재: ch-YYY (총 Y화)
|
||||||
|
|
||||||
|
## 📌 전체 줄거리
|
||||||
|
{누적 3-5문단}
|
||||||
|
|
||||||
|
## 📖 챕터별 핵심
|
||||||
|
### ch-XXX: [제목]
|
||||||
|
**날짜:** YYYY-MM-DD
|
||||||
|
**핵심:** 1줄 요약
|
||||||
|
|
||||||
|
## 🎭 캐릭터 상태
|
||||||
|
### [이름]:
|
||||||
|
- ch-XXX: 상태
|
||||||
|
|
||||||
|
## ⚠️ 복선
|
||||||
|
- [ ] [내용] (ch-XXX) → 회수: [시점]
|
||||||
|
|
||||||
|
## 📊 통계
|
||||||
|
- 총 챕터: Y화
|
||||||
|
- 총 분량: Z자
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ 5화 완료 체크리스트
|
||||||
|
|
||||||
|
```
|
||||||
|
각 5화 완료 시 자동 실행:
|
||||||
|
|
||||||
|
✅ 5개 챕터 파일 생성
|
||||||
|
✅ summary 누적 업데이트
|
||||||
|
✅ 캐릭터/타임라인 변경사항 마스터 동기화
|
||||||
|
✅ Git 커밋
|
||||||
|
형식:
|
||||||
|
"X-Y화 작성 완료
|
||||||
|
|
||||||
|
- ch-XXX: [제목] (Z자)
|
||||||
|
...
|
||||||
|
- summary-XXX-YYY.md 업데이트
|
||||||
|
|
||||||
|
총 Z자
|
||||||
|
|
||||||
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
|
||||||
|
✅ Git 푸시
|
||||||
|
✅ 다음 5화 안내
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 권 완료 체크리스트
|
||||||
|
|
||||||
|
```
|
||||||
|
50화 완료 시:
|
||||||
|
|
||||||
|
✅ summary-001-050.md 확인
|
||||||
|
✅ summary-vol-XX-final.md 생성 (압축!)
|
||||||
|
✅ 미회수 복선 정리
|
||||||
|
✅ Git 커밋
|
||||||
|
"X권 완료
|
||||||
|
|
||||||
|
- 50화 전체 (Z자)
|
||||||
|
- summary-vol-XX-final.md 생성
|
||||||
|
- 미회수 복선 N개
|
||||||
|
|
||||||
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
|
||||||
|
✅ Git 푸시
|
||||||
|
✅ 다음 권 안내
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 프로젝트 정보
|
||||||
|
|
||||||
|
**제목:** 천공의 심장 (Celestial Heart)
|
||||||
|
**장르:** 회귀 + 산업 경영 + 하드SF
|
||||||
|
**권수:** 10권
|
||||||
|
**화/권:** 50화
|
||||||
|
**분량/화:** 8,000-12,000자
|
||||||
|
**총 분량:** 약 5,000,000자
|
||||||
|
|
||||||
|
**시간 배경:** 1988 - 2026 (38년)
|
||||||
|
|
||||||
|
**주인공:** 한세진 (1968년생)
|
||||||
|
- 회귀 전: 2026년 58세, 항공엔진 엔지니어
|
||||||
|
- 회귀 후: 1988년 20세, 카이스트 입학
|
||||||
|
|
||||||
|
**핵심 줄거리:**
|
||||||
|
2026년 항공기 엔진 엔지니어 한세진은 사고로 사망 직전 1988년으로 회귀한다. 카이스트 입학을 앞둔 20세 청년으로 돌아간 그는 미래 지식과 엔지니어링 전문성을 바탕으로 금융에서 시작해 소프트웨어, 반도체, 항공엔진, 우주산업을 아우르는 제국을 건설한다. 과정은 논리적이고 개연성 있게, 결과는 머스크와 젠슨 황을 뛰어넘는 성취로.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚫 금지 사항
|
||||||
|
|
||||||
|
❌ 설정 파일 읽지 않고 작성
|
||||||
|
❌ 서머리 업데이트 생략
|
||||||
|
❌ 마스터 파일 동기화 누락
|
||||||
|
❌ 날짜/나이 오류
|
||||||
|
❌ 캐릭터 OOC
|
||||||
|
❌ 복선 누락
|
||||||
|
❌ WORK-MODE.txt 무시 (v3.0)
|
||||||
|
❌ 수정 시 summary 재생성 누락 (v3.0)
|
||||||
|
❌ 기술 묘사 황당함 (개연성 필수!)
|
||||||
|
❌ "돈 벌었다" 중심 서술 (과정 중심!)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 명령어
|
||||||
|
|
||||||
|
### 설계:
|
||||||
|
- "큰 틀 정하자" → Phase 1
|
||||||
|
- "X권 플롯 작성" → Phase 2
|
||||||
|
|
||||||
|
### 실행:
|
||||||
|
- "실행 준비" → Phase 3
|
||||||
|
- "1~5화 작성해" → Phase 4
|
||||||
|
|
||||||
|
### 수정 (v3.0):
|
||||||
|
- "수정 준비해: [문제명]" → 수정 모드 준비
|
||||||
|
- "수정 실행" → 수정 모드 실행
|
||||||
|
|
||||||
|
### 점검 (v3.0):
|
||||||
|
- "점검해" → 전체 검증
|
||||||
|
|
||||||
|
### 유틸:
|
||||||
|
- "타임라인 검증" → 날짜 체크
|
||||||
|
- "복선 현황" → 미회수 떡밥
|
||||||
|
- "캐릭터 상태" → 현재 상태
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 참고 파일
|
||||||
|
|
||||||
|
### 공통 (settings/):
|
||||||
|
- `writing-guide.md`: 전체 작성 규칙
|
||||||
|
- `chapter-format-standard.md`: 챕터 형식 표준 (v3.0)
|
||||||
|
- `writing-mode.md`: 작성 모드 절차 (v3.0)
|
||||||
|
- `modification-mode.md`: 수정 모드 절차 (v3.0)
|
||||||
|
- `verification-mode.md`: 점검 모드 절차 (v3.0)
|
||||||
|
- `renaming-protocol.md`: 안전한 리네임 (v3.0)
|
||||||
|
|
||||||
|
### 권별 (volumes/vol-XX/):
|
||||||
|
- `CHANGELOG.md`: 변경 이력 (v3.0)
|
||||||
|
- `WORK-MODE.txt`: 현재 모드 (v3.0, 임시)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 작품 특화 규칙
|
||||||
|
|
||||||
|
### 1. 기술 묘사
|
||||||
|
- **원칙:** "이해는 못해도 그럴듯해야 함"
|
||||||
|
- **깊이:** 전문 용어 적당히, 원리 설명 간결히
|
||||||
|
- **예시:**
|
||||||
|
```
|
||||||
|
❌ "터빈 블레이드의 냉각 채널 설계는..."
|
||||||
|
(너무 전문적)
|
||||||
|
|
||||||
|
✅ "고온에서 견디려면 블레이드 안에
|
||||||
|
냉각 구멍을 뚫어야 한다. 하지만
|
||||||
|
구멍을 뚫으면 강도가 떨어진다."
|
||||||
|
(개념 전달 + 갈등)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 투자 묘사
|
||||||
|
- **원칙:** 구체적 종목 X, 방향성만
|
||||||
|
- **예시:**
|
||||||
|
```
|
||||||
|
❌ "삼성전자를 5만원에 매수했다"
|
||||||
|
✅ "반도체 산업이 성장할 거라
|
||||||
|
확신했다. 국내 대표 기업에
|
||||||
|
자금을 집중했다."
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 로맨스 (30%)
|
||||||
|
- **1권:** 15% (대학 로맨스)
|
||||||
|
- **2-3권:** 10% (결혼, 가정)
|
||||||
|
- **4-10권:** 5% (부부, 부모)
|
||||||
|
- **톤:** 달콤하되 과하지 않게
|
||||||
|
- **서연의 역할:** 조력자이자 정서적 지지
|
||||||
|
|
||||||
|
### 4. 나이 계산 철저
|
||||||
|
- **세진:** 1968년생
|
||||||
|
- **서연:** 1969년생
|
||||||
|
- **도준:** 1995년생
|
||||||
|
- 매 화마다 현재 연도 확인
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*AI는 이 파일을 항상 우선 읽고 규칙을 준수한다.*
|
||||||
|
|
||||||
|
*v3.0에서는 WORK-MODE.txt 확인이 최우선이다!*
|
||||||
|
|
||||||
|
*《천공의 심장》은 개연성 있는 기술 서사다!*
|
||||||
163
README.md
Normal file
163
README.md
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
# 천공의 심장 (Celestial Heart)
|
||||||
|
|
||||||
|
> **장르:** 회귀 + 산업 경영 + 하드SF
|
||||||
|
> **권수:** 10권 (각 50화)
|
||||||
|
> **총 분량:** 약 500만자
|
||||||
|
> **작성 기간:** 2026.01 ~
|
||||||
|
> **작성자:** Alex
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📖 작품 소개
|
||||||
|
|
||||||
|
### 핵심 줄거리
|
||||||
|
|
||||||
|
2026년, 항공기 엔진 엔지니어 한세진은 사고로 사망 직전 1988년으로 회귀한다.
|
||||||
|
|
||||||
|
카이스트 입학을 앞둔 20세 청년으로 돌아간 그는 38년간의 미래 지식과 엔지니어링 전문성을 바탕으로 금융에서 시작해 소프트웨어, 반도체, 항공엔진, 우주산업을 아우르는 제국을 건설한다.
|
||||||
|
|
||||||
|
**1세대(세진):** "미래를 아는 설계자" - 판을 깐다
|
||||||
|
**2세대(도준):** "미래를 만드는 제작자" - 직접 만든다
|
||||||
|
|
||||||
|
과정은 논리적이고 개연성 있게.
|
||||||
|
결과는 일론 머스크와 젠슨 황을 뛰어넘는 성취로.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 작품 특징
|
||||||
|
|
||||||
|
### 1. 개연성 중심 서사
|
||||||
|
- ❌ "미래 지식으로 떼돈 벌었다" (황당함)
|
||||||
|
- ✅ "이 정도 노력하면... 나도 할 수 있겠네?" (공감)
|
||||||
|
|
||||||
|
### 2. 기술 하드SF
|
||||||
|
- 실제 공학 원리 기반
|
||||||
|
- 전문 용어 적당히, 원리 설명 간결히
|
||||||
|
- "이해는 못해도 그럴듯함"
|
||||||
|
|
||||||
|
### 3. 로맨스 30%
|
||||||
|
- 엔지니어 vs 디자이너
|
||||||
|
- 이성과 감성의 균형
|
||||||
|
- 대학 로맨스 → 결혼 → 가정
|
||||||
|
|
||||||
|
### 4. 2세대 서사
|
||||||
|
- 1권-6권: 한세진 (설계자)
|
||||||
|
- 7권-10권: 한도준 (제작자)
|
||||||
|
- 아버지를 넘어서는 아들
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 권별 구성
|
||||||
|
|
||||||
|
### 제1부: 제국의 기초 (1세대 - 한세진)
|
||||||
|
|
||||||
|
| 권 | 연도 | 핵심 테마 | 기술 |
|
||||||
|
|---|------|----------|------|
|
||||||
|
| 1권 | 1988~1991 | 돈이 아닌 눈을 만든다 | 금융 + PC 보급 |
|
||||||
|
| 2권 | 1992~1994 | 디지털의 서막 | 인터넷 + OS |
|
||||||
|
| 3권 | 1995~1996 | 반도체 = 혈관 | 반도체 공정 |
|
||||||
|
| 4권 | 1997~1998 | 위기 = 기회 | IMF + 가스터빈 |
|
||||||
|
| 5권 | 1999~2004 | 모바일 + 에너지 | SoC + 배터리 |
|
||||||
|
| 6권 | 2005~2009 | 수직계열화 완성 | 공급망 통합 |
|
||||||
|
|
||||||
|
### 제2부: 제국의 확장 (2세대 - 한도준)
|
||||||
|
|
||||||
|
| 권 | 연도 | 핵심 테마 | 기술 |
|
||||||
|
|---|------|----------|------|
|
||||||
|
| 7권 | 2010~2015 | 항공엔진 상용화 | 터빈 블레이드 |
|
||||||
|
| 8권 | 2016~2020 | 방산 + 극초음속 | Scramjet |
|
||||||
|
| 9권 | 2021~2024 | 우주 = 물류 | 재사용 로켓 |
|
||||||
|
| 10권 | 2025~2026 | 시간과 에너지 | 회귀의 비밀 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎭 주요 캐릭터
|
||||||
|
|
||||||
|
### 주인공
|
||||||
|
- **한세진** (1968년생): 엔지니어 출신 회귀자
|
||||||
|
- **한도준** (1995년생): 2세대 주인공, 세진의 아들
|
||||||
|
|
||||||
|
### 조력자
|
||||||
|
- **이서연** (1969년생): 디자이너, 세진의 아내
|
||||||
|
- **박준혁** (1968년생): 프로그래머, 기술 파트너
|
||||||
|
- **최민수** (1966년생): MBA, 경영 파트너
|
||||||
|
- **강민지** (1970년생): 재미교포, 글로벌 파트너
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📂 프로젝트 구조
|
||||||
|
|
||||||
|
```
|
||||||
|
celestial-heart/
|
||||||
|
├── CLAUDE.md # AI 협업 프로토콜
|
||||||
|
├── README.md # 이 파일
|
||||||
|
├── CHANGELOG.md # 변경 이력
|
||||||
|
│
|
||||||
|
├── settings/ # 마스터 파일 (설계용)
|
||||||
|
│ ├── characters-master.md # 전체 캐릭터
|
||||||
|
│ ├── timeline-master.md # 전체 타임라인
|
||||||
|
│ ├── plot-master.md # 전체 플롯
|
||||||
|
│ ├── writing-guide.md # 작성 규칙
|
||||||
|
│ └── [v3.0 모드 파일들]
|
||||||
|
│
|
||||||
|
└── volumes/ # 권별 폴더
|
||||||
|
├── vol-01/
|
||||||
|
│ ├── plot-master.md
|
||||||
|
│ ├── plots/ # 5화별 플롯
|
||||||
|
│ ├── summaries/ # 누적 서머리
|
||||||
|
│ └── chapters/ # 원고
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠️ 작성 시스템
|
||||||
|
|
||||||
|
### v3.0 모드 기반 워크플로우
|
||||||
|
|
||||||
|
**작성 모드:**
|
||||||
|
- "1~5화 작성해" → 5화 연속 작성
|
||||||
|
- summary 자동 누적
|
||||||
|
- Git 자동 커밋
|
||||||
|
|
||||||
|
**수정 모드:**
|
||||||
|
- "수정 준비해" → 계획 수립
|
||||||
|
- 컴팩팅 후 "수정 실행"
|
||||||
|
- summary 재생성 강제
|
||||||
|
|
||||||
|
**점검 모드:**
|
||||||
|
- "점검해" → 전수 검사
|
||||||
|
- 보고서 자동 생성
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 진행 상황
|
||||||
|
|
||||||
|
**현재:** Phase 0 (프로젝트 초기화 완료)
|
||||||
|
|
||||||
|
**다음 단계:**
|
||||||
|
1. Phase 1: 설계 (마스터 파일 작성)
|
||||||
|
2. Phase 2: 1권 플롯 작성
|
||||||
|
3. Phase 3: 실행 준비
|
||||||
|
4. Phase 4: 1-5화 작성 시작
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 참고
|
||||||
|
|
||||||
|
- **가이드:** `L:\내 드라이브\Writing\Guide\`
|
||||||
|
- **원격 저장소:** https://git.digien25.co.kr/Alex/celestial-heart
|
||||||
|
- **백업:** Google Drive 자동 동기화 + Gitea
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 라이선스
|
||||||
|
|
||||||
|
개인 프로젝트 (All Rights Reserved)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**작성자:** Alex
|
||||||
|
**협업:** Claude Sonnet 4.5
|
||||||
|
**시작일:** 2026-01-17
|
||||||
|
**버전:** v3.0 시스템 적용
|
||||||
306
settings/chapter-format-standard.md
Normal file
306
settings/chapter-format-standard.md
Normal file
@@ -0,0 +1,306 @@
|
|||||||
|
# 챕터 작성 표준 형식
|
||||||
|
|
||||||
|
> **작성일:** 2026-01-17
|
||||||
|
> **버전:** 1.0
|
||||||
|
> **용도:** 챕터 파일 헤더 및 구조 표준
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📐 필수 헤더 형식
|
||||||
|
|
||||||
|
### 기본 형식
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# [권수]권 [화수]화: [제목]
|
||||||
|
|
||||||
|
> **타임라인:** YYYY.M.D-M.D
|
||||||
|
> **장소:** 장소1, 장소2
|
||||||
|
> **등장인물:** A, B, C (선택)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Part 1: [소제목]
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
### 예시 (올바른 형식)
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# 2권 29화: 만주 특별구 출범
|
||||||
|
|
||||||
|
> **타임라인:** 1950.3.11-4.1
|
||||||
|
> **장소:** 만주 연길
|
||||||
|
> **등장인물:** 최태준, 강민준, 조선족 주민들
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Part 1: 출범 준비
|
||||||
|
...
|
||||||
|
|
||||||
|
## Part 2: 4월 1일 출범식
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ 검증 규칙
|
||||||
|
|
||||||
|
### 1. 제목 라인
|
||||||
|
|
||||||
|
**형식:** `# [권수]권 [화수]화: [제목]`
|
||||||
|
|
||||||
|
**규칙:**
|
||||||
|
- ✅ 권 번호 필수 (예: "2권")
|
||||||
|
- ✅ 화수 숫자만 (예: "29화", not "이십구화")
|
||||||
|
- ✅ 콜론(`:`) 뒤 공백 1칸
|
||||||
|
- ✅ 제목은 간결하고 명확하게
|
||||||
|
|
||||||
|
**올바른 예:**
|
||||||
|
```
|
||||||
|
✅ # 2권 29화: 만주 특별구 출범
|
||||||
|
✅ # 1권 1화: 빛 속으로
|
||||||
|
✅ # 3권 45화: 반도체 혁명
|
||||||
|
```
|
||||||
|
|
||||||
|
**잘못된 예:**
|
||||||
|
```
|
||||||
|
❌ # ch-029: 만주 개발 시작
|
||||||
|
→ "ch-" 형식 금지, 권 번호 누락
|
||||||
|
|
||||||
|
❌ # 29화: 만주 개발 시작
|
||||||
|
→ 권 번호 누락
|
||||||
|
|
||||||
|
❌ # 2권 29화 : 제목
|
||||||
|
→ 콜론 앞 공백 금지
|
||||||
|
|
||||||
|
❌ # 2권 이십구화: 제목
|
||||||
|
→ 화수는 숫자만
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 타임라인
|
||||||
|
|
||||||
|
**형식:** `> **타임라인:** YYYY.M.D-M.D`
|
||||||
|
|
||||||
|
**규칙:**
|
||||||
|
- ✅ 연도 4자리, 월/일 1-2자리
|
||||||
|
- ✅ 구분자: 점(`.`)
|
||||||
|
- ✅ 기간: 하이픈(`-`)
|
||||||
|
- ✅ 단일 날짜: `YYYY.M.D`만
|
||||||
|
|
||||||
|
**올바른 예:**
|
||||||
|
```
|
||||||
|
✅ > **타임라인:** 1950.3.11-4.1
|
||||||
|
✅ > **타임라인:** 1947.1.1
|
||||||
|
✅ > **타임라인:** 1950.5.1-12.31
|
||||||
|
```
|
||||||
|
|
||||||
|
**잘못된 예:**
|
||||||
|
```
|
||||||
|
❌ > **타임라인:** 1950-3-11~4-1
|
||||||
|
→ 구분자 잘못됨
|
||||||
|
|
||||||
|
❌ > **타임라인:** 1950/3/11-4/1
|
||||||
|
→ 슬래시 금지
|
||||||
|
|
||||||
|
❌ > **타임라인:** 1950.03.11-04.01
|
||||||
|
→ 0 패딩 불필요
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 타임라인 연속성 (매우 중요!)
|
||||||
|
|
||||||
|
**규칙:**
|
||||||
|
- ✅ 이전 화 종료일 ≤ 현재 화 시작일
|
||||||
|
- ✅ 시간 역행 금지
|
||||||
|
- ✅ 날짜 겹침 최소화
|
||||||
|
|
||||||
|
**체크 절차:**
|
||||||
|
```
|
||||||
|
ch-028: 1950.3.11-4.1 (종료: 4.1)
|
||||||
|
ch-029: 1950.4.2-4.30 (시작: 4.2) ← 4.1 이후 ✅
|
||||||
|
|
||||||
|
ch-028: 1950.3.11-4.1 (종료: 4.1)
|
||||||
|
ch-029: 1950.5.1-12.31 (시작: 5.1) ← 4.1 이후 ✅
|
||||||
|
|
||||||
|
ch-029: 1950.5.1-12.31 (종료: 12.31)
|
||||||
|
ch-030: 1950.4.1-4.30 (시작: 4.1) ← 과거로! ❌❌❌
|
||||||
|
```
|
||||||
|
|
||||||
|
**예외: 플래시백/회상**
|
||||||
|
```
|
||||||
|
✅ > **타임라인:** 1950.5.1 (회상: 1947.6.1)
|
||||||
|
✅ > **타임라인:** 1955.1.1 (회고: 1945-1950)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. 제목 유니크성
|
||||||
|
|
||||||
|
**규칙:**
|
||||||
|
- ✅ 동일 권 내 제목 중복 금지
|
||||||
|
- ✅ 유사 제목 주의
|
||||||
|
|
||||||
|
**잘못된 예:**
|
||||||
|
```
|
||||||
|
ch-029: "만주 개발 시작"
|
||||||
|
ch-030: "만주 개발 시작" ← 완전 중복! ❌
|
||||||
|
|
||||||
|
해결:
|
||||||
|
ch-029: "만주 개발 준비"
|
||||||
|
ch-030: "만주 개발 시작" ✅
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. 장소
|
||||||
|
|
||||||
|
**형식:** `> **장소:** 장소1, 장소2`
|
||||||
|
|
||||||
|
**규칙:**
|
||||||
|
- ✅ 주요 장소만 (1-3개)
|
||||||
|
- ✅ 쉼표(`,`) 구분
|
||||||
|
- ✅ 구체적으로
|
||||||
|
|
||||||
|
**올바른 예:**
|
||||||
|
```
|
||||||
|
✅ > **장소:** 만주 연길
|
||||||
|
✅ > **장소:** 서울, 청와대
|
||||||
|
✅ > **장소:** 도쿄 긴자 거리
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6. 등장인물 (선택)
|
||||||
|
|
||||||
|
**형식:** `> **등장인물:** A, B, C`
|
||||||
|
|
||||||
|
**규칙:**
|
||||||
|
- ✅ 주요 인물만 (1-5명)
|
||||||
|
- ✅ 쉼표 구분
|
||||||
|
- ✅ 생략 가능
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 본문 구조
|
||||||
|
|
||||||
|
### Part 구성
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Part 1: 새해 아침
|
||||||
|
|
||||||
|
(2-4문단)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Part 2: 가족 대화
|
||||||
|
|
||||||
|
(3-5문단)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Part 3: 회상
|
||||||
|
|
||||||
|
(2-3문단)
|
||||||
|
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
**권장:**
|
||||||
|
- Part 4-6개 (1화당)
|
||||||
|
- Part당 2-5문단
|
||||||
|
- Part 사이 `---` 구분선
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔍 작성 전 체크리스트
|
||||||
|
|
||||||
|
### 새 챕터 작성 시
|
||||||
|
|
||||||
|
- [ ] 이전 화 종료 날짜 확인
|
||||||
|
- [ ] 타임라인 연속성 확인
|
||||||
|
- [ ] 제목 중복 없는지 확인
|
||||||
|
- [ ] 헤더 형식 올바른지 확인
|
||||||
|
- [ ] plot-XXX-YYY.md와 일치하는지 확인
|
||||||
|
|
||||||
|
### 기존 챕터 수정 시
|
||||||
|
|
||||||
|
- [ ] 타임라인 변경했다면 전후 챕터 확인
|
||||||
|
- [ ] 제목 변경했다면 중복 없는지 확인
|
||||||
|
- [ ] summary 재생성 필요한지 확인
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚨 자주 발생하는 오류
|
||||||
|
|
||||||
|
### 1. 형식 오류 (헤더)
|
||||||
|
|
||||||
|
```
|
||||||
|
❌ # ch-029: 제목
|
||||||
|
❌ # 29화: 제목
|
||||||
|
❌ # 2권 29화 :제목
|
||||||
|
❌ # 2권 이십구화: 제목
|
||||||
|
|
||||||
|
✅ # 2권 29화: 제목
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 타임라인 역순
|
||||||
|
|
||||||
|
```
|
||||||
|
ch-029: 1950.5.1-12.31
|
||||||
|
ch-030: 1950.4.1-4.30 ← 과거로! ❌
|
||||||
|
|
||||||
|
해결: 순서 바꾸기 또는 날짜 조정
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 제목 중복
|
||||||
|
|
||||||
|
```
|
||||||
|
ch-029: "만주 개발 시작"
|
||||||
|
ch-030: "만주 개발 시작" ← 중복! ❌
|
||||||
|
|
||||||
|
해결: 제목 차별화
|
||||||
|
ch-029: "만주 개발 준비"
|
||||||
|
ch-030: "만주 개발 시작"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. 타임라인 형식 오류
|
||||||
|
|
||||||
|
```
|
||||||
|
❌ 1950-3-11
|
||||||
|
❌ 1950/3/11
|
||||||
|
❌ 1950.03.11 (0 패딩 불필요)
|
||||||
|
|
||||||
|
✅ 1950.3.11
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 검증 명령어
|
||||||
|
|
||||||
|
### 자동 검증 (AI)
|
||||||
|
|
||||||
|
```
|
||||||
|
"헤더 형식 검증해"
|
||||||
|
"타임라인 연속성 검증해"
|
||||||
|
"제목 중복 검증해"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 수동 검증 (Bash)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 헤더 형식 확인
|
||||||
|
grep "^# " chapters/*.md
|
||||||
|
|
||||||
|
# 타임라인 추출
|
||||||
|
grep "타임라인:" chapters/*.md | sort
|
||||||
|
|
||||||
|
# 제목 중복 확인
|
||||||
|
grep "^# " chapters/*.md | cut -d: -f2 | sort | uniq -d
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 참고 파일
|
||||||
|
|
||||||
|
- **작성 규칙:** `settings/writing-guide.md`
|
||||||
|
- **수정 절차:** `settings/modification-mode.md`
|
||||||
|
- **타임라인 검증:** `volumes/vol-XX/timeline.md`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**버전:** 1.0
|
||||||
|
**최종 수정:** 2026-01-17
|
||||||
|
**작성자:** Alex + Claude Sonnet 4.5
|
||||||
455
settings/modification-mode.md
Normal file
455
settings/modification-mode.md
Normal file
@@ -0,0 +1,455 @@
|
|||||||
|
# 수정 모드 프로토콜
|
||||||
|
|
||||||
|
> **작성일:** 2026-01-17
|
||||||
|
> **버전:** 1.0
|
||||||
|
> **용도:** 기존 챕터 수정 및 재구성 시 절차 (MODE: MODIFICATION)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 수정 모드 개요
|
||||||
|
|
||||||
|
**수정 모드는:**
|
||||||
|
- 기존 챕터를 수정/재구성
|
||||||
|
- 플롯, 캐릭터, 타임라인 동기화
|
||||||
|
- summary 재생성 (필수!)
|
||||||
|
- 타임라인 검증
|
||||||
|
- CHANGELOG 업데이트
|
||||||
|
|
||||||
|
**언제 사용:**
|
||||||
|
- 챕터 내용 수정
|
||||||
|
- 리넘버링 (ch-030~060 → ch-031~061)
|
||||||
|
- 캐릭터 이름 변경
|
||||||
|
- 타임라인 조정
|
||||||
|
- 복선 추가/삭제
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔴 수정 작업 철칙 (반드시 준수!)
|
||||||
|
|
||||||
|
### 1. **Summary는 신성불가침!**
|
||||||
|
```
|
||||||
|
챕터 수정 = summary 반드시 재생성
|
||||||
|
→ 누적 서머리니까 영향 범위 전체 재생성!
|
||||||
|
|
||||||
|
예:
|
||||||
|
ch-029 수정
|
||||||
|
→ summary-001-030.md 재생성
|
||||||
|
→ summary-001-035.md 재생성
|
||||||
|
→ summary-001-040.md 재생성
|
||||||
|
→ ...
|
||||||
|
→ summary-001-060.md 재생성
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. **타임라인은 법!**
|
||||||
|
```
|
||||||
|
수정 후 반드시 타임라인 검증
|
||||||
|
→ 시간 역행 금지
|
||||||
|
→ 날짜 겹침 금지
|
||||||
|
→ 이전 화 종료일 ≤ 현재 화 시작일
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. **플롯이 정답!**
|
||||||
|
```
|
||||||
|
챕터 vs 플롯 불일치 → 챕터 수정
|
||||||
|
플롯 변경은 사용자 명시 승인만
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. **CHANGELOG 필수!**
|
||||||
|
```
|
||||||
|
모든 수정은 CHANGELOG.md에 기록
|
||||||
|
→ 무엇을 왜 수정했는지
|
||||||
|
→ 어떤 파일이 영향받았는지
|
||||||
|
→ 문제는 무엇이었는지
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 수정 프로세스
|
||||||
|
|
||||||
|
### Phase 1: 수정 준비 (사용자: "수정 준비해")
|
||||||
|
|
||||||
|
**사용자 명령:**
|
||||||
|
```
|
||||||
|
"수정 준비해: ch-029/030 타임라인 역전"
|
||||||
|
"수정 준비해: 30-60화 리넘버링"
|
||||||
|
"수정 준비해: 한지근→한기철 이름 변경"
|
||||||
|
```
|
||||||
|
|
||||||
|
**AI 실행 절차:**
|
||||||
|
|
||||||
|
**1-1. 문제 레포트 읽기**
|
||||||
|
```
|
||||||
|
사용자가 제공한 레포트 읽기:
|
||||||
|
- 2권_완전_재검증_보고서.md
|
||||||
|
- ch-029_문제_보고서.md
|
||||||
|
등
|
||||||
|
```
|
||||||
|
|
||||||
|
**1-2. 수정 범위 파악**
|
||||||
|
```
|
||||||
|
레포트 분석:
|
||||||
|
- 어떤 챕터가 문제인가?
|
||||||
|
- 어떤 파일이 영향받는가?
|
||||||
|
- 수정 우선순위는?
|
||||||
|
```
|
||||||
|
|
||||||
|
**1-3. 영향받는 파일 식별**
|
||||||
|
```
|
||||||
|
자동 식별:
|
||||||
|
- 챕터: ch-XXX~YYY
|
||||||
|
- summary: summary-001-XXX 이후 전부!
|
||||||
|
- plot: plot-XXX-YYY (필요시)
|
||||||
|
- characters.md, timeline.md (필요시)
|
||||||
|
```
|
||||||
|
|
||||||
|
**1-4. 수정 계획서 작성**
|
||||||
|
```
|
||||||
|
volumes/vol-XX/modification-plan-20260117.md 생성:
|
||||||
|
|
||||||
|
# 수정 계획서
|
||||||
|
|
||||||
|
**작업명:** ch-029/030 타임라인 역전 수정
|
||||||
|
**작성일:** 2026-01-17
|
||||||
|
**레포트:** 2권_완전_재검증_보고서.md
|
||||||
|
|
||||||
|
## 문제
|
||||||
|
- ch-029: 1950.5.1-12.31 (5월~12월)
|
||||||
|
- ch-030: 1950.4.1-4.30 (4월)
|
||||||
|
→ 타임라인 역순!
|
||||||
|
|
||||||
|
## 수정 방안
|
||||||
|
옵션 A: 내용 교환
|
||||||
|
- ch-029 ↔ ch-030 내용 맞바꾸기
|
||||||
|
- 제목 조정
|
||||||
|
|
||||||
|
## 영향받는 파일
|
||||||
|
- ch-029.md
|
||||||
|
- ch-030.md
|
||||||
|
- summary-001-030.md ~ summary-001-060.md
|
||||||
|
|
||||||
|
## 작업 순서
|
||||||
|
1. ch-029.md 백업
|
||||||
|
2. ch-030.md 백업
|
||||||
|
3. 내용 교환
|
||||||
|
4. summary 재생성 (30~60)
|
||||||
|
5. 타임라인 검증
|
||||||
|
6. CHANGELOG 업데이트
|
||||||
|
7. Git 커밋
|
||||||
|
```
|
||||||
|
|
||||||
|
**1-5. WORK-MODE.txt 생성**
|
||||||
|
```
|
||||||
|
volumes/vol-02/WORK-MODE.txt:
|
||||||
|
|
||||||
|
MODE: MODIFICATION
|
||||||
|
TASK: ch-029/030 타임라인 역전 수정
|
||||||
|
REPORT: 2권_완전_재검증_보고서.md
|
||||||
|
PLAN: volumes/vol-02/modification-plan-20260117.md
|
||||||
|
SCOPE: ch-029, ch-030, summary-001-030~060
|
||||||
|
VOL: vol-02
|
||||||
|
CREATED: 2026-01-17 16:00
|
||||||
|
```
|
||||||
|
|
||||||
|
**1-6. Git 커밋**
|
||||||
|
```bash
|
||||||
|
git add volumes/vol-02/WORK-MODE.txt
|
||||||
|
git add volumes/vol-02/modification-plan-20260117.md
|
||||||
|
git commit -m "수정 준비: ch-029/030 타임라인 역전
|
||||||
|
|
||||||
|
- 수정 계획서 작성
|
||||||
|
- WORK-MODE.txt 생성 (MODE: MODIFICATION)
|
||||||
|
- 영향 범위: ch-029, 030, summary-001-030~060
|
||||||
|
|
||||||
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
**1-7. 사용자에게 보고**
|
||||||
|
```
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
✅ 수정 준비 완료!
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
수정 작업: ch-029/030 타임라인 역전
|
||||||
|
계획서: modification-plan-20260117.md
|
||||||
|
영향 범위:
|
||||||
|
- 챕터: ch-029, ch-030
|
||||||
|
- 서머리: summary-001-030~060 (31개 재생성 필요!)
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
📌 다음 단계:
|
||||||
|
1. 세션 정리 (컴팩팅)
|
||||||
|
2. 새 세션에서 "수정 실행" 명령
|
||||||
|
|
||||||
|
⚠️ 중요:
|
||||||
|
- 새 세션에서 자동으로 수정 모드로 진입합니다
|
||||||
|
- WORK-MODE.txt가 MODE: MODIFICATION으로 설정됨
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 2: 수정 실행 (사용자: "수정 실행")
|
||||||
|
|
||||||
|
**새 세션 시작 후:**
|
||||||
|
|
||||||
|
**2-1. 자동 모드 감지**
|
||||||
|
```
|
||||||
|
[세션 시작]
|
||||||
|
→ CLAUDE.md 자동 읽기
|
||||||
|
→ WORK-MODE.txt 확인
|
||||||
|
→ MODE: MODIFICATION 감지
|
||||||
|
→ 수정 모드로 분기 ✅
|
||||||
|
```
|
||||||
|
|
||||||
|
**2-2. 필수 파일 읽기**
|
||||||
|
```
|
||||||
|
자동으로 읽을 파일:
|
||||||
|
1. settings/modification-mode.md (이 파일!)
|
||||||
|
2. volumes/vol-XX/WORK-MODE.txt
|
||||||
|
3. volumes/vol-XX/modification-plan-*.md
|
||||||
|
4. 레포트 파일 (WORK-MODE.txt에 경로)
|
||||||
|
5. settings/chapter-format-standard.md
|
||||||
|
6. settings/renaming-protocol.md (필요시)
|
||||||
|
```
|
||||||
|
|
||||||
|
**2-3. TodoWrite 초기화**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"todos": [
|
||||||
|
{"content": "ch-029 읽기 및 분석", "status": "pending", "activeForm": "ch-029 분석 중"},
|
||||||
|
{"content": "ch-030 읽기 및 분석", "status": "pending", "activeForm": "ch-030 분석 중"},
|
||||||
|
{"content": "타임라인 확인", "status": "pending", "activeForm": "타임라인 확인 중"},
|
||||||
|
{"content": "ch-029/030 내용 교환", "status": "pending", "activeForm": "내용 교환 중"},
|
||||||
|
{"content": "summary-001-030 재생성", "status": "pending", "activeForm": "서머리 재생성 중"},
|
||||||
|
{"content": "summary-001-035 재생성", "status": "pending", "activeForm": "서머리 재생성 중"},
|
||||||
|
{"content": "... (summary 전체)", "status": "pending", "activeForm": "서머리 재생성 중"},
|
||||||
|
{"content": "타임라인 전수 검증", "status": "pending", "activeForm": "타임라인 검증 중"},
|
||||||
|
{"content": "제목 중복 검증", "status": "pending", "activeForm": "제목 검증 중"},
|
||||||
|
{"content": "헤더 형식 검증", "status": "pending", "activeForm": "헤더 검증 중"},
|
||||||
|
{"content": "CHANGELOG 업데이트", "status": "pending", "activeForm": "CHANGELOG 작성 중"},
|
||||||
|
{"content": "Git 커밋 및 푸시", "status": "pending", "activeForm": "Git 처리 중"},
|
||||||
|
{"content": "WORK-MODE.txt 삭제", "status": "pending", "activeForm": "정리 중"}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**2-4. 챕터 수정**
|
||||||
|
```
|
||||||
|
수정 계획서에 따라:
|
||||||
|
- ch-029.md 수정
|
||||||
|
- ch-030.md 수정
|
||||||
|
- 또는 내용 교환
|
||||||
|
- 또는 리네임
|
||||||
|
```
|
||||||
|
|
||||||
|
**2-5. summary 재생성 (필수!)** ⭐⭐⭐
|
||||||
|
```
|
||||||
|
영향받는 범위 전체 재생성:
|
||||||
|
|
||||||
|
summary-001-030.md 재생성:
|
||||||
|
→ ch-001~030 전체 읽기
|
||||||
|
→ 누적 서머리 작성
|
||||||
|
|
||||||
|
summary-001-035.md 재생성:
|
||||||
|
→ ch-001~035 전체 읽기
|
||||||
|
→ 누적 서머리 작성
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
summary-001-060.md 재생성:
|
||||||
|
→ ch-001~060 전체 읽기
|
||||||
|
→ 누적 서머리 작성
|
||||||
|
```
|
||||||
|
|
||||||
|
**2-6. 검증 (필수!)**
|
||||||
|
```
|
||||||
|
1. 타임라인 전수 검증:
|
||||||
|
- ch-001~060 타임라인 추출
|
||||||
|
- 시간 순서 확인
|
||||||
|
- 역행, 겹침 체크
|
||||||
|
|
||||||
|
2. 제목 중복 검증:
|
||||||
|
- 동일 권 내 제목 유니크 확인
|
||||||
|
|
||||||
|
3. 헤더 형식 검증:
|
||||||
|
- "X권 Y화: 제목" 형식
|
||||||
|
- 타임라인 형식 확인
|
||||||
|
```
|
||||||
|
|
||||||
|
**2-7. CHANGELOG 업데이트**
|
||||||
|
```markdown
|
||||||
|
volumes/vol-02/CHANGELOG.md에 추가:
|
||||||
|
|
||||||
|
## [2026-01-17] ch-029/030 타임라인 역전 수정
|
||||||
|
**타입:** 🐛 버그 수정
|
||||||
|
**커밋:** abc1234
|
||||||
|
**작업자:** Alex + Claude Sonnet 4.5
|
||||||
|
|
||||||
|
### 문제
|
||||||
|
- ch-029: 1950.5.1-12.31 (이후)
|
||||||
|
- ch-030: 1950.4.1-4.30 (이전)
|
||||||
|
→ 타임라인 역순!
|
||||||
|
|
||||||
|
### 수정 내용
|
||||||
|
**방법:** 내용 교환
|
||||||
|
- ch-029 ↔ ch-030 내용 맞바꿈
|
||||||
|
- ch-029 제목: "만주 개발 준비"
|
||||||
|
- ch-030 제목: "만주 개발 시작"
|
||||||
|
|
||||||
|
### 영향받은 파일
|
||||||
|
**챕터:**
|
||||||
|
- ch-029.md (내용 변경)
|
||||||
|
- ch-030.md (내용 변경)
|
||||||
|
|
||||||
|
**서머리:**
|
||||||
|
- summary-001-030.md ~ summary-001-060.md (31개 재생성)
|
||||||
|
|
||||||
|
### 검증
|
||||||
|
- ✅ 타임라인 순서 정상
|
||||||
|
- ✅ 제목 중복 없음
|
||||||
|
- ✅ 헤더 형식 정상
|
||||||
|
|
||||||
|
### 커밋
|
||||||
|
- abc1234: "ch-029/030 타임라인 수정 완료"
|
||||||
|
```
|
||||||
|
|
||||||
|
**2-8. Git 커밋**
|
||||||
|
```bash
|
||||||
|
git add volumes/vol-02/chapters/ch-029.md
|
||||||
|
git add volumes/vol-02/chapters/ch-030.md
|
||||||
|
git add volumes/vol-02/summaries/summary-001-*.md
|
||||||
|
git add volumes/vol-02/CHANGELOG.md
|
||||||
|
|
||||||
|
git commit -m "ch-029/030 타임라인 역전 수정 완료
|
||||||
|
|
||||||
|
**문제:**
|
||||||
|
- ch-029: 1950.5.1-12.31 (이후)
|
||||||
|
- ch-030: 1950.4.1-4.30 (이전)
|
||||||
|
→ 타임라인 역순 문제
|
||||||
|
|
||||||
|
**수정:**
|
||||||
|
- ch-029 ↔ ch-030 내용 교환
|
||||||
|
- ch-029: \"만주 개발 준비\" (4월)
|
||||||
|
- ch-030: \"만주 개발 시작\" (5-12월)
|
||||||
|
|
||||||
|
**재생성:**
|
||||||
|
- summary-001-030~060 (31개)
|
||||||
|
|
||||||
|
**검증:**
|
||||||
|
- 타임라인 순서 ✅
|
||||||
|
- 제목 중복 없음 ✅
|
||||||
|
- 헤더 형식 정상 ✅
|
||||||
|
|
||||||
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
|
||||||
|
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
**2-9. WORK-MODE.txt 삭제**
|
||||||
|
```bash
|
||||||
|
rm volumes/vol-02/WORK-MODE.txt
|
||||||
|
git add volumes/vol-02/WORK-MODE.txt
|
||||||
|
git commit -m "수정 모드 종료: WORK-MODE.txt 삭제"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
**2-10. 완료 보고**
|
||||||
|
```
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
✅ 수정 완료!
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
작업: ch-029/030 타임라인 역전 수정
|
||||||
|
|
||||||
|
수정 파일:
|
||||||
|
- ch-029.md ✅
|
||||||
|
- ch-030.md ✅
|
||||||
|
|
||||||
|
재생성 파일:
|
||||||
|
- summary-001-030~060 (31개) ✅
|
||||||
|
|
||||||
|
검증:
|
||||||
|
- 타임라인 순서: ✅
|
||||||
|
- 제목 중복: 없음 ✅
|
||||||
|
- 헤더 형식: 정상 ✅
|
||||||
|
|
||||||
|
CHANGELOG:
|
||||||
|
- volumes/vol-02/CHANGELOG.md 업데이트 ✅
|
||||||
|
|
||||||
|
Git:
|
||||||
|
- 커밋: 완료 ✅
|
||||||
|
- 푸시: 완료 ✅
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
📌 수정 모드 종료
|
||||||
|
→ 작성 모드로 복귀 가능
|
||||||
|
|
||||||
|
💡 다음 단계:
|
||||||
|
- "점검해" → 전체 검증
|
||||||
|
- "작성 모드" → 작성 계속
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 수정 체크리스트
|
||||||
|
|
||||||
|
### 수정 전 (준비)
|
||||||
|
|
||||||
|
- [ ] 문제 레포트 읽기
|
||||||
|
- [ ] 수정 범위 명확화
|
||||||
|
- [ ] 영향받는 파일 식별
|
||||||
|
- [ ] 수정 계획서 작성
|
||||||
|
- [ ] WORK-MODE.txt 생성
|
||||||
|
- [ ] Git 커밋 (준비 완료)
|
||||||
|
- [ ] 사용자에게 세션 정리 요청
|
||||||
|
|
||||||
|
### 수정 중 (실행)
|
||||||
|
|
||||||
|
- [ ] 챕터 수정
|
||||||
|
- [ ] plot 수정 (필요시)
|
||||||
|
- [ ] characters/timeline 수정 (필요시)
|
||||||
|
- [ ] **summary 재생성 (영향 범위 전체!)** ⭐
|
||||||
|
- [ ] 타임라인 전수 검증
|
||||||
|
- [ ] 제목 중복 검증
|
||||||
|
- [ ] 헤더 형식 검증
|
||||||
|
- [ ] CHANGELOG 업데이트
|
||||||
|
|
||||||
|
### 수정 후 (완료)
|
||||||
|
|
||||||
|
- [ ] Git 커밋 (수정 완료)
|
||||||
|
- [ ] Git 푸시
|
||||||
|
- [ ] WORK-MODE.txt 삭제
|
||||||
|
- [ ] 완료 보고
|
||||||
|
- [ ] (선택) 전체 점검 실행
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚫 수정 모드 금지사항
|
||||||
|
|
||||||
|
❌ summary 재생성 누락 (최악!)
|
||||||
|
❌ 타임라인 검증 생략
|
||||||
|
❌ CHANGELOG 업데이트 누락
|
||||||
|
❌ plot과 다르게 수정 (승인 없이)
|
||||||
|
❌ Git 커밋 누락
|
||||||
|
❌ 작성 모드 절차 따르기 (수정은 다름!)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 참고 파일
|
||||||
|
|
||||||
|
- **챕터 형식:** `settings/chapter-format-standard.md`
|
||||||
|
- **리네임 절차:** `settings/renaming-protocol.md`
|
||||||
|
- **점검 절차:** `settings/verification-mode.md`
|
||||||
|
- **CHANGELOG:** `volumes/vol-XX/CHANGELOG.md`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**버전:** 1.0
|
||||||
|
**최종 수정:** 2026-01-17
|
||||||
|
**작성자:** Alex + Claude Sonnet 4.5
|
||||||
451
settings/renaming-protocol.md
Normal file
451
settings/renaming-protocol.md
Normal file
@@ -0,0 +1,451 @@
|
|||||||
|
# 파일 리네임 안전 절차
|
||||||
|
|
||||||
|
> **작성일:** 2026-01-17
|
||||||
|
> **버전:** 1.0
|
||||||
|
> **용도:** 챕터 파일 리네임 시 데이터 손실 방지
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚨 위험한 방법 (절대 금지!)
|
||||||
|
|
||||||
|
### ❌ 순차 리네임 (덮어쓰기 위험!)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 30-60화를 31-61화로 변경 (1씩 증가)
|
||||||
|
|
||||||
|
mv ch-030.md ch-031.md # OK
|
||||||
|
mv ch-031.md ch-032.md # ❌ 충돌! ch-031.md를 덮어씀!
|
||||||
|
mv ch-032.md ch-033.md # ❌ 기존 ch-032 손실!
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
**문제:**
|
||||||
|
- ch-031.md → ch-032.md로 변경 시
|
||||||
|
- 기존 ch-032.md가 덮어쓰기됨
|
||||||
|
- **원본 ch-031, ch-032 내용 모두 손실!**
|
||||||
|
|
||||||
|
**실제 사례:**
|
||||||
|
```
|
||||||
|
30-60화 리넘버링 시:
|
||||||
|
→ ch-031~045 손실 (덮어쓰기)
|
||||||
|
→ 복구 불가능 (Git 커밋 전이었다면)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ 안전한 방법 (필수!)
|
||||||
|
|
||||||
|
### 방법 1: 2단계 리네임 (권장)
|
||||||
|
|
||||||
|
**원리:**
|
||||||
|
1. 모든 파일을 임시 이름으로 변경 (충돌 없음)
|
||||||
|
2. 임시 이름에서 최종 이름으로 변경 (충돌 없음)
|
||||||
|
|
||||||
|
**Step 1: 임시 이름으로 변경 (뒤에서부터 역순!)**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 뒤에서부터 역순으로 (중요!)
|
||||||
|
mv ch-060.md ch-060.tmp
|
||||||
|
mv ch-059.md ch-059.tmp
|
||||||
|
mv ch-058.md ch-058.tmp
|
||||||
|
...
|
||||||
|
mv ch-031.md ch-031.tmp
|
||||||
|
mv ch-030.md ch-030.tmp
|
||||||
|
```
|
||||||
|
|
||||||
|
**왜 역순인가?**
|
||||||
|
- 앞에서부터 하면 여전히 충돌 가능
|
||||||
|
- 뒤에서부터 하면 충돌 없음
|
||||||
|
|
||||||
|
**Step 2: 최종 이름으로 변경 (앞에서부터 순서대로)**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 앞에서부터 순서대로
|
||||||
|
mv ch-030.tmp ch-031.md
|
||||||
|
mv ch-031.tmp ch-032.md
|
||||||
|
mv ch-032.tmp ch-033.md
|
||||||
|
...
|
||||||
|
mv ch-059.tmp ch-060.md
|
||||||
|
mv ch-060.tmp ch-061.md
|
||||||
|
```
|
||||||
|
|
||||||
|
**결과:**
|
||||||
|
- 모든 파일 안전하게 변경
|
||||||
|
- 데이터 손실 없음
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 방법 2: 자동화 스크립트 (강력 권장!)
|
||||||
|
|
||||||
|
**rename-chapters.sh:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
# 안전한 챕터 파일 리네임 스크립트
|
||||||
|
#
|
||||||
|
# 사용법:
|
||||||
|
# ./rename-chapters.sh START END INCREMENT
|
||||||
|
#
|
||||||
|
# 예시:
|
||||||
|
# ./rename-chapters.sh 30 60 1
|
||||||
|
# → ch-030~060을 ch-031~061로 변경 (1씩 증가)
|
||||||
|
#
|
||||||
|
# ./rename-chapters.sh 35 50 -5
|
||||||
|
# → ch-035~050을 ch-030~045로 변경 (5씩 감소)
|
||||||
|
|
||||||
|
set -e # 에러 시 중단
|
||||||
|
|
||||||
|
# 인자 확인
|
||||||
|
if [ $# -ne 3 ]; then
|
||||||
|
echo "사용법: $0 START END INCREMENT"
|
||||||
|
echo "예시: $0 30 60 1"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
START=$1
|
||||||
|
END=$2
|
||||||
|
INCREMENT=$3
|
||||||
|
|
||||||
|
# 폴더 확인
|
||||||
|
CHAPTERS_DIR="volumes/vol-02/chapters"
|
||||||
|
if [ ! -d "$CHAPTERS_DIR" ]; then
|
||||||
|
echo "❌ 오류: $CHAPTERS_DIR 폴더가 없습니다."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$CHAPTERS_DIR"
|
||||||
|
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo "챕터 리네임 시작"
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo "범위: ch-$START ~ ch-$END"
|
||||||
|
echo "변경: ${INCREMENT:0:1}$INCREMENT"
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 백업 (선택)
|
||||||
|
read -p "Git 커밋되어 있습니까? (y/n): " COMMITTED
|
||||||
|
if [ "$COMMITTED" != "y" ]; then
|
||||||
|
echo "⚠️ 먼저 Git 커밋하세요!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Step 1: 임시 이름으로 변경
|
||||||
|
echo "Step 1: 임시 이름으로 변경 중..."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
if [ $INCREMENT -gt 0 ]; then
|
||||||
|
# 증가: 뒤에서부터 역순
|
||||||
|
for i in $(seq $END -1 $START); do
|
||||||
|
OLD="ch-$(printf '%03d' $i).md"
|
||||||
|
TMP="ch-$(printf '%03d' $i).tmp"
|
||||||
|
|
||||||
|
if [ -f "$OLD" ]; then
|
||||||
|
mv "$OLD" "$TMP"
|
||||||
|
echo " $OLD → $TMP"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
# 감소: 앞에서부터 순서대로
|
||||||
|
for i in $(seq $START $END); do
|
||||||
|
OLD="ch-$(printf '%03d' $i).md"
|
||||||
|
TMP="ch-$(printf '%03d' $i).tmp"
|
||||||
|
|
||||||
|
if [ -f "$OLD" ]; then
|
||||||
|
mv "$OLD" "$TMP"
|
||||||
|
echo " $OLD → $TMP"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Step 2: 최종 이름으로 변경 중..."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Step 2: 최종 이름으로 변경
|
||||||
|
if [ $INCREMENT -gt 0 ]; then
|
||||||
|
# 증가: 앞에서부터 순서대로
|
||||||
|
for i in $(seq $START $END); do
|
||||||
|
TMP="ch-$(printf '%03d' $i).tmp"
|
||||||
|
NEW="ch-$(printf '%03d' $((i + INCREMENT))).md"
|
||||||
|
|
||||||
|
if [ -f "$TMP" ]; then
|
||||||
|
mv "$TMP" "$NEW"
|
||||||
|
echo " $TMP → $NEW"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
# 감소: 뒤에서부터 역순
|
||||||
|
for i in $(seq $END -1 $START); do
|
||||||
|
TMP="ch-$(printf '%03d' $i).tmp"
|
||||||
|
NEW="ch-$(printf '%03d' $((i + INCREMENT))).md"
|
||||||
|
|
||||||
|
if [ -f "$TMP" ]; then
|
||||||
|
mv "$TMP" "$NEW"
|
||||||
|
echo " $TMP → $NEW"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo "✅ 리네임 완료!"
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
|
||||||
|
# 검증
|
||||||
|
echo ""
|
||||||
|
echo "검증 중..."
|
||||||
|
./verify-chapters.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**verify-chapters.sh:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
# 챕터 파일 검증 스크립트
|
||||||
|
|
||||||
|
CHAPTERS_DIR="volumes/vol-02/chapters"
|
||||||
|
cd "$CHAPTERS_DIR"
|
||||||
|
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo "챕터 파일 검증"
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 1. .tmp 파일 확인
|
||||||
|
TMP_COUNT=$(ls *.tmp 2>/dev/null | wc -l)
|
||||||
|
if [ $TMP_COUNT -gt 0 ]; then
|
||||||
|
echo "❌ 임시 파일 발견: $TMP_COUNT개"
|
||||||
|
ls *.tmp
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "✅ 임시 파일 없음"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 2. 파일 개수
|
||||||
|
MD_COUNT=$(ls ch-*.md 2>/dev/null | wc -l)
|
||||||
|
echo "✅ 총 파일: $MD_COUNT개"
|
||||||
|
|
||||||
|
# 3. 번호 연속성
|
||||||
|
echo ""
|
||||||
|
echo "파일 목록:"
|
||||||
|
ls ch-*.md | sort -V
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "번호 연속성 확인..."
|
||||||
|
PREV=-1
|
||||||
|
ERROR=0
|
||||||
|
|
||||||
|
for FILE in $(ls ch-*.md | sort -V); do
|
||||||
|
NUM=$(echo $FILE | grep -oP '\d+')
|
||||||
|
NUM=$((10#$NUM)) # 10진수 변환
|
||||||
|
|
||||||
|
if [ $PREV -ne -1 ]; then
|
||||||
|
if [ $NUM -ne $((PREV + 1)) ]; then
|
||||||
|
echo "❌ 번호 누락: ch-$(printf '%03d' $((PREV + 1))).md"
|
||||||
|
ERROR=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
PREV=$NUM
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $ERROR -eq 0 ]; then
|
||||||
|
echo "✅ 번호 연속성 정상"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 4. 헤더 형식 확인
|
||||||
|
echo ""
|
||||||
|
echo "헤더 형식 확인..."
|
||||||
|
grep "^# " ch-*.md | while read LINE; do
|
||||||
|
FILE=$(echo $LINE | cut -d: -f1)
|
||||||
|
HEADER=$(echo $LINE | cut -d: -f2-)
|
||||||
|
|
||||||
|
# "X권 Y화:" 형식 체크
|
||||||
|
if ! echo "$HEADER" | grep -qP '^\s*\d+권 \d+화:'; then
|
||||||
|
echo "⚠️ $FILE: 헤더 형식 오류"
|
||||||
|
echo " $HEADER"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo "검증 완료"
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 리네임 체크리스트
|
||||||
|
|
||||||
|
### 리네임 전
|
||||||
|
|
||||||
|
- [ ] **Git 커밋 완료** (가장 중요!)
|
||||||
|
- [ ] 리네임 범위 확인 (START, END)
|
||||||
|
- [ ] 증감 확인 (INCREMENT)
|
||||||
|
- [ ] 다른 파일 수정 중 아님 확인
|
||||||
|
|
||||||
|
### 리네임 실행
|
||||||
|
|
||||||
|
- [ ] 스크립트 실행 또는 2단계 수동 리네임
|
||||||
|
- [ ] Step 1 완료 확인 (.tmp 파일들)
|
||||||
|
- [ ] Step 2 완료 확인 (.md 파일들)
|
||||||
|
|
||||||
|
### 리네임 후 검증
|
||||||
|
|
||||||
|
- [ ] `.tmp` 파일 없는지 확인
|
||||||
|
```bash
|
||||||
|
ls volumes/vol-XX/chapters/*.tmp
|
||||||
|
# 결과 없어야 정상
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] 파일 개수 일치 확인
|
||||||
|
```bash
|
||||||
|
# 이전: 60개
|
||||||
|
ls chapters/ch-*.md | wc -l
|
||||||
|
# 이후: 60개 (또는 +1/-1)
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] 번호 연속성 확인
|
||||||
|
```bash
|
||||||
|
ls chapters/ch-*.md | sort -V
|
||||||
|
# 빠진 번호 없는지 확인
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] 헤더 내부 화수 일치 확인
|
||||||
|
```bash
|
||||||
|
# ch-031.md 파일의 헤더가 "31화"인지 확인
|
||||||
|
grep "^# " chapters/ch-031.md
|
||||||
|
# 예상: # 2권 31화: 제목
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] Git diff 확인
|
||||||
|
```bash
|
||||||
|
git diff --name-status
|
||||||
|
# R로 시작 (Rename) 확인
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 내부 화수 업데이트
|
||||||
|
|
||||||
|
**문제:**
|
||||||
|
- 파일명은 ch-031.md
|
||||||
|
- 내부 헤더는 "# 2권 30화: 제목" ← 불일치!
|
||||||
|
|
||||||
|
**해결:**
|
||||||
|
|
||||||
|
### 자동 업데이트 스크립트
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
# update-chapter-numbers.sh
|
||||||
|
# 챕터 파일 내부 화수를 파일명과 일치시킴
|
||||||
|
|
||||||
|
CHAPTERS_DIR="volumes/vol-02/chapters"
|
||||||
|
cd "$CHAPTERS_DIR"
|
||||||
|
|
||||||
|
for FILE in ch-*.md; do
|
||||||
|
# 파일명에서 번호 추출
|
||||||
|
NUM=$(echo $FILE | grep -oP '\d+')
|
||||||
|
NUM=$((10#$NUM)) # 10진수 변환
|
||||||
|
|
||||||
|
# 현재 헤더 확인
|
||||||
|
CURRENT_HEADER=$(head -1 "$FILE")
|
||||||
|
|
||||||
|
# 새 헤더 생성 (제목 유지)
|
||||||
|
TITLE=$(echo "$CURRENT_HEADER" | sed -E 's/^#\s*\d+권\s*\d+화:\s*//')
|
||||||
|
NEW_HEADER="# 2권 ${NUM}화: $TITLE"
|
||||||
|
|
||||||
|
# 헤더 교체
|
||||||
|
sed -i "1s/.*/$NEW_HEADER/" "$FILE"
|
||||||
|
|
||||||
|
echo "$FILE: $CURRENT_HEADER → $NEW_HEADER"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "✅ 내부 화수 업데이트 완료"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 사용 예시
|
||||||
|
|
||||||
|
### 예시 1: 30-60화를 31-61화로 (1씩 증가)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Git 커밋 확인
|
||||||
|
git status
|
||||||
|
|
||||||
|
# 스크립트 실행
|
||||||
|
./rename-chapters.sh 30 60 1
|
||||||
|
|
||||||
|
# 검증
|
||||||
|
./verify-chapters.sh
|
||||||
|
|
||||||
|
# 내부 화수 업데이트
|
||||||
|
./update-chapter-numbers.sh
|
||||||
|
|
||||||
|
# Git 커밋
|
||||||
|
git add .
|
||||||
|
git commit -m "챕터 리네임: 30-60 → 31-61"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 예시 2: 35-50화를 30-45화로 (5씩 감소)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./rename-chapters.sh 35 50 -5
|
||||||
|
./verify-chapters.sh
|
||||||
|
./update-chapter-numbers.sh
|
||||||
|
git add .
|
||||||
|
git commit -m "챕터 리네임: 35-50 → 30-45"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚨 긴급 복구
|
||||||
|
|
||||||
|
### .tmp 파일이 남아있다면?
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# .tmp 파일을 원래 이름으로 복구
|
||||||
|
for FILE in ch-*.tmp; do
|
||||||
|
ORIGINAL="${FILE%.tmp}.md"
|
||||||
|
mv "$FILE" "$ORIGINAL"
|
||||||
|
echo "복구: $FILE → $ORIGINAL"
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
### Git으로 복구
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 리네임 전 상태로 되돌리기
|
||||||
|
git reset --hard HEAD
|
||||||
|
|
||||||
|
# 또는 특정 커밋으로
|
||||||
|
git reset --hard <commit-hash>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 주의사항
|
||||||
|
|
||||||
|
1. **반드시 Git 커밋 후 리네임**
|
||||||
|
- 문제 발생 시 복구 가능
|
||||||
|
|
||||||
|
2. **스크립트 사용 권장**
|
||||||
|
- 수동 리네임은 실수 위험 높음
|
||||||
|
|
||||||
|
3. **검증 필수**
|
||||||
|
- .tmp 파일 확인
|
||||||
|
- 번호 연속성 확인
|
||||||
|
- 헤더 일치 확인
|
||||||
|
|
||||||
|
4. **내부 화수도 업데이트**
|
||||||
|
- 파일명과 헤더 일치시키기
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**버전:** 1.0
|
||||||
|
**최종 수정:** 2026-01-17
|
||||||
|
**작성자:** Alex + Claude Sonnet 4.5
|
||||||
486
settings/verification-mode.md
Normal file
486
settings/verification-mode.md
Normal file
@@ -0,0 +1,486 @@
|
|||||||
|
# 점검 모드 프로토콜
|
||||||
|
|
||||||
|
> **작성일:** 2026-01-17
|
||||||
|
> **버전:** 1.0
|
||||||
|
> **용도:** 전체 검증 및 문제 확인 (MODE: VERIFICATION)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 점검 모드 개요
|
||||||
|
|
||||||
|
**점검 모드는:**
|
||||||
|
- 전체 파일 전수 검사
|
||||||
|
- 플롯/타임라인/캐릭터 일치성 검증
|
||||||
|
- 흐름/일관성 검증
|
||||||
|
- 상세 보고서 작성
|
||||||
|
|
||||||
|
**언제 사용:**
|
||||||
|
- "점검해"
|
||||||
|
- "전체 검증해"
|
||||||
|
- "문제 찾아줘"
|
||||||
|
- 대규모 수정 후
|
||||||
|
- 권 완료 시
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 점검 프로세스
|
||||||
|
|
||||||
|
### Phase 1: 점검 준비 (사용자: "점검해")
|
||||||
|
|
||||||
|
**사용자 명령:**
|
||||||
|
```
|
||||||
|
"점검해"
|
||||||
|
"2권 점검해"
|
||||||
|
"전체 검증해"
|
||||||
|
"타임라인 검증해" (부분 점검)
|
||||||
|
```
|
||||||
|
|
||||||
|
**AI 실행 절차:**
|
||||||
|
|
||||||
|
**1-1. 점검 범위 파악**
|
||||||
|
```
|
||||||
|
전체 점검: 전체 권
|
||||||
|
부분 점검: 특정 항목만
|
||||||
|
```
|
||||||
|
|
||||||
|
**1-2. WORK-MODE.txt 생성**
|
||||||
|
```
|
||||||
|
volumes/vol-XX/WORK-MODE.txt:
|
||||||
|
|
||||||
|
MODE: VERIFICATION
|
||||||
|
TASK: 2권 전체 점검
|
||||||
|
CREATED: 2026-01-17 16:30
|
||||||
|
```
|
||||||
|
|
||||||
|
**1-3. 점검 시작 메시지**
|
||||||
|
```
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
📊 2권 전체 점검 시작
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
점검 범위:
|
||||||
|
- 파일 구조
|
||||||
|
- 헤더 형식
|
||||||
|
- 타임라인 연속성
|
||||||
|
- 플롯 일치도
|
||||||
|
- 캐릭터 일관성
|
||||||
|
- 내용 흐름
|
||||||
|
|
||||||
|
예상 소요 시간: 약 10-15분
|
||||||
|
|
||||||
|
진행 중...
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 2: 점검 실행
|
||||||
|
|
||||||
|
#### 2-1. 파일 구조 검증
|
||||||
|
|
||||||
|
**확인 사항:**
|
||||||
|
```
|
||||||
|
1. 파일 존재 여부
|
||||||
|
- ch-001~060 (또는 058)
|
||||||
|
- summary-001-005, 010, 015, ...
|
||||||
|
- plot-001-005.md ~ plot-056-060.md
|
||||||
|
- characters.md, timeline.md
|
||||||
|
- CHANGELOG.md
|
||||||
|
|
||||||
|
2. 파일명 규칙
|
||||||
|
- ch-XXX.md (3자리)
|
||||||
|
- summary-001-XXX.md
|
||||||
|
- plot-XXX-YYY.md
|
||||||
|
|
||||||
|
3. 번호 연속성
|
||||||
|
- 빠진 번호 없는지
|
||||||
|
- 중복 없는지
|
||||||
|
```
|
||||||
|
|
||||||
|
**보고 형식:**
|
||||||
|
```markdown
|
||||||
|
### ✅ 파일 구조 검증 결과
|
||||||
|
|
||||||
|
**정규 챕터:** 60개 (ch-001~060) ✅
|
||||||
|
**분할 챕터:** 6개 (ch-022A~F) ✅
|
||||||
|
**총 챕터:** 66개 ✅
|
||||||
|
|
||||||
|
**서머리:** 12개 ✅
|
||||||
|
**플롯:** 12개 ✅
|
||||||
|
**기타:** characters.md, timeline.md, CHANGELOG.md ✅
|
||||||
|
|
||||||
|
**번호 연속성:** 정상 ✅
|
||||||
|
**파일명 규칙:** 정상 ✅
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2-2. 헤더 형식 검증
|
||||||
|
|
||||||
|
**확인 사항:**
|
||||||
|
```
|
||||||
|
각 챕터 파일:
|
||||||
|
1. 제목 라인: "# X권 Y화: 제목"
|
||||||
|
2. 타임라인: "> **타임라인:** YYYY.M.D-M.D"
|
||||||
|
3. 장소: "> **장소:**" (있어야 함)
|
||||||
|
4. 등장인물: (선택)
|
||||||
|
```
|
||||||
|
|
||||||
|
**검증 코드:**
|
||||||
|
```bash
|
||||||
|
for FILE in chapters/ch-*.md; do
|
||||||
|
# 제목 라인 확인
|
||||||
|
HEADER=$(head -1 "$FILE")
|
||||||
|
if ! echo "$HEADER" | grep -qP '^\s*#\s*\d+권\s*\d+화:'; then
|
||||||
|
echo "❌ $FILE: 헤더 형식 오류"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 타임라인 확인
|
||||||
|
if ! grep -q "^> \*\*타임라인:\*\*" "$FILE"; then
|
||||||
|
echo "❌ $FILE: 타임라인 누락"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
**보고 형식:**
|
||||||
|
```markdown
|
||||||
|
### ✅ 헤더 형식 검증 결과
|
||||||
|
|
||||||
|
**올바른 형식:** 52개 (78.8%) ⚠️
|
||||||
|
**오류:** 14개 (21.2%)
|
||||||
|
|
||||||
|
**오류 목록:**
|
||||||
|
- ch-006~015: "# ch-XXX:" 형식 (권 번호 누락)
|
||||||
|
|
||||||
|
**권장:** 일괄 수정 필요
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2-3. 타임라인 연속성 검증 ⭐
|
||||||
|
|
||||||
|
**확인 사항:**
|
||||||
|
```
|
||||||
|
1. 모든 챕터 타임라인 추출
|
||||||
|
2. 시간 순서 확인
|
||||||
|
3. 시간 역행 체크
|
||||||
|
4. 날짜 겹침 체크
|
||||||
|
```
|
||||||
|
|
||||||
|
**검증 절차:**
|
||||||
|
```
|
||||||
|
ch-001: 1947.1.1-1.31 (종료: 1.31)
|
||||||
|
ch-002: 1947.2.1-2.28 (시작: 2.1) ← 1.31 이후 ✅
|
||||||
|
ch-003: 1947.3.1-3.31 (시작: 3.1) ← 2.28 이후 ✅
|
||||||
|
...
|
||||||
|
ch-029: 1950.5.1-12.31 (시작: 5.1) ← 이전 화 이후? 확인
|
||||||
|
ch-030: 1950.4.1-4.30 (시작: 4.1) ← 5.1 이전! ❌ 역순!
|
||||||
|
```
|
||||||
|
|
||||||
|
**보고 형식:**
|
||||||
|
```markdown
|
||||||
|
### ⚠️ 타임라인 연속성 검증 결과
|
||||||
|
|
||||||
|
**전체 챕터:** 60개
|
||||||
|
**정상:** 58개 (96.7%)
|
||||||
|
**오류:** 2개 (3.3%)
|
||||||
|
|
||||||
|
**오류 목록:**
|
||||||
|
|
||||||
|
❌ ch-029 vs ch-030 시간 역행
|
||||||
|
- ch-029: 1950.5.1-12.31 (5월~12월)
|
||||||
|
- ch-030: 1950.4.1-4.30 (4월)
|
||||||
|
→ ch-030이 ch-029보다 과거!
|
||||||
|
|
||||||
|
**권장:** 즉시 수정 필요
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2-4. 플롯 일치도 검증
|
||||||
|
|
||||||
|
**확인 사항:**
|
||||||
|
```
|
||||||
|
1. plot-master.md 읽기
|
||||||
|
2. 각 챕터의 제목, 타임라인, 주요 내용 확인
|
||||||
|
3. plot과 비교
|
||||||
|
```
|
||||||
|
|
||||||
|
**보고 형식:**
|
||||||
|
```markdown
|
||||||
|
### ✅ 플롯 일치도 검증 결과
|
||||||
|
|
||||||
|
**일치:** 55화 (91.7%) ✅
|
||||||
|
**불일치:** 5화 (8.3%) ⚠️
|
||||||
|
|
||||||
|
**불일치 목록:**
|
||||||
|
|
||||||
|
⚠️ ch-023~025: 제목 차이
|
||||||
|
- 플롯: "제목A"
|
||||||
|
- 실제: "제목B"
|
||||||
|
→ 내용은 일치, 제목만 다름
|
||||||
|
|
||||||
|
⚠️ ch-029: 플롯 불일치
|
||||||
|
- 플롯: "만주 특별구 출범" (3.11-4.1)
|
||||||
|
- 실제: "만주 개발 시작" (5.1-12.31)
|
||||||
|
→ 완전히 다른 내용!
|
||||||
|
|
||||||
|
**권장:** ch-029 재작성 필요
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2-5. 캐릭터 일관성 검증
|
||||||
|
|
||||||
|
**확인 사항:**
|
||||||
|
```
|
||||||
|
1. characters.md 읽기
|
||||||
|
2. 각 챕터에서 캐릭터 등장 확인
|
||||||
|
3. 성격, 말투, 나이 일관성 확인
|
||||||
|
```
|
||||||
|
|
||||||
|
**보고 형식:**
|
||||||
|
```markdown
|
||||||
|
### ✅ 캐릭터 일관성 검증 결과
|
||||||
|
|
||||||
|
**주요 캐릭터:** 23명
|
||||||
|
**일관성:** 100% ✅
|
||||||
|
|
||||||
|
**특이사항:**
|
||||||
|
|
||||||
|
✅ 한기철 vs 한지근 구분 명확
|
||||||
|
- ch-005: 한기철 (19세 암살자, 16곳)
|
||||||
|
- ch-032: 한지근 (38세 요원, 순직)
|
||||||
|
→ 혼동 없음
|
||||||
|
|
||||||
|
✅ 강민준 말투 일관성 유지
|
||||||
|
✅ 서윤희 성격 변화 자연스러움
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2-6. 내용 흐름 검증 (선택)
|
||||||
|
|
||||||
|
**확인 사항:**
|
||||||
|
```
|
||||||
|
1. 전체 챕터 읽기 (요약)
|
||||||
|
2. 스토리 흐름 자연스러운지
|
||||||
|
3. 갑작스러운 전개 없는지
|
||||||
|
4. 복선 회수 확인
|
||||||
|
```
|
||||||
|
|
||||||
|
**보고 형식:**
|
||||||
|
```markdown
|
||||||
|
### ✅ 내용 흐름 검증 결과
|
||||||
|
|
||||||
|
**전체 흐름:** 자연스러움 ✅
|
||||||
|
**복선 설치:** 12개 ✅
|
||||||
|
**복선 회수:** 9개 ✅
|
||||||
|
**미회수 복선:** 3개 (2권에서 회수 예정) ✅
|
||||||
|
|
||||||
|
**특이사항:**
|
||||||
|
|
||||||
|
✅ 1-33화: 흐름 자연스러움
|
||||||
|
⚠️ 34화 이후: summary 누락으로 추적 어려움
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 3: 보고서 작성
|
||||||
|
|
||||||
|
**보고서 파일 생성:**
|
||||||
|
```
|
||||||
|
2권_점검_보고서_20260117.md
|
||||||
|
|
||||||
|
내용:
|
||||||
|
- 검증 개요
|
||||||
|
- 파일 구조 결과
|
||||||
|
- 헤더 형식 결과
|
||||||
|
- 타임라인 결과
|
||||||
|
- 플롯 일치도 결과
|
||||||
|
- 캐릭터 일관성 결과
|
||||||
|
- 내용 흐름 결과
|
||||||
|
- 발견된 문제 목록 (심각도별)
|
||||||
|
- 수정 권장사항
|
||||||
|
```
|
||||||
|
|
||||||
|
**예시:**
|
||||||
|
```markdown
|
||||||
|
# 2권 점검 보고서
|
||||||
|
|
||||||
|
**점검일:** 2026-01-17
|
||||||
|
**점검 범위:** 2권 전체 (66개 파일)
|
||||||
|
**점검자:** Claude Sonnet 4.5
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 점검 개요
|
||||||
|
|
||||||
|
**검증 항목:** 6개
|
||||||
|
**총 파일:** 66개
|
||||||
|
**점검 시간:** 15분
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ 검증 결과 요약
|
||||||
|
|
||||||
|
| 항목 | 상태 | 점수 |
|
||||||
|
|------|------|------|
|
||||||
|
| 파일 구조 | ✅ 정상 | 100% |
|
||||||
|
| 헤더 형식 | ⚠️ 일부 오류 | 79% |
|
||||||
|
| 타임라인 | ❌ 역순 발견 | 97% |
|
||||||
|
| 플롯 일치도 | ⚠️ 일부 불일치 | 92% |
|
||||||
|
| 캐릭터 일관성 | ✅ 정상 | 100% |
|
||||||
|
| 내용 흐름 | ✅ 정상 | 95% |
|
||||||
|
|
||||||
|
**전체 완성도:** 89/100점
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔴 심각한 문제 (즉시 수정 필요)
|
||||||
|
|
||||||
|
### 1. ch-029/030 타임라인 역순
|
||||||
|
...
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🟡 중요한 문제 (수정 권장)
|
||||||
|
|
||||||
|
### 2. 헤더 형식 불일치
|
||||||
|
...
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🟢 경미한 문제 (선택적 수정)
|
||||||
|
|
||||||
|
### 3. 일부 챕터 짧음
|
||||||
|
...
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 수정 권장사항
|
||||||
|
|
||||||
|
**우선순위 1:** ch-029/030 문제 (30분)
|
||||||
|
**우선순위 2:** 헤더 형식 통일 (5분)
|
||||||
|
**우선순위 3:** summary 재생성 (1시간)
|
||||||
|
|
||||||
|
**예상 총 소요 시간:** 2시간
|
||||||
|
**수정 후 예상 점수:** 98/100점
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**[보고서 끝]**
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 4: 완료 처리
|
||||||
|
|
||||||
|
**4-1. WORK-MODE.txt 삭제**
|
||||||
|
```bash
|
||||||
|
rm volumes/vol-02/WORK-MODE.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
**4-2. 보고서 저장**
|
||||||
|
```bash
|
||||||
|
git add 2권_점검_보고서_20260117.md
|
||||||
|
git commit -m "2권 전체 점검 완료
|
||||||
|
|
||||||
|
- 66개 파일 검증
|
||||||
|
- 18개 문제 발견
|
||||||
|
- 상세 보고서 작성
|
||||||
|
|
||||||
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
**4-3. 완료 보고**
|
||||||
|
```
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
✅ 2권 점검 완료!
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
점검 범위: 66개 파일
|
||||||
|
발견된 문제: 18개
|
||||||
|
- 심각: 3개 (즉시 수정)
|
||||||
|
- 중요: 15개 (권장)
|
||||||
|
|
||||||
|
전체 완성도: 89/100점
|
||||||
|
|
||||||
|
보고서:
|
||||||
|
→ 2권_점검_보고서_20260117.md
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
📌 다음 단계:
|
||||||
|
1. 보고서 검토
|
||||||
|
2. 문제 수정 결정
|
||||||
|
3. "수정 준비해: [문제명]" 명령
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 점검 체크리스트
|
||||||
|
|
||||||
|
### 점검 실행
|
||||||
|
|
||||||
|
- [ ] 파일 구조 검증
|
||||||
|
- [ ] 파일 존재 여부
|
||||||
|
- [ ] 파일명 규칙
|
||||||
|
- [ ] 번호 연속성
|
||||||
|
|
||||||
|
- [ ] 헤더 형식 검증
|
||||||
|
- [ ] 제목 라인 형식
|
||||||
|
- [ ] 타임라인 존재
|
||||||
|
- [ ] 장소 존재
|
||||||
|
|
||||||
|
- [ ] 타임라인 연속성 검증
|
||||||
|
- [ ] 시간 순서
|
||||||
|
- [ ] 시간 역행 체크
|
||||||
|
- [ ] 날짜 겹침 체크
|
||||||
|
|
||||||
|
- [ ] 플롯 일치도 검증
|
||||||
|
- [ ] 제목 일치
|
||||||
|
- [ ] 타임라인 일치
|
||||||
|
- [ ] 주요 내용 일치
|
||||||
|
|
||||||
|
- [ ] 캐릭터 일관성 검증
|
||||||
|
- [ ] 성격 일관성
|
||||||
|
- [ ] 말투 일관성
|
||||||
|
- [ ] 나이 계산
|
||||||
|
|
||||||
|
- [ ] 내용 흐름 검증
|
||||||
|
- [ ] 스토리 흐름
|
||||||
|
- [ ] 복선 설치/회수
|
||||||
|
- [ ] 논리적 연결
|
||||||
|
|
||||||
|
### 보고서 작성
|
||||||
|
|
||||||
|
- [ ] 검증 결과 요약
|
||||||
|
- [ ] 문제 목록 (심각도별)
|
||||||
|
- [ ] 수정 권장사항
|
||||||
|
- [ ] 예상 소요 시간
|
||||||
|
- [ ] 수정 후 예상 점수
|
||||||
|
|
||||||
|
### 완료
|
||||||
|
|
||||||
|
- [ ] 보고서 저장
|
||||||
|
- [ ] Git 커밋
|
||||||
|
- [ ] WORK-MODE.txt 삭제
|
||||||
|
- [ ] 사용자에게 보고
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚫 점검 모드 금지사항
|
||||||
|
|
||||||
|
❌ 점검 중 수정하지 말것 (점검만!)
|
||||||
|
❌ 추측으로 보고하지 말것 (실제 확인!)
|
||||||
|
❌ 사소한 문제 숨기지 말것 (모두 보고!)
|
||||||
|
❌ 보고서 누락하지 말것 (필수!)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 참고 파일
|
||||||
|
|
||||||
|
- **챕터 형식:** `settings/chapter-format-standard.md`
|
||||||
|
- **수정 절차:** `settings/modification-mode.md`
|
||||||
|
- **플롯:** `volumes/vol-XX/plot-master.md`
|
||||||
|
- **타임라인:** `volumes/vol-XX/timeline.md`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**버전:** 1.0
|
||||||
|
**최종 수정:** 2026-01-17
|
||||||
|
**작성자:** Alex + Claude Sonnet 4.5
|
||||||
360
settings/writing-mode.md
Normal file
360
settings/writing-mode.md
Normal file
@@ -0,0 +1,360 @@
|
|||||||
|
# 작성 모드 프로토콜
|
||||||
|
|
||||||
|
> **작성일:** 2026-01-17
|
||||||
|
> **버전:** 1.0
|
||||||
|
> **용도:** 신규 챕터 작성 시 절차 (MODE: WRITING)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 작성 모드 개요
|
||||||
|
|
||||||
|
**작성 모드는:**
|
||||||
|
- 신규 챕터를 5화 단위로 작성
|
||||||
|
- plot-XXX-YYY.md 기반으로 작성
|
||||||
|
- summary를 누적으로 업데이트
|
||||||
|
- Git 자동 커밋 및 푸시
|
||||||
|
|
||||||
|
**언제 사용:**
|
||||||
|
- "1~5화 작성해"
|
||||||
|
- "6~10화 작성해"
|
||||||
|
- "go" (todo.md 기반 자동 진행)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 작성 프로세스
|
||||||
|
|
||||||
|
### Phase 1: 세션 초기화 (자동)
|
||||||
|
|
||||||
|
**1. 진행 상황 파악**
|
||||||
|
```bash
|
||||||
|
# 최신 권 확인
|
||||||
|
LATEST_VOL=$(ls -d volumes/vol-* | sort -V | tail -1)
|
||||||
|
|
||||||
|
# 마지막 작성 챕터 확인
|
||||||
|
LAST_CH=$(ls $LATEST_VOL/chapters/ch-*.md | sort -V | tail -1)
|
||||||
|
|
||||||
|
# 다음 5화 자동 계산
|
||||||
|
# 예: ch-005 → 다음 006-010
|
||||||
|
# 예: ch-010 → 다음 011-015
|
||||||
|
```
|
||||||
|
|
||||||
|
**2. 필수 파일 읽기**
|
||||||
|
```
|
||||||
|
1. volumes/vol-XX/characters.md
|
||||||
|
2. volumes/vol-XX/timeline.md
|
||||||
|
3. settings/writing-guide.md
|
||||||
|
4. plots/plot-XXX-YYY.md (이번 5화)
|
||||||
|
5. summaries/summary-이전.md (있으면)
|
||||||
|
6. summaries/summary-vol-이전-final.md (다른 권이면)
|
||||||
|
```
|
||||||
|
|
||||||
|
**3. 준비 완료 메시지**
|
||||||
|
```
|
||||||
|
✅ 준비 완료!
|
||||||
|
|
||||||
|
현재 권: 2권
|
||||||
|
다음 작성: ch-006~010
|
||||||
|
플롯: plot-006-010.md
|
||||||
|
이전 서머리: summary-001-005.md
|
||||||
|
|
||||||
|
파일 읽기 완료:
|
||||||
|
- characters.md ✅
|
||||||
|
- timeline.md ✅
|
||||||
|
- writing-guide.md ✅
|
||||||
|
- plot-006-010.md ✅
|
||||||
|
- summary-001-005.md ✅
|
||||||
|
|
||||||
|
자동 시작할까요?
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 2: TodoWrite 초기화
|
||||||
|
|
||||||
|
**5화 작성 Todo 생성:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"todos": [
|
||||||
|
{"content": "ch-006 작성 ([제목])", "status": "pending", "activeForm": "ch-006 작성 중"},
|
||||||
|
{"content": "ch-007 작성 ([제목])", "status": "pending", "activeForm": "ch-007 작성 중"},
|
||||||
|
{"content": "ch-008 작성 ([제목])", "status": "pending", "activeForm": "ch-008 작성 중"},
|
||||||
|
{"content": "ch-009 작성 ([제목])", "status": "pending", "activeForm": "ch-009 작성 중"},
|
||||||
|
{"content": "ch-010 작성 ([제목])", "status": "pending", "activeForm": "ch-010 작성 중"},
|
||||||
|
{"content": "summary-001-010.md 최종 정리", "status": "pending", "activeForm": "서머리 정리 중"},
|
||||||
|
{"content": "Git 커밋 및 푸시", "status": "pending", "activeForm": "Git 처리 중"}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 3: 각 화 작성
|
||||||
|
|
||||||
|
**ch-006 작성 예시:**
|
||||||
|
|
||||||
|
**1. Todo 업데이트**
|
||||||
|
```json
|
||||||
|
{"content": "ch-006 작성", "status": "in_progress"}
|
||||||
|
```
|
||||||
|
|
||||||
|
**2. plot-006-010.md에서 6화 확인**
|
||||||
|
```markdown
|
||||||
|
## 6화: 소련 설득 진행
|
||||||
|
**타임라인:** 1947.2.1-2.28
|
||||||
|
**장소:** 모스크바
|
||||||
|
**등장인물:** 강민준, 스탈린
|
||||||
|
|
||||||
|
**주요 장면:**
|
||||||
|
1. 모스크바 도착 (1,500자)
|
||||||
|
2. 스탈린 면담 (2,500자)
|
||||||
|
3. 만주 협상 시작 (2,000자)
|
||||||
|
4. 귀국 준비 (1,500자)
|
||||||
|
```
|
||||||
|
|
||||||
|
**3. 메모리에서 참조 (파일 재읽기 X!)**
|
||||||
|
- characters.md: 강민준 성격, 말투
|
||||||
|
- timeline.md: 1947.2.1 날짜
|
||||||
|
- writing-guide.md: Show Don't Tell
|
||||||
|
- summary-이전: 이전 내용
|
||||||
|
|
||||||
|
**4. 작성**
|
||||||
|
```
|
||||||
|
장면별로 작성:
|
||||||
|
- 장면 1: 모스크바 도착
|
||||||
|
- 장면 2: 스탈린 면담
|
||||||
|
- 장면 3: 만주 협상 시작
|
||||||
|
- 장면 4: 귀국 준비
|
||||||
|
```
|
||||||
|
|
||||||
|
**5. 저장**
|
||||||
|
```
|
||||||
|
volumes/vol-02/chapters/ch-006.md 저장
|
||||||
|
```
|
||||||
|
|
||||||
|
**6. 서머리 업데이트 (즉시!)**
|
||||||
|
```
|
||||||
|
summaries/summary-001-010.md 생성/업데이트
|
||||||
|
|
||||||
|
내용:
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
# 1-10화 누적 서머리
|
||||||
|
|
||||||
|
> 최종 업데이트: 2026-01-17 15:30
|
||||||
|
> 현재: ch-006 (6화)
|
||||||
|
|
||||||
|
## 📌 전체 줄거리
|
||||||
|
(1-5화 내용 유지)
|
||||||
|
1947년 2월, 강민준이 모스크바로 가서 스탈린과 만주 협상을 시작했다...
|
||||||
|
|
||||||
|
## 📖 챕터별 핵심
|
||||||
|
### ch-001~005: (기존 내용)
|
||||||
|
...
|
||||||
|
|
||||||
|
### ch-006: 소련 설득 진행
|
||||||
|
**날짜:** 1947.2.1-2.28
|
||||||
|
**핵심:** 스탈린 면담, 만주 협상 시작
|
||||||
|
|
||||||
|
## 🎭 캐릭터 상태
|
||||||
|
### 강민준:
|
||||||
|
- ch-001~005: (기존)
|
||||||
|
- ch-006: 모스크바, 스탈린 설득 중
|
||||||
|
|
||||||
|
## 📊 통계
|
||||||
|
- 총 챕터: 6화
|
||||||
|
- 총 분량: 48,000자
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
```
|
||||||
|
|
||||||
|
**7. Todo 업데이트**
|
||||||
|
```json
|
||||||
|
{"content": "ch-006 작성", "status": "completed"}
|
||||||
|
```
|
||||||
|
|
||||||
|
**8. 간단한 완료 보고**
|
||||||
|
```
|
||||||
|
✅ ch-006 완료 (8,000자)
|
||||||
|
다음: ch-007
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 4: ch-007~010 반복
|
||||||
|
|
||||||
|
동일한 프로세스:
|
||||||
|
1. Todo: in_progress
|
||||||
|
2. plot 확인
|
||||||
|
3. 작성
|
||||||
|
4. 저장
|
||||||
|
5. summary 업데이트 (누적!)
|
||||||
|
6. Todo: completed
|
||||||
|
7. 완료 보고
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 5: 5화 완료 처리
|
||||||
|
|
||||||
|
**생성된 파일 확인:**
|
||||||
|
```
|
||||||
|
✅ chapters/ch-006.md
|
||||||
|
✅ chapters/ch-007.md
|
||||||
|
✅ chapters/ch-008.md
|
||||||
|
✅ chapters/ch-009.md
|
||||||
|
✅ chapters/ch-010.md
|
||||||
|
✅ summaries/summary-001-010.md
|
||||||
|
```
|
||||||
|
|
||||||
|
**Todo: summary 정리**
|
||||||
|
```json
|
||||||
|
{"content": "summary-001-010.md 최종 정리", "status": "in_progress"}
|
||||||
|
```
|
||||||
|
|
||||||
|
**최종 서머리 확인:**
|
||||||
|
- 전체 줄거리 완성도
|
||||||
|
- 챕터별 핵심 10개
|
||||||
|
- 캐릭터 상태 업데이트
|
||||||
|
- 복선 추적
|
||||||
|
- 통계 정확성
|
||||||
|
|
||||||
|
```json
|
||||||
|
{"content": "summary-001-010.md 최종 정리", "status": "completed"}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 6: Git 커밋 & 푸시
|
||||||
|
|
||||||
|
**Todo 업데이트:**
|
||||||
|
```json
|
||||||
|
{"content": "Git 커밋 및 푸시", "status": "in_progress"}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Git 명령:**
|
||||||
|
```bash
|
||||||
|
cd "L:\내 드라이브\Writing\1945-novel"
|
||||||
|
|
||||||
|
git add volumes/vol-02/chapters/ch-006.md
|
||||||
|
git add volumes/vol-02/chapters/ch-007.md
|
||||||
|
git add volumes/vol-02/chapters/ch-008.md
|
||||||
|
git add volumes/vol-02/chapters/ch-009.md
|
||||||
|
git add volumes/vol-02/chapters/ch-010.md
|
||||||
|
git add volumes/vol-02/summaries/summary-001-010.md
|
||||||
|
|
||||||
|
git commit -m "2권 6-10화 작성 완료
|
||||||
|
|
||||||
|
- ch-006: 소련 설득 진행 (8,000자)
|
||||||
|
- ch-007: 스탈린의 결정 (8,000자)
|
||||||
|
- ch-008: 결혼 준비 (8,000자)
|
||||||
|
- ch-009: 결혼식 (8,000자)
|
||||||
|
- ch-010: 신혼 첫날밤 (8,000자)
|
||||||
|
- summary-001-010.md 업데이트
|
||||||
|
|
||||||
|
총 40,000자
|
||||||
|
|
||||||
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
|
||||||
|
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
**Todo 완료:**
|
||||||
|
```json
|
||||||
|
{"content": "Git 커밋 및 푸시", "status": "completed"}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 7: 완료 보고
|
||||||
|
|
||||||
|
```
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
✅ 2권 6-10화 작성 완료!
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
생성 파일:
|
||||||
|
- chapters/ch-006.md (8,000자) ✅
|
||||||
|
- chapters/ch-007.md (8,000자) ✅
|
||||||
|
- chapters/ch-008.md (8,000자) ✅
|
||||||
|
- chapters/ch-009.md (8,000자) ✅
|
||||||
|
- chapters/ch-010.md (8,000자) ✅
|
||||||
|
|
||||||
|
총 분량: 40,000자
|
||||||
|
|
||||||
|
서머리:
|
||||||
|
- summaries/summary-001-010.md ✅
|
||||||
|
|
||||||
|
Git:
|
||||||
|
- 커밋: 완료 ✅
|
||||||
|
- 푸시: 완료 ✅
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
|
📌 다음 작업:
|
||||||
|
- 11~15화 작성
|
||||||
|
|
||||||
|
💡 명령어:
|
||||||
|
- "11~15화 작성해" 또는 "go"
|
||||||
|
|
||||||
|
⚠️ 권장:
|
||||||
|
- 지금 강제 컴팩팅 실행
|
||||||
|
- 다음 세션에서 자동으로 11~15화 준비됨
|
||||||
|
|
||||||
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ 작성 체크리스트
|
||||||
|
|
||||||
|
### 각 화 작성 시
|
||||||
|
|
||||||
|
- [ ] plot-XXX-YYY.md 해당 화 확인
|
||||||
|
- [ ] 이전 화 종료 날짜 확인
|
||||||
|
- [ ] 타임라인 연속성 확인
|
||||||
|
- [ ] 제목 중복 없는지 확인
|
||||||
|
- [ ] 헤더 형식 올바른지 확인
|
||||||
|
```
|
||||||
|
# [권수]권 [화수]화: [제목]
|
||||||
|
> **타임라인:** YYYY.M.D-M.D
|
||||||
|
```
|
||||||
|
- [ ] 분량 8,000자 목표
|
||||||
|
- [ ] Show, Don't Tell 준수
|
||||||
|
- [ ] 5감 묘사 최소 2가지
|
||||||
|
- [ ] 캐릭터 말투 일관성
|
||||||
|
- [ ] 저장 후 즉시 summary 업데이트
|
||||||
|
|
||||||
|
### 5화 완료 시
|
||||||
|
|
||||||
|
- [ ] 5개 챕터 모두 생성 확인
|
||||||
|
- [ ] summary 누적 업데이트 확인
|
||||||
|
- [ ] 캐릭터/타임라인 변경 시 master 동기화
|
||||||
|
- [ ] Git 커밋 메시지 작성
|
||||||
|
- [ ] Git 푸시 완료
|
||||||
|
- [ ] 다음 5화 안내
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚫 작성 모드 금지사항
|
||||||
|
|
||||||
|
❌ 설정 파일 읽지 않고 작성
|
||||||
|
❌ 서머리 업데이트 생략
|
||||||
|
❌ TodoWrite 생략
|
||||||
|
❌ 날짜/나이 오류
|
||||||
|
❌ 캐릭터 OOC (Out Of Character)
|
||||||
|
❌ 플롯과 다르게 작성 (사용자 승인 없이)
|
||||||
|
❌ 복선 누락
|
||||||
|
❌ 시간 점프 (설명 없이)
|
||||||
|
❌ Git 커밋 누락
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📌 참고 파일
|
||||||
|
|
||||||
|
- **챕터 형식:** `settings/chapter-format-standard.md`
|
||||||
|
- **작성 규칙:** `settings/writing-guide.md`
|
||||||
|
- **플롯:** `volumes/vol-XX/plots/plot-XXX-YYY.md`
|
||||||
|
- **서머리:** `volumes/vol-XX/summaries/summary-XXX-YYY.md`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**버전:** 1.0
|
||||||
|
**최종 수정:** 2026-01-17
|
||||||
|
**작성자:** Alex + Claude Sonnet 4.5
|
||||||
Reference in New Issue
Block a user