---
task_id: task-1837
type: checklist
scope: system
project: cross-verification-workflow
created: 2026-04-15
updated: 2026-04-20
status: approved
---

# 교차검증 풀스택 워크플로우 — 체크리스트 (Checklist)

> 프로젝트: 교차검증 풀스택 워크플로우 도입 + server.py 모듈 분할
> 작성일: 2026-04-15
> 목적: 뭘 끝냈고 뭐가 남았는지 공정표
> 문서 버전: v1.0

---

## Phase 1: 기반 인프라 (예상 1주)
> 상태: ✅ 완료 (2026-04-15, task-1858)

### 1.1 gate_instructions.py 생성 — ✅ 검증 완료 (task-1863: 4/4 PASS)
- [x] `prompts/gate_instructions.py` 파일 존재 (47줄, Lv.0~4)
- [x] Lv.0-1 게이트 지시 텍스트 작성
- [x] Lv.2 게이트 지시 텍스트 작성
- [x] Lv.3 게이트 지시 텍스트 작성
- [x] Lv.4 게이트 지시 텍스트 작성
- [x] team_prompts.py에서 gate_instructions import + 프롬프트 자동 삽입 (간접 연동, 설계 의도)
- [x] 레벨별 게이트 지시 프롬프트 포함 검증 — normal: "[G2 구현 게이트]" ✅, critical: "[G1 설계 게이트] 3문서 필수" ✅

### 1.2 affected_files 필드 추가 — ✅ 파싱 수정 완료, 겹침 감지 미확인
- [x] dispatch.py에 `_parse_affected_files()` 함수 존재 (line 766-809)
- [x] `_check_affected_files_overlap()` 겹침 감지 함수 존재 (line 812-850)
- [x] **파싱 버그 수정 완료**: 인라인 + 섹션 목록 + 섹션 인라인 3형식 모두 지원 (2026-04-16 테스트 확인)
- [x] 겹침 감지 실동작 확인 + Telegram 경고 발송 (task-1905, 2026-04-16)

### 1.3 batch_id 필드 추가 — ✅ 검증 완료 (task-1863: 4/4 PASS)
- [x] dispatch.py에 `--batch-id` CLI 옵션 존재
- [x] task-timers.json에 batch_id 필드 저장 로직 (`_patch_timer_metadata()`)
- [x] batch_id와 Task ID v2 관계: 독립 필드로 공존
- [x] `check_batch_completion()` 배치 완료 조회 함수 존재

### 1.4 레벨 자동 추정 경고 — ✅ 검증 완료 (task-1863: 3/3 PASS)
- [x] `_estimate_task_level()` 함수 존재 (5개→Lv.3, 3개→Lv.2)
- [x] 추정 > 수동 시 `[level-estimate]` 경고 출력
- [x] 시뮬레이션 검증: affected_files 5개 + normal → "Lv.3 이상 권장" 경고 ✅

### 1.5 셀프 디버깅 강화 — ✅ 검증 완료 (task-1863: 3/3 PASS)
- [x] QC-RULES.md 존재 (288줄, v3.0)
- [x] 팀장 프롬프트에 "QC 의무: 셀프 QC 8항목 체크" 포함
- [x] `_build_verification_section()`에서 coding 작업 시 QC 검증 섹션 자동 삽입

### 1.6 Phase 1 효과 측정 — ⬜ 미시작
- [ ] 1주 운영 후 데이터 수집
- [x] Phase 2 진행 여부 재판단 — Phase 2/4 이미 완료, 재판단 불필요

---

## Phase 2: server.py 분할 전반 (예상 2주)
> 상태: ✅ 완료 (모듈 8개 존재 + server.py 712줄 라우팅 테이블 리팩토링, task-1889/1896)

