# Post-PR#260 Local Main Sync — Preflight (read-only, sync 실행 미승인)

상태명: `POST_PR260_LOCAL_MAIN_SYNC_PREFLIGHT_REQUESTED_ACTIVE_FALSE`
조사: ANU read-only (2026-06-30 KST). pull/reset/stash/discard/commit/gitignore 전부 **미실행**. 근거: 회장 단계판정(PR#260 수용 + sync preflight only, PR#259 패턴).

## 1. SHA / ff 가능성
- local main `42c785f2` / origin main `e32330e9` → **1 commit behind**, **ff-only 가능(YES)**.
- incoming = `e32330e9`(PR#260) 1개, 변경 **2파일**(`scripts/stop_hook_terminal_enforcer.py` 신규 · `tests/regression/test_stop_hook_terminal_enforcer_2779.py` 신규).
- **incoming 2파일은 현재 dirty와 충돌 0** → ff pull 시 코드 충돌 없음(dirty는 pull 후에도 잔존).

## 2. dirty 요약 (PR#259 preflight와 동일 구조)
- tracked M **7** · tracked D **44**(done-archive 이동) · untracked **393**(memory/* 생성물).
- tracked M 7: config/constants.json(봇설정 NEEDS_CHAIR) · skill-usage.jsonl(runtime) · anu-system-spec(.md/changelog, cron) · task-2.md · **replacement_pr_runner.py(0바이트)** · **test_replacement_pr_runner_2510.py(0바이트)**.

## 3. ★ 0바이트 truncate 재발
`utils/replacement_pr_runner.py` + `tests/.../test_replacement_pr_runner_2510.py` 둘 다 **다시 0바이트**. PR#259 sync 때 `git checkout HEAD --`로 복원했으나 **또 truncate됨**(finish-task 훅 hygiene 버그 반복). → sync 1단계로 동일하게 HEAD 복원 필요(DISCARD_CANDIDATE).

## 4. 증거/marker/worktree 보존 (전수 ✓)
- P0c 증거 `terminal_artifact_index/task-2778_a.json` ✓
- closeout 3종: p0c_phase1_observed / task2779a_axis_a_merged / task2779b_axis_b_merged ✓
- G4 marker(task-2779_b) 보존 ✓ (축A G4 없음=정상)
- worktree: task-2779_a-dev2(73f02922) · task-2779_b-dev2(1d8f4932) 보존 ✓
- ANU baseline: active=false · REAL_FIRED 1 불변 · systemd inactive · cron 0 ✓

## 5. sync 없이 다음 작업 시 위험
다음 task worktree가 구 main(`42c785f2`) 기준 생성 → origin/main(`e32330e9`)과 merge-base 어긋남 → 매 PR BEHIND 반복. 0바이트 파일이 import되면 런타임 오류 가능.

## 6. ff-only sync 전 보존/복원 필요 파일
- **복원(DISCARD_CANDIDATE)**: replacement_pr_runner.py + test_replacement_pr_runner_2510.py (0바이트 → `git checkout HEAD --`)
- **보존(안 건드림)**: config/constants.json(봇설정 NEEDS_CHAIR) · D44(done-archive) · spec/skill-usage(runtime) · untracked 393(생성물) · 증거/G4/worktree

## 7. 권장 sync 절차 (실행 미승인 — 회장 결정용, PR#259 패턴 동일)
1. 0바이트 2파일 `git checkout HEAD --` 복원
2. `git pull --ff-only origin main` → local main == `e32330e9`
3. 나머지 dirty는 별도 hygiene backlog 유지(이번에 안 건드림)
※ 위 전부 **이번엔 미실행**. ff-only sync 승인 여부는 별도로 여쭙니다.
