# notify-completion.py 완료 메시지 파일 저장 기능 추가

## 태스크 ID: task-923.1
## 한정위임: 완료까지

---

## 배경

팀장봇이 작업 완료 시 `notify-completion.py`를 통해 Telegram에 완료 요약 메시지를 전송한다.
그런데 이 메시지가 **파일로 저장되지 않아**, 아누(개발실장)가 `.done`을 감지했을 때 원문 메시지를 읽을 수 없다.

**요구사항**: Telegram에 전송하는 완료 메시지를 파일로도 저장하여, 아누가 그대로 읽어서 제이회장님께 전달할 수 있게 한다.

## 수정 대상

`/home/jay/workspace/scripts/notify-completion.py` — 1개 파일만 수정

## 수정 내용

### 핵심 로직

`message = _format_notification_message(...)` 호출 직후, Telegram 전송 전에 메시지를 파일로 저장한다.

**저장 경로**: `{WORKSPACE_ROOT}/memory/events/{task_id}.completion.txt`
**인코딩**: UTF-8

### 수정 위치 2곳

1. **체인 중간 Phase 분기** (약 line 402 부근):
```python
message = _format_notification_message(args.task_id, _report_path, _done_data)
# 체인 정보 추가 (기존 코드)
message = message.replace(...)
# ▼ 여기에 추가 ▼
_save_completion_message(args.task_id, message)
```

2. **일반/마지막 Phase 분기** (약 line 440 부근):
```python
message = _format_notification_message(args.task_id, _report_path, _done_data)
# ▼ 여기에 추가 ▼
_save_completion_message(args.task_id, message)
```

### 추가할 함수

```python
def _save_completion_message(task_id: str, message: str) -> None:
    """완료 메시지를 파일로 저장한다. 아누가 .done 감지 시 이 파일을 읽어 그대로 전달한다."""
    completion_file = Path(f"{WORKSPACE_ROOT}/memory/events/{task_id}.completion.txt")
    try:
        completion_file.parent.mkdir(parents=True, exist_ok=True)
        completion_file.write_text(message, encoding="utf-8")
        log_protocol(task_id, f".completion.txt 저장 완료 ({len(message)} chars)")
    except OSError as e:
        log_protocol(task_id, f".completion.txt 저장 실패: {e}")
```

## 수정 금지

- `report_utils.py` 수정 금지
- `_format_notification_message()` 함수 로직 변경 금지
- 기존 Telegram 전송 로직 변경 금지
- `.done` 파일 포맷 변경 금지

## 검증 기준

1. `notify-completion.py`에 `_save_completion_message` 함수가 추가됨
2. 체인 중간 분기와 일반 분기 **2곳 모두**에서 호출됨
3. 메시지 저장 위치: `memory/events/{task_id}.completion.txt`
4. Telegram 전송 성공/실패와 무관하게 파일은 저장됨 (전송 전에 저장)
5. 기존 기능(Telegram 전송, .done, .done.notified)에 영향 없음
6. pyright/black/isort 통과