### 2.1~2.2 서비스 모듈 분할 — ✅ 전수 검증 완료 (task-1910, curl 39/44 PASS)
- [x] server_utils.py 공통 헬퍼 추출
- [x] blog_engine.py (612줄, 11함수) — curl PASS
- [x] blog_writer.py (336줄, 2함수) — curl PASS
- [x] wiki_engine.py (400줄, 15함수) — curl PASS
- [x] absorption.py (175줄, 3함수) — curl PASS
- [x] ads_integration.py (775줄, 17함수) — curl PASS (외부 API 인증 5건 제외)
- [x] system_monitor.py (773줄, 8함수) — curl PASS
- [x] 전체 스모크 테스트 39/44 PASS, 서비스 무중단 확인

---

## Phase 4: server.py 분할 후반 (예상 2주)
> 상태: ✅ 완료 (routes_get/post 추출 + server.py 712줄 라우팅 테이블 리팩토링, task-1889/1896)
> 주의: 원안 Phase 3(교차검증)을 Phase 4 이후로 재배치 (3인 분석 권고)

### 4.1~4.2 라우트 추출 + 코어 정리 — ✅ 전수 검증 완료 (task-1889/1896/1910)
- [x] routes_get.py (2,534줄, 77함수) — 119개 GET 엔드포인트 라우팅 테이블 연결
- [x] routes_post.py (2,187줄, 37함수) — POST/PUT/DELETE 라우팅 테이블 연결
- [x] system_monitor.py (773줄, 8함수) — GPU/서버 상태/인증/All Stop
- [x] server.py 코어 정리 (713줄): HTTP 초기화 + 라우팅 테이블 + CORS + 모듈 로딩
- [x] 라우팅 테이블 최종 정리 (GET/POST/PUT/DELETE EXACT + PREFIX)
- [x] 무중단 전환 완료, 전체 통합 curl 44건 테스트

---

## Phase 3: 교차검증 파이프라인 (예상 1주)
> 상태: 🚀 진행 시작 (2026-04-15 핵미사일 승인)
> Phase 1 ✅ + Phase 2/4 ✅ 완료 후 진입

### 3.1 사전 리서치 (CONDITIONAL 조건 해소) — ✅ 완료 (task-1860)
- [x] Codex API 키 상태 확인 — CONDITIONAL, 재인증 완료 (2026-04-15)
- [x] Codex CLI 모델 확인 — gpt-5.2-codex (프로젝트: gpt-5.4-mini)
- [x] Gemini Code Assist GitHub App 설치 완료 (2026-04-15, All repositories)
- [x] Gemini Code Assist 무료 tier 확인 — private repo 지원, 일 33건 무료
- [x] Gemini 리뷰 판정 기준 — 계획서 2.5절에 MEDIUM 3분류 추가 (2026-04-16 미팅 합의)
- [x] .gemini/config.yaml 예외 규칙 파일 생성 (task-1862_c)
- [x] worktree finish → PR 생성 자동화 — 이미 구현됨 (--action pr)
- [x] DIRECT-WORKFLOW.md에 Lv.2+ PR 방식 전환 (task-1862_c)
- [x] HIGH 자동 수정 루프 — ✅ (3.6 섹션에서 구현, task-1837_3.6)
- [x] MEDIUM 자동 분류 로직 — ✅ (3.6 섹션에서 구현, task-1837_3.6, Week 1-2 수집 모드)
  - [ ] 기각 패턴 학습: 3회 반복 기각 → .gemini/config.yaml 예외 자동 등록
- [x] 비용 산정 — Gemini 무료, Codex Plus $20/월 (task-1860)
- [x] codex-plugin-cc 설치 완료 (task-1848)

### 3.2 sanitize 게이트 구축 — ✅ 검증 완료 (task-1864: 4/4 PASS)
- [x] `utils/sanitize_gate.py` 존재 (sanitize_text, sanitize_file_content, should_sanitize, generate_sanitize_report)
- [x] PII 마스킹 자동화: 6종 (rrn, apikey, phone, email, account, policy)
  - [x] API 키 패턴 마스킹: `sk-1234567890abcdef` → `[APIKEY-REDACTED]`
  - [x] 고객 데이터(주민번호, 전화번호, 이메일) 마스킹
  - [x] 보험 증권번호, 계좌번호 마스킹
