# task-2205 보고서: 위임 완결성 4대 규칙 자동화 구현

## S - Situation
dispatch.py로 작업 위임 시 cokacdir --cron 전송 실패(봇 미수신 5회), PR 머지 후 빌드 미실행으로 프로덕션 미반영, L1 스모크테스트 대부분 SKIP 처리 등 위임 완결성 문제가 반복 발생하고 있었다.

## C - Complication
이 문제들은 개별 실수가 아니라 시스템적 방어 장치 부재에서 기인한다. 전송 실패 시 재시도 로직 없음, 빌드 단계 누락, SKIP 허용이 구조적 원인이다.

## Q - Question
dispatch.py와 DIRECT-WORKFLOW.md에 자동화 장치를 추가하여 위임 완결성 4대 규칙을 구조적으로 방지할 수 있는가?

## A - Answer
4개 항목 모두 구현 완료. dispatch.py에 봇별 key fallback + 프로젝트 맵 자동 참조 2건, DIRECT-WORKFLOW.md에 빌드 검증 필수화 + L1 SKIP 금지 2건 반영.

## 구현 상세

### 1. dispatch.py: 봇별 key fallback 자동 전송
- `_retry_with_fallback_key()` 함수 추가 (line 2766)
- cokacdir --cron 실패 시 BOT_KEYS에서 대체 키를 순회하며 재전송
- busy 봇 자동 제외, 첫 성공 시 즉시 반환
- dispatch() 함수의 else 블록(line 3464)에서 호출

### 2. DIRECT-WORKFLOW.md: 빌드+배포 단계 추가
- Step 4.7.1 `[빌드 검증]` 신설 (line 248)
- InsuRo: `npm run build`, Python: `py_compile` 등 프로젝트별 빌드 명령 명시
- 빌드 실패 상태로 .done 생성 금지 규칙 추가

### 3. DIRECT-WORKFLOW.md: L1 스모크테스트 SKIP 금지
- Step 4.8에 SKIP 금지 규칙 삽입 (line 268)
- "미통과" 표기 의무화, 스크린샷 없는 "확인 완료" = QC FAIL
- 모든 항목 미통과 시 .done 생성 금지 → 아누 보고

### 4. dispatch.py: 프로젝트 구조 맵 자동 참조
- `_inject_project_map_context()` 함수 추가 (line 1616)
- project-maps/{project_id}.md에서 routes/navigation/nav/sidebar/menu/layout 패턴 파일 자동 추출
- dispatch() 내 `_auto_inject_affected_files` 직후 호출 (line 3101)

## 수정 파일 목록
- `/home/jay/workspace/dispatch.py` — _retry_with_fallback_key(), _inject_project_map_context() 추가 + dispatch() 수정
- `/home/jay/workspace/prompts/DIRECT-WORKFLOW.md` — Step 4.7.1 빌드 검증 + Step 4.8 SKIP 금지

## 검증 결과
- dispatch.py 문법 검증: `py_compile` PASS
- _retry_with_fallback_key 함수 존재: grep 확인 (4곳 참조)
- _inject_project_map_context 함수 존재: grep 확인 (3곳 참조)
- DIRECT-WORKFLOW.md 빌드 검증 단계: grep 확인 (line 248)
- DIRECT-WORKFLOW.md SKIP 금지: grep 확인 (line 268)
- Pyright 경고: 기존 import 해석 문제만 검출, 신규 변경 관련 경고 0건

## 머지 판단
- **머지 필요**: Yes
- **브랜치**: task/task-2205-dev3
- **워크트리 경로**: /home/jay/workspace/.worktrees/task-2205-dev3
- **머지 의견**: 시스템 파일 2개 수정, 문법 검증 통과, 기존 로직에 영향 없는 추가 로직만 포함. 안전하게 머지 가능.

## 모델 사용 기록
- 팀장: Opus (설계/검증)
- 팀원 2명: Sonnet (dispatch.py 수정 + DIRECT-WORKFLOW.md 수정, 병렬 실행)
