---
task_id: task-2072
type: context
scope: task
created: 2026-04-22
updated: 2026-04-22
status: in-progress
---

# 맥락 노트: task-2072

**task**: task-2072

---

## 결정 근거

### 3 Step Why 자문

**1st Why: "왜 이 설계가 필요한가?"**
→ QC 오탐이 반복되어 봇이 수동 .done 생성으로 우회하고 있음. QC 시스템 신뢰도 하락.

**2nd Why: "왜 파일 확장자 필터 + 경로 패턴 제외가 최선인가?"**
→ tdd_check은 .md/.json 확장자를 "구현 파일"로 분류하는 것이 근본 원인. 확장자 화이트리스트는 단순하고 부작용 없음.
→ git_evidence는 시스템이 자동 생성하는 파일 경로가 명확하므로 패턴 매칭으로 제외 가능.

**3rd Why: "왜 다른 대안보다 나은가?"**
→ 대안 1: .gitignore 연동 → git_evidence는 tracked 파일도 포함하므로 .gitignore만으로는 불충분
→ 대안 2: 별도 설정 파일 → 과도한 복잡도. 코드 내 상수가 유지보수 용이
→ 대안 3: task 파일 메타데이터 의존 → 이미 _is_non_code_task()가 있지만 "## 레벨" 섹션에만 의존하여 커버리지 부족

### tdd_check 수정 전략
- `_is_impl_file()` 헬퍼 추가: .md, .json, .txt, .yaml, .yml, .toml, .cfg, .ini, .csv 등 비코드 확장자 제외
- `_verify_by_check_files()`와 `_verify_by_audit_trail()`에서 impl_files 분류 시 비코드 파일 제외
- task 파일 키워드 감지도 추가 (코드 수정 없음, 문서만, DB 업데이트만, 분석만, 검증만)

### git_evidence 수정 전략
- SYSTEM_AUTO_FILES 상수 정의 (경로 prefix + glob 패턴)
- NO_UNCOMMITTED 검사에서 `git diff --name-only` 결과를 필터링

## 참조 자료

- tdd_check.py: `/home/jay/workspace/teams/shared/verifiers/tdd_check.py`
- git_evidence.py: `/home/jay/workspace/teams/shared/verifiers/git_evidence.py`
- qc_verify.py: `/home/jay/workspace/teams/shared/qc_verify.py`

## 주의사항

- 기존 코드 변경 task에서 tdd_check이 잘못 SKIP 되지 않도록 주의
- SYSTEM_AUTO_FILES 패턴이 실제 코드 파일을 제외하지 않도록 주의
- 기존 테스트 회귀 방지