- [x] gate_instructions.py Lv.3 G1에 "외부 AI 호출 전 sanitize 게이트 필수" 포함
- [x] pytest 16건 전체 통과 (0.08s)

### 3.3 Codex 통합 — ✅ 검증 완료 (task-1864: 6/6 PASS)
- [x] Codex CLI 0.106.0 정상 + ChatGPT 인증 완료 (2026-04-15)
- [x] `scripts/codex_gate_check.py` 존재 (231행, CLI+라이브러리 양면)
  - [x] 입력: 설계 문서 + affected_files + 기존 코드
  - [x] 출력 스키마: `{pass, risks, suggestions, source, error}`
  - [x] 판정: severity:critical 0개 → PASS
  - [x] Codex CLI 호출: `subprocess.run(["codex", "exec", prompt], timeout=120)`
- [x] gate_instructions.py Lv.3+ G1에 Codex 트리거 (`should_run_codex_check(level)`: level >= 3)
- [x] 마아트 폴백: 5가지 장애 시나리오 (returncode!=0, JSON 파싱 실패, Timeout, FileNotFound, 기타)
- [x] pytest 22건 전체 통과 (0.11s)

### 3.4 Gemini 통합 — ✅ 검증 완료 (task-1864: 7/7 PASS)
- [x] Gemini Code Assist GitHub App 설치 (All repositories)
- [x] DIRECT-WORKFLOW.md Step 4.5: Lv.2+ `--action pr` 전환
- [x] worktree_manager.py severity 3분류:
  - [x] high: severity:high/critical/🔴/HIGH/CRITICAL
  - [x] medium: severity:medium/⚠️/MEDIUM/WARNING
  - [x] low: 기본값
- [x] `gemini_verdict` 필드: PASS/BLOCKED/TIMEOUT
- [x] `_check_rate_limit()` + gemini_rate_tracker.json (일 33건 한도)
- [x] `.gemini/config.yaml` 예외 규칙 (auto_review, excluded_paths 6개, suppressed_patterns 4개)
- [x] gate_instructions.py G3 Lv.2/3/4 모두 `--action pr` 반영
- [x] severity 분류 테스트: 12개 샘플 전체 정상 (high 5, medium 4, low 3)

### 3.5 3 Step Why 구현 — ✅ 완료 (task-1837_3.5)
- [x] 1st Why + 2nd Why + 3rd Why + A-B-C 일관성 — team_prompts + gate_instructions + QC-RULES

### 3.6 MEDIUM 자동 분류 + HIGH 자동 수정 — ✅ 코드 완료 (task-1837_3.6)
- [x] HIGH 자동 수정 루프 + MEDIUM 3분류 구현
  - [ ] Week 3-4: 패턴 분석 → 규칙 확정 (운영 데이터 축적 후)
  - [ ] Week 5+: 자동 분류 가동
  - [ ] 기각 패턴 학습

### 3.7 CodeGraph 도입 파일럿 — ✅ 검증 완료 (task-1837_3.7, task-1891)
- [x] AST 스크립트 개발 (47/47 PASS) + dispatch/worktree/codex 통합
- [x] 벤치마크: AST 자체 스크립트 단독 도입 권고 (code-review-graph 대비 우세)
- [ ] 비교 테스트 5건 (정확도/속도/false negative)
- [ ] 워크플로우 통합 프로토타입 (affected_files 자동 제안)
- [ ] 2주 후 비교 보고서 → 승자 본 도입
- 미팅 기록: `memory/meetings/2026-04-16-codegraph-adoption.md`

---

## Phase 5: 통합 테스트 + 효과 측정 (예상 1주)
> 상태: ✅ Phase 5.1~5.4 완료 (5.3 실제 수치 산출은 운영 데이터 축적 후)

### 5.1 tests/integration/ 스위트 확장 — ✅ 완료 (task-1837_5.1, 104개 테스트)
- [x] 8개 신규 통합 테스트 파일 추가 (총 10개)
- [x] test_gate_instructions.py, test_affected_files_overlap.py, test_batch_completion.py
- [x] test_3docs_lifecycle.py, test_sanitize_gate.py, test_codex_gate.py
- [x] test_gemini_review.py, test_g3_verifier.py
- [x] 목표 10개 달성

