**task-1929 완료 보고** (dev5-team) **task-1929 완료 보고서** (16분 22초) **핵심 결과** 3건 모두 수정 완료. `_is_non_question_thread` 함수 추가 + `_rule_based_filter_single` 연동, 구두점 제거 후 매칭 방식 전환, `Optional[dict]` 반환 타입 수정. pytest 282건 전체 통과, pyright 0 errors. ## 수정 내역 | 파일 | 변경 내용 | grep 검증 | 상태 | |------|-----------|-----------|------| | scripts/kakao_knowledge/knowledge_extractor_v2.py:463 | `_is_non_question_thread` 함수 추가 | grep "_is_non_question_thread" 2건 OK | verified | | scripts/kakao_knowledge/knowledge_extractor_v2.py:848 | `_rule_based_filter_single`에 비질문 필터링 연동 | grep "비질문 스레드" 1건 OK | verified | | scripts/kakao_knowledge/knowledge_extractor.py:117 | `_RE_NOISE_GREETING` 정규식에서 구두점 suffix 제거 | grep "안녕하세요\|" OK | verified | | scripts/kakao_knowledge/knowledge_extractor.py:134 | `_is_noise_message`에 구두점 제거 후 매칭 로직 추가 | grep "cleaned = re.sub" 1건 OK | verified | | scripts/kak 테스트: pyright 0 errors **발견/해결 이슈 3건** 1. **`_is_non_question_thread` "not accessed" Pyright 경고** — LSP 진단이 거짓 양성. pyright CLI 실행 결과 0 errors 확인. 실제 line 848에서 호출됨. 2. **테스트 코드 미사용 변수 `result`** — `test_substantive_message_not_filtered`에서 불필요한 `extract_knowledge_v2` 호출 제거. 3. **스레드 분리 단계에서 이미 인사 메시지 제거됨** — `_split_threads_v2` (line 304)에서 `_is_noise_message`로 사전 필터링. `_is_non_question_thread`는 직접 호출 시 이중 방어(defense-in-depth) 역할.