---
name: codex-review-wrong-checkout-gotcha
description: Codex/서브에이전트 반증리뷰가 브랜치 아닌 base 체크아웃(메인 worktree) 파일을 읽어 전량 오탐 MERGE_BLOCK을 낼 수 있음 — 리뷰 대상을 수정본 체크아웃 경로로 고정하라
metadata:
  type: feedback
---

**2026-08-06 task-2905 실증**: codex:codex-rescue 반증리뷰에 `git diff a8f53a7 c5fbb4c` 명령을 줬는데, 에이전트가 diff 대신 **메인 worktree(`/home/jay/projects/InsuRo/`, HEAD=base a8f53a7=수정 전) working-tree 파일을 직접 읽어** "수정이 하나도 안 됐다"며 HIGH 6건·MERGE_BLOCK을 냈다. 전부 오탐. 아누가 `git show c5fbb4c:<file>`로 전수 대조하니 self-comparison 제거·approval_policy=never·insurer/date INFO 강등 전부 수정본에 실재.

**근본원인**: task 브랜치 커밋은 별도 worktree(`.worktrees/task-XXXX`)에 있고 메인 repo는 base가 체크아웃돼 있다. 리뷰어가 경로만 받으면 base를 읽는다.

**Why**: base 체크아웃을 읽은 "미구현" 판정은 회귀·머지판정을 통째로 뒤집어 정상 작업을 차단한다.

**How to apply**:
1. 반증리뷰 발사 전 **수정 커밋을 clean worktree로 체크아웃**(`git worktree add --detach /tmp/anu-verify-XXXX <commit>`)하고, 리뷰 프롬프트에 **그 경로만 읽어라 + 메인 worktree는 base이니 읽지 마라**를 명시.
2. 리뷰 결과가 "핵심 수정 미구현" 계열이면 머지차단 전에 반드시 `git show <commit>:<file> | grep <핵심심볼>` 로 **아누가 직접 교차대조**. 파일 존재·심볼 카운트로 base오독 여부 즉시 판별(예: source_images 메인=0 vs 커밋=15).
3. clean worktree는 `.env` 오염도 없어 회귀검증(CI parity) 겸용. 끝나면 `git worktree remove --force`.

관련: [[feedback_regression_verify_clean_worktree_not_polluted_260726]] · [[feedback_gemini_off_codex_anu_review_260722]] · [[feedback_merge_status_cross_verify]]