### 5.2 Graduated Auto-Gate 3-Layer 구현 — ✅ 완료 (task-1837_5.2)
- [x] auto_merge.py L1 Batch Watchdog (BatchWatchdog 클래스, 1분 cron)
- [x] auto_merge.py L2 Pre-flight Check (PreflightChecker 클래스, git merge --no-commit)
- [x] L3 Integration Test 자동 실행 (IntegrationRunner 클래스)
- [x] systemd timer 등록 (auto-merge.timer + auto-merge.service)
- 검증 시나리오: 3팀 병렬 완료 → L1 감지 → L2 충돌 없음 → L3 테스트 PASS → 자동 완료 보고

### 5.3 효과 측정 — ✅ 프레임워크 완료 (task-1837_5.3), 데이터 수집 운영 중
- [x] 7개 지표 정의 (metrics-framework.md)
- [x] 수집 스크립트 (collect_metrics.py) 구현
- [ ] 1주 운영 데이터 축적 후 실제 수치 산출
- [ ] 비용/ROI 산정

### 5.4 최종 보고서 — ✅ 완료 (task-1837_5.4)
- [x] 5 Phase 전체 결과 종합 보고서 (cross-verification-final-report.md)
- [x] 3인 분석 CONDITIONAL 조건 해소 여부 확인
- [x] 향후 운영 가이드 (gate-system-ops-guide.md)
- [x] 아누 가이드 v1.5 업데이트 (보리스 게이트 + 3문서 + 보고서≠구현 방지 + L1 스모크)

---

## 횡단 항목 (Phase 독립)

### 검증 게이트 — verification-before-completion (2026-04-16 전원합의)
- [x] 3문서 스키마(3docs-schema.md)에 검증 게이트 규칙 추가 (task-1898)
- [x] QC-RULES.md에 L1/L2 검증 절차 통합 — 항목 13 L1 스모크테스트 추가 (task-1906)
- [x] DIRECT-WORKFLOW.md에 L1 자가 검증 체크리스트 추가 (task-1906)
  - [x] 스모크테스트 정의 명시: "실제 UI에서 사람처럼 사용하여 동작 확인"
    - 대시보드: 브라우저에서 탭/버튼 클릭 → 기대 결과
    - API: curl 실제 호출 → 응답 필드 확인
    - 프로세스: 실제 실행 → 결과 확인
    - 서버 재시작 필수 (코드 수정 후)
  - [x] 프론트 작업 시 스크린샷 첨부 의무화
- [x] 체크박스 [x] 기준 변경: "코드 작성 완료" → "L1+L2 검증 통과" (task-1906)
- [x] 재시도 상한 3회 + 초과 시 에스컬레이션 로직 구현 (task-1907, 2026-04-16)
- 검증 시나리오: 팀이 .done 제출 → L2 검증에서 FAIL → 재작업 → L1 재수행 → 재제출 → PASS → [x]

### 신호등 체계 구현 추적
- [x] 신호등 스펙 문서 작성 (`memory/specs/traffic-light-spec.md`) — 2026-04-15
- [x] 팀원 대기(노란) 상태 구현 (task-1854: data_loader.py + utils.js)
- [x] borrowed_tasks 봇 차용 로직 구현 + 검증 (task-1849, 런타임 테스트 완료)
- [x] 보라색 도트 시각 구분 (차용 task = bg-violet-400)
- [x] 신호등 체계 전수 검증 — Playwright 스크린샷 확인 (task-1912)
- 검증 시나리오: 팀 작업 시작 → 팀장 초록, 팀원 노란 → subagent 호출 → 해당 팀원 초록 → 완료 → 전원 회색

### 3문서 2유형 체계 구현 (2026-04-16 미팅 합의, task-1872)
> 전체 변경: 12개 파일, ~327 라인
> 미팅 기록: `memory/meetings/2026-04-16-3docs-two-types.md`

