# CHANGELOG — MASLDRetractionWatch-Kor

## [2026-05-28]

### 수행 내용
- MASLD/MASH·NAFLD·NASH·hepatic fibrosis retraction surveillance MVP 단독 빌드.
- 5개 source(Retraction Watch DB·PubMed·PubPeer·Crossref event·Journal notice) 통합 + MASLD 키워드 룰 필터 + dedup.
- Systematic review/meta-analysis included paper cross-reference + Cochrane RoB2 + PRISMA + sensitivity 보조 권고.
- Author/lab 단위 누적(yellow ≥2 / red ≥5), ORCID 매핑, time cluster, KASL/AASLD/EASL committee overlap.
- Journal/publisher/사유 분포 + retraction-to-correction lag 통계 + 저널별 연도별 trend.
- 주간 Markdown 다이제스트 + 가이드라인 인용 retraction sanity 리포트 + docx export.
- Streamlit 5 tab UI + CLI(`main.py --summary/--top/--cross-reference/--guideline-check/--export-digest/--data-test`).

### 주요 결정 사항
- 오프라인 제약으로 5개 source 실제 API 호출 대신 mock 61 record(MASLD 분야 실제 학술지/약물/author cluster 반영) 생성. Streamlit에서도 source 다양성을 보여주기 위해 source 필드를 5종으로 분산.
- LLM 호출 0 — 모든 권고(RoB2/PRISMA/sensitivity) 룰 기반 텍스트 템플릿.
- docx export는 `python-docx` 사용 (선택적 import는 함수 내부에서 처리).
- 디스클레이머는 core 모듈 상수 + README + Streamlit warning + 모든 CLI 출력에 노출.

### 변경된 파일
- `README.md` — 신규
- `app.py` — Streamlit 메인 (5 tab)
- `main.py` — CLI 진입점 (lazy import)
- `core.py` — 데이터 로딩 + rule-based 분석
- `requirements.txt` — streamlit, pandas, python-docx
- `data/retractions.json` — 61 mock record
- `data/sample_systematic_review.json` — SR included 14건
- `data/guidelines_cited.json` — KASL/AASLD/EASL mock 인용 매핑
- `QA.md` — 검수 결과

### 재현 방법
```bash
cd "/Users/sangjoonpark/claude daily project/2026 metabolic daily idea/projects/2026-05-28-3-masld-retraction-watch-kor"
pip install -r requirements.txt
# 옵션 A: Streamlit
streamlit run app.py
# 옵션 B: CLI
python3 main.py --help
python3 main.py --summary
python3 main.py --cross-reference
python3 main.py --guideline-check
python3 main.py --export-digest weekly_digest.md
```
