✅ task-923.1 완료 (dev3-team, 4분 27초) [요약] `_save_completion_message()` 함수를 추가하여 `memory/events/{task_id}.completion.txt`에 UTF-8로 저장. 체인 중간/일반 분기 2곳에서 Telegram 전송 전에 호출하여, 전송 성공/실패와 무관하게 파일이 항상 저장됨. pytest 33건 전체 통과, pyright 에러 0건, black/isort 준수. ## 수정 파일 - `scripts/notify-completion.py` — `_save_completion_message` 함수 추가 + 2곳 호출 - `scripts/tests/test_notify_completion.py` — `TestSaveCompletionMessage` 클래스 5개 테스트 추가 ## 변경 상세 ### 1. `_save_completion_message()` 함수 추가 (line 133-141) - `WORKSPACE_ROOT/memory/events/{task_id}.completion.txt`에 메시지 저장 - 디렉토리 자동 생성 (`mkdir parents=True`) - OSError 발생 시 `log_protocol`으로 기록 후 조용히 실패 (기존 Telegram 전송에 영향 없음) ### 2. 체인 중간 Phase 분기 호출 (line 420) - `message.replace()` 직후, `send_telegram_notification()` 직전에 호출 - 체인 정보가 포함된 최종 메시지가 저장됨 ### 3. 일반/마지막 Phase 분기 호출 (line 453) - `_format_notification_message()` 직후, `send_telegram_notification()` 직전에 호출 ## 검증 결과 - pyright: 0 errors, 0 warnings - black: 준수 (변경 없음) - isort: 준수 (변경 없음) - pytest: 33 passed in 0.18s (기존 28 + 신규 5) ## 발견 이슈 및 해결 🧪 테스트: pyright 0 errors ⚠️ 미해결: 2건 (test_runner가 SKIP, tdd_check SKIP) 📄 상세: memory/reports/task-923.1.md