#### Phase 1: 스키마 확정 (선행 필수) — ✅ 완료 (task-1872_6.1)
- [x] 3docs-schema.md에 `scope` 필드 추가 (필수, 허용값: system | task)
- [x] scope별 필수/선택 필드 매트릭스 추가
- [x] 작업 3문서 경로 규약: `memory/plans/tasks/{task_id}/`
- [x] 아카이브 규약: 완료 후 `tasks/archived/{task_id}/`로 이동, `archived_at` 자동 추가, 90일 보존
- 예상: 3docs-schema.md +40 라인

#### Phase 2: 템플릿 + dispatch 자동 생성 — ✅ 완료 (task-1872_6.2)
- [x] `prompts/templates/task-docs/` 디렉토리 + 3파일 신규
  - [x] plan.template.md (~30줄)
  - [x] context-notes.template.md (~25줄)
  - [x] checklist.template.md (~20줄)
- [x] dispatch.py에 `_create_task_docs(task_id, level)` 함수 추가 (+45줄)
  - [x] 조건: `level >= 3`일 때만 실행
  - [x] 삽입 위치: `delegate_to_team()` 내, cokacdir 호출 직전
  - [x] YAML frontmatter 자동 채움 (task_id, type, scope=task, created, status=draft)
  - [x] 이미 존재하면 스킵 (덮어쓰기 금지)
  - [x] 보안: task_id 정규식 검증 + path traversal 방어 + 권한 0o755

#### Phase 3: prompts + workflow 연동 — ✅ 완료 (task-1872_6.3)
- [x] team_prompts.py: Lv.3+ 프롬프트에 "## 작업 3문서" 섹션 자동 삽입 (+20줄)
  - [x] 경로, 각 파일 역할, "3문서 미완성 시 .done 불가" 경고 포함
- [x] DIRECT-WORKFLOW.md: Step 2.3 "작업 3문서 초기화" 삽입 (+12줄)
  - [x] plan.md 초안 작성, context-notes.md 기록 시작, checklist.md Phase별 항목 생성

#### Phase 4: QC verifier — ✅ 완료 (task-1872_6.4)
- [x] `three_docs_check.py` 신규 (~80줄)
  - [x] TD-1 FAIL: plan/context/checklist 중 하나라도 미존재
  - [x] TD-2 FAIL: YAML frontmatter 없거나 필수 필드 누락
  - [x] TD-3 FAIL: type 값이 허용값 외
  - [x] TD-4 FAIL: scope:task인데 checklist에 `[ ]` 잔존 (미완료 항목)
  - [x] TD-5 FAIL: 0바이트 파일 존재
  - [x] TD-W1 WARN: status:draft인 채 완료 시도
  - [x] TD-W2 WARN: updated 날짜 30일+ 과거
  - [x] TD-W3 WARN: 3문서 간 task_id 불일치
- [x] qc_verify.py에 three_docs_check 등록 (+15줄), level>=3 시 MANDATORY

#### Phase 5: 검증 연동 — ✅ 완료 (task-1872_6.5)
- [x] verification-before-completion: 3문서 디렉토리 존재 + 3파일 존재 + checklist 전체 [x] + YAML 유효성 (+25줄)
- [x] nuclear-approval: scope:task 경로 확인 + checklist 전체 [x] + status=done (+10줄)
- [x] gate_instructions.py: Lv.3+ 게이트 지시에 3문서 경로 참조 추가 (+5줄)

#### Phase 6: 테스트 (벨레스 매트릭스 기준, 20케이스) — ✅ 완료 (task-1872_6.6)
- [x] P1: dispatch 디렉토리 생성 3건 (신규/중복/에러)
- [x] P1: team_prompts 경로 삽입 2건 (Lv3+/Lv2)
- [x] P1: three_docs_check FAIL 5건 (TD-1~TD-5)
- [x] P2: three_docs_check WARN 3건 (TD-W1~W3)
- [x] P2: 엣지케이스 5건 (깨진 YAML, 빈 파일, 심볼릭 링크 등)
- [x] P3: 아카이브 이동 2건

