# Changelog — MASH-DILISurveil-Kor

## [2026-05-26]

### 수행 내용
- 2026-05-26 metabolic daily idea step2 아이디어 #3 MVP 빌드 (MASLD 도메인, 인체실험 도구 카테고리).
- 모듈 5개 (ingest, hys_law, rucam, class_panel, report) + CLI(main.py) + Streamlit UI(app.py) 구현.
- 합성 데이터(LFT 600환자 × 10시점, 4 class panel, placebo reference 5 trial) 생성.
- end-to-end 파이프라인 검증: Hy's law 7건, RUCAM probable 7건, Temple corollary 61건, class flag 728건.
- DSC quarterly JSON, RMP/DSUR/PSUR docx, manuscript supplementary md 산출 확인.

### 주요 결정 사항
- **baseline-adjusted Hy's law** 두 기준 병기 (일반 ULN + MASH-baseline). MASH 모집단은 baseline ALT가 ULN을 상회하므로 단일 기준은 위양/위음을 모두 일으킴 (FDA 2009 부록 권고).
- **RUCAM auto derived inputs**: 시그널 강도(classical_hys OR baseline_adj_hys) 기반의 default 패턴으로 자동 1차 패스 제공. 실 운영은 사이트 PI의 case form이 별도 입력되도록 modular 구조 유지.
- **placebo reference는 mock**: 5개 phase 3 trial의 공개 보고를 단순화한 값. README/QA에 명시.
- **class panel은 6 class 룰 모두 구현, demo 데이터는 4 class에 한정**: GLP-1RA·GIP/glucagon은 사용자 charter에서 toggle.

### 변경된 파일 (전부 신규)
- `README.md` — 한국어 우선 안내, 검수 체크리스트, 출처.
- `main.py` — CLI 진입점, 합성 데이터 생성 + 파이프라인.
- `app.py` — Streamlit 6 탭 UI (Overview/eDISH/RUCAM/Class/Placebo/Export).
- `modules/__init__.py`, `ingest.py`, `hys_law.py`, `rucam.py`, `class_panel.py`, `report.py`.
- `requirements.txt` — streamlit/pandas/numpy/scipy/statsmodels/matplotlib/python-docx/PyYAML pinned.
- `data/synthetic_lft.csv`, `synthetic_thrb_panel.csv`, `synthetic_fgf21_panel.csv`, `synthetic_acc_panel.csv`, `synthetic_fxr_panel.csv`, `placebo_reference.csv`, `charter_example.yaml` (모두 `main.py --demo`로 재생성 가능).
- `reports/` — DSC/RMP/DSUR/PSUR/cases/supplementary/eDISH 산출물.
- `QA.md` — 4단계 검수 로그.

### 재현 방법
```
cd "projects/2026-05-26-3-mash-dili-surveil-kor"
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python3 main.py --demo
# (optional) streamlit run app.py
```
