# task-2701 — LOCAL_MAIN_DIVERGENCE_INFRA_CLEANUP (ahead 68/behind 6 + dirty 881 안전 정리 · 회장 verbatim 2026-05-27)

- Level: Lv.3 (인프라 · 되돌리기 어려운 git 상태 정리 · 고위험)
- 담당: **dev2-team Odin 오딘** (★ 회장 verbatim 2026-05-27 지정 · bot key fedf78d1d09509f5 · type diagnosis read-only)
- chair_authorization_id: **`CHAIR-AUTH-TASK-2701-LOCAL-MAIN-DIVERGENCE-INFRA-CLEANUP-PHASE-A-READONLY-20260527-JJONGS-ANALYZE-001`** (★ 회장 verbatim 2026-05-27 발급 확정 · Phase A read-only only)
- 완료 목표: **`LOCAL_MAIN_DIVERGENCE_INFRA_CLEANUP_COMPLETE`**

## 레벨

Lv.3 · type diagnosis read-only. **코드 수정 없음** (Phase A 는 read-only 분석/보고만 — mutating git 전면 금지. 실제 정리는 Phase B 회장 승인 후). git 검증 게이트는 non-code task 로 SKIP 처리한다.

## ★ 배경 (task-2699/2700 stale base 근본)

로컬 main(f14b3850) ↔ origin/main(a2a20f94) divergence: **ahead 68 / behind 6** + main repo dirty 881건. 봇들이 ghs_ 토큰 부재로 push 불가([[project_no_bot_app_token_local_only_completion]]) → 로컬커밋 누적. 이것이 봇 worktree stale base 분기 + finish-task GIT-GATE 차단의 근본 원인.

★ task-2699+1/task-2700+1 fresh re-extract 와 **별개 인프라 정리** (회장 verbatim 분리). task-2699+1/task-2700 명목 정리 금지.

## ★ 목표

로컬 main 을 origin/main 과 **안전하게 정합**시키되 **ahead 68 미push 산물 손실 0**. dirty 881 을 소유 task/데몬별 분류 후 안전 처리.

## ★ 필수 (★ 고위험 — read-only 분석 선행 강제)

1. **Phase A (read-only 분석 · 회장 보고)**:
   - ahead 68 commit 각각의 소유 task / 내용 / origin/main 반영 여부 / 필요성 분류
   - behind 6 commit (origin/main 의 PR#155 등) 로컬 미반영분 식별
   - dirty 881 파일별 mtime/소유 task/데몬/보존 필요 분류 (divergence_guard·dirty_registry 활용 가능)
   - 안전 정리 옵션 2+ (각 ahead commit 손실 위험 평가)
2. **Phase B (회장 승인 후 실행)**: Phase A 보고 + 회장 승인 받은 정리 방식만 실행

## ★ 금지 (★ 회장 verbatim · 절대)

- **local main reset --hard** (★ ahead 68 commit 손실)
- **dirty 881 일괄 stash/checkout** (★ 소유 task/데몬 산물 손실)
- **ahead/behind commit 손실 가능 조치** (Phase A 승인 전 일체)
- task-2699+1 / task-2700 / task-2700+1 명목 정리
- PR #158 / PR #159 접촉
- dispatch.py 직접 변경
- manual .done 생성
- ★ **Phase A 회장 승인 없이 Phase B(실제 정리) 진입 금지**

## ★ 설계 원칙

- 되돌리기 어려운 git 상태 변경 = Phase A read-only 분석 → 회장 승인 → Phase B 만
- ahead 68 commit 중 origin/main 미반영 + 가치 있는 산물은 PR 경로로 보존 (손실 0)
- 데몬 산물 dirty(bot-activity/member-status 등)는 .gitignore 또는 데몬 write 경로 분리 검토
- 정리 후 로컬 main == origin/main (ahead/behind 0) + task-2700 divergence_guard 가 clean 판정하는 상태 목표

## allowed_resources

```yaml
allowed_resources:
  paths:
    - "memory/events/task-2701.* (분석 보고)"
    - "memory/reports/task-2701.md"
    - "(Phase B 는 회장 승인 후 별도 범위 확정)"
  forbidden_paths:
    - "Phase A: 모든 mutating git 명령 금지 (read-only 분석만)"
    - "settings.json · hooks/** · Axis/** · dispatch.py · .github/**"
    - "PR #158 / PR #159 / task-2699+1 / task-2700 branch"
  commands:
    - "Phase A: git log / rev-list / diff / show / status / merge-base / cat-file (read-only)"
    - "Phase B: 회장 승인 명령만"
  merge_policy: "phase_a_readonly_then_chair_approval"
  ttl_hours: 12
```

## ★ 보고 필드 (Phase A)

1. ahead 68 commit 분류 (소유 task / origin 반영 / 보존 필요)
2. behind 6 commit 미반영분
3. dirty 881 분류 (소유 / 데몬 / 보존)
4. 안전 정리 옵션 2+ (손실 위험 평가)
5. 권장 정리 시나리오
6. ahead commit 손실 0 보장 방안
7. forbidden_action_count (Phase A = 0)

## 종결

성공: **`LOCAL_MAIN_DIVERGENCE_INFRA_CLEANUP_COMPLETE`** (★ Phase A 보고 → 회장 승인 → Phase B → merge 회장 결재)

★ 회장 verbatim 2026-05-27 별도 인프라 정리. ahead 68 손실 0. Phase A read-only 선행 강제.

끝