### 와치독 안정화 — ✅ 완료
- [x] Task ID 포맷 v2 준수: +N 재시도 표기 (task-1867)
- [x] .done 경합 버그 수정: 3중 방어 로직 (task-1870)
  - .done 파일 존재 시 스킵
  - status 재확인
  - end_time 존재 시 스킵

### Task ID 포맷 v2 통일 — ✅ 완료
- [x] generate_task_id() .1 접미사 제거 (task-1853)
- [x] task-timer.py 포맷 v2 파싱 지원 (task-1856)
- [x] .task-counter 이상치 방지 (task-1853)
- [x] 와치독 재위임 +N 재시도 표기 (task-1867)

### 인프라 정비 — ✅ 완료
- [x] 반복 스케줄 6개 → 8팀장 이관 (아누 부하 분산)
- [x] weekly-report.py 기간 수정: now-7일 → 전주 월~일 (task-1868)
- [x] codex-plugin-cc 설치 + ChatGPT 인증 (task-1848, 2026-04-15)
- [x] 테스트 실패 10건 → 0건 (task-1852)

### 한정승인과 게이트 시스템 상호작용 정의 — ✅ 완료 (task-1898)
- [x] "나→아누 한정승인" 시 게이트 통과 주체: 아누
- [x] "X팀 한정승인" 시 게이트 통과 주체: 팀장
- [x] 한정승인 작업의 게이트 레벨 결정 규칙 문서화

### dispatch.py 직렬화 lock — ✅ 운영 규칙으로 처리 (task-1908)
- [x] 구현 방식 결정: 운영 규칙 (겹침 경고 수신 시 두 번째 작업 보류)
- [x] DIRECT-WORKFLOW.md에 규칙 명시
- [x] server.py 분할 완료로 lock 필요성 감소

### 봇 Lazy Start 대응 — ✅ 완료 (task-1971, 2026-04-20)
- [x] `_check_bot_process()` 함수: ps aux로 봇 프로세스 존재 확인
- [x] `_wake_up_bot()` 함수: 빈 ping 메시지 전송 + 세션 시작 대기
- [x] dispatch() 함수에 wake-up 로직 삽입 (cokacdir --cron 호출 직전)
- [x] _dispatch_composite() 함수에도 동일 로직 삽입
- [x] WARNING 로그 출력: `[lazy-start]` 프리픽스
- [x] 기존 테스트 전체 PASS 확인

### Cycle 4 기록 보완 — ✅ 완료 (task-1908)
- [x] context-notes.md에 Cycle 4 내용 복원
- [x] "총 사이클 수" 정정
- [x] 보리스 워크플로우 원칙 준수 확인

### 로키 역할 과부하 검토 — ✅ 완료 (task-1908)
- [x] 로키 현재 역할 목록화: 보안팀장 + DA + G2 Lv.4 레드팀 + FAIL 보조
- [x] 역할 충돌 여부 검토 (task-1908, context-notes에 기록)
- [x] 필요시 역할 분리 — 현 상태 유지 권고 (task-1908)

### 7주 로드맵 팀별 리소스 배분
- [x] Phase 1: 아누 직접 + dev팀 1개 (dispatch.py 수정)
- [x] Phase 2: dev1~dev4 (서비스 모듈 추출)
- [x] Phase 4: dev1/dev2 (라우트 추출, 단독 작업)
- [x] Phase 3: 인프라팀 + 아누 (외부 AI 연동)
- [x] Phase 5: 전팀 (통합 테스트 + 효과 측정)

---

## 3인 분석 CONDITIONAL 조건 해소 추적

### 아누 CONDITIONAL (8건)
- [x] ~~Cycle 4 복원~~ → 횡단 항목에서 처리
- [x] ~~외부 AI 사전 리서치~~ → Phase 3.1에서 처리
- [x] ~~Phase 1 선행 후 재검증~~ → Phase 1.6에서 처리
- [x] ~~모듈 소유팀 재배정~~ → 계획서에서 인프라팀+dev팀 합동으로 변경 완료
- [x] ~~PR 플로우 충돌~~ → Phase 3.4에서 처리
- [x] ~~한정승인 게이트 상호작용~~ → 횡단 항목에서 처리
- [x] ~~dispatch 직렬화 lock~~ → 횡단 항목에서 처리
- [x] ~~리소스 배분~~ → 횡단 항목에서 처리

