## [2026-05-31]

### 수행 내용
- DMTrialSupplyChain-Kor MVP 신규 빌드: 당뇨 cold-chain 주사제 IMP(인슐린·GLP-1RA·tirzepatide) 임상시험 약물 공급망 시뮬레이터 & drug accountability 추적기 (standalone Streamlit).
- 5개 핵심 기능 구현: (1) resupply forecasting+par level trigger, (2) FEFO 만료관리+폐기비용, (3) 온도일탈 영향추적+격리/사용가능 판정, (4) GCP E6(R3) accountability 균형원장+MISMATCH alert, (5) depot→site what-if 배분 시뮬레이션.
- 합성 데모 데이터셋 5종 생성(시드 고정), 엔진 단위 테스트·구문 검사 통과.

### 주요 결정 사항
- 계산 로직을 `engine.py`로 분리(Streamlit 비의존) → streamlit 런타임 없이 단위 테스트 가능. 지침 검수 5(streamlit run 대신 ast.parse+함수 단위 테스트)를 충족하기 위함.
- simpy·plotly를 선택 의존성으로 처리(graceful fallback): simpy 미설치 시 결정론적 모델, plotly 미설치 시 streamlit 기본 차트. 전역 설치 금지 제약 하에서도 데모 즉시 동작 보장.
- 안정성 budget·kit당 비용은 데모 템플릿 값으로 두고 UI에서 조정 가능하게 함(실제 규제값 대체 명시).

### 변경된 파일
- `data/generate_demo_data.py` - 합성 데모 CSV 5종 생성 스크립트(시드 20260531)
- `data/*.csv` - lots/temperature_log/enrollment_log/accountability/sites
- `engine.py` - 5개 기능 순수 계산 로직 + IMP 마스터
- `app.py` - Streamlit 진입점(5개 탭, 디스클레이머 상단)
- `requirements.txt` - pinned 의존성(streamlit/pandas/numpy/scipy/simpy/plotly)
- `README.md` - 목적·기능·실행법·스키마·출처·검수 체크리스트
- `QA.md` - 검수 로그(PASS)

### 재현 방법
1. `python3 -m venv .venv && source .venv/bin/activate`
2. `pip install -r requirements.txt`
3. `python3 data/generate_demo_data.py` (data/ CSV 재생성, 선택)
4. `streamlit run app.py` (CSV 업로드 없이 데모 데이터로 즉시 동작)
