---
task_id: task-2701
type: plan
scope: task
created: 2026-05-28
updated: 2026-05-28
status: completed
---

# 계획서: task-2701 — LOCAL_MAIN_DIVERGENCE_INFRA_CLEANUP (Phase A read-only)

**task**: task-2701
**목표**: 로컬 main ↔ origin/main divergence + dirty 888 을 read-only로 분석하여 회장 보고. ahead commit 손실 0 보장 방안 + 안전 정리 옵션 2+ 제시.
**승인**: 제이회장 2026-05-27 verbatim — `CHAIR-AUTH-TASK-2701-LOCAL-MAIN-DIVERGENCE-INFRA-CLEANUP-PHASE-A-READONLY-20260527-JJONGS-ANALYZE-001` (Phase A read-only only)
**근거**: memory/tasks/task-2701.md

---

## 목표

Phase A (read-only): mutating git 0회로 현황을 분석하고 회장 결재용 보고서를 산출한다.
산출물: memory/reports/task-2701.md + memory/events/task-2701.* (분석 보고)

## 범위

### 포함
- ahead/behind commit 분류 (소유 task / origin 반영 / 보존 필요)
- dirty 888 파일 분류 (소유 / 데몬 / 보존)
- 안전 정리 옵션 2+ (손실 위험 평가) + 권장 시나리오
- ahead commit 손실 0 보장 방안

### 제외 (Phase B — 회장 승인 후)
- 실제 git 상태 변경(reset/checkout/clean/stash/merge/commit/push)
- .gitignore 수정, 데몬 write 경로 분리 등 코드 변경
- 6 ahead commit / dirty 정리 실행

## 위임 계획

- Phase A 분석: **dev2-team Odin (팀장)** — read-only git 포렌식 + 고위험 판단은 팀장 직접 수행이 적절(코딩 아님). Sonnet 위임 시 정밀도 손실 위험.

## 검증 기준

- forbidden_action_count: `Phase A mutating git 호출 수` → 0
- 손실 0 보장: `git for-each-ref --contains <ahead> refs/remotes/origin` → 6/6 origin 도달
- 충돌 위험: `untracked vs origin/main ls-tree 교집합` → 0
- 가드 판정: `divergence_guard.py --repo-root` → ahead/behind 측정 성공