### 비너스 CONDITIONAL (8건)
- [x] ~~sanitize 게이트~~ → Phase 3.2에서 처리
- [x] ~~server.py 분할 선행~~ → Phase 순서 재배치로 반영 완료
- [x] ~~비용/ROI 산정~~ → Phase 5.3에서 처리
- [x] ~~Lv.3-4 한정 적용~~ → 게이트 매트릭스에 반영 완료 (Lv.0-2는 외부 AI 미사용)
- [x] ~~Auto-Gate와 Gemini 인터페이스~~ → Phase 3.4에서 처리
- [x] ~~인지 편향 차단 과대평가~~ → 맥락노트 2.8에 기록, Phase 5.3 효과 측정으로 실증
- [x] ~~Rate Limit~~ → Phase 3.4에서 처리
- [x] ~~UI/디자인 교차검증 공백~~ → Phase 5 이후 별도 검토 (우선순위 낮음)

### 아틀라스 CONDITIONAL (6건)
- [x] ~~API 키 정상화~~ → Phase 3.3에서 처리
- [x] ~~검증 프로토콜 명문화~~ → Phase 3.3에서 처리
- [x] ~~모델 버전 업데이트~~ → Phase 3.1에서 처리
- [x] ~~역할 모호성 해소~~ → 계획서 6.3에서 역할 정의 완료
- [x] ~~Codex vs Claude Code 도구 차이~~ → 맥락노트에 기록 (Codex는 정적 텍스트 분석 수준)
- [x] ~~server.py 분할과 시간 충돌~~ → Phase 순서 재배치로 해결 (분할 후 교차검증)

---

## 마일스톤 및 게이트 포인트

| 마일스톤 | 게이트 조건 | 판정 주체 |
|---------|-----------|---------|
| Phase 1 완료 | 효과 측정 4개 지표 확인 | 제이회장님 |
| Phase 2 완료 | 서비스 무중단 + 전체 스모크 테스트 PASS | 아누 + 제이회장님 |
| Phase 4 완료 | server.py 9개 모듈 완전 분리 + 통합 테스트 | 아누 + 제이회장님 |
| Phase 3 완료 | Gemini/Codex 연동 + sanitize 게이트 동작 | 아누 + 제이회장님 |
| Phase 5 완료 | 효과 측정 보고서 + ROI 산정 | 제이회장님 최종 승인 |

---

## 핵미사일 발사코드 체크리스트

3문서 작성 완료 후 핵미사일 발사코드 프로세스:
- [x] Context Purge: 현재 대화 종료 ✅
- [x] Checkpointing: 3문서 영속화 ✅
- [x] 제이회장님 3문서 확인 ✅
- [x] DON'T IMPLEMENT YET 해제: **2026-04-15 제이회장님 승인 완료** ✅
- [x] Phase 1 완료: task-1858 ✅
- [x] Phase 2/4 완료: task-1838 시리즈 ✅
- [x] Phase 3 핵심 완료

---

---

## 보고서≠구현 방지 (task-1874)

- [x] Tier 1-A: DIRECT-WORKFLOW에 Edit 직후 grep 검증 의무화 (task-1881, 2026-04-16)
- [x] Tier 1-B: 보고서 템플릿에 planned/verified 분리 (task-1881, 2026-04-16)
- [x] Tier 2-A: Large-File Protocol (2000줄 임계값) (task-1882, 2026-04-16)
- [x] Tier 2-B: qc_verify.py 심볼 존재 검증기 (task-1882, 2026-04-16)
- [x] Tier 2-C: File-Touch Ratio 메트릭 (task-1882, 2026-04-16)
- [x] Tier 3-A: G3 독립 검증 에이전트 (task-1883, 2026-04-16)

