# task-1511.1 완료 보고서

## SCQA

**S**: dispatch.py는 아누의 지시서를 팀 봇에게 전달할 때 프롬프트를 자동 생성한다. 디자인 키워드 감지, 파일 크기 경고 등 컨텍스트 기반 자동 주입 패턴이 이미 구현되어 있다.

**C**: 네이버 블로그 관련 지시서에서 이모지 금지, SE 에디터 규칙 등을 아누가 매번 수동으로 작성해야 한다. 빼먹으면 이모지/HTML 스타일 문제가 발생하여 수정 재작업이 필요하다.

**Q**: 네이버 블로그 키워드 감지 시 규칙을 자동 주입하여 수동 작성 누락을 방지할 수 있는가?

**A**: `_inject_platform_rules()` 함수를 dispatch.py에 추가하여, 4가지 키워드 패턴("네이버 블로그", "blog-publish-naver", "naver.*블로그", "네이버.*발행") 감지 시 `config/naver-blog-rules.md` 내용을 프롬프트에 자동 주입한다. 테스트 29건 전체 통과(양성 6건, 음성 5건 포함). dispatch.py 문법 검증 통과.

## 산출물

- `/home/jay/workspace/config/naver-blog-rules.md` — 신규 (네이버 블로그 규칙 단일 소스, 7개 규칙)
- `/home/jay/workspace/dispatch.py` — 수정 (`_inject_platform_rules` 함수 추가 + dispatch()에서 호출)
- `/home/jay/workspace/config/constants.json` — 수정 (`platform_rules.naver_blog` 항목 등록)
- `/home/jay/workspace/teams/dev3/tests/test_naver_blog_rules.py` — 신규 (테스트 29건)

## 변경 상세

### 1. 규칙 파일 (`config/naver-blog-rules.md`)
- 이모지 금지, 빈줄 삽입, SE 에디터 인용구 활용, HTML 디자인 금지, "잔여수수료"/"여러분" 금지 등 7개 규칙
- 단일 소스: 이 파일 1곳만 수정하면 모든 네이버 블로그 지시서에 반영

### 2. dispatch.py 수정
- `_inject_platform_rules()` 함수 (line 997-1032): 키워드 4패턴 감지 + 규칙 파일 읽기 + 에러 안전 처리
- `dispatch()` 함수 내 (line 1788-1791): `build_prompt()` 반환값에 규칙 텍스트 append
- 기존 패턴(file_size_warnings, design skill router)과 동일한 구조/스타일

### 3. constants.json 수정
- `platform_rules.naver_blog` 항목: rules_file 경로, keywords 목록, description 등록
- 향후 "티스토리 블로그 규칙" 등 추가 시 동일 구조로 확장 가능

## 테스트 결과

29 PASS / 0 FAIL

- 키워드 감지 양성 6건: "네이버 블로그", "blog-publish-naver" (대소문자 무관), "naver.*블로그", "네이버.*발행"
- 키워드 감지 음성 5건: "티스토리 블로그", "워드프레스", 무관 키워드, "네이버 카페", "블로그" 단독
- 규칙 파일 내용 검증 7건: 필수 규칙 7개 포함 확인
- 프롬프트 주입 3건: 기존 프롬프트 보존, 규칙 내용 포함, 빈줄 구분
- dispatch.py 통합 4건: 함수 존재, 호출 존재, 주입 코드 존재, Python 문법 유효
- constants.json 4건: platform_rules 키, naver_blog 항목, rules_file, keywords 확인

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **함수 위치 선정** — `_warn_research_impl_mix` 앞에 배치하여 기존 함수 그룹핑 유지
2. **대소문자 처리** — "blog-publish-naver"는 lower()로 비교, "네이버 블로그"는 원본으로 비교 (한글은 대소문자 없음)
3. **확장성 설계** — 함수명을 `_inject_naver_blog_rules`가 아닌 `_inject_platform_rules`로 지정하여 향후 티스토리 등 추가 용이

## 모델 사용 기록
- 루(Lugh) / 규칙 파일 생성 + dispatch.py + constants.json 수정 / sonnet
- 모리건(Morrigan) / 테스트 작성 및 실행 / sonnet
