# modularity-check.py scan 오탐률 개선

## 목표
현재 scan이 3,146건 위반을 보고하지만 대부분 오탐(false positive).
실제 위반만 정확히 잡도록 개선.

## 현재 오탐 원인
1. **.worktrees/ 포함**: 이미 정리된 워크트리 잔존 파일도 스캔
2. **env fallback 패턴**: `os.environ.get("...", "6937032012")` → 정상인데 FAIL
3. **config fallback**: `cfg.get_constant("x") if available else "hardcoded"` → 정상인데 FAIL
4. **주석/docstring**: 설명에 값 언급한 것도 감지
5. **tests/ 오탐**: 테스트에서 의도적 하드코딩도 FAIL

## 개선 사항

### 1. 스캔 제외 경로 추가
- `.worktrees/` 디렉토리 제외
- `__pycache__/` 제외
- `.git/` 제외

### 2. 패턴별 컨텍스트 인식
- `os.environ.get("...", "값")` → SKIP (env fallback은 정상)
- `_cfg.get_constant("...") if ... else "값"` → SKIP (config fallback은 정상)
- `# 주석` 라인 → SKIP
- `"""docstring"""` 내 → SKIP

### 3. tests/ 처리
- tests/ 내 하드코딩 → WARNING (현재도 WARNING이지만 카운트에 포함)
- `--exclude-tests` 옵션 추가

### 4. 결과 요약 개선
- 실제 FAIL만 별도 카운트
- "오탐 제외 후 실제 위반: N건" 표시

## 수정 대상
- `/home/jay/workspace/tools/modularity-check.py`

## 검증
1. scan 실행 시 오탐이 대폭 감소
2. verify는 기존과 동일하게 동작
3. 실제 하드코딩을 추가하면 정확히 감지

## 산출물
1. modularity-check.py 수정
2. scan 결과 비교 (수정 전 vs 후)
3. 보고서