---

## dispatch.py 봇 lazy start 대응 (task-1971)

- [x] `_check_bot_process()` — pgrep 기반 봇 프로세스 존재 확인 함수 (2026-04-20)
- [x] `_wake_up_bot()` — wake-up ping 메시지 전송 + 25초 polling 대기 함수 (2026-04-20)
- [x] `dispatch()` 메인 함수에 lazy-start 대응 로직 통합 (2026-04-20)
- [x] `_dispatch_composite()` 컴포지트 함수에 lazy-start 대응 로직 통합 (2026-04-20)
- [x] WARNING 로그 출력 (`[lazy-start]` 접두사) (2026-04-20)
- [x] wake-up 실패 시 딜레이 확대 (10초→30초) (2026-04-20)
- [x] pytest 전체 PASS 확인 (179 passed) (2026-04-20)
- [x] 시스템3문서 업데이트 — plan.md, context-notes.md, checklist.md (2026-04-20)

### Gemini PR 리뷰 강제 적용 — ✅ 완료 (task-1970, 2026-04-20)
- [x] 파서 패턴 수정: `![high](URL)`, `![critical](URL)`, `![medium](URL)` 감지 + SVG URL 패턴 추가 (2026-04-20)
- [x] Gemini 타임아웃 시 머지 차단: `blocked_by_timeout` 상태 도입 (2026-04-20)
- [x] QC verifier 신설: `gemini_review_check.py` — 보고서 vs 실제 severity 교차검증 (2026-04-20)
- [x] g3_independent_verifier에 `check_gemini_review` 함수 추가 (2026-04-20)
- [x] collect_mode 기본값 `True→False` 변경 — 자동 수정 루프 기본 활성화 (2026-04-20)
- [x] DIRECT-WORKFLOW.md 규칙 강화: 기각 사유 필수 + "사유 없는 기각은 QC FAIL" (2026-04-20)
- [x] 테스트 20건 신규 + 기존 35건 전체 PASS (2026-04-20)

### .done 자동 검증 게이트 — ✅ 완료 (task-1972, 2026-04-20)
- [x] signature_check verifier 신규: task 파일 `## 완료 시그니처` grep/pytest 패턴 자동 실행 (2026-04-20)
- [x] verify_done.py 소비자 게이트: .done 검증 → .done.rejected 생성 (2026-04-20)
- [x] qc_verify.py ALL_CHECKS에 signature_check 등록 (2026-04-20)
- [x] Lv.1-2는 [grep]만, Lv.3+는 [grep]+[pytest] 차등 검증 (2026-04-20)
- [x] 하위 호환: 시그니처 없는 기존 task → SKIP (2026-04-20)
- [x] 테스트 15건 전체 PASS + 자기 시그니처 검증 4/4 PASS (2026-04-20)

### Chrome DevTools MCP 통합 — ✅ 완료 (task-1984, 2026-04-20)
- [x] `~/.claude/settings.json`에 chrome-devtools-mcp 서버 headless 모드 추가 (2026-04-20)
- [x] 외부 데이터 전송 차단: `--usageStatistics false`, `--performanceCrux false` (2026-04-20)
- [x] 기존 Playwright MCP와 공존 확인 (2026-04-20)
- [x] DIRECT-WORKFLOW.md Step 4.8에 6개 핵심 도구 안내 추가 (2026-04-20)
- [x] browser_verify verifier 신설 + qc_verify.py 등록 (task-2021, 2026-04-20)
- [x] 프론트엔드 변경 자동 감지 + 증거 기반 판정 로직 (task-2021, 2026-04-20)
- [x] QC-RULES.md verifier 목록에 browser_verify 추가 (task-2021, 2026-04-20)

*이 체크리스트는 Agent 미팅 5사이클 전체 합의사항 + 3인 분석 22개 CONDITIONAL 조건을 빠짐없이 추적 항목으로 변환한 공정표이다. DON'T IMPLEMENT YET — 핵미사일 발사코드(제이회장님 승인) 전까지 구현 금지.*
