# 문서 QA 리뷰

## 1. QA 결과 요약

초기 문서 세트는 프로젝트 방향, 기능 범위, DB 분리 구조, AI JSON, 리포트 템플릿, MVP 단계가 일관되게 잡혀 있다.

다만 실제 개발로 넘어가기 전에 아래 항목을 보완해야 한다.

- 상태값의 한글 표시명과 DB 저장값을 명확히 매핑해야 한다.
- AI 분석 결과가 어떤 모델과 프롬프트 버전에서 나왔는지 저장해야 한다.
- AI 자동 반영과 사람 검토 반영을 구분하는 이력이 필요하다.
- 리포트 기준 시간대와 생성 기준 시각을 고정해야 한다.
- 기존 업무 매칭 실패 또는 중복 후보 발생 시 처리 정책이 더 구체적이어야 한다.
- 권한 범위는 MVP에서도 최소한 관리자와 일반 사용자를 구분해야 한다.

## 2. 인코딩 확인

문서는 UTF-8로 저장되어 있다.

PowerShell 기본 출력에서는 한글이 깨져 보일 수 있으므로 문서 확인 시 다음 명령을 사용한다.

```powershell
Get-Content -Encoding UTF8 docs\README.md
```

## 3. 용어 QA

### 업무 상태값

문서에서는 사용자 화면용 한글 상태와 DB 저장용 영문 상태가 함께 쓰인다.

아래 매핑을 기준으로 통일한다.

| 화면 표시 | DB 값 |
| --- | --- |
| 신규 | new |
| 진행중 | in_progress |
| 대기 | waiting |
| 확인필요 | review_required |
| 완료 | completed |
| 보류 | on_hold |
| 취소 | canceled |

### 우선순위

| 화면 표시 | DB 값 |
| --- | --- |
| 낮음 | low |
| 보통 | normal |
| 높음 | high |
| 긴급 | urgent |

## 4. 기능 QA

### 통과

- 모바일 텍스트 입력 흐름이 정의되어 있다.
- 음성 입력과 텍스트 변환 흐름이 정의되어 있다.
- 신규 업무와 기존 업무 업데이트 분기가 정의되어 있다.
- 담당자별 업무 리포트와 전체 리포트가 분리되어 있다.
- 원본 입력, AI 분석, 업무, 업무 이력, 리포트 저장소가 분리되어 있다.

### 보완 필요

- 음성 변환 실패 시 재시도 또는 수동 입력 전환 정책이 필요하다.
- AI 분석 실패 시 원본 입력의 처리 상태를 어떻게 바꿀지 명확히 해야 한다.
- 담당자가 없는 업무를 임시 업무로 저장할지, 확인 필요 입력으로만 둘지 결정해야 한다.
- 기존 업무 후보가 여러 개인 경우 화면에서 어떤 정보를 보여줄지 구체화해야 한다.
- 완료된 업무에 추가 업데이트가 들어오면 재오픈할 수 있는지 결정해야 한다.

## 5. DB QA

### 통과

- 현재 업무 상태와 업데이트 이력이 분리되어 있다.
- 원본 입력이 별도로 저장된다.
- AI 분석 로그가 별도로 저장된다.
- 리포트 생성 결과가 저장된다.

### 보완 필요

다음 필드 추가를 권장한다.

#### tasks

- `review_reason`: 확인 필요 사유
- `last_update_summary`: 최근 업데이트 요약
- `reopened_at`: 완료 후 재오픈 시간

#### task_updates

- `change_json`: 변경된 필드의 전후 값
- `applied_by_type`: system, ai, user

#### raw_inputs

- `language`: 입력 언어
- `error_message`: 처리 실패 사유

#### ai_analysis_logs

- `model_name`: 사용 모델
- `prompt_version`: 프롬프트 버전
- `schema_version`: JSON 스키마 버전

#### daily_reports

- `timezone`: 리포트 기준 시간대
- `status`: generated, failed, regenerated

## 6. AI QA

### 통과

- JSON 출력 원칙이 정의되어 있다.
- 신규 업무, 업데이트, 완료, 일정 변경 등의 intent가 정의되어 있다.
- 사람 검토 필요 조건이 정의되어 있다.

### 보완 필요

- AI 응답 스키마 버전을 명시해야 한다.
- 기존 업무 후보별 점수를 배열로 저장해야 한다.
- AI가 업무를 자동 반영해도 서버 검증을 반드시 거치도록 해야 한다.
- 리포트 문장과 DB 저장값을 분리해야 한다.
- 신뢰도 기준값을 운영 설정으로 분리해야 한다.

## 7. 리포트 QA

### 통과

- 전체 리포트와 개인 리포트의 고정 포맷이 정의되어 있다.
- 데이터가 없는 항목도 `없음`으로 표시하도록 되어 있다.
- 생성된 리포트를 저장하는 원칙이 있다.

### 보완 필요

- 리포트 기준 시간대를 `Asia/Seoul`로 고정한다.
- 일일 리포트 생성 기준 시각을 정해야 한다.
- 재생성된 리포트는 기존 리포트를 덮어쓸지 새 버전으로 저장할지 결정해야 한다.
- 담당자별 리포트에 확인 필요 업무를 반드시 포함해야 한다.

## 8. MVP QA 결론

MVP는 다음 순서로 좁히는 것이 좋다.

1. 기술 스택 확정
2. DB v1 스키마 확정
3. AI JSON Schema v1 확정
4. 모바일 입력 화면 상세화
5. 리포트 생성 로직 기준 확정

현재 문서는 기획 초안으로는 통과이며, 개발 착수 전 명세 보강 단계가 필요하다.
