# task-1543.1 완료 보고서: dispatch.py 네이버 블로그 규칙 오탐 버그 수정

## SCQA

**S**: dispatch.py의 `_inject_platform_rules()` 함수가 네이버 블로그 관련 키워드 감지를 통해 블로그 작성 규칙을 자동 주입하고 있다.

**C**: "네이버 블로그" 키워드만으로 감지하여 코드 검증(task-1541.1), API 폐기, 리팩토링 등 블로그 작성이 아닌 작업에도 규칙이 오탐 주입되었다.

**Q**: 블로그 작성/발행 의도가 명확한 작업에만 규칙을 주입하도록 감지 로직을 개선할 수 있는가?

**A**: 긍정 키워드 강화(방법 3) + 제외 키워드(방법 1) 조합으로 해결. "네이버 블로그" 단독이 아닌 작성/발행 의도 키워드 조합만 감지하고, 검증/폐기/리팩토링 등 비-작성 작업을 제외 키워드로 차단. pytest 13건 전체 통과, pyright 신규 에러 0건.

## 수정 내용

### 변경 로직 (`dispatch.py:1006~1032`)

**Before**: `"네이버 블로그" in task_desc` → 무조건 주입

**After** (2단계 필터):
1. **긍정 감지**: 발행/작성 의도 필수
   - `blog-publish-naver` 포함 → 항상 감지
   - `네이버 블로그` + 작성/발행/포스팅/글쓰기 등 (순방향/역방향, .{0,20} 거리 제한)
   - `네이버 (블로그)? 발행` 패턴
   - 영문 `naver blog publish/write/post`
2. **제외 차단**: 긍정 판정 후에도 16개 제외 키워드(검증, 폐기, 리팩토링, 마이그레이션, 테스트 실행, 버그 수정, 디버깅 등) 존재 시 주입 차단

## 산출물

- `/home/jay/workspace/dispatch.py` (수정: 라인 1006~1032)
- `/home/jay/workspace/tests/test_dispatch_platform_rules.py` (신규)

## 테스트 결과

pytest 13/13 PASSED (0.10s):
- 긍정 케이스 6건: 블로그 글 작성, 발행 자동화, publish-naver 스킬, 포스팅, 글쓰기, 영문 조합
- 부정 케이스 7건: API 폐기, 코드 검증, 발행 테스트 실행, 리팩토링, 마이그레이션, 무관 작업, 버그 수정

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **테스트 파일 미사용 import** — `patch`, `MagicMock`, `Path` 제거 (`tests/test_dispatch_platform_rules.py:2~4`)
2. **함수 내부 상수 정의** — `_EXCLUDE_KEYWORDS`와 `_WRITE_INTENT`가 매 호출 재생성되나, 호출 빈도가 dispatch당 1회이므로 성능 영향 무시 가능. 모듈 레벨 이동은 과잉 최적화로 판단하여 현행 유지
3. **pyright 정적 분석 한계** — `sys.path.insert`로 런타임 해결하는 dispatch import를 pyright가 인식 못함. 기존 테스트 파일들과 동일 패턴이므로 범위 외

### 범위 외 미해결 (0건)
없음

## 영향 분석
- `_inject_platform_rules()` 호출 위치: `dispatch.py:1789` 1곳
- 함수 시그니처 변경 없음 (`task_desc: str -> Optional[str]`)
- 기존 정상 동작(블로그 작성/발행 작업)에 대한 규칙 주입은 유지됨

## 모델 사용 기록
- 엔키(백엔드) / dispatch.py 수정 + 테스트 작성 / sonnet / -
