---
task_id: task-2028
type: context
scope: task
created: 2026-04-20
updated: 2026-04-20
status: in-progress
---

# 맥락 노트: task-2028

**task**: task-2028

---

## 결정 근거

### C안 채택: finish-task.sh가 유일한 완료 경로
- 에이전트 미팅 3사이클 합의에서 ".done 생성 게이트 강제화"가 single point of leverage로 선정
- 현재 문제: qc_verify.py --gate가 .done을 생성하고, finish-task.sh도 .done을 생성하는 이중 경로
- QC와 머지 순서가 강제되지 않아 워크트리 소실 + QC 헛돌기 발생

### 3 Step Why

1st Why: "왜 이 설계가 필요한가?"
→ 현재 .done/QC/머지 순서 불일치로 워크트리 소실 + QC 헛돌기 문제가 반복되고 있음. 전수조사 적발률 34%의 근본 원인 중 하나.

2nd Why: "왜 finish-task.sh 일원화가 최선의 접근인가?"
→ Single point of leverage: 완료 경로를 하나로 통일하면 순서 강제가 자연스럽게 달성됨. qc_verify.py에서 .done 생성을 제거하고, finish-task.sh가 QC->머지->.done 순서를 강제하면 순서 역전이 구조적으로 불가능해짐.

3rd Why: "왜 이 접근이 다른 대안보다 나은가?"
→ 대안 A(소비자 게이트: 아누 측 검증): 사후 검증이라 워크트리 소실은 방지 못함.
→ 대안 B(CI/CD 파이프라인): 현재 환경에서 HTTP 헬스체크 기반 롤백은 부적합.
→ C안은 기존 코드 수십 줄 변경으로 전 시스템에 적용 가능하고, 하위 호환도 유지 가능.

## 참조 자료

- 에이전트 미팅 기록: `memory/research/agent-meeting-quality-crisis.md`
- 기존 finish-task.sh: `scripts/finish-task.sh`
- qc_verify.py --gate 로직: `teams/shared/qc_verify.py:539-602`
- DIRECT-WORKFLOW.md: `prompts/DIRECT-WORKFLOW.md`

## 주의사항

- 기존 봇 동작을 깨지 않도록 하위 호환 유지 필수
- 신규 dispatch부터 적용, 진행 중 작업은 구버전으로 완료
- 기존 pytest 전체 PASS 필수
- team_short, project_path 미지정 시 fallback 로직 필요
