# task-2781 PR 후보 준비 packet (PR 생성 전 검토용 — 미생성)

상태명: `TASK2781_PR_CANDIDATE_REBASE_VERIFIED_CLEAN_ACTIVE_FALSE`
작성: ANU 직접 (2026-07-03 KST). **PR 후보 준비 packet only — PR 생성/push/merge 0.** 근거: GPT 판정(PR#264 merge 수용 → task-2781 즉시 PR 금지·현재 main 45e8f19d 기준 PR 후보 준비 packet 먼저 제출). task-2781 = merge_group evidence auditor **코드 PR 후보**이지 Merge Queue 활성화·required check 등록 아님.

## 1. 기존 task-2781 branch/worktree/head
- branch `task/task-2781-dev2`, head **8106c81f**, worktree `.worktrees/task-2781-dev2`.
- merge-base(vs origin/main 45e8f19d) = **faac8d11**(PR#262/263 이전 = task-2782와 동일 stale base).
- 실커밋 3개: `40693d1e`(토르: auditor+resolver 구현) · `95089f73`(토르: pyright Optional 정리) · `8106c81f`(헤임달: 12케이스 회귀 테스트).
- 실제 변경 파일 = **expected_files 3개뿐**: `scripts/merge_group_evidence_auditor.py` · `scripts/merge_group_pr_resolver.py` · `tests/regression/test_merge_group_evidence_auditor_2781.py`.

## 2. stale base 문제 + rebase 계획 (검증 완료)
- 8106c81f는 faac8d11(PR#262/263 이전) 분기 → 현재 main 45e8f19d 대비 base-divergence 착시 가능.
- 방식: **clean cherry-pick** — 3커밋(40693d1e→95089f73→8106c81f)을 45e8f19d 위에 순서대로.
- 충돌 예측: task-2781은 scripts/merge_group_* 신규 파일만 생성. 현재 main(45e8f19d까지)은 이 경로 무접촉 → **파일 교집합 0 → 충돌 없음**.

## 3. Trial 검증 결과 (격리 scratch, 2026-07-03·push 0·PR 0)
- ✅ **cherry-pick CLEAN**: 충돌 0, exit 0, 3커밋 정상 적용.
- ✅ **rebased diff = 정확히 expected_files 3개**: merge_group_evidence_auditor.py(+363) · merge_group_pr_resolver.py(+326) · 신규 test(+428). 3파일 밖 변경 0.
- ✅ **forbidden/.github/ruleset/Merge Queue/required-check/ci.yml/finish-task/gemini-gate 변경 0** (전수 grep 무매치).
- ✅ **회귀 13 passed** (rebased base에서 `test_merge_group_evidence_auditor_2781.py`).
- ✅ **활성화/등록 코드 없음**: `merge_group_evidence_auditor.py`/`merge_group_pr_resolver.py`에 required_status_checks 등록·ruleset·branch protection·Merge Queue enable 코드 0. (`--merge-group-sha required=True`는 argparse CLI 인자일 뿐)
- ✅ scratch 검증 중 canonical `/home/jay/workspace` 무접촉·origin/main 무접촉·push 0. 검증 후 scratch 정리(local main 45e8f19d 불변).

## 4. STOP_REPORT 트리거 점검 (전부 미발생 = clean)
- rebase/cherry-pick 충돌: 없음 / expected_files 밖 변경: 없음 / forbidden 접촉: 없음
- **.github/ruleset/branch protection/Merge Queue 활성화/required check 등록**: **없음**(코드 PR 후보 범위 유지)

## 5. task-2781 성격 재확인 (범위 경계)
- 이 PR 후보 = **merge_group evidence auditor 코드**(merge_group SHA 기반 evidence 직접판정 + PR 역추적 resolver + 회귀). Merge Queue 활성화도, required check 등록도, ci.yml/ruleset 변경도 **아님**.
- 실제 큐 활성화·required 등록·`.github` 결선은 **전부 별도 안건**(이 PR 범위 밖). 번지면 즉시 STOP_REPORT.

## 6. 다음 단계 (별도 승인 대기)
- **PR 생성 여부는 본 packet 제출 후 회장/GPT 별도 승인.** 승인 시:
  1. 45e8f19d 기준 clean 브랜치에 3커밋 clean cherry-pick → origin push
  2. `gh pr create`(base=main) → 실 PR diff 3파일·forbidden 0 재확인
  3. CI/Gemini 리뷰 → HIGH0/CRITICAL0 + unresolved 0 확인 후 별도 merge 승인
- 현재 = **PR 미생성**. rebased 후보는 격리 검증만 완료(정리됨·재현 명령: `cherry-pick 40693d1e 95089f73 8106c81f` onto 45e8f19d).

## 7. 불변식 유지
- ACTIVE=false · Merge Queue 미활성 · required check 등록 0 · .github/ruleset 0 · real fire 0 · push 0 · PR 0 · canonical/origin 무접촉.
