# task-1937 완료 보고서: 네이버 블로그 모델별 실제 글 생성 E2E 테스트

## SCQA

**S**: task-1936+1에서 네이버 블로그 글 생성에 6개 세부 모델(claude-sonnet-4-6, claude-haiku-4-5-20251001, gemini-2.5-flash, gemini-2.5-pro, codex, glm-5)을 선택할 수 있도록 MODEL_MAP + provider 분기 처리를 구현했다.

**C**: task-1936+1에서는 "생성 시작" 200 OK만 검증했고, 각 모델이 실제로 글 생성을 **완료**하는지는 확인하지 않았다. 모델별 실제 품질/소요시간/실패 여부를 확인해야 한다.

**Q**: 6개 모델 모두 동일 키워드("실손보험 청구 방법")로 글 생성 완료까지 정상 동작하는가?

**A**: 4개 모델(claude-sonnet-4-6, claude-haiku-4-5-20251001, gemini-2.5-flash, gemini-2.5-pro)은 생성 완료 성공. 2개 모델(codex, glm-5)은 환경/CLI 호환성 문제로 실패. 성공한 모델의 글은 모두 1,000자 이상, 한글 정상 출력, 제목/본문 구조 정상.

## 테스트 환경

- 서버: dashboard/server.py (포트 8000, PID 1277962)
- 엔드포인트: POST /api/naver-blog/generate, GET /api/naver-blog/write/status
- 키워드: "실손보험 청구 방법" (전 모델 동일)
- tone: mixed
- CLI 설치 상태: claude (설치), gemini (설치), codex (설치), glm (미설치)

## 모델별 결과 비교표

- **claude-sonnet-4-6** | 생성 성공: O | 소요 시간: 약 180초 | 글 길이: 6,298자 | 품질: 우수. 마크다운 # 제목, 구조적 본문, 자연스러운 한국어 | 에러: 없음
- **claude-haiku-4-5-20251001** | 생성 성공: O | 소요 시간: 약 63초 | 글 길이: 5,956자 | 품질: 양호. 제목/본문 구조 정상, 한글 정상 | 에러: 없음
- **gemini-2.5-flash** | 생성 성공: O | 소요 시간: 약 56초 | 글 길이: 4,404자 | 품질: 보통. 영어 서문(tool 사용 선언) 혼입, 본문은 한글 정상. ## 제목 | 에러: 없음 (영어 서문 품질 이슈)
- **gemini-2.5-pro** | 생성 성공: O | 소요 시간: 약 58초 | 글 길이: 4,792자 | 품질: 양호. 깔끔한 한국어, # 제목, 체계적 4단계 구조 | 에러: 없음
- **codex** | 생성 성공: X | 소요 시간: 약 8초 (즉시 실패) | 글 길이: 0자 | 품질: N/A | 에러: CLI 호환성 문제. `codex exec -q` 명령에서 `-q` 옵션 미지원 (`unexpected argument '-q' found`)
- **glm-5** | 생성 성공: X | 소요 시간: 약 6초 (즉시 실패) | 글 길이: 0자 | 품질: N/A | 에러: 환경 문제. GLM_API_KEY 환경변수 미설정. GLM CLI도 미설치.

## 히스토리 DB 기록 확인

모든 6건의 테스트 결과가 `naver_blog_history.db` > `blog_content` 테이블에 정상 기록됨:
- id 112: claude-sonnet-4-6 (success, 6298자)
- id 113: claude-haiku-4-5-20251001 (success, 5956자)
- id 114: gemini-2.5-flash (success, 4404자)
- id 115: gemini-2.5-pro (success, 4792자)
- id 116: codex (failed, Codex CLI 오류)
- id 117: glm-5 (failed, GLM_API_KEY 미설정)

## 발견 이슈 및 해결

### 이슈 1: Codex CLI `exec -q` 옵션 미지원
- **원인**: blog_writer.py:163에서 `codex exec -q <prompt>` 형태로 호출하나, 현재 Codex CLI는 `-q` 단축 옵션을 지원하지 않음
- **영향**: codex 모델로 글 생성 불가
- **권장 수정**: `-q` → `--quiet` 또는 `codex exec` 하위 명령의 실제 옵션 확인 후 수정 필요
- **해결 여부**: 범위 외 (이 작업은 테스트만, 코드 수정 없음)

### 이슈 2: GLM API 키 미설정
- **원인**: GLM_API_KEY 환경변수가 서버 프로세스에 설정되지 않음. GLM CLI도 미설치.
- **영향**: glm-5 모델로 글 생성 불가
- **권장 수정**: GLM API 키 발급 후 환경변수 설정, 또는 GLM CLI 설치
- **해결 여부**: 환경 설정 문제 (코드 수정 불필요)

### 이슈 3: Gemini Flash 영어 서문 혼입
- **원인**: gemini-2.5-flash가 프롬프트 지시를 따르기 전 영어로 계획을 출력함 ("I will write a Naver blog post...")
- **영향**: 생성된 글에 영어 서문이 포함되어 후처리 필요
- **권장 수정**: 프롬프트에 "한국어로만 응답" 강조, 또는 생성 후 영어 서문 자동 제거 로직 추가
- **해결 여부**: 범위 외 (이 작업은 테스트만)

## L1 스모크테스트 결과

- 서버 재시작: 해당없음 (코드 수정 없는 테스트 작업. 기존 서버 PID 1277962 사용)
- API 응답 확인: 6개 모델 모두 POST /api/naver-blog/generate → 200 OK 정상 응답, GET /api/naver-blog/write/status 폴링 정상 동작
- 스크린샷: 해당없음 (API 테스트)

## 수정 파일

없음 (테스트만 수행, 코드 수정 없음)

## 모델 사용 기록

- 팀장(헤르메스): 직접 테스트 수행 (테스트 작업이므로 팀원 위임 대신 직접 실행)
- 사유: 순차적 API 호출 + 폴링 대기가 필요한 작업으로, 팀원에게 분배보다 직접 순차 실행이 효율적

## 결론

- 성공률: 4/6 (67%)
- Claude 계열 2개 모델: 안정적 성공, 품질 우수
- Gemini 계열 2개 모델: 성공, 다소 짧은 글 + Flash는 영어 서문 혼입 품질 이슈
- Codex: CLI 옵션 호환성 버그 (수정 필요)
- GLM: 환경변수/CLI 미설정 (운영 환경 설정 필요)

## QC 에스컬레이션 사유

tdd_check FAIL (false positive): 이 작업은 task 파일에 "★★★ 이 작업은 테스트만. 코드 수정 없음. ★★★"으로 명시된 순수 E2E 테스트 작업임. 코드 수정 파일이 0개이나, tdd_check가 보고서 파일(memory/reports/task-1937.md)을 "구현 파일"로 오분류하여 "테스트 파일 없이 구현 파일만 변경됨"으로 판정. 실제로는 코드 변경이 전혀 없으므로 TDD 적용 대상이 아님. 아누 판단 요청.


## 세션 통계
- 총 도구 호출: 0회

