# task-745.1: InsuWiki 편집 중 자동 임시저장 기능 구현

## 배경
InsuWiki에서 편집 중 저장하지 않고 실수로 나가거나 취소하면 작업 내용이 유실됨.
MS Word의 자동 복구 저장 기능을 벤치마킹하여 자동 임시저장 구현 필요.

## 제이회장님 요구사항 (원문 그대로)
1. 편집 중 **자동 임시저장** 기능
2. 저장 안 누르고 **브라우저 뒤로가기로 실수로 나가거나, 취소를 누르면** → "자동 임시저장 파일은 삭제된다"는 **메시지 팝업** 표시
3. **MS Word 임시저장 기능 벤치마킹** (자동 복구, 주기적 저장, 충돌 복구 등)
4. **임시저장본은 24시간 이후 DB에서 자동 삭제**

## ★ 에이전트 미팅 필수 (제이회장님 지시)
**이 작업은 구현 전에 반드시 에이전트 미팅을 소집하세요.**
- 팀장(헤르메스)이 직접 미팅을 소집하여 아래 관점에서 기능을 더 develop할 것
- 미팅 참석 필수: **레드팀(로키)** (DA 역할, 모든 미팅 필수)
- 미팅에서 논의할 사항:
  - MS Word 자동 복구 기능의 핵심 패턴 분석
  - 임시저장 주기 (매 N초? 변경 감지?)
  - 임시저장 저장소 (Firestore? localStorage? 둘 다?)
  - 동시 편집 시 충돌 처리
  - 복구 UX (편집 화면 진입 시 "임시저장본이 있습니다. 복구하시겠습니까?" 등)
  - 브라우저 beforeunload 이벤트 처리
  - 임시저장 데이터 구조 (문서 ID, 사용자 ID, 타임스탬프, 내용)
  - 24시간 TTL 구현 방식 (Firestore TTL? Cloud Function 스케줄?)
  - 엣지 케이스: 네트워크 끊김, 탭 크래시, 다중 탭 편집
- 미팅 결과를 `/home/jay/workspace/memory/meetings/` 에 기록

## InsuWiki 프로젝트 정보
- 위치: `/home/jay/projects/insuwiki/`
- 스택: Next.js + Firebase (Firestore) + Vercel
- 기존 편집 기능 위치 확인 후 작업 (에디터 컴포넌트, 저장 API 등)

## 구현 핵심 포인트 (미팅에서 더 develop할 것)

### 자동 임시저장
- 편집 중 일정 주기 또는 변경 감지 시 자동 저장
- Firestore에 임시저장 컬렉션 (예: `drafts/`)

### 이탈 방지 + 팝업
- `beforeunload` 이벤트 → 브라우저 기본 경고
- 취소 버튼/뒤로가기 → 커스텀 팝업: "저장하지 않으면 임시저장본이 삭제됩니다. 계속하시겠습니까?"
- 팝업에서 "저장 후 나가기" / "임시저장본 삭제 후 나가기" / "편집 계속" 3가지 선택지

### 24시간 자동 삭제
- Firestore TTL 정책 또는 Cloud Function 스케줄러로 24시간 초과 임시저장본 자동 삭제

### 복구
- 편집 화면 진입 시 해당 문서의 임시저장본 존재 여부 확인
- 있으면 "N시간 전 임시저장본이 있습니다. 복구하시겠습니까?" 모달 표시

## 작업 흐름
1. **에이전트 미팅 소집** → 기능 심화 설계
2. 미팅 결과 기반 구현 계획 확정
3. 구현 (프론트엔드 + 백엔드)
4. 테스트 (자동저장 → 이탈 → 복구 시나리오)

## 참고
- MS Word 자동 복구: 기본 10분 간격, 비정상 종료 시 복구 파일 제시, 수동 저장 시 자동 복구 파일 삭제
- Google Docs: 실시간 자동저장 (변경 즉시), 버전 히스토리 보존
- Notion: 실시간 자동저장 + 페이지 히스토리