검증과 게이트
Tier 4 Quality에는 두 검증이 박혀 있습니다. 챕터별 AI-smell 게이트와 연속성 검증입니다. 둘 다 통과해야 챕터가 finished로 마킹됩니다. 여기서는 각 검증이 무엇을 보는지와, 그 아래의 보안 기준선을 봅니다.
챕터별 AI-smell 게이트
섹션 제목: “챕터별 AI-smell 게이트”ai-pattern-check가 모든 챕터에 적용됩니다. 챕터별로 0100점을 매기고, 낮을수록 좋습니다. 합격은 029점, 경고는 30~60점, 불합격은 61점 이상입니다. 불합격이면 챕터를 차단하고 writing-agent에 구체 리라이트를 돌려보냅니다. blog-studio에서 검증된 게이트를 책 컨텍스트로 적응한 자리라, 긴 문단과 장면 연속성을 같이 봅니다.
14 카테고리가 잡는 자리입니다.
| 카테고리 | 잡는 것 |
|---|---|
| 1 템플릿 표현 | ”정리하면”, “핵심은”, “독자 여러분” |
| 2 나열 패턴 | ”첫째/둘째/셋째” 정형 |
| 3 AI 주어 과다 | ”AI에게 물었다” 반복 |
| 4 영문 패턴 | ”First, Second”, “In summary” |
| 5 결말 예고 | ”다음 챕터에서 계속” 같은 메타-텍스트 |
| 6 구조 균질성 | 섹션과 단락 길이가 전부 비슷함 |
| 7 결정성 연결어 | ”그마저도”, “더 나아가”, “즉” 과다 |
| 8 AI 결론형 정형구 | ”~한 셈이다”, “~에 있다” |
| 9 추상 형용사 남발 | ”다양한”, “강력한”, “유연한” |
| 10 영어 직역체 | ”이를 통해”, “해당”, em-dash 연결 |
| 11 명사 종결 과잉 | ”~ 가능”, ”~ 필요”로 끝나는 산문 |
| 12 막힘 서사 | ”막막하다”, “어렵다”가 구체 상황 없이 단독 |
| 13 도입부 호흡 부재 | 첫 단락이 결과나 결론으로 시작 |
| 14 경험 시그니처 부재 | 구체 수치, 실패 에피소드, 감정이 없음 |
13번 도입부 호흡과 14번 경험 시그니처는 가산점이 가장 큽니다. 이 사람이 아니면 못 쓸 구체적 수치나 실패담이 없으면 점수가 크게 올라갑니다. 6번 구조 균질성은 모든 섹션 길이가 ±20% 안에 들거나 단락이 전부 3~5줄일 때 잡습니다. 점수 강도는 책 종류별로 다릅니다. 실용서와 에세이는 엄격하게, 기술서는 중간으로, 소설은 화자나 캐릭터 음성을 따라 유연하게 적용합니다. 정확한 가산점 룰은 ai-pattern-check 스킬에 박혀 있습니다.
연속성 검증
섹션 제목: “연속성 검증”continuity-check가 consistency_index.json을 씁니다. 캐릭터 외모, 세계관 규칙, 타임라인 사건이 이 인덱스에 추출되고, 새 챕터마다 교차 검증됩니다. AI의 기억이 아니라 파일에 박힌 사실로 검증하는 자리입니다.
“3장에서 파란 눈이던 캐릭터를 12장에서 갈색으로 못 바꾼다”가 약속입니다. 챕터가 인덱스와 어긋나면 챕터별 chapters/ch{NN}_continuity.md에 기록되고, quality-agent가 이걸 ch{NN}_review.md로 묶어 writing-agent가 고칩니다. 컨텍스트가 길어져 AI가 앞 챕터를 잊어도, 인덱스가 설정을 들고 있어 어긋남이 잡힙니다. 소설에서 가장 무거운 검증이고, 실용서와 기술서는 사실관계나 용어 일관성 검증으로 같은 인덱스를 씁니다.
자동 출판 금지
섹션 제목: “자동 출판 금지”검증을 통과한 챕터는 chapters/ch{NN}_draft.md로 챕터마다 남습니다. 한 파일로 합치는 합본은 파이프라인의 자동 단계가 아니라 사용자가 직접 모으는 자리입니다. 외부 플랫폼에 자동으로 올리지도 않습니다(S8). 출판은 사용자가 직접 합니다. 이 자리는 manuscript에서 봅니다.
보안 기준선 S1~S8
섹션 제목: “보안 기준선 S1~S8”AI_AUTOMATION.md에 박힌 여덟 줄입니다.
| 코드 | 규칙 | 강제 위치 |
|---|---|---|
| S1 | 비밀(API 키)은 .env에만. .env.*는 git 추적 안 함 | .gitignore |
| S2 | _workspace/ 바깥 파일 수정과 삭제 금지. 책 폴더 간 교차 수정 금지 | 에이전트 정의 |
| S3 | 산출물 덮어쓰기 전 .bak 또는 .v1 백업 | writing-agent |
| S4 | 외부 검색(research), 일러스트(illustration)은 사용자 승인 또는 종류상 필수일 때만 | research, illustration |
| S5 | 챕터 단위 commit. 한 챕터가 한 commit (또는 챕터와 AI-check 묶음) | 사용자 규약 |
| S6 | 실명, 전화번호, 실주소 자동 검출 후 마스킹 권고. 자동 마스킹은 안 함 | quality-agent |
| S7 | API 키, 토큰은 본문, 로그, 산출물에 평문으로 박지 않음 | 모든 에이전트 |
| S8 | 자동 출판 금지. 합본과 투고는 사용자가 직접 | 모든 에이전트 |
S5는 챕터 단위 commit을 규약으로 박은 자리입니다. 챕터별로 버전이 남아 되돌리기가 챕터 단위로 깔끔합니다. S8은 책 도메인에서 가장 무거운 자리입니다. 완성된 원고를 AI가 임의로 외부에 올리지 않습니다.
다음 섹션은 manuscript입니다. 챕터별 검토 리포트가 어떻게 쌓이는지, 합본을 왜 자동으로 하지 않는지, 사용자가 직접 모을 때 무엇을 점검하는지 봅니다.