# Task 11.3 - inbox 메시지 시스템 개발

## 기본 정보
- 작업 ID: task-11.3
- 팀: dev3-team (라/Ra)
- 소요 시간: 13분 12초
- 상태: 완료

## 작업 내용
봇 간 inbox 메시지 시스템 개발 (`/home/jay/workspace/inbox_utils.py`)

## GLM 위임 결과
- GLM(glm-4.7-flash)에 코딩 위임 시도 → API rate limit으로 실패
- 기존 GLM 생성 코드가 파일에 존재했으나 스펙 불일치 다수 발견
- 팀장(Ra)이 직접 전면 재작성

## 기존 코드 문제점 (GLM 생성분)
1. 파일명 형식 불일치: `YYYYMMDD_HHMMSS` → 스펙은 `YYYY-MM-DDTHH-MM-SS_from-<team>.json`
2. JSON 키 불일치: `from_team`/`is_read` → 스펙은 `from`/`read`
3. `read_inbox`가 unread 필터링 없이 전체 반환
4. CLI가 positional 인자 방식 → 스펙은 `--from`/`--to` 플래그 방식
5. unittest 기반 테스트 → 스펙은 assert 기반
6. tearDown에서 전체 inbox 디렉토리 삭제하는 위험한 코드

## 구현 사항

### 함수 (5개)
1. `send_message(from_team, to_team, subject, body)` - 메시지 전송, 파일명 반환
2. `read_inbox(team)` - unread 메시지만 반환
3. `mark_read(team, filename)` - 읽음 처리
4. `get_all_messages(team)` - 전체 메시지 반환
5. `clear_inbox(team)` - inbox 비우기

### CLI 인터페이스
```bash
python3 inbox_utils.py send --from dev1-team --to anu --subject '제목' --body '본문'
python3 inbox_utils.py read --team anu
python3 inbox_utils.py list --team anu
python3 inbox_utils.py test  # assert 기반 테스트 실행
```

### 디렉토리 구조
```
/home/jay/workspace/memory/inbox/
  dev1-team/
  dev2-team/
  dev3-team/
  anu/
```

### 메시지 JSON 형식
```json
{
  "from": "dev1-team",
  "to": "anu",
  "subject": "제목",
  "body": "본문",
  "timestamp": "2026-03-01T05:45:38.868735",
  "read": false
}
```

## 테스트 결과
assert 기반 테스트 9개 모두 통과:
- send_message
- read_inbox (unread only)
- mark_read
- get_all_messages
- clear_inbox
- mark_read (nonexistent)
- UTF-8 encoding
- empty inbox
- clear empty inbox

## 검토 체크리스트
- [x] assert 기반 테스트 포함
- [x] 디렉토리 자동 생성 로직
- [x] UTF-8 인코딩
- [x] CLI 인터페이스 (send/read/list)
- [x] 임시 디렉토리 사용하여 안전한 테스트
- [x] 파일명 형식: YYYY-MM-DDTHH-MM-SS_from-<team>.json
