---
task_id: task-2430
type: plan
scope: task
created: 2026-05-03
updated: 2026-05-03
status: completed
---

# 계획서: task-2430 — Merge Pipeline P0 핫픽스 + Scope-aware Probe

**task**: task-2430
**목표**: post_merge_probe.py가 변경 영역과 무관한 환경 결함(server/tests ModuleNotFoundError)을 근거로 익스텐션 PR을 자동 revert하는 사고를 영구 차단한다.
**승인**: 회장(2026-05-03) "P0 처방으로 진흙탕부터 먼저 치우고 가자"
**근거**: `memory/tasks/task-2430.md`, 사고 commit `f64bcb1`/`9ceed5c`, 회장 4-Layer 진단

---

## 목표

1. `cd server && python3 -m pytest --collect-only` 통과 (collection error 0)
2. `post_merge_probe.py`가 changed_paths 기반으로 SCOPE 매핑하여 무관 영역 fail 무시
3. PR 적용 전후 동일 fail은 baseline 결함으로 분류, revert 차단
4. 본 task가 머지될 때 자기 자신이 새 probe 로직 통과 (셀프 검증)

## 범위

### 포함
- **Phase A**: server/tests ModuleNotFoundError 핫픽스 (정밀 진단 후 conftest.py / pyproject.toml / pytest.ini 중 정확한 위치 surgical 수정)
- **Phase B**: post_merge_probe.py에 SCOPE_MAP + changed_paths union 실행 로직 추가
- **Phase C**: probe FAIL 시 머지 직전 sha에서 baseline pre-flight 후 revert 트리거 분기
- **Phase D**: tests/scripts/test_post_merge_probe_scope.py에 회귀 5+ 시나리오
- **Phase E**: 회장 4대 규칙 (빌드 + 배포 + 시뮬레이션 + 셀프 검증)

### 제외 (회장 명시 — 별도 task)
- task-2423/2429 부활 (본 task 머지 후 별도 task)
- P2 체리픽커 정식 도입 / P1 baseline pre-flight 고도화 (3단계)
- auto_revert.py 수정 (변경 금지)

## 위임 계획

- **Phase A 정밀 진단 + 핫픽스**: **토르(백엔드)** — server pytest 환경 결함 진단 및 surgical fix
- **Phase B/C 구현**: **토르(백엔드)** — scripts/post_merge_probe.py scope-aware + baseline pre-flight 분기
- **Phase D 회귀 테스트**: **헤임달(테스터)** — 5+ 시나리오, mock + 실 시뮬레이션 회귀
- **Phase E 통합 검증**: **오딘(팀장)** — 빌드/배포/실작동 확인

미미르(UX/UI), 프레이야(프론트)는 본 task에서 활성화하지 않음 (인프라 작업).

## 검증 기준

- Phase A: `cd server && python3 -m pytest --collect-only` rc 0
- Phase B: `python3 -m py_compile scripts/post_merge_probe.py` rc 0
- Phase D: `python3 -m pytest tests/scripts/test_post_merge_probe_scope.py -v` 5+ PASS
- Phase E: 시나리오 1번(익스텐션 PR + server fail) → revert 차단 PASS
- G1: Codex 사전 검증 PASS
- G2: Gemini PR 리뷰 + 마아트 독립 검증 PASS
- G3: g3_independent_verifier.py PASS

## 변경 금지 (충돌 회피)

`scripts/auto_revert.py`, `scripts/auto_merge.py`, `scripts/finish-task.sh`, `scripts/done-watcher.py`, `scripts/whisper-compile.py`, `scripts/session-watchdog.sh`, `scripts/bot_status_resolver.py`, `scripts/worktree_manager.py`, `scripts/cleanup_stale_task_counter.py`, `scripts/auto_e2e_gate.py`, `dispatch.py`, `dashboard/**`, `teams/shared/**`, `CLAUDE.md`, `extension/**`, `skills/**`, `memory/specs/**`, `.github/**`
