# QA 검수 로그 — ObesityWithdrawnRevive-Kor

- **빌드 일시:** 2026-06-05
- **빌드 위치:** `projects/2026-06-05-2-obesity-withdrawn-revive-kor/`
- **환경:** macOS (Darwin), Python 3
- **제약 준수:** 외부 네트워크 호출 없음 · 전역 패키지 설치 없음 ·
  `main.py` 는 표준 라이브러리(argparse/json/os/sys)만 사용

## 검수 항목 및 결과

| # | 검수 항목 | 명령 | 결과 |
|---|-----------|------|------|
| 1 | main.py 구문 파싱 | `python3 -c "import ast; ast.parse(open('main.py').read())"` | ✅ OK |
| 2 | app.py 구문 파싱 | `python3 -c "import ast; ast.parse(open('app.py').read())"` | ✅ OK |
| 3 | 데이터 JSON 로드 | `json.load(...)` → 14 drugs / 8 harm / 6 levers / 5 classes | ✅ OK |
| 4 | `--help` 동작 | `python3 main.py --help` | ✅ OK (옵션 전부 표시 + 디스클레이머 epilog) |
| 5 | 상위 가설 ranking | `python3 main.py --top 8` | ✅ OK (35개 중 상위 8 출력, 점수 내림차순) |
| 6 | 레지스트리 목록 | `python3 main.py --list` | ✅ OK (14종 약물·상태·표적·harm) |
| 7 | 통계 요약 | `python3 main.py --summary` | ✅ OK (상태별/harm별 빈도 + 출처) |
| 8 | 약물별 조회 | `python3 main.py --drug rimonabant` | ✅ OK (harm map + 3 가설) |
| 9 | 상속위험: 중추 CB1 | `--inherit-risk "central CB1 inverse agonist"` | ✅ OK → HIGH (central) |
| 10 | 상속위험: 말초 CB1 | `--inherit-risk "peripherally restricted CB1 agonist"` | ✅ OK → MITIGATED |
| 11 | 상속위험: 세로토닌 | `--inherit-risk "serotonergic 5-HT agonist next-gen"` | ✅ OK → HIGH (mechanism-intrinsic) |
| 12 | 기본 실행 | `python3 main.py` (옵션 없음) | ✅ OK (요약 + 상위 5 가설, exit 0) |
| 13 | main.py 의존성 격리 | import 검사 | ✅ OK (streamlit/networkx import 없음; 표준 라이브러리만으로 핵심 로직 동작) |

## 의존성 환경 확인

- 본 환경에는 streamlit / networkx 가 우연히 설치되어 있으나,
  **`main.py` 는 둘 다 import 하지 않으며** 표준 라이브러리만으로 완전히 동작함을 확인.
- `app.py` 만 streamlit 의존. `networkx` 는 try/except 로 감싸 미설치 시 graph 메트릭만
  생략하고 나머지 UI 는 정상 동작하도록 degrade.
- 제약대로 패키지 설치는 수행하지 않음.

## 의도 부합 점검

- 요청한 구성요소 5개 핵심 기능(레지스트리 · harm 온톨로지 · de-risking 가설 ·
  상속 추적 · ranking/검증설계) 모두 구현.
- 요청한 파일(main.py, app.py, data/, README.md, QA.md) 모두 생성.
- 요청한 CLI 옵션(`--top N`, `--drug NAME`, `--inherit-risk`, `--summary`, `--list`)
  모두 구현 + argparse 사용.
- 디스클레이머: CLI 배너 + `--help` epilog + README + Streamlit 경고에 표시.
- 데이터: 실제 철수/중단 항비만제 14종 curated (fenfluramine, dexfenfluramine,
  sibutramine, rimonabant, taranabant, lorcaserin, phenylpropanolamine, aminorex,
  DNP, phenformin, beloranib(MetAP2 혈전), tesofensine, ephedra, MTP-class).
  역사적 사실 기반, 점수·레버 매핑은 합성 데모로 명시.

## 결론

- 검수 13개 항목 **전부 ✅ PASS**. FAILED 항목 없음.
- 재시도 불필요 (1회차 전부 통과).
