# QA 로그 — DMPatentLandscape-Kor

작성일: 2026-05-28

## 검수 결과

### 1. 구문 검사 — app.py
- 명령: `python3 -c "import ast; ast.parse(open('app.py').read())"`
- 결과: **OK**

### 2. 구문 검사 — main.py
- 명령: `python3 -c "import ast; ast.parse(open('main.py').read())"`
- 결과: **OK**

### 3. CLI `--help` 동작 (lazy import 검증)
- 명령: `python3 main.py --help`
- 결과: **OK**. streamlit/pandas import 없이도 help 표시 정상.

### 4. mock data 로드 + 무결성 점검
- 명령: `python3 main.py --check`
- 결과: **OK**
  - records: 106 (요구: ≥80)
  - missing fields: 0
  - families: 86 (multi-office family 13건)
  - office: USPTO·EPO·KIPO·JPO·CNIPA·WIPO 6개 모두 포함
  - category 20종 (GLP-1RA·SGLT2i·DPP-4i·insulin·CGM·smart pen·insulin pump·closed-loop·DTx·TZD·biguanide·amylin·MASLD·T1D-immune·T1D-cell·natural·glucagon·combination·complication·neurostim)
  - 한국 관련 (한국 출원인 또는 한국 출원): 25건 (LG화학·HK inno.N·종근당·동아ST·대웅·한미·일동·녹십자·삼성바이오에피스·셀트리온·SK바이오팜·카카오헬스케어·메디센서 등 reference)

### 5. 기능별 동작 검증
- `python3 main.py --summary` — office별/category별 분포 정상 출력
- `python3 main.py --top 10` — top 10 assignee 정상 출력 (한국/글로벌 플래그 부착)
- `python3 main.py --export-digest /tmp/test_digest.md --focus "GLP-1RA,SGLT2i,CGM" --today 2026-05-28` — 한국어 weekly digest md 정상 생성 (2065 bytes)
  - 만료 임박 D-365 이내 항목 포함 (empagliflozin·dapagliflozin EU SPC 만료)
  - 최근 grant 2020+ 항목 정렬
  - 한국 출원인 동향 (종근당·한미·SK바이오팜) 포함

### 6. 디스클레이머
- README.md, CLI epilog, Streamlit 메인 화면 모두 표시
  - "본 도구는 연구·참고용이며, 실제 IP/FTO 결정은 변리사 자문 필수"
  - "데이터는 mock/synthetic"

## 외부 호출 점검
- 모든 데이터는 `data/patents.json` 로컬 로드
- requests/httpx 등 네트워크 라이브러리 미사용 (확인 완료)
- LLM 호출 0 (rule-based claim 요약 사전 기재)

## 재시도 이력
- 없음. 1회차 빌드 성공.

## 의도 부합 점검
- 요청한 5개 핵심 기능 모두 구현
  1. multi-office + family clustering: Tab 1 (USPTO·EPO·KIPO·JPO·CNIPA·WIPO 6개 office, INPADOC family 86개)
  2. 분류 + claim 요약: Tab 2 (IPC/CPC + category 20종 + 한국어 claim1 요약)
  3. 만료·PTE/SPC + Orange Book: Tab 3 (D-365·D-180·D-90 alert + OB 등재 표시)
  4. 한국 출원인 동향: Tab 4 (한국 출원인 카운트 + 글로벌 top 시계열 + IP whitespace matrix)
  5. weekly digest + FTO + docx: Tab 5 (markdown digest download + FTO 보조 + docx quarterly 리포트)

## 추가 구현
- CLI에 `--check` 명령 추가 (mock data 무결성 점검용)
- 사이드바에 한국 관련만 필터링 옵션 추가
- IP whitespace matrix (category x office) 자동 시각화

## 미구현/한계
- 실제 USPTO PEDS·EPO OPS·KIPRIS API 호출 없음 (요구사항 = mock data only)
- LLM 기반 claim scope 정밀 요약 없음 (요구사항 = rule-based)
- 실제 INPADOC family clustering 알고리즘 없음 (priority date + family_id 사전 부여로 시뮬)
- PTE/SPC 계산은 단순 합산이며, 실제 office별 복잡한 규정 미반영 (디스클레이머에 명시)
