---
task_id: task-2031
type: plan
scope: task
created: 2026-04-20
updated: 2026-04-20
status: in-progress
---

# 계획서: task-2031

**task**: task-2031
**목표**: finish-task.sh에 git 커밋 검증 게이트를 추가하여, 코드 커밋 없이 .done이 생성되는 것을 방지
**승인**: 에이전트 미팅 2사이클 합의 (task-2030 사후 방지책)
**근거**: task-2030에서 봇이 코드 커밋 없이 .done 생성한 문제 발생

---

## 목표

1. finish-task.sh에 .done 생성 직전 3단계 git 검증 게이트 추가 (커밋 존재, uncommitted 변경 없음, 빈 커밋 방어)
2. non-code task (문서만/리서치만) 자동 SKIP 처리
3. qc_verify.py에 verify_git_evidence verifier 추가 (ALL_CHECKS 등록)

## 범위

### 포함
- scripts/finish-task.sh 수정
- teams/shared/verifiers/git_evidence.py 신규 생성
- teams/shared/qc_verify.py 수정 (import + ALL_CHECKS 등록)
- 기존 tests/test_dispatch.py PASS 유지

### 제외 (다음 페이즈 이후)
- 기존 test 파일 구조 변경 없음
- 다른 팀 코드 수정 없음

## 위임 계획

- finish-task.sh git 게이트: **불칸(백엔드, sonnet)** — bash 스크립트 수정
- git_evidence verifier: **불칸(백엔드, sonnet)** — Python verifier 구현
- qc_verify.py 등록: **불칸(백엔드, sonnet)** — import + ALL_CHECKS 수정
- 테스트 검증: **아르고스(테스터, sonnet)** — pytest 실행 + 시그니처 검증

## 검증 기준

- grep: `grep -rn "GIT-GATE\|git.*evidence\|COMMIT_COUNT" scripts/finish-task.sh` → 매치 존재
- grep: `grep -rn "git_evidence\|verify_git_evidence" teams/shared/` → 매치 존재
- pytest: `python3 -m pytest tests/test_dispatch.py -x` → PASS
