# task-2678 — PR_149_CE861618_CI_GEMINI_WATCHER (Track A · task-2672 후속)

- Level: Lv.2 (★ read-only 관찰 · 코드 0 · merge 0 · nudge 0)
- 담당: **dev6 페룬** (★ idle · task-2671 watcher 경험 · task-2677 dev2 충돌 0 · 4/5 self-key 사고 봇 회피)
- 단일소스: 본 task md
- chair_authorization_id: **`CHAIR-AUTH-PR149-CE861618-CI-GEMINI-WATCH-20260526-JJONGS-WATCH-001`** (★ ANU 권고)

## 배경

PR #149 X1 round 4 완료 (head `ce861618b39946a0c98d3b56ab9a8e04d6c4661f`). /gemini review nudge 1회 발사 (★ comment_id 4535932247). fresh Gemini for ce861618 도착 + CI 재실행 관찰.

★ task-2667 (4bb627fe) · task-2671 (b557fe71) · task-2672 (67ba75de) 결과 혼합 금지.

## CI_WATCH_HANDOFF 12 필드

pr=149 / head=ce861618 / branch=task/task-2662-dev2 / expected=관찰만 / forbidden=전체 / watcher=dev6 페룬 / max_watch=60min / poll=120s / nudge=NUDGE_0 / auto_remediation=AUTO_REMEDIATION_0 / callback=ANU normal 1회 (★ ANU key c119085addb0f8b7) / terminal_states=5 enum

## 허용 8 / 금지 10 (회장 verbatim)

허용: PR #149 상태 관찰 / CI 11 / gemini-review-gate / phase3-merge-gate / Gemini head ce861618 match / unresolved count / mergeable·mergeStateStatus / terminal state 시 ANU callback. 금지: 코드 수정 / PR merge / auto-merge / 추가 Gemini nudge / dev bot 재dispatch / expected_files 밖 / Axis 1/2/3 runtime / dispatch.py / live settings.json / HARNESS_ENFORCED 전체.

## ★ 격리 anchor + HOLD 조기 전환 권장

- task-2667/2671/2672 결과 혼합 금지
- task-2670 RCA · task-2673 fix · task-2677 hardening 결과 혼합 금지
- head ce861618 기준만 평가
- ★ HOLD_FOR_CHAIR 조기 전환 권장 (★ poll #N unresolved 발생 즉시 분류)

## terminal_state 분류

- MERGE_READY: CLEAN + CI 11 SUCCESS + Gemini fresh head ce861618 match + unresolved=0
- HOLD_FOR_CHAIR: BLOCKED + unresolved>0
- GEMINI_EXTERNAL_TRIGGER_STALE: head ce861618 fresh review 60min 내 미도착
- CI_FAILED_NON_REMEDIABLE: Critical7 또는 코드결함 FAILURE
- LOOP_BOUNDARY: max_watch 60 도과

## 보고 필수 11

1. terminal state · 2. PR 번호 · 3. head SHA · 4. CI 11 checks · 5. gemini-review-gate · 6. phase3-merge-gate · 7. latest Gemini head match ce861618 · 8. unresolved count · 9. mergeStateStatus · 10. forbidden_action_count (0) · 11. recommended next action

## 완료 상태

성공: **`PR_149_CE861618_CI_GEMINI_WATCH_TERMINAL_STATE_REPORTED`**

## expected_files (~3)

- `memory/events/task-2678.pr-149-ce861618-ci-gemini-watch-result-260526.json`
- `memory/events/task-2678.done`
- `memory/reports/task-2678.md`

## allowed_resources

```yaml
allowed_resources:
  paths:
    - "memory/events/task-2678.*"
    - "memory/reports/task-2678.md"
    - "memory/tasks/task-2678.md"
    - "INDEX.md"
  read_only_reference:
    - "PR #149 GitHub state"
    - "memory/events/anu-timeline-queue-collision-normalized-cfa86a2-260526.json"
    - "memory/events/parallel-5-tracks-h-i-j-accepted-with-warn-track-a-x1-round4-260526.json"
  forbidden_paths:
    - "/home/jay/.claude/**"
    - "/usr/local/bin/cokacdir"
    - ".github/**"
    - "hooks/**"
    - "dispatch.py"
    - "scripts/finish-task.sh"
    - "utils/**"
    - "tests/**"
    - "schemas/**"
    - "memory/specs/**"
    - "memory/events/task-2662*"
    - "memory/events/task-2663*"
    - "memory/events/task-2664*"
    - "memory/events/task-2665*"
    - "memory/events/task-2666*"
    - "memory/events/task-2667*"
    - "memory/events/task-2668*"
    - "memory/events/task-2669*"
    - "memory/events/task-2670*"
    - "memory/events/task-2671*"
    - "memory/events/task-2672*"
    - "memory/events/task-2673*"
    - "memory/events/task-2674*"
    - "memory/events/task-2675*"
    - "memory/events/task-2676*"
    - "memory/events/task-2677*"
    - "**/.env*"
    - "**/credentials*"
  commands:
    - "gh pr view"
    - "gh api graphql"
    - "gh api"
    - "python3 -c"
    - "python3 -m json.tool"
    - "ls"
    - "cat"
    - "sha256sum"
    - "wc"
    - "printf"
    - "grep"
    - "find"
    - "tail"
    - "head"
    - "cokacdir --cron"
    - "cokacdir --currenttime"
    - "touch"
    - "mkdir"
    - "sleep"
  merge_policy: "watch_only_ce861618_no_pr_no_merge_no_code"
  ttl_hours: 2
```

## 종결

성공: **`PR_149_CE861618_CI_GEMINI_WATCH_TERMINAL_STATE_REPORTED`**

